forked from yiisoft/yii
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
1442 lines (1407 loc) · 121 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Yii Framework Change Log
========================
Version 1.1.13 work in progress
-------------------------------
- Bug #93: Criteria modification in CActiveRecord::beforeFind() did not apply when record was loaded in relational context. See UPGRADE instructions for details on behavior change. (cebe)
- Bug #110: MSSQL: fixed empty $primaryKey value after saving CActiveRecord model (resurtm)
- Bug #112: MSSQL: database abstraction layer now uses native transaction support of the SQLSRV driver (resurtm)
- Bug #124: Added CMysqlCommandBuilder to handle JOIN directive on update commands correctly (cebe, DaSourcerer)
- Bug #126: Fixed CWebUser::getReturnUrl(), allowing to determine default URL correctly, if CUrlManager::showScriptName is set to false (klimov-paul)
- Bug #276: Tweaked CGridView stylesheet to include a hover style for the selected row (acorncom)
- Bug #810: Gii now adds a number to the end of relation name if same named relation already exists instead of not generating relation (n30kill, samdark)
- Bug #837: Fixed method CDbCriteria::__wakeup(), allowing to keep custom names for params and update all string parts for automatic params (klimov-paul)
- Bug #959: Bug where non-lowercase keys cannot be found in CConsoleApplication::$commandMap fixed (resurtm)
- Bug #962: Fixed handling of negative timestamps in CDateFormatter::format() (johnmendonca)
- Bug #1095: Added missing retry_interval parameter of addServer function call in CMemCache (Lisio)
- Bug #1181: Fixed can read but not save binary data e.g. BYTEA on PostgreSQL (karmakaze)
- Bug #1212: Added missing .gitignore files to the application generated by WebAppCommand (resurtm)
- Bug #1249: CHttpRequest::sendFile() outputs malformed file content in some specific circumstances (andyhu)
- Bug #1330: SQLite column default value was incorrect for column of type string and DEFAULT NULL (cebe)
- Bug #1344: Fixed URL problem in CGridView when enableHistory was true and unicode chars where used (mdomba, Redjik)
- Bug #1347: CDbTestCase: table name in fixtures list enclosed into double curly brackets (e.g. 'tasks'=>':{{task}}') didn't worked properly (resurtm)
- Bug #1351: CClientScript::registerMetaTag() now allows to register multiple meta tags with the same set of attributes (klimov-paul)
- Bug #1364: Empty CHtml::$errorCss cause class attribute rendering errors (creocoder)
- Bug #1444: Fixed CGoogleApi::register call to registerScriptFile (mdomba)
- Bug #1465: Fixed CHtml::beginForm() when CActiveForm with method GET and ajaxButton is used (mdomba)
- Bug #1485 CSort does not quote table alias when using CDbCriteria (undsoft)
- Enh #104: Added CWebLogRoute::$collapsedInFireBug property to control whether the log should be collapsed by default in Firebug (marcovtwout)
- Enh #84: Log route categories are now accepted in form of array. Added CLogRoute::except and parameter to CLogRoute::getLogs that allows you to exclude specific categories (paystey)
- Enh #117: Added CPhpMessageSource::$extensionPaths to allow extensions, that do not have a base class to use as category prefix, to register message source (rcoelho, cebe)
- Enh #291: CFormatter::formatDate and formatDateTime now also accept strings in strtotime() format (francis_tm, cebe)
- Enh #486: CHttpSession::$gCProbability and CDbHttpSession::$gCProbability are floats now. Minimal possible $gCProbability value has been changed to the ≈0.00000005% (1/2147483647), was integer 1% before, default value left unchanged (1%) (resurtm)
- Enh #556: CDbColumnSchema::$comment property has been added. It stores comment for the table column, comment retrieving is working for MySQL, PgSQL and Oracle (resurtm)
- Enh #724: Third argument of CHtml::listData() now receives anonymous function as calculator of the text field value, PHP 5.3+ only (resurtm)
- Enh #949: Added COciSchema::resetSequence (jazahn, samdark)
- Enh #990: Added CArrayDataProvider::$caseSensitiveSort property which allows to control whether sorting should be case sensitive (resurtm)
- Enh #1084: CDateTimeParser: MMM pattern for parsing short month names is now locale aware (resurtm)
- Enh #1183: CDbCommand: added andWhere()/orWhere() which appends condition to the WHERE part of the query, in contrary of CDbCommand::where() which replaces it (resurtm)
- Enh #1184: CEmailValidator now supports IDN (Internationalized Domain Names), added CEmailValidator::$validateIDN property (resurtm)
- Enh #1201: CMenu now supports HTML attributes for the links' wrap element specified in $linkLabelWrapper (resurtm)
- Enh #1228: Added ability to MessageCommand to generate translation files for multiple functions (Arne-S, samdark)
- Enh #1282: CDateTimeParser: added MMMM pattern for parsing standard month names such as 'January', 'Décembre' or 'März' (resurtm)
- Enh #1286: CUrlValidator now supports IDN (Internationalized Domain Names), added CUrlValidator::$validateIDN property (resurtm)
- Enh #1289: Added support for column comments for MSSQL (CDbColumnSchema::$comment property) (resurtm)
- Enh #1299: Added CSRF token validation for PUT and DELETE (miraage, samdark)
- Enh #1369: Added CCheckBoxColumn::disabled that accepts PHP expression or anonymous function determining if checkbox for the row should be disabled (sucotronic)
- Enh #1386: Second parameter of the CHtml::value() is now able to accept anonymous function which calculates value to be used (Qiang, resurtm)
- Enh #1396: Added 'text/csv' mime-type for the 'csv' file extension in utils/mimeTypes.php (effectively used by e.g. CHttpRequest::sendFile()) (rawtaz)
- Enh #1426: Behaviors are now affecting memory consumption significantly less (slavcodev, creocoder, Qiang, samdark)
- Enh #1443: Added CHttpRequest::getRawBody() that allows reading RAW HTTP request body multiple times (itamar82, resurtm, samdark)
- Enh: Fixed the check for ajaxUpdate false value in jquery.yiilistview.js as that never happens (mdomba)
- Enh: Requirements checker: added check for Oracle database (pdo_oci extension) and MSSQL (pdo_dblib, pdo_sqlsrv and pdo_mssql extensions) (resurtm)
- Enh: Added CChainedLogFilter class to allow adding multiple filters to a logroute (cebe)
- Enh: Allow CDataProvider to use custom pagination and sorter (creocoder)
- Enh: Value of the CHtml::activeTextArea() can now be set through $htmlOptions['value'] (resurtm)
- Enh: Allow to customize CHtml::error() container tag (creocoder)
- Enh: CModule::setComponents() now can reconfigure already loaded components (creocoder)
- Chg: MSSQL unit tests updated and actualized, added SQLSRV driver support (resurtm)
- Chg: Added Oracle unit tests (resurtm)
- Chg: Updated CHttpCacheFilter to use dates as specified by RFC 1123 (bramp)
- Chg: Added punycode.js v1.1.1 (http://mths.be/punycode) and IDNA Converter v0.8.0 (http://phlymail.com/en/downloads/idna-convert.html) to the vendors (third party libraries and utilities) (resurtm)
Version 1.1.12 August 19, 2012
------------------------------
- Bug #190: WSDL return tag was not generated by CWsdlGenerator when Macintosh line endings were used inside service describing docblock (resurtm)
- Bug #1066: CMemCache: expiration time higher than 60*60*24*30 (31536000) seconds led the value to expire right away after saving (resurtm)
- Bug #1072: Fixed the problem with getTableAlias() in defaultScope() (creocoder)
- Bug #1076: CJavaScript::encode() was not compatible with PHP 5.1 (samdark)
- Bug #1077: Fixed the problem with alias in CSort (creocoder)
- Bug #1083: CFileValidator is now unsafe by default. This will prevent setting attribute when no file was uploaded (samdark)
- Bug #1087: Reverted changes to CCookieCollection::add() introduced in 1.1.11 as they were triggering E_STRICT on some old PHP-versions (suralc)
- Bug #1088: Fixed usage of proper CActiveForm id property when it's supplied with htmlOptions (mdomba)
- Bug #1094: CGridView with enabled history used to clear page title in case sorting or paging performed (Opera and Firefox only) (resurtm)
- Bug #1109: Fixed "js:" encoding BC-break in CHtml::ajax() and related methods introduced in 1.1.11 (samdark)
- Bug #1120: Fixed duplicate events processing in CGridView when ENTER was pressed for filtering (mdomba)
- Bug #1192: CHttpCacheFilter failed to comply with RFC 2616, section 10.3.5 (DaSourcerer)
- Bug #1207: Fixed an issue in CHtml::resolveValue() which occurs when handling tabular data input (Qiang)
- Bug #1225: Fixed the bug that $.fn.yiiGridView.getChecked was not working always if a custom CGridView::template was used (mdomba)
- Bug #1243: Fixed the bug that when using CUrlManager::addRules with $append=false rules were added in reverse order (samdark)
- Enh #243: CWebService is now able to deal with the customized WSDL generator classes, was hardcoded to the CWsdlGenerator before, added CWebService::$generatorConfig property (resurtm)
- Enh #636: CManyManyRelation now parses foreign key for the junction table data internally, and provide public interface to access it (klimov-paul)
- Enh #1163: CGridview does not create empty class attributes anymore (cebe)
- Chg #1099: Changed connectionId dropdown to sticky text field in Gii model generator (mdomba)
- Chg #1167: Reverted back the change to CComponent::evaluateExpression() about global function support (Qiang)
Version 1.1.11 July 29, 2012
----------------------------
- Bug #098: No correct identity value being returned when using Active Record and mssql (c-schmitz)
- Bug #114: CUniqueValidator and CExistValidator now respect table alias while creating db query condition (klimov-paul)
- Bug #145: CGettextMoFile now can parse strings with no context (eagleoneraptor)
- Bug #148: Fixed the bug in the blog demo that was not deleting right comment when not on the first page (mdomba)
- Bug #161: CCookieCollection::remove() now accepts an array of cookie options as a second argument to facilitate correct cookie removal (maximcherny)
- Bug #164: CEmailValidator.checkPort now checks the port 25 of listed MX servers (DaSourcerer)
- Bug #178: webapp creation with relative paths like ../ was not working correctly (cebe)
- Bug #193: Changed datetime column type for postgresql from 'time' to 'timestamp' (cebe)
- Bug #238: Fixed the problem that empty row could be selected in CGridView when there was no data (mdomba)
- Bug #295: Sometimes CJSON::decode returns null because native json_encode has bugs and returns null. Workaround to continue decoding when result of json_decode is null (luislobo)
- Bug #381: Fixed the bug that Gii model name input could get misspelled when autocomplete is used (mdomba)
- Bug #417: CAttributeCollections::mergeWith() does not take into account the caseSensitive (dmtrs)
- Bug #433: Fixed the bug that Gii model name input autocomplete was not working sometimes (mdomba)
- Bug #449: CDbHttpSession and CDbLogRoute now use query builder instead of DAO for proper quoting (mdomba, redguy)
- Bug #454: Removed translation on CDbConnection exception as it was creating an endless loop if the application used CDbCache (mdomba)
- Bug #517: Rule parameter sub-patterns are not checked correctly (ranvis)
- Bug #539: Fixed CUrlRule::createUrl() to treat sub-patterns as Unicode as parseUrl() does (ranvis)
- Bug #553: Criteria of related AR finders was affected after performing find with relational scopes (marcovtwout)
- Bug #618: Fixed caching of CWebUser::checkAccess() when it is called first time with and second time without $params (cebe)
- Bug #660: Fixed error when calling CDbCache::getValues (zilles)
- Bug #697: Fixed WSDLGenerator now generating proper namespace for certain complexTypes (BBoom)
- Bug #749: CActiveRecord::refresh() did not work in afterSave() for new records, will now always refresh, when db entry exists (cebe)
- Bug #769: Fixed the bug that $.fn.yiiGridView.getSelection was not working always if a custom CGridView::template was used (mdomba)
- Bug #772: CHttpRequest::getIsSecureConnection() was failing on some conditions (bulletbee, samdark)
- Bug #773: CGridView filters now filter on enter key in Internet Explorer (BBoom)
- Bug #803: Arbitary non-sorting links in CDataColumn's header were not working proper way (resurtm)
- Bug #827: Fixed the problem that CJuiSliderInput was rendering a name attribute for div element (mdomba)
- Bug #842: Active Records insert fails in MSSQL if a column has a default value of (NULL) (c-schmitz)
- Bug #852: Fixed the problem that CActiveForm was not revalidating fields if ajax submit was used (mdomba)
- Bug #859: Fixed CSort::applyOrder() and CSort::getOrderBy() to use custom table aliases (troch, samdark)
- Bug #865: CLogRoute called processLogs() even if log array was empty and caused empty emails and log files (cebe)
- Bug #879: Fixed a possible PHP error caused by CWebUser::restoreFromCookie() in combination with CHttpRequest.enableCookieValidation (kidol)
- Bug #901: Fixed possible encoding problem on exception (mdomba, samdark, cebe)
- Bug #1000: Added params to profiling token in CDbCommand::execute() to be consitent with CDbCommand::queryInternal() (cebe)
- Bug #1045: Building a query with empty array as parameter will not result in a broken sql-string anymore(suralc)
- Bug: Fixed CMenu::isItemActive() to work properly when there is a hash in the item's url (SlKelevro)
- Bug: Added missing return statement to CAuthItem->revoke() (mdomba)
- Bug: CHtml::resolveValue() ignoring of array elements accessor at the beginning of the $attribute argument now works properly (resurtm)
- Enh #120: Added ability to set cookies in an object based style without specifying the cookie-name twice (suralc)
- Enh #136: Added ability to select database connection in Gii model generator (samdark)
- Enh #157: Added ability to use models with objects implementing ArrayAccess as properties in CHtml::resolveValue (samdark)
- Enh #165: Allow CCacheDependency to be reusable across multiple cache calls (phpnode)
- Enh #171: Added support for PUT and DELETE request tunneled through POST via parameter named _method in POST body (musterknabe)
- Enh #179: CLogger now supports filtering profile timings by multiple & wildcard categories (intel352)
- Enh #191: Added ability to customize HTML classes of CLinkPager via its public properties (mashingan)
- Enh #206: Added ability to pass CDbCriteria object as AR relation parameter (samdark)
- Enh #215: Added tokens to CGridView::updateSelectors to allow adding custom selectors instead replacing only (mdomba)
- Enh #220: The URL pointing to the Google API in CGoogleApi is now protocol relative (suralc)
- Enh #237: The tabs of CTabView now support the property 'visible' (DaSourcerer)
- Enh #255: Sort CArrayDataProvider when elements is CActiveDataProvider or other object (rusmaxim)
- Enh #266: Add support for HTML5 url, email, number, range and date fields to CHtml (gregmolnar)
- Enh #267: CDbHttpSession is now able to store binary payload such as the output of the igbinary serializer (DaSourcerer, samdark)
- Enh #282: Added CCheckBoxColumn::headerTemplate to allow custom headers (mdomba)
- Enh #286: Added wildcard token to CDateTimeParser (cebe)
- Enh #294: Added deniedCallback to CAccessControlFilter and CAccessRule to allow forwarding control to a method on denial (luislobo)
- Enh #342: Added ability to pass parameters for RBAC bizRules from CAccessControlFilter configuration (claudejanz, samdark)
- Enh #356: Improved extendability of CDetailView by adding method renderItem() (cebe)
- Enh #369: Added $hashKey to CCache (kidol)
- Enh #414: Added sort parameter to yiic message command that sorts messages by key when merging (ranvis)
- Enh #455: Added support for default value in CConsoleCommand::prompt (eagleoneraptor)
- Enh #551: Added $safe parameter to CJavaScript::encode. If set to true, 'js:' will not be allowed. If you need to pass JavaScript, wrap your code with CJavaScriptExpression instead (samdark)
- Enh #552: Added support for http-level caching via CHttpCacheFilter (DaSourcerer)
- Enh #568: CHtml::getIdByName() will now convert spaces to underscore to get proper ID for HTML elements (mdomba)
- Enh #578: Added extension checks to CMemCache (samdark)
- Enh #581: Added formatSize method in CFormatter to format file sizes into units of different order - KB, MB, etc (brilyuhns, samdark)
- Enh #584: Refactored WebAppCommand to be more customizable, added more PHPDoc (samdark)
- Enh #599: Added case sensitivity check when autoloading classes (qiangxue)
- Enh #601: added the method loginRequired() to the IWebUser interface (mdomba)
- Enh #616: CVarDumper is now correctly highligting integer array keys (vernes, samdark)
- Enh #641: Added support for customizing serialization methods for cache components (DaSourcerer, Qiang)
- Enh #648: Added filterHtmlOptions property to the CGridColumn component (juban)
- Enh #652: Added namespace to yiiGridView events, so they can be easily removed by .off() jQuery method (Bethrezen)
- Enh #673: Changed CClientScript::scripts to be public (mdomba)
- Enh #675: CDateFormat::format() now returns null if the parameter $time is null (mdomba)
- Enh #690: Added sender name and proper headers for UTF8 encoding when sending e-mail in SiteController->actionContact() (mdomba)
- Enh #766: Added 'userId' to $params in CDbAuthManager::checkAccess() and CPhpAuthManager::checkAccess() (cebe)
- Enh #666: Added property $except to CValidator, a list of scenarios that the validator should not be applied to (resurtm)
- Enh #839: CListView::renderItems now resolves view file only once (nizsheanez)
- Enh #938: CFileValidator::sizeToBytes() is now public and available for using in the whole application (resurtm)
- Enh #943: CDateTimeParser is now able to parse short textual representation of month, e.g. Jan, Jun, Aug (resurtm)
- Enh #967: Commands from YII_CONSOLE_COMMANDS environment variable are now always added to yiic console application (schmunk)
- Enh: CFileValidator could validate uploaded file by its MIME-type, added $mimeTypes and $wrongMimeType properties (resurtm)
- Enh: Fixed romanian translation to use the better-supported cedilla characters (tudorilisoi)
- Enh: Added default value to CConsoleCommand::confirm (musterknabe)
- Enh: Allowed returning integer values as application exit code in CConsoleCommand actions (cebe)
- Enh: Added third parameter to CHttpCookie to configure the cookie by array (suralc)
- Enh: Added getIsFlashRequest(), proper handling of Flash/Flex request when using CWebLogRoute with FireBug (resurtm)
- Enh: Added CBreadcrumbs::$activeLinkTemplate and CBreadcrumbs::$inactiveLinkTemplate properties which allows to change each item's template (resurtm)
- Enh: Added full-featured behaviors and events CConsoleCommand::onBeforeAction & CConsoleCommand::onAfterAction (Yiivgeny)
- Enh: Added HTML5 history support on ajax requests on CGridView and CListView using History.js v1.7.2-r2 (https://github.com/balupton/history.js) from Benjamin Arthur Lupton (lightglitch)
- Enh: Changed CldrCommand to use medium dateTimeFormat and updated 18n data using newest(6546) CLDR (tanakahisateru)
- Enh: Added CErrorHandler::getHttpHeader() to send correct HTTP error codes (pgaultier)
- Enh: CGridView, only rows in tbody should have hover effect (mdomba)
- Enh: CClientScript::$defaultScriptFilePosition and CClientScript::$defaultScriptPosition for controlling default $position argument for registerScriptFile and registerScript (resurtm)
- Enh: CHttpCookie now implements __toString (suralc)
- Enh: Ability to set namespace for module controllers using CWebModule::controllerNamespace, documentation about using namespaced controllers and modules (samdark)
- Enh: Added possibility to set the container for CHtml::radioButtonList and CHtml::checkBoxList() (pgaultier)
- Enh: Added zii romanian(ro) translation; edited core messages to include proper romanian characters with diacritic marks (tudorilisoi)
- Enh: Added ILogFilter interface as an alternative to using CLogFilter as base class for implementing log filters (cebe)
- Enh: CAssetManager, added $forceCopy property which globally forces publication of asset files and directories (resurtm)
- Enh: WebAppCommand has ability to generate fresh application with git or hg specific files (resurtm)
- Enh: Gii default templates: added additional metadata (PHPDoc) of the variables passed into views for better IDE autocompletion (resurtm)
- Enh: WebAppCommand generated application: added additional metadata (PHPDoc) of the variables passed into views for better IDE autocompletion (resurtm)
- Enh #1053: CComponent::evaluateExpression will allow using global functions as callbacks (Ekstazi)
- Chg #384: CWebUser::changeIdentity() will now delete old unused session data file (Qiang)
- Chg #440: Upgraded JQuery UI to 1.8.22 (samdark)
- Chg #497: Added log component and preloaded it in default console application config in order to properly log errors (samdark)
- Chg: Upgraded jQuery to 1.7.2 (samdark)
- Chg: More unit tests added for CHtml (resurtm)
- Chg: Upgraded bundled markdown parser to v1.2.5 (DaSourcerer)
- New: Added TranslationsCommand build command aimed to help translation teams (samdark)
Version 1.1.10 February 12, 2012
--------------------------------
- Bug Fixed the bug introduced in 1.1.9 CActiveForm required field was not validated if left empty (mdomba)
- Bug #1799: Better fix for bug #1799 old fix was breaking CJuiDatePicker tabular input (mdomba)
- Bug #2284: Fixed the CActiveForm clientvalidation for tabular input (mdomba)
- Bug #3062: Fixed the bug that using yiilite.php and CLocale will cause exception (Qiang)
- Bug #3070: Fixed the CActiveForm JS error if there is no field rendered (mdomba)
- Bug #3071: Fixed the bug that afterValidateAttribute was not called properly (mdomba)
- Bug #3096: Fixed the bug when reporting an error and CHtml is not loaded (mdomba)
- Bug #3103: Fixed the bug that CActiveForm->error() was not overloading htmlOptions (mdomba)
- Bug #3107: Fixed the wrong encoding issue of Italian messages (Qiang)
- Bug #3108: Fixed the bug introduced in CActiveFinder::applyLazyCondition (Qiang)
- Bug #3166: Fixed the bug that CDbColumnSchema typecasted to NULL even for NOT NULL columns (Sam Dark)
- Enh #3063: Gii, when generating models, tableNames will be checked against reserved PHP keywords when '*' is used (mdomba)
- Enh #3097: Added CHttpRequest::decodePathInfo() (Y!!)
- Enh #3101: The methods of CSecurityManager do now work correctly for the case that mbstring.func_overload is in effect (Y!!)
- Enh #3112: Fixed the exception error display on ajax calls when YII_DEBUG is true (mdomba)
- Enh #3121: Added more rules for proper pluralization to the pluralize() method in CCodeModel and CConsoleCommand (mdomba)
- Enh #3153: CClientScript::addPackage() now returns CClientScript instance to support method chaining (Sam Dark)
- Enh #3154: Removed file existance check to allow relative path and added additional headers option to xSendFile() (mdomba)
- Enh #3169: Added CSort::SORT_ASC and CSort::SORT_DESC (Sam Dark)
- Enh: Added CActiveForm::validateTabular() to simplify ajax validation for tabular input (mdomba)
- Chg: HTML-encoded input values for exist and unique validators (Qiang)
- Chg: Upgraded JQuery UI to 1.8.17 (mdomba)
- Chg: Upgraded HTMLPurifier to v4.4.0 (Sam Dark)
Version 1.1.9 January 1, 2012
-----------------------------
- Bug: Removed unnecessary COciCommandBuilder::createInsertCommand quotes (Sam Dark)
- Bug: CHttpRequest.sendFile() gives incorrect content length when output_handler is enabled through code or non output_handler directive (Sam Dark)
- Bug #1356: Fixed CActiveForm ajax validation when checkBoxList or radioButtonList are used (mdomba)
- Bug #1968: Fixed inconsistence in CActiveForm error highlighting when checkBoxList or radioButtonList are used (mdomba)
- Bug #2603: Fixed the bug that CDbHttpSession::regenerateID call when session isn't started results in SQL error (Sam Dark)
- Bug #2623: Fixed the bug that by setting multiple classes in CGridView itemsCssClass prevents rows being selected (mdomba)
- Bug #2635: MigrateCommand migration execution time is now measured correctly (Sam Dark)
- Bug #2636: CConsoleCommand::init() wasn't called in yiic shell mode (Sam Dark)
- Bug #2773: Fixed possible CUrlManager::createUrl parameters conflict when using custom URL rule classes (Sam Dark)
- Bug #2581: Fixed CJuiTabs - not replacing id slug in header tool tips (sebas)
- Bug #2643: Output buffer wasn't properly cleaned on displaying error screen (Sam Dark)
- Bug #2733: Fixed CDbCriteria parameter names collision on unserialize (mcheale, Sam Dark)
- Bug #2786: Fixed inheritance in CLDR months parsing (mcheale, Sam Dark)
- Bug #2822: Fixed warning when "Host:" isn't present or is empty in HTTP request headers (Sam Dark)
- Bug #2853: Fixed sending of the button name in CActiveForm with enableAjaxValidation enabled (mdomba)
- Bug #2861: Removed the nested container css class in the skeleton application views (Qiang)
- Bug #2915: Fixed client validation in CCompareValidator to compare numbers instead of strings (mdomba)
- Bug #2932: CAuthItem::getType() returns string while using CDbAuthManager (Sam Dark)
- Bug #2999: CSort::getDirections, error when array is passed via $_GET (Sam Dark)
- Bug #3018: Fixed CACtiveForm ajax validation when checkBox or radioButton are used (mdomba)
- Bug #3029: Fixed the bug that empty items were not hidden when CMenu::hideEmptyItems is true (mdomba)
- Bug #3033: Fixed proper array merging in CDirectoryCacheDependency->generateTimestamps (mdomba)
- Bug #3041: Fixed possible infinite loop while processing logs (Yiivgeny, Sam Dark)
- Bug #3042: Fixed the bug that CHttpSession::setCookieMode wasn't setting session.use_only_cookies when 'none' value was used (Sam Dark)
- Chg: Upgraded JQuery UI to 1.8.16 (Sam Dark)
- Chg: Upgraded jQuery to 1.7.1 (Sam Dark,mdomba)
- Chg: Upgraded CMaskedTextField jQuery plugin (Masked Input) to 1.3, added minified version (Sam Dark)
- Chg: Reverted back the changes made to fix issue 2284 (Qiang)
- Chg #2647: Fixed inconvenient way of defining through relation (creocoder, Sam Dark)
- Chg #2951: Removed CConfiguration::createObject, CController::paginate and CHtml::getActiveId deprecated since 1.0.x (Sam Dark)
- Chg #3054: CComponent::__isset properly checks for null values (mdomba)
- Enh #2029: Added scope support to Model::relations() (creocoder, Sam Dark)
- Enh #2129: Added Monospace font as a fallback for source code on the exception view page (mdomba)
- Enh #2231: Added CMenu::itemCssClass for the possibility to assign one CSS class to all menu items (mdomba)
- Enh #2334: CHttpRequest::getPathInfo() now properly decodes both UTF-8 and ISO-8859-1 encoded URIs (Sam Dark)
- Enh #2387: Numeric keys are now displayed in error/exception stacktrace call argument if array isn't 0..X indexed (Sam Dark)
- Enh #2602: Better error handling in CHttpSession::open() when using PHP <5.3.0 (Sam Dark)
- Enh #2604: CArrayDataProvider::keyField can now be set to false to use keys from $rawData array instead of a named keyField (creocoder, Sam Dark)
- Enh #2637: Related table alias set dynamically in relational query is now available in the scopes of related model (creocoder, Sam Dark)
- Enh #2646, #2706: Added ability to join on a specific keys (creocoder, Sam Dark)
- Enh #2654: Enhanced CUrlManager::addRules() by allowing new rules to be inserted in front of the existing rules (Qiang)
- Enh #2715: CMap::mergeArray now can accept multiple arrays to be merged (firejdl, Sam Dark)
- Enh #2717: Extracted MigrateCommand::createMigrationHistoryTable method from MigrateCommand::getMigrationHistory (Sam Dark)
- Enh #2751: Added removeOld parameter to yiic message command that allows not to add obsolete lines to translation file generated (luislobo, Sam Dark)
- Enh #2795: Added Yii::t() to YiiBase::powered() (Sam Dark)
- Enh #2808: Added ability to override core classes using YiiBase::classMap (Sam Dark)
- Enh #2811: Fully automated CLDR data update, updated data to 2.0.1. Added getLanguageID, getScriptID, getTerritoryID, getRegionID, getLocaleDisplayName, getLanguage, getScript, getTerritory methods to CLocale (kshaw, Sam Dark)
- Enh #2823: Added autocomplete for Gii "Table Name" field (Sam Dark)
- Enh #2855: CWebUser::login() returns the login status (mdomba)
- Enh #2872: Added CConsoleCommand::prompt() that asks for input and CConsoleCommand::confirm() that asks for confirmation (Sam Dark)
- Enh #2890: Added CInlineValidator::clientValidate to set custom client validation (mdomba)
- Enh #2914: Added CClientScript::addPackage (Sam Dark)
- Enh #2929: Added forceDownload to xSendFile options to choose between attachment and inline disposition. (mdomba)
- Enh #2981: Added CHtml::liveEvents to set the default global style for attaching jQuery event handlers. (mdomba, Sam Dark, Ekstazi)
- Enh #3020: Added HTTP_REFERER information to the exception log (mdomba)
- Enh #3024: Added CDbMigration::refreshTableSchema() that refreshes specified table schema cache (Sam Dark)
- Enh: Documented component accessors with @property for significantly better IDE autocomplete (Sam Dark, Detonator, Athari)
- Enh: Added CWebUser->loginRequiredAjaxResponse - value to be returned for ajax calls in case the user session has expired (mdomba)
- Enh: CFileCache::get() does now suppress a possible PHP error which might occur on concurrent requests (Y!!)
- Enh: jquery.yiiactiveform.js added check for form visibility to validate() to prevent JS error when using CActiveForm with jQuery dialog (mdomba)
- Enh: removed the check for ajax call in CErrorHandler::handleException() (mdomba)
- Enh: CAssetManager now generates different hash for files/directories with different mtime (Sam Dark)
- Enh: Yii error screen will now display proper message like error/warning/notice (mdomba)
- Enh: CHtml::clientchange() now uses the new jQuery on() method for event binding (mdomba)
Version 1.1.8 June 26, 2011
---------------------------
- Bug: Fixed a typo that may cause issue when setting custom script packages with baseUrl option for CClientScript (Qiang)
- Bug #2001: CGridView now renders the body after the footer in order to conform to the standard (Qiang)
- Bug #2236: CJuiTabs - added id to ajax tabs (sebas)
- Bug #2272: Fixed the bug of undefined index css in CTreeView (mdomba)
- Bug #2274: CDbCriteria can't merge "with" anymore if a scope applied another "with" condition (Sam Dark, Michael)
- Bug #2275: Fixed the bug that ajax error handler was not called in case of exception (mdomba)
- Bug #2284: Fixed the bug that CActiveForm clientValidation did not work with tabular input forms (Qiang)
- Bug #2292: Fixed the bug that CActiveDataProvider may ignore the specified criteria for the sorting configuration (Qiang)
- Bug #2294: Fixed the bug that duplicated PK columns may appear in the join SQL statement if custom select option is used (Qiang)
- Bug #2303: Fixed not logging anything on WSDL service failure (Sam Dark)
- Bug #2312: Fixed the bug that auto-incremental columns for MSSQL may return non-integers as last insert ID (Qiang)
- Bug #2328: Fixed the bug that table names was not quoted in CDbAuthManager (mdomba)
- Bug #2338: Fixed a typo in the client validation code for CNumberValidator (Qiang)
- Bug #2359: Fixed the bug that checkbox in Gii view template may be hidden automatically (Qiang)
- Bug #2377: Fixed the bug that jsonp was expected instead of JSON when using AJAX and CAutoComplete at the same page (Sam Dark)
- Bug #2382: Fixed the bug that yiic wasn't able to run if there is no commands dir in application (Sam Dark)
- Bug #2394: Fixed a typo in CDbCache that may cause mget() to fail (Qiang)
- Bug #2409: Fixed the bug that CCaptcha::buttonOptions is not respected (Qiang)
- Bug #2411: Fixed the bug that CCaptcha will fail when setting buttonType to be 'button' (Qiang)
- Bug #2422: Fixed the bug that calling CLogger::flush(true) multiple times may cause duplication of dumped messages (Qiang)
- Bug #2426: Fixed the bug in Gii about calling a non-static method in a static way (Qiang)
- Bug #2463: Fixed the bug that INSERT statement created by COciCommandBuilder may fail in some cases (Qiang)
- Bug #2475: Fixed the bug that CMssqlCommandBuilder and COciCommandBuilder don't respect parameters declared in CDbExpression when doing insertion and updating (Qiang)
- Bug #2485: Fixed the bug that CMssqlPdoAdapter is not used when the driver is sqlsrv (Qiang)
- Bug #2509: Fixed the bug that AR for MSSQL may fail if on different catalogues (Qiang)
- Bug #2516: CTimestamp::getDate() produced wrong output with the default timestamp (Y!!)
- Bug #2538: Fixed the bug that AR may join with incorrect columns (Qiang)
- Bug #2544: Fixed the bug that setting CJuiDatePicker.language to be 'en' will use wrong language (Qiang)
- Bug #2574: Fixed the bug that overriding CActiveRecord::primaryKey() does not set the isPrimaryKey flag for columns (Qiang)
- Bug: CMapIterator current key wasn't initialized properly (Sam Dark, Detonator)
- Bug: Controller generated with Gii CRUD wasn't able to handle non-integer primary key (Sam Dark)
- Bug: Query caching may give incorrect caching results when bindParam or bindValue is used (Qiang)
- Bug: Changing CActiveForm.errorMessageCssClass had no effect when ajax and client validation were disabled (Y!!)
- Bug: Error when using CUniqueValidator with models indexed by specific field (Sam Dark, Yiivgeny)
- Bug: Fixed the bug that CAssetManager doesn't set permission mode according to newDirMode and newFileModel properties when publishing a directory (Qiang)
- Enh #2319: Added support to call behavior scope through criteria 'with'=>array('scopes'=>'behaviorScope') (Sam Dark, creocoder)
- Enh #2262: Added warning log when a session fails to start by CHttpSession (Qiang)
- Enh #2264: Added an option to the model code generator such that the relation generation can be disabled (Qiang)
- Enh #2268: Added CClientScript::getPackageBaseUrl() (Qiang)
- Enh #2273: Used better merging algorithm to build query parameters that are of array type in CUrlManager (Qiang)
- Enh #2299: Added CAssetManager.newFileMode and newDirMode (Qiang)
- Enh #2325: Added $option parameter to CDbCommand::select() to support special SELECT syntax (Qiang)
- Enh #2341: More verbose log message for CModel::onUnsafeAttribute. Added model class (Sam Dark)
- Enh #2357: Documented CWebApplication accessors with @property for better IDE autocomplete (Sam Dark)
- Enh #2361: Added CDbConnection::pdoClass that allows to specify and use custom PDO wrapper class (Sam Dark)
- Enh #2365: Added support for creating more complex index by using createIndex() of query builder. (Qiang)
- Enh #2386: Added CController::renderClip() (Qinag)
- Enh #2389: MessageCommand now accepts overwrite option determining if merge result will overwrite existing file (Sam Dark)
- Enh #2410: Improved CHtml::error() so that it can take attribute names in tabular format (Qiang)
- Enh #2424: CDbConnection::beginTransaction() will now trigger a trace message for better debugging (Y!!)
- Enh #2436: Added support for allowing console applications to call createUrl() (Qiang)
- Enh #2450: Added Ctype extension check to Yii requirements checker (Sam Dark)
- Enh #2474: Enhanced CDbCommand::insert() and update() to support CDbExpression (Qiang)
- Enh #2483: Added CGridView::$ajaxUrl and CListView::$ajaxUrl (Qiang)
- Enh #2493: Added money column type to the query builder (Qiang)
- Enh #2500: Added possibility to use a custom click handler for CButtonColumn default delete button (mdomba)
- Enh #2524: CActiveRecord::exists() now respects the scopes applied (Qiang)
- Enh #2532: Improved Yii class autoloader to support Web servers that do not allow changing PHP include paths. (Qiang)
- Enh #2534: Added CHtml::decode() (Qiang)
- Enh #2535: Added YiiBase::setLogger() (Qiang)
- Enh #2555: Exposed CFileCache::gc() so that garbage collection can be explicitly invoked (Qiang)
- Enh #2556: Improved exception display in ajax mode (Qiang)
- Enh #2571: Improved the code for cleaning output buffers in CErrorHandler (Qiang)
- Enh: XHR is now passed to CButtonColumn error JavaScript callback as a first argument (Sam Dark)
- Enh: Added CHttpSession::regenerateID() and improved CWebUser::changeIdentity() by regenerating session ID (Qiang)
- Enh: Added CActiveRecord::saveCounters() (Qiang)
- Enh: Added Brazilian Portuguese translation (pt_br) of the core messages (bastardgoblin)
- Enh: CJSON::encode() can now encode non-UTF8 data (Qiang)
- Enh: Added CLogger::autoDump to allow writing log messages to destinations in "real time" (Qiang)
- Enh: Added support for using custom URL rule classes with CUrlManager (Qiang)
- Enh: Added input length check to email and url validators to improve security (Qiang)
- Enh: Added support to allow registering a class autoloader after Yii's default autoloader (Qiang)
- Enh: Unit tests for validators (Kevin Bradwick)
- Chg #2251: Changed the constructor of CUploadedFile to be public (Qiang)
- Chg #2258: Added support to invalidate cached content by setting COutputCache::duration to be 0 (Qiang)
- Chg #2261: Upgraded HTMLPurifier to v4.3.0 (Sam Dark)
- Chg #2309: Changed XML mimetype to application/xml for more interoperability (Sam Dark)
- Chg #2370: Upgraded JQuery UI to 1.8.13 (Sam Dark)
- Chg #2401: Upgraded jQuery to 1.6.1 (Sam Dark)
- Chg #2452: Upgraded Blueprint CSS to 1.0.1 (Sam Dark)
- Chg #2482: CWebService will not display source file name and error line number in production mode (Qiang)
- Chg #2496: Setting CDbConnection::$emulatePrepare to be false will now explicitly set PDO::ATTR_EMULATE_PREPARES to be false (Qiang)
- Chg: Changed CHtml::clientChange event binding to support custom event types and avoid conflicts when using AJAX (Sam Dark)
- Chg: Changed all js live() calls with on() as live() is deprecated (mdomba)
Version 1.1.7 March 27, 2011
----------------------------
- Bug #1080: Correct recursive merging for CDbCriteria::with (creocoder, Sam Dark)
- Bug #1624: Fixed the bug that Gii would generate only one relation for a parent that has a child with more FK linking to it (mdomba)
- Bug #1809: Fixed the bug that CPgsqlSchema did not detect sequence names correctly in some scenarios (Qiang)
- Bug #1984: Fixed firing event multiple times when using live()/delegate() on AJAXified pages (Ekstazi, Sam Dark)
- Bug #2026: Fixed the bug that migration command does not respect the connectionID property value (Qiang)
- Bug #2032: Fixed the bug that beginCache with renderDynamic was not working if used multiple times (mdomba)
- Bug #2037: Fixed CGridView js bug on selectionChanged "sboxname is undefined" (mdomba)
- Bug #2060: Fixed the bug that CWebUser::getFlashes() would return a counter array in the result (Qiang)
- Bug #2097: CHttpRequest::getUrl() should be the same as getRequestUri (Qiang)
- Bug #2099: Fixed CDbCriteria::mergeWith error (creocoder, Sam Dark)
- Bug #2107: Fixed the bug that calling CSqliteSchema::resetSequence() may throw exception when no autoincrement column (Qiang)
- Bug #2130: Fixed bug that Gii code/diff view was not starting from top (mdomba)
- Bug #2131: Fixed the bug that CGridView ajax calls would sometime display error alert when leaving the current page (mdomba,Qiang)
- Bug #2136: CGridView filter now uses jQuery serialize() instead of param() so that a checkbox can be used as a filter (mdomba)
- Bug #2140: Fixed the problem that CGridView even rows where not properly rendered in Firefox and Chrome (mdomba)
- Bug #2146: Fixed the bug in CFileHelper::getExtension, validatePath and getMimeTypeByExtension that was not finding the file extension correctly (mdomba)
- Bug #2169: Fixed the bug that some columns are not properly quoted in MigrateCommand (Qiang)
- Bug #2178: Fixed the bug that query builder did not recognize the AS keyword when using table alias (Qiang)
- Bug #2183: Fixed the bug that calling CActiveDataProvider::getTotalItemCount() explicitly would make the applied scopes disappear (Qiang)
- Bug #2188: 'join' in default scopes is now respected by STAT relations (creocoder, Sam Dark)
- Bug #2202: Fixed the bug that when setting CJuiDatePicker.flag=true, the date picker would not appear (Qiang)
- Bug #2214: Fixed the bug that renameColumn for MSSQL did not work correctly (Qiang)
- Bug: Fixed the bug that a PHP notice may occur in exception view if a method in the call stack has a very complex signature (Qiang)
- Bug: Fixed error that CGridview breaks when updating non-cgridview elements (mdomba)
- Bug: Fixed the bug in CCheckBoxColumn, "check all" checkbox was not being checked/unchecked when needed (mdomba)
- Bug: Fixed the bug in CGridView, selectionChanged was not called when "check all" was clicked (mdomba)
- Bug: Fixed resetting sequence in CDbCommand::truncateTable (Sam Dark)
- Bug: Fixed CMemCache incompatibility with some pecl-memcache and memcached versions (Sam Dark)
- Enh #558, #1755: Added parametrized named scopes, added scopes to criteria, implemented scope criteria merging (creocoder, Sam Dark)
- Enh #802: Added RESTful URL management (Qiang)
- Enh #923: Improved CUrlManager::parsePathInfo() to support multi-dimensional input arrays (Qiang)
- Enh #1117: Added support for "through" in Active Record relations allowing to handle association table data (creocoder, Sam Dark)
- Enh #1285: Added support for using custom script packages with CClientScript (Qiang)
- Enh #1741: Exposed CActiveForm::attributes and summaryID (Qiang)
- Enh #1770: Added CDbColumnSchema::autoIncrement property to allow checking whether a DB column is auto-incremental (Qiang)
- Enh #1782: Added updateSelector property to both CGridView and CListView (Qiang)
- Enh #1786: Enhanced CUrlValidator by adding 'validSchemes' and 'defaultScheme' property (Y!!)
- Enh #1784: Enhanced CWidget::getViewPath() to support returning themed view path (Qiang)
- Enh #1792: Enhanced CGridView: on ajax error a proper message is composed and displayed or optionally sent to the custom error handler (mdomba)
- Enh #1795: Added CFormInputElement::$enableAjaxValidation and $enableClientValidation to allow turning on/off AJAX validation for individual input fields (Qiang)
- Enh #1816: Added $dumpLogs parameter to CLogger::flush() so that log messages can be forced to be dumped at will (Qiang)
- Enh #1843: Added 'uncheckValue' option to CHtml::activeRadioButtonList and CHtml::activeCheckBoxList. It allows to avoid hidden field rendering (creocoder, Sam Dark)
- Enh #1847: Exposed CClientScript::$hasScripts (Qiang)
- Enh #1852: Added CWebUser::authTimeout to support separation between authentication timeout and session timeout (Qiang)
- Enh #1868: CDbConnection will now open a DB connection only when needed, unless autoConnection is set true (Qiang)
- Enh #1937: Added support to use custom input ID for input fields that need AJAX-based validation (Qiang)
- Enh #1993: Allow AR relations across separate db connections (Qiang)
- Enh #1996: Added support for using parameter binding with class-based actions (Qiang)
- Enh #1999: Added CCaptchaAction::offset property in order to decrease or increase the readability of the captcha (Y!!)
- Enh #2011: Added CDbCommand::setFetchMode to allow setting PDO result fetching mode (Sam Dark)
- Enh #2013: When creating model with Gii, database field names will be checked to conform with PHP variable naming rules (mdomba)
- Enh #2024: Added CHttpRequest::getPut() and getDelete() to fully support RESTful requests (Qiang)
- Enh #2059: Added support to respect the "target" attribute of an element generated by CHtml with "submit" HTML options (Qiang)
- Enh #2063: The CActiveForm JavaScript should now correctly trigger validaton for checkbox and radio type input fields (Y!!)
- Enh #2068: CTimestampBehavior::timestampExpression can now be a DB expression (Qiang)
- Enh #2093: CDataColumn will now always render a filter if the filter property is a string (Qiang)
- Enh #2094: Added SQL statement display in debug mode when an error occurs while executing a SQL (Qiang)
- Enh #2105: Added CButtonColumn::afterDelete so that a custom javascript function can be called after the delete function (mdomba)
- Enh #2108: Added CGridView::blankDisplay to allow customizing blank cell display (Qiang)
- Enh #2125: Added memcached check and hint to requirements checker (Sam Dark)
- Enh #2133: Set default focus to the password input for Gii login page (Qiang)
- Enh #2141: Allow the 'label' option of CMenu menu items to be optional and take an empty string value (Qiang)
- Enh #2142: Added CWebUser::autoUpdateFlash (Qiang)
- Enh #2143: Added htmlOptions to CTreeView::data so that additional options can be set for any tree view node (mdomba)
- Enh #2172: Added CDbMigration::execute() (Qiang)
- Enh #2179: Added CMultiFileUpload::options so that additional options can be passed to the constructor of the multifile object (mdomba)
- Enh #2185: Allow the column type to be optional when specifying columns for CGridView (Qiang)
- Enh #2197: Added $escape parameter to CDbCriteria::compare() (Qiang)
- Enh #2198: Improved CJuiTabs so that the tab content can be skipped (Qiang)
- Enh #2199: Added CListView::separator (Qiang)
- Enh #2206: Added $clearErrors parameter to CModel::validate() (Qiang)
- Enh #2209: Added CDbConnection::setAttributes() and getAttributes() to support initializing DB connection with PDO attributes (Qiang)
- Enh #2226: Added more tokens to summaryText when CBaseListView.enablePagination is set false (Qiang)
- Enh #2227: Exposed CActiveRecord::query() (Qiang)
- Enh: Added CGridView::ajaxUpdateError for the possibility to use a custom ajax error handler (mdomba)
- Enh: Allowed using CController instead of Controller with webapp generated application (Sam Dark)
- Enh: Added ability to perform Relational query without getting related models (creocoder, Sam Dark)
- Enh: Error page now displays associative array keys in parameter list (Sam Dark)
- Enh: Added CController::getActionParams() and invalidActionParams() to allow customizing action parameter binding feature (Qiang)
- Enh: Added CEvent::$params (Qiang)
- Enh: CStringValidator now uses application charset by default if mb_strlen is available (Sam Dark)
- Chg #2001: CGridView now renders footer after the body content (Qiang)
- Chg #2111: Calling CActiveRecord::getRelated($name, true) now will redo the DB query even if isNewRecord is true (qiang)
- Chg #2144: Upgraded jQuery UI to version 1.8.11 (Sam Dark)
- Chg #2148: Upgraded jQuery to version 1.5.1 (Sam Dark)
- Chg #2163: CConsoleCommand::usageError() will now exit with error code 1 (Qiang)
- Chg: jQuery UI now uses minified CSS (Sam Dark)
- Chg: Removed jQuery dimensions plugin since it's in jQuery core (Sam Dark)
- Chg: Upgraded bgiframe to 2.1.2 (Sam Dark)
- New #1763: Added support for performing seamless client-side data validation using CActiveForm (Qiang, hightman)
- New #2069: Added CDateValidator (Qiang)
- New: Added support for query caching (Qiang)
- New: Added Lithuanian translations (tomas.valacka)
Version 1.1.6 January 16, 2011
------------------------------
- Bug #997: Fixed the bug that relational AR query with page-by and sorting may fail to work for SQL Server (Qiang)
- Bug #1775: Fixed the bug that AR and Gii may fail for tables not in default schema in Oracle DB (Qiang)
- Bug #1790: Fixed the bug that CJSON::encode may generate invalid encoding result when data contains float numbers (Qiang)
- Bug #1799: Fixed the bug that CJuiDatePicker::$name may cause a PHP error (Y!!)
- Bug #1819: CHttpRequest::getPathInfo() now respects encoded characters (Sam Dark, creocoder)
- Bug #1851: CFileHelper::getMimeType() was causing an error if used with PHP 5.2 and PECL fileinfo extension (Sam Dark)
- Bug #1858: Fixed the bug that CDbCommandBuilder::createInCondition() doesn't work with composite keys (Qiang)
- Bug #1864: Fixed a typo in CDbCommandBuilder that disables correct handling of group and having in createCountCommand (Qiang)
- Bug #1878: Fixed the issue that keys rendered in grid view and list view should be encoded (Qiang)
- Bug #1879: Fixed the issue the AR does not work with PostgreSQL array column type (Qiang)
- Bug #1891: Fixed the bug that on CListView ajax request was generating a DOM container inside itself (mdomba)
- Bug #1902: Fixed the issue that CActiveRecord::exists() may cause ambiguous column error when used in relational query (Qiang)
- Bug #1920: Fixed the issue that the summary displayed by CGridView and CListView may be incorrect for SQL Server (Qiang)
- Bug #1936: Fixed the issue that flat CJuiDatePicker is not closing it's tag correctly (sebas)
- Bug #1942: Fixed the bug that CSecurityManager::computeHMAC() generates non-standard HMAC (Qiang)
- Bug #1945: Fixed the bug that user-supplied form ID is not honored when building a form using CForm with a model (Qiang)
- Bug #1948: Fixed a bug in generating the number symbols of I18N data from CLDR (Qiang)
- Bug #1975: Fixed the bug that caused a PHP error when CAssetManager::publish() tried to create a symlink in a non-existing directory (Y!!)
- Bug: Fixed the bug that CActiveForm generates unnecessary js code about setting focus (Qiang)
- Bug: Fixed CDateTimeParser::parse() default hour, minute and second handling when they are not used in pattern (Sam Dark)
- Enh #1733: Updated multifile plugin used by CMultiFileUpload to version 1.47 (mdomba)
- Enh #1771: Added $driverOptions parameter to CDbCommand::bindParam() method (Qiang)
- Enh #1785: Added CAssetManager::$excludeFiles property to support exclusion of irrelevant files from the publishing process (Y!!)
- Enh #1836: The contact form model of the blog demo does now make use of CCaptcha::checkRequirements (Y!!)
- Enh #1842: CHtml::button will not render the name attribute if it is set null (Qiang)
- Enh #1860: Changed the signature of CValidator::createValidator() to make it easier to use (Qiang)
- Enh #1849: Updated Blueprint CSS to version 1.0 (sebas)
- Enh #1872: Added $defaultUrl parameter to CWebUser::getReturnUrl() (Qiang)
- Eng #1875, #1987: Added support for CLDR-based plural forms format and number placeholders to Yii::t (creocoder, Sam Dark, Qiang, dmitriy.trt)
- Enh #1877: createAbsoluteUrl in CWebApplication and CController will now respect URL rules that already have host info built-in (Qiang)
- Enh #1885: Added ipFilters to the Gii-created config file to reduce user confusion (Sam Dark, Steve Friedl)
- Enh #1895: Added CDbDataReader implements Countable interface (mdomba)
- Enh #1899: Added checkIntegrity and resetSequence for SQL Server (Qiang)
- Enh #1929: Improved CActiveForm so that it can be used multiple times on the same page for the same type of data model (Qiang)
- Enh #1931: CDbConnection.tablePrefix can now use an empty string as table prefix (Qiang)
- Enh #1962: Added submenuOptions option to CMenu::items (Qiang)
- Enh #1995: Added CDbConnection::driverMap to allow more easily customizing schema classes (Qiang)
- Enh: Updated CLDR data to version 1.9 (Sam Dark)
- Enh: Allowed passing multiple forms or choice format quantity parameter without wrapping it with array (Sam Dark)
- Enh: CDbConnection::quoteColumnName and quoteTableName will properly quote table prefix and schema prefix. (Qiang)
- Enh: Added CConsoleCommand::init() (Qiang)
- Enh: Improved the exception display with source code for each call stack (Sam Dark, Qiang)
- Enh: Improved the error display in console command mode (Qiang)
- Enh: Added support for using anonymous parameters and global options in console commands (Qiang)
- Enh: Added message translations in Czech and Croatia (Qiang)
- Enh: Enhanced CFileLogRoute to process the logs faster (Y!!)
- Enh: Improved IDE code completion for Yii::app()-> (Sam Dark)
- Enh: CSort now supports relation.field notation to sort grids by related model fields (Sam Dark, denis909)
- Enh: Added CHttpRequest->xSendFile() to process file download requests by using X-Sendfile header (mdomba)
- Enh: Refactored CMenu by adding CMenu::renderMenuItem to make it easier to be extended (Qiang)
- Enh: Refactored CCheckBoxColumn for better use, added CCheckColumn->selectableRows (mdomba)
- Chg #1914: Composite foreign keys should be separated by commas in CActiveRecord::relations() (Qiang)
- Chg #1949: CGridView will now display the first page after changing filters (Qiang)
- Chg: isset($model->x) and isset($model['x']) are now identical for CActiveRecord models (Sam Dark)
- Chg: Changed CHtml::clientChange() to make $live a configurable option in $htmlOptions (Qiang)
- New #1191: Implemented the database migration feature (Qiang)
- New: Added query builder (Qiang)
Version 1.1.5 November 14, 2010
-------------------------------
- Bug #997: Fixed the bug that relational AR query with page-by and sorting may fail to work for SQL Server (Qiang)
- Bug #1130: Fixed the bug when renderDynamic and beginCache was used together without page caching (mdomba)
- Bug #1244: Fixed the bug that CDbCommandBuilder::createCountCommand may generate invalid SQL when having and/or group options are used (Qiang)
- Bug #1420: Fixed the bug that the table alias set in the model was not honored in STAT AR queries (Qiang)
- Bug #1565: Fixed the bug that COutputCache may fail to work when used to cache whole pages (Qiang)
- Bug #1577: Fixed the bug in CMssqlSchema::compareTableNames() (Qiang)
- Bug #1592: Fixed the bug that the hidden field generated by CHtml::checkBox may have the same ID as the checkbox. (Qiang)
- Bug #1615: Fixed the bug that caused CLogFilter::filter() to add context informations when the log was empty (Y!!)
- Bug #1643: Fixed the bug that CFileValidator may cause a PHP error when using maxFiles>1 and the model attribute returning unexpected array (Qiang)
- Bug #1647: Fixed the bug that CActiveRelation may attempt to set an undefined 'together' property when merging with a criteria (Qiang)
- Bug #1653: Fixed the bug that in PHP 5.3 CArrayDataProvider will fail due to incorrect parameters sent to array_multisort (Qiang)
- Bug #1655: Fixed the bug in COciSchema about checking DB schema (Qiang)
- Bug #1673: Fixed the bug that CDbSchema::getTables() might return null table schemas (Qiang)
- Bug #1685: Fixed the bug in COciSchema that will fail when used with DB schema (Qiang)
- Bug #1696: Fixed the bug that CJSON and CJavaScript might serialize float numbers into local-dependent strings (Qiang)
- Bug #1715: Fixed the bug that CActiveDataProvider.sort does not respect table alias set in the query criteria (Qiang)
- Bug #1718: Fixed the bug that Gii may fail if the error handler or user component is customized in the main application (Qiang)
- Bug #1719: Fixed the bug that CActiveForm->focus was not working if enableAjaxValidation was set to false (mdomba)
- Bug #1730: Fixed the bug that CDbConnection may attempt to use "SET NAMES" to set charset for Oracle DB (Qiang)
- Bug #1735: Fixed the bug that CGridView and CListView may fail to work in AJAX mode if setting pagerCssClass with multiple classes (Qiang)
- Bug #1748: Fixed the bug that CDbDataReader does not properly reset internal pointer when it has multiple rowsets (Qiang)
- Bug: Fixed the bug that some HTTP requests may cause a PHP notice complaining HTTP_HOST undefined in CHttpRequest (Qiang)
- Bug: Fixed a bug in CGridView JavaScript that would fail the deletion action in IE when ajaxUpdate is set false (Qiang)
- Bug: Fixed a bug that CFileCache may slow down performance when strlen is overloaded by mb_strlen (Qiang)
- Enh #202: Added support for console command actions and parameter binding (Qiang)
- Enh #970: Added CController::beforeRender() and CController::afterRender() (Qiang)
- Enh #1081: Refactored application global state management to allow loading and saving states explicitly for long-run tasks (Qiang)
- Enh #1126: CHtml can now properly render special HTML attributes, such as readonly, disabled, according to their boolean values (Qiang)
- Enh #1419: CMaskedTextField, CAutoComplete, CStarRating, CJuiDatePicker, CJuiAutoComplete and CJuiSliderInput now can be used with tabular input (Sam Dark)
- Enh #1450: Added support for theming widget views (Qiang)
- Enh #1481: Added support for autoloading namespaced classes (Qiang)
- Enh #1522: The attributes of CDetailView now support the property 'visible' (Y!!)
- Enh #1546: Fixed the bug that disabling behaviors did not detach behavior event handlers (Qiang)
- Enh #1555: Added support to allow unloading/resetting an application component by calling CModule::setComponent() (Qiang)
- Enh #1561: Enhanced Gii tooltip feature to allow disable tooltips for certain input fields (Qiang)
- Enh #1599: Refactored CMultiFileUpload by extending from CInputWidget (Qiang)
- Enh #1560: Removed potential circular references in relational AR queries (Qiang)
- Enh #1578: Added support to parse AM/PM by CDateTimeParser (Qiang)
- Enh #1583: Upgraded HTMLPurifier to v4.2.0 (Sam Dark)
- Enh #1591: Fixed yiic.bat to make sure it works even if the path of PHP executable contains spaces (Qiang)
- Enh #1594: Added CWebLogRoute::ignoreAjaxInFireBug to make sure ajax calls work when showInFireBug is set to true (mdomba)
- Enh #1596: Added 'not' property to CRangeValidator and CRegularExpressionValidator in order to support inversion of the validation logic (Y!!)
- Enh #1598: Fixed CHttpRequest::getUserAgent() to make sure it works even if HTTP_USER_AGENT is not defined (Qiang)
- Enh #1607: Added CDbCache::setDbConnection (Qiang)
- Enh #1611: Added support for using composite keys in CActiveDataProvider (Qiang)
- Enh #1618: Fixed CHttpRequest::getAcceptTypes() to make sure it works even if HTTP_ACCEPT is not defined (Y!!)
- Enh #1625: Replaced rand() with mt_rand() for generating random private keys (Qiang)
- Enh #1627: Added check if FreeType support is installed and enabled in GD (mdomba)
- Enh #1633: Added $defaults to CDateTimeParser::parse() to support more reasonable datetime parsing (Qiang)
- Enh #1641: Added PhpUnit 3.5.0RC1 and up support (Sam Dark)
- Enh #1644: Added CModel::onAfterConstruct event and allowed CModelBehavior to respond to this event (Qiang)
- Enh #1651: Added 'name' and 'model' properties to the attribute objects used in CActiveForm javascript code (Qiang)
- Enh #1658: Added CAssetManager::linkAssets to support publishing assets via symbolic links (Qiang)
- Enh #1659: Improved CHttpRequest::sendFile() and CWebService::renderWsdl() to make them more secure in case mbstring.func_overload is in effect (Qiang)
- Enh #1661: Added CActiveForm 'reset' event handler to reset validation errors if using CHtml::resetButton() (mdomba)
- Enh #1667: Added CDbCriteria::index to support indexing the AR query result array with the specified attribute values (Qiang)
- Enh #1668: Added validation to ensure PHP keywords be not used as class names (Qiang)
- Enh #1688: Refactored CDbMessageSource to allow easier extension (Qiang)
- Enh #1699: Added capability to remove duplicated script files registered for different positions in CClientScript (Qiang)
- Enh #1710: Upgraded treeview JavaScript to version 1.4.1 (mdomba)
- Enh #1711: JavaScript registered in POS_LOAD will now be put in jQuery window load event instead of the previous global window load event (Qiang)
- Enh #1742: Exposing the class map feature that was previously only available to core classes (Qiang)
- Enh #1738: Upgraded JQuery UI to 1.8.6 (Sam Dark)
- Enh #1740: Added CModelEvent::criteria so that in onBeforeEvent event, the query criteria can be accessed (Qiang)
- Enh #1753: Added method chaining support for CClientScript (Qiang)
- Enh: Added checking for empty keywords in addSearchCondition(), to prevent adding unnecessary conditions (mdomba)
- Enh: Added flushValues() method to the cache classes (Y!!)
- Enh: Added buttonset for CJuiButoon (sebas)
- Enh: Improved error handling to catch errors occurring in CApplication::end() (Qiang)
- Enh: Improved CHttpRequest::sendFile() to avoid timeout errors caused by long file downloading time (Qiang)
- Enh: Improved action parameter binding by detecting if a parameter requires array or not (Qiang)
- Enh: Added logging of DB query params in DB query profiling (Sam Dark, Vitaliy Stepanenko)
- Enh: Added CDbCommand::bindValues() (Qiang)
- Chg #1355: CHtml will no longer render null attributes in HTML tags (Qiang)
- Chg #1540: The 'name' option set in CCheckBoxColumn::checkBoxHtmlOptions will be kept as is without any change (Qiang)
- Chg #1678: The prompt and empty options used in CHtml methods will NOT be HTML-encoded anymore. (Qiang)
- Chg #1680: Upgraded jQuery to version 1.4.4 (Sam Dark)
- Chg #1756: Changed CGoogleApi::BOOTSTRAP_URL to CGoogleApi::$bootstrapUrl to allow customization (Qiang)
- Chg: The javascript files of CListView and CGridView are now registered at the end of the page (Qiang)
- Chg: Log filters will now be invoked only when there are some log messages available (Qiang)
- Chg: removed destructor from CDbCache, CDbAuthManager and CDbLogRoute to avoid potential DB connection issue (Qiang)
- New #1542: Added CTypedMap (Qiang)
Version 1.1.4 September 5, 2010
-------------------------------
- Bug #698: Now you can get and modify criteria of the current query in beforeFind() event handler (Sam Dark)
- Bug #1031: Fixed the bug that the filters in CGridView does not work in IE (Qiang)
- Bug #1119: Added CUploadedFile::reset() to make it more test-friendly (Qiang)
- Bug #1176: Fixed the bug that CVarDumper doesn't highlight well strings with quotes (Qiang)
- Bug #1376: Fixed the bug that the timestamps displayed in Web application log may not be formatted properly (Qiang)
- Bug #1377: Fixed the bug that CStarRating did not work when not setting the model property (Qiang)
- Bug #1382: Fixed space removal in CDbCriteria::compare() (Sam Dark)
- Bug #1384: SET NAMES problem with MSSQL PDO Provider (Qiang)
- Bug #1390: AR may lose precision if a column is declared as unsigned int for MySQL database (Qiang)
- Bug #1404: CSecurityManager::validateData() fails when the data is an array (Qiang)
- Bug #1408: CDbAuthManager may throw exception when unserializing data from auth items in PHP 5.3 (Qiang)
- Bug #1432: AR find methods with JOIN in query criteria may populate AR objects with attribute values belonging to other tables (Qiang)
- Bug #1435: Table alias declared in scopes may be ignored when performing relational findByPk and findByAttributes queries (Qiang)
- Bug #1476: Fixed the bug that setting 'id' to be false will still render 'id' attribute in CHtml::radioButton and checkBox (Qiang)
- Bug #1455: CFormButtonElement generates wrong type for button tags (Qiang)
- Bug #1488: When using cookies with CJuiWidget jquery.cookie.js is not registered (sebas)
- Bug #1493: ShellCommand wouldn't process logs after exiting. (Qiang)
- Bug #1521: CUniqueValidator may incorrectly fail the validation of a non-PK column when updating both this column and the PK column (Qiang)
- Bug #1526: CFormInputElement by default should only show error if CForm::showErrorSummary is false (Qiang)
- Enh #954: Refactored CActiveRecord and CActiveFinder so that CActiveRecord::with() always returns the AR object itself (Qiang)
- Enh #1019: Improved CDataFormatter for formatting numeric weekdays (Qiang)
- Enh #1073: Allow dependencies to be set in constructor of CChainedCacheDependency. Also allow dependencies to be specified as configurations. (Qiang)
- Enh #1087: Allow CDbCriteria to be used as dynamic relational query options (Qiang)
- Enh #1104: Added argument "$" to jQuery block to prevent $ alias conflict (mdomba)
- Enh #1108: Added option to CFileHelper::getMimeType() to allow enable and disable falling back to extension-based MIME detection (Qiang)
- Enh #1120: Improved error handling in session write handler of CDbHttpSession (Qiang)
- Enh #1128: Improved error reporting when assets directory does not exist or is not writable (Qiang)
- Enh #1222: Added relations information to Gii generated model's PHPDoc (Sam Dark)
- Enh #1244: CActiveRecord::count() now respects GROUP-BY and HAVING settings (Qiang)
- Enh #1347: Added CPagination::validateCurrentPage (Qiang)
- Enh #1358: Enhanced the 'together' option of HAS_MANY/MANY_MANY relations so that setting it true will ensure the related table is joined with the primary table in a single SQL (Qiang)
- Enh #1359: Added CActiveRecord::countByAttributes (Qiang)
- Enh #1361: Added linkLabelWrapper, firstItemCssClass and lastItemCssClass to CMenu (Qiang)
- Enh #1366: Added CListView::itemsTagName (Qiang)
- Enh #1371: Improved js code in gii view templates to allow easier subclassing (Qiang)
- Enh #1392: Added CCaptchaAction::fixedVerifyCode (Qiang)
- Enh #1400: Enhanced CActiveRecord::getAttributeLabel() to support returning labels for related object's attribute (Qiang)
- Enh #1412: Yii::import() now throws an exception when trying to include nonexisting PHP file (Qiang)
- Enh #1414: Several enhancements to MSSQL driver used by AR (Qiang)
- Enh #1433: Added CMessageSource::forceTranslation (Qiang)
- Enh #1434: Added zii message translation in Italian (enrico.detoma)
- Enh #1440: CDbException does now provide a valid error code if possible (Y!!)
- Enh #1443: Added CCheckBoxColumn::checked to allow settings checked state for each CCheckBoxColumn row (Sam Dark)
- Enh #1444: Added CFilter::init() (Qiang)
- Enh #1449: Changed CDbCriteria's base class to be CComponent to better report configuration errors (Qiang)
- Enh #1461: Enhanced CEmailLogRoute to support additional email headers (Y!!)
- Enh #1471: CActiveForm AJAX validation should be cancelled when the form is already submitted (Qiang)
- Enh #1509: Improved CMarkdownParser so that it can be used in console mode (Qiang)
- Enh #1525: Added support to allow customizing 'name' attribute of checkboxes generated by CCheckBoxColumn (Qiang)
- Enh #1532: Exposed the serviceName and namespace properties of CWsdlGenerator (Qiang)
- Enh: Added CPortlet::hideOnEmpty property (Qiang)
- Enh: Added CValidator::safe to allow marking a validator as safe or unsafe (Qiang)
- Enh: Added CDbCacheDependency::params (Qiang)
- Enh: Added CUrlManager::addRules() (Qiang)
- Enh: Added support for using sqlsrv driver with MSSQL (Qiang)
- Enh: Added CActiveForm::focus to set input focus on page load (mdomba)
- Chg #1102: Added jQuery UI as a core client script package (Qiang)
- Chg #1309: CHttpRequest::getPathInfo() now always returns decoded results (Qiang)
- Chg #1494: CHtml::ajaxSubmitButton() will generate a submit button (Qiang)
- Chg #1515: CModel::onUnsafeAttribute() will be invoked only when $safeOnly is true when calling CModel::setAttributes (Qiang)
- Chg: Replaced jQuery live() with delegate() in CHtml-generated js code (Qiang)
- New: Upgraded JQuery UI to 1.8.4 (Sam Dark)
- New: Upgraded code highlighter: added sh and VBScript, fixed comments in CSS and hex numbers in JavaScript (Sam Dark)
- New: Added CSqlDataProvider and CArrayDataProvider (Qiang)
- New: Added support for automatic action parameter binding from $_GET (Qiang)
Version 1.1.3 July 4, 2010
--------------------------
- Bug #856: Logout doesn't work when CWebUser::identityCookie is configured and allowAutoLogin is set true (Qiang)
- Bug #1027: CButtonColumn->buttons is ignored (Sam Dark)
- Bug #1039: Table prefix feature did not work with PostgreSQL and AR (Qiang)
- Bug #1046: Fixed the bug that CDbFixtureManager did not properly initialize the fixture data (Qiang)
- Bug #0147: Fixed the bug that changing CAuthItem.description value would cause an exception when using CPhpAuthManager (Qiang)
- Bug #1050: Fixed the bug that filter conditions were prefilled with default values when using an AR model in CGridView (Qiang)
- Bug #1109: CActiveRecord::getRelated() did not refresh when setting the $refresh parameter to be true (Qiang)
- Bug #1142: Fixed the character encoding in polish translations (pawel.drylo)
- Bug #1149: CHtml::resolveName() does not work with multiple dimensional attributes (Qiang)
- Bug #1176: CVarDumper may omit some backslashes in the syntax-highlighted display (Qiang)
- Bug #1190: CLocale::getMonthNames may fail due to a typo (Qiang)
- Bug #1208: Unsigned integer column type was not handled correctly (Qiang)
- Bug #1213: Fixed the bug that skipOnError doesn't have effect on inline validators (Qiang)
- Bug #1226: CWebUser::autoRenewCookie does not handle the case when the user is already logged in (Qiang)
- Bug #1227: CActiveRecord::resetScope doesn't work with default scope (Sam Dark)
- Bug #1231: CPgsqlColumnSchema may incorrectly parse the default column when DB expression is used (Qiang)
- Bug #1241: DB search parameters should have special characters escaped (Qiang)
- Bug #1242: Fixed the bug that CGridView filtering and item deletion would not work when ajax-update is disabled (Qiang)
- Bug #1252: CJSON::encode() was not able to encode models and model arrays (Sam Dark)
- Bug #1262: Fixed the bug that CDbFixtureManager was unable to load fixture data if table prefix feature is used (Qiang)
- Bug #1292: CDateTimeParser::parse() did not honor the number of digits in the required format in some cases (Qiang)
- Bug #1293: Added tag to initial CAPTCHA image URL to avoid caching issue (Qiang)
- Bug #1295: CHtml::beginForm() would generate useless CSRF field when in GET mode (Qiang)
- Bug: Fixed AR memory leaks on PHP<5.3 (Sam Dark, parpaing)
- Enh #217: Added support to allow using related objects as selection values in CHtml (Qiang)
- Enh #663: Improved CSecurityManager to allow customizing the crypt/hash algorithms being used (Qiang)
- Enh #716: Improved the performance of statistical query in AR (Qiang)
- Enh #862: Enhanced CSort virtual attributes and support for related tables (Qiang)
- Enh #887: Relative URL's will be returned when using a parameterized hostname url rule that has the current hostinfo (Qiang)
- Enh #930: Updated CStarRating's jQuery plugin to v3.13, updated jQuery Metadata plugin (Sam Dark)
- Enh #952: Enhanced support for using defaultParams in CUrlManager (Qiang)
- Enh #1015: Added automatic column initialization when non-active data provider is used for CGridView (Qiang)
- Enh #1022: Added CMenu::activateItems (Qiang)
- Enh #1041: Added support to allow skinning pagers used in CGridView and CListView (Qiang)
- Enh #1043: Improved view resolution to support using themeable application views in a module (Qiang)
- Enh #1049: Enhanced label generation when using CDetailView with associative arrays (Qiang)
- Enh #1127: Added support to automatically generate maxlength attribute for text/password inputs based on model rules (Qiang)
- Enh #1151: Added support to generate grid column header based on attribute names (Qiang)
- Enh #1158: Added translations in Latvian (lafriks)
- Enh #1166: Added CActiveRecord::setOldPrimaryKey (Qiang)
- Enh #1174: AR's count() now generates more reasonable SQL statement when 'group' option is specified (Qiang)
- Enh #1179: Added CMultiFileUpload::file (Qiang)
- Enh #1180: Exposed several member variables in CClientScript to be protected (Qiang)
- Enh #1183: Added support to retrieve the currently active table alias in AR scopes (Qiang)
- Enh #1188: Removed exception message display in production mode when a DB connection fails to improve security (Qiang)
- Enh #1189: Added $loadedOnly parameter to CModule::getComponents() so that it can return all application components including unloaded ones (Qiang)
- Enh #1199: AR's count() method now respects the 'select' option in the query criteria (Qiang)
- Enh #1202: Added support for using anonymous functions as component property values (Qiang)
- Enh #1203: Gii now respects the newDirMode and newFileMode settings even when lower umask is set (Qiang)
- Enh #1210: Added support to generate proper labels for relational properties in CDetailView (Qiang)
- Enh #1225: Added 'firstError' option to CHtml::errorSummary() to support displaying only the first error message of each model attribute (Qiang)
- Enh #1232: Added CAuthManager::showErrors. When value is true Yii will turn on error_reporting for RBAC bizRules. False by default (Sam Dark)
- Enh #1239: CBreadcrumbs should have the 'Home' label translated (Qiang)
- Enh #1245: Optimized the implementation of checkAccess of CPhpAuthManager and CDbAuthManager (Qiang)
- Enh #1261: Added magicFile parameter to CFileHelper::getMimeType() and getMimeTypeByExtension() (Qiang)
- Enh #1268: Added isset and unset support to behavior properties in a component context (Qiang)
- Enh #1271: Added CWebUser::getFlashes() (Qiang)
- Enh #1276: Added CClientScript::coreScriptPosition to support customizing the insertion position of core scripts (Qiang)
- Enh #1278: Gii model generator will now respect the table prefix when determining which tables the models should be generated for (Qiang)
- Enh #1283: Added port and securePort properties to CHttpRequest (Qiang)
- Enh #1284: Added support to allow passing an AR finder as the first parameter of the constructor of CActiveDataProvider (Qiang)
- Enh #1286: Upgraded HTMLPurifier to v4.1.1 (Qiang)
- Enh #1289: Added support to allow using non-string values when calling CDbCriteria::compare() (Qiang)
- Enh #1290: Added cssClass to individual item in CDetailView (Qiang)
- Enh #1306: Hide log route outputs when no messages are collected after filtering (Qiang)
- Enh #1311: Added {page} and {pages} tokens to CBaseListView::summaryText (Qiang)
- Enh #1326: Added CBaseActiveRelation::join property (Qiang)
- Enh: CActiveRecord::beforeFind event is now triggered in all cases including related models with both lazy and eager loading (Sam Dark, creocoder)
- Enh: Added support for using array-typed model attributes in active methods in CHtml (Qiang)
- Enh: Added beforeValidate, afterValidate, beforeValidateAttribute and afterValidateAttribute options to CActiveForm (Qiang)
- Enh: Changed @var declarations to class @property declarations in gii and yiic shell model templates (Sam Dark)
- Enh: IDE code completion for CActiveRecord::attributes (Sam Dark)
- Enh: Added beforeLogin, afterLogin, beforeLogout and afterLogout to CWebUser (Qiang)
- Enh: Enhanced CSort::defaultOrder to allow using virtual attribute names (Qiang)
- Chg #1323: Conditions declared in scopes of the related AR classes will be put in the ON clause of the JOIN statement (Qiang)
- Chg: CAutoComplete is now deprecated (Sam Dark)
- New: Added CJuiButton (sebas)
Version 1.1.2 May 2, 2010
-------------------------
- Bug #676, 891: merging criterias with parameters is impossible (Sam Dark)
- Bug #1006: Setting CForm::attributes may cause exception (Qiang)
- Bug #1007: CActiveForm did not update the validation result correctly when change of one attribute affects the validity of another (Qiang)
- Bug #1014: CDataProvider was accessing non-existing property modelClass (Qiang)
- Bug #1021: Missing return in CAuthItem::removeChild (Sam Dark)
- Bug #1031: Added a temporary fix for dropdown filter in CGridView not working in IE (Qiang)
- Bug #1035: RBAC BizRule security violation (Sam Dark)
- Bug #1048: CAutoComplete conflicts with jQueryUI 1.8.x (Sam Dark)
- Bug #1115: Fixed the bug that using bigint with MySQL, PostgreSQL and SQL Server may lose precision (Qiang)
- Bug #1121: typo in CActiveRecord::setPrimaryKey() (Qiang)
- Bug #1136: Fixed wrong API call in CXCache::flush() (Qiang)
- Bug #1147: zii widget messages are not translated via Yii::t() (Sam Dark)
- Bug: Removed the debugging line in CActiveFinder that caused many-many relational query to fail if FKs are not defined (Qiang)
- Bug: Fixed the bug that doing performance profiling while turning on YII_TRACE_LEVEL would throw exception (Qiang)
- Bug: user was redirected to AJAX URLs after logging in (Sam Dark)
- Bug: RBAC rules with bizRule and caching enabled worked wrong (Sam Dark)
- Bug: CSort may cause exception if an invalid column is to be sorted (Qiang)
- Bug: AR count() does not generate correct SQL when distinct is set true in the criteria (Qiang)
- Bug: Relational AR query may complain column not well defined when the column select spans multiple lines (Qiang)
- Enh #943: dynamic AR relations (Sam Dark)
- Enh #946: Added a new parameter to CBaseController::widget() method to allow capturing the output of the widget (Qiang)
- Enh #977: Added CModel::getValidatorList() to allow adding/removing validation rules on the fly (Sam Dark, creocoder)
- Enh #1001: Added CActiveRecord::resetScope() that resets all scopes and criterias applied including default scope (Sam Dark)
- Enh #1009: Allow quoted columns in CDbCriteria::select when performing relational query (Qiang)
- Enh #1025: added 'uncheckValue' option to CHtml::radioButton() and CHtml::checkBox() (Jonah)
- Enh #1042: CForm __construct now uses setModel() instead of assigning _model directly (Sam Dark)
- Enh #1062: Added CDbCriteria::addBetweenCondition() (Sam Dark)
- Enh #1071: Optimized file copying in CUploadedFile::saveAs() (Sam Dark)
- Enh #1084: Added CLocale::getOrientation() to return character orientation information of a locale (Qiang)
- Enh #1091: Added support to allow using normal PHP views with special views recognized by the installed view renderer (Qiang)
- Enh #1093: CJSON now tries to use native PHP functions prior to use Yii implementation (Sam Dark)
- Enh #1140: Added CHttpSession::get() (Qiang)
- Enh #1156: Updated jQuery BBQ to 1.2.1 (Sam Dark)
- Enh #1282: Added support to configure widget default values in application configuration (Qiang)
- Enh: Improved IDE code completion for generated AR models (Sam Dark)
- Enh: CCaptchaAction now supports unlimited tests by setting its testLimit to be 0 (Qiang)
- Enh: Added $forceCopy parameter to CAssetManager::publish() (Qiang)
- Enh: CTypeValidator now supports checking array data (Qiang)
- Enh: Added CFileHelper::getExtension() (Qiang)
- Enh: Added CModule::hasModule() (Qiang)
- Enh: CFileValidator now works with php.ini's upload_max_filesize strings with K, G, k, m, g (Sam Dark)
- Enh: Enhanced CActiveForm to make it more robust in case some code error occurs when performing ajax validation (Qiang)
- Enh: CMaskedTextField's jquery.maskedinput updated to 1.2.2 (Sam Dark)
- Enh: Added support to allow CActiveRecord::getAttributes() to return custom attributes if required (Qiang)
- Chg #1118: CActiveRecord::refresh() now updates the record by directly updating the attributes array (Qiang)
- Chg #1125: Ability to use model metadata in behavior's attach() method (Sam Dark)
- Chg #1163: CLinkPager will enable first and last page buttons unless the current page is first or last. (Qiang)
- Chg #1164: CUrlRule will not throw 404 exception when unable to parse a URL under strict parsing mode (Qiang)
- New #1005: added CWinCache (Sam Dark)
- New #1013: Added CJuiAutoComplete (sebas)
- New: Added Ukrainian translations (Valeriy)
- New: Upgraded JQuery UI to 1.8.1 (Qiang)
Version 1.1.1 March 14, 2010
----------------------------
- Bug #727: AR may lose precision for numbers of bigint type (Qiang)
- Bug #738: COciColumnSchema must return 'double' if precision and scale designators of NUMBER field are absent (Qiang)
- Bug #816: CUniqueValidator did not work with CFormModel (Qiang)
- Bug #823: typo in CLinkColumn about linkHtmlOptions (Qiang)
- Bug #839: typo in CFormatter about calling method_exists() (Qiang)
- Bug #865: CWidgetFactory didn't set the owner of the newly created widgets correctly (Qiang)
- Bug #869: CDateFormatter::formatTimeZone() may report error for certain locale data (Qiang)
- Bug #871: A module generated by the yiic module command did not use the application layout by default (Qiang)
- Bug #890: The 'alias' option set in default scope was ignored when performing an eager relational query (Qiang)
- Bug #932: CLocale::getWeekDayName() causes PHP error when requesting 'narrow' format data (Qiang)
- Bug #947: CTabView does not target tab links correctly when extra elements are put in the header (Qiang)
- Bug #957: CGettextPoFile should allow optional msgctxt (Qiang)
- Bug #967: CFormInputElement doesn't respect element-id if set (Sam Dark)
- Bug #988: COcSchema::quoteTableName() and quoteColumnName() should quote the names (Qiang)
- Bug #995: The 'alias' option set in default scope was ignored when some find methods in AR (Qiang)
- Bug #996: "yiic message" command generates incorrect message file name when used in a module context (Qiang)
- Bug #14 (zii): Added documentation about the "js:" prefix in CJuiSortable (sebas)
- Bug #18 (zii): Change the way CJuiDatePicker sets its language option (sebas)
- Bug #27 (zii): Fixed the issue that when CSRF is turned on, delete button doesn't work for CGridView (Qiang)
- Bug: Setting the 'with' option in criteria array doesn't trigger eager loading for AR (Qiang)
- Bug: CActiveRecord should update oldPrimaryKey after calling save() (Qiang)
- Bug: CForm renders invalid 'name' and 'type' attributes when used to generate nested forms (Qiang)
- Bug: Fixed the bug that beforeAjaxUpdate/afterAjaxUpdate of CGridView/CListView do not take effect.
- Bug: Fixed the bug that the names of URL parameters were not encoded (Qiang)
- Bug: CGridView and CListView may not register the needed CSS file for the pager (Qiang)
- Enh #38: Added support to allow CHtml links and buttons work in AJAX responses (Qiang)
- Enh #392: Added CStringValidator::encoding to support checking the length of multibyte strings (Qiang)
- Enh #686: Added CUrlManager::setBasePath() (Qiang)
- Enh #726: Added CDbExpression::params (Qiang)
- Enh #794: Added support to allow using * to select all primary table columns in relational AR query (Qiang)
- Enh #820: Added CAccessRule::message to allow customizing authorization error message (Qiang)
- Enh #826: Added CMenu::itemTemplate property and template option for each menu item (Qiang)
- Enh #857: Added $exit parameter to CController::forward() (Qiang)
- Enh #872: Added CFlexWidget::allowFullScreen (Qiang)
- Enh #888: Added CBaseUserIdentity::setPersistentStates (Sam Dark)
- Enh #898: Added support to allow defining global yiic commands (Qiang)
- Enh #912: Added CModel::onUnsafeAttribute() which will log a warning message when massively assigning unsafe attributes (Qiang)
- Enh #916: Added visible option to buttons in CButtonColumn (Qiang)
- Enh #918: Added support to show attribute name as the label when displaying an array using CDetailView (Qiang)
- Enh #936: Current module ID is no longer needed when calling CController::forward() (Qiang)
- Enh #941: AR now allows MANY_MANY relation to be specified more flexibly (Qiang)
- Enh #953: Added CGridView::hideHeader (Qiang)
- Enh #955: Added validateValue() to CUrlValidator and CEmailValidator (Qiang)
- Enh #971: Added CDbCriteria::addNotInCondition() (Sam Dark)
- Enh #992: Added 'data' option to CTabView.tabs property (Qiang)
- Enh: Refactored the blog demo to make use of the new CActiveForm and the filtering feature of CGridView (Qiang)
- Enh: Improved the code generated by yiic, including menu refactoring, filtering/search support, and using active form (Qiang)
- Enh: Improved CHtml::beginForm() to auto-generate hidden fields for a GET form whose action contains query string (Qiang)
- Enh: Added CDataProvider::setTotalItemCount() (Qiang)
- Enh: Added skipOnError property to built-in validators (Qiang)
- Enh: Added CDbConnection::initSQLs (Qiang)
- Enh: Added CHtml::refresh() (Qiang)
- Enh: Added CListView.loadingCssClass and CGridView.loadingCssClass (Qiang)
- Enh: Added filtering support for CGridView (Qiang)
- Enh: Added 'template' option to each attribute specification in CDetailView (Qiang)
- Chg #841: Changed CUrlManager::parsePathInfo() to non-static (Qiang)
- Chg #851: yiic tool no longer turns off E_NOTICE (Qiang)
- Chg #949: The init() method will be invoked after an AR instance is created by the find methods (Qiang)
- Chg #974: CComponent::evaluateExpression() no longer suppresses expression error (Qiang)
- Chg #978: CActiveRecord::afterSave() will now be invoked only when the saving is successful (Qiang)
- Chg: Upgraded jquery to version 1.4.2 (Qiang)
- Chg: CMenu will render the 'active' CSS class in the container tag of the link (Qiang)
- Chg: Set the default theme for JQuery UI widgets to be 'base' (Qiang)
- New: Added CActiveForm that performs model validations via AJAX (Qiang)
- New: Added 'form' command to the 'yiic shell' tool (Qiang)
- New: Upgraded JQuery UI to 1.8rc3 (Qiang)
Version 1.1.0 January 10, 2010
------------------------------
- Bug #720: The new table prefix feature does not work with many-many relationship in AR (Qiang)
- Bug #735: CDbCriteria should save 'with' attribute when toArray() is called (Qiang)
- Chg #796: The alias name for the primary table in a relational AR query is changed to be 't' (Qiang)
- Chg: renamed CDetailView::model to be 'data'. renamed 'dataField' and 'dataExpression' to be 'name' and 'value' for grid view columns. (Qiang)
- Enh #656: Added support to indicate the size of enum column type for MySQL schema (sebas)
- Enh #767: Added CUrlRule::matchValue option to support creating URLs only when a rule's parameter value patterns are matched. (Qiang)
- Enh: Improved the default code generated by the yiic tool (Qiang)
- Enh: Refactored the blog demo (Qiang)
- New: Added CFormatter and CApplication::format (Qiang)
- New: Added CController::forward() and CController::route (Qiang)
- New: Added CTimestampBehavior to automatically set timestamps in AR (Jonah)
- New: Added CBaseMenu and CListMenu to aid in creating menus (Jonah)
- New: Added CJuiWidget (sebas, Qiang)
- New: Added CJuiInputWidget (sebas, Qiang)
- New: Added CJuiSlider (sebas, Qiang)
- New: Added CJuiSliderInput (sebas)
- New: Added CJuiAccordion (sebas, Qiang)
- New: Added CJuiProgressBar (sebas, Qiang)
- New: Added CJuiTabs (sebas, Qiang)
- New: Added CJuiDatePicker (sebas, Qiang)
- New: Added CJuiSortable (sebas)
- New: Added CJuiDialog (sebas)
- New: Added CJuiSelectable (sebas)
- New: Added CJuiDroppable (sebas)
- New: Added CJuiResizable (sebas)
- New: Added CJuiDraggable (sebas)
- New: Added CGridView (Qiang)
- New: Added CDetailView (Qiang)
- New: Added CListView (Qiang)
- New: Added CPortlet (Qiang)
- New: Added CBreadcrumbs (Qiang)
Version 1.1rc December 13, 2009
-------------------------------
- Bug #713: webapp command generates incorrect test bootstrap script (Qiang)
- Bug #724: the rememberMe attribute is not validated in generated webapp code (Qiang)
- Enh #666: Added support for auto-flushing log messages (Qiang)
- Enh #668: Nested forms generated by CForm will render attributes in the fieldset tag (Qiang)
- Enh #695: Upgraded HTML Purifier to 4.0.0 (Qiang)
- Enh #711: Added CWebUser::autoRenewCookie to support automatically renew cookie-based login (Qiang)
- Enh: Added CSS class for links generated by CSort to differentiate sorting directions (Qiang)
- Enh: Added CComponent::evaluateExpression() (Qiang)
- Enh: Added CPagination::offset and CPagination::limit (Qiang)
- Chg: CSort.multiSort is changed to sort by single attribute by default (Qiang)
- New: Added CDataProvider and CActiveDataProvider (Qiang)
- New: Updated I18N data to CLDR 1.7.1.2 and added support for stand-alone month and day names (Qiang)
- New: Added CDbCriteria::with to support eager loading via a criteria with this property (Qiang)
Version 1.1b November 1, 2009
-----------------------------
- Bug #611: When using relation name as table alias, it should be properly quoted to avoid name conflict (Qiang)
- Bug #642: CPgsqlSchema::findTableNames() should not include view names in the result (Qiang)
- Bug #652: Calling CFormElementCollection::remove() triggers a method-not-defined error (Qiang)
- Bug: Using CFileValidator causes an error about accessing a method of a non-object (Qiang)
- Enh #570: Improved CSort so that it can support sorting by complex expressions or compound attributes (Qiang)
- Enh #597: Added support for modifying primary key of an AR instance by calling save() directly (Qiang)
- Enh #622: Added support for using HTML button tags in form builder (Qiang)
- Enh: Added getFixtureData() and getFixtureRecord() to CDbTestCase and CWebTestCase (Qiang)
- Chg #574: session ID is no longer hashed for CDbHttpSession (Qiang)
- New #633: Added support to allow using customized locale data (Qiang)
- New: Added support for using table prefixes (Qiang)
Version 1.1a October 1, 2009
----------------------------
- New #429: CFileValidator and CUploadedFile now accept multiple uploads (pestaa)
- New: Refactored scenario-based validation and massive assignments (Qiang)
- New: Added CDbSchema::checkIntegrity() and resetSequence() (Qiang)
- New: Added phpunit-based testing framework (Qiang)
- New: Added CForm and relevant classes to allow reusing form representation and rendering (Qiang)
- New: Added support for widget skins (Qiang)
- New: Added support for accessing behavior's properties via the component it is attached to (Qiang)
- Chg #433: Changed application and module parameter names to be case-sensitive (Qiang)
- Chg #556: CHtml::resolveName now supports array-typed properties (pestaa)
- Chg: Changed AR eager loading so that it generates and executes a single SQL statement by default (Qiang)
- Chg: Changed AR table aliasing so that it uses relation names as default table aliases (Qiang)
- Chg: Changed the default value of allowEmpty to be false for CCompareValidator. (Qiang)
Version 1.0.12 March 14, 2010
-----------------------------
- Bug #731: When using CWebService to generate WSDL, it may cause the error about Premature end of data in tag definitions in SoapClient (Qiang)
- Bug #740: CDbCriteria::addColumnCondition() should handle NULL parameter correctly (Qiang)
- Bug #742: CEmailValidator should allow upper case email addresses (Qiang)
- Bug #776: CWebUser may fail when unserializing invalid cookie data (Qiang)
- Bug #788: CHttpRequest.sendFile() gives incorrect content length when output_handler is enabled (Qiang)
- Bug #801: CCaptcha allows unlimited tests if the CAPTCHA image is not reloaded (Qiang)
- Bug #832: CJavaScript::quote() should also escape the sequence "</" (Qiang)
- Bug #843: CApcCache::mget() may fail if some entries of the specified keys are not cached (Qiang)
- Bug: CVarDumper sometimes doesn't dump object value correctly (Qiang)
- Bug: COciSchema::findTableNames() should use upper case for the keys of query results (Qiang)
- Bug: Fixed several bugs related with readdir problem. If the directory contains a file named '0', the iteration would quit prematurely. (Qiang)
- Enh #730: Relational queries now respect changes made to CActiveRecord::dbCriteria in the onBeforeFind event (Qiang)
- Enh #737: CUrlManager::createUrl() now supports multidimensional array params (Jonah)
- Enh #757: Allow CDbCriteria::addInCondition() to use parameter array that is not integer-indexed (Qiang)
Version 1.0.11 December 13, 2009
--------------------------------
- Bug #608: yiic webapp command may generate incorrect path referring to yii scripts (Qiang)
- Bug #637: CDateTimeParser::parse() may generate unexpected result offset by the timezone in some environment (Qiang)
- Bug #639: CJSON::decode() should respect the second parameter recursively (Qiang)
- Bug #641: CDbCache::gc() is not defined (Qiang)
- Bug #651: Fixed a bug in Oracle driver that may cause big loop (Qiang)
- Bug #653: CDbMessageSource does translate messages when caching is enabled (Qiang)
- Bug #670: Requirements checker page shows wrong minute (Qiang)