Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 1067 lines (1037 sloc) 86.586 kb
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 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066

                   Yii Framework Change Log
                   ========================

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)
- Bug #691: CUploadedFile::saveAs() may not return correct value for some PHP versions (Qiang)
- Bug #692: CHtml::listOptions() ignores the HTML options when handling nested options (Qiang)
- Bug #710: CRequiredValidator does not work as expected when its requiredValue is not null (Qiang)
- Bug: CQueue::peek() should return the first item in the queue (Qiang)
- Enh #629: Added support for specifying shell command search path via an environment variable YIIC_SHELL_COMMAND_PATH (Qiang)
- Enh #643: Enhanced CAccessControlFilter::expression, COutputCache::varyByExpression and CExpressionDependency::expression so that they can use PHP callback (Qiang)
- Enh #665: Added support for using CStarRating to collect tabular input (Qiang)
- Enh #672: Added Italian translation of error views (Qiang)
- Enh #674: Improved CPgsqlSchema to support auto-incremental column in composite primary key (Qiang)
- Enh #677: Improved CPgsqlColumnSchema to recognize more column data types (Qiang)
- Enh #679: Added support for parsing and creating URLs with parameterized hostnames (Qiang)
- Enh #684: Improved Yii::import() to throw exception when set_include_path fails (Qiang)
- Enh #685: Added support for recognizing "Z" in CDateFormatter (Qiang)
- Enh #690: Enhanced the email validator pattern to capture 99% valid email addresses (Qiang)
- Enh #694: CActiveRecord count methods will ignore criterias that are incomatible with COUNT SQL statement (Qiang)
- Enh #697: Relational AR queries now also invoke CActiveRecord::beforeFind() (Qiang)
- Enh #703: Upgraded autocomplete js code to version 1.1.0 (Qiang)
- Enh #715: CHtml::textArea and CHtml::activeTextArea should respect the 'encode' option (Qiang)
- Enh: Added core message translation in Thai (Peerajak)
- Enh: Allow CHtml::label() and CHtml::activeLabel() not to render the 'for' attribute when it is set false (Qiang)
- Chg #723: When merging a CDbCriteria with another, the latter's order clause will take precedence over the former (Qiang)
- New #709: Added core message translation in Bosnian language (kenci81)

Version 1.0.10 October 18, 2009
-------------------------------
- Bug #550: Fixed image alt bug in CCaptcha (Qiang)
- Bug #551: CCache::mget() should return values (Qiang)
- Bug #561: CTabView fails to switch tabs on IE (pestaa)
- Bug #567: PHP <5.2 cannot convert exception class to string (pestaa)
- Bug #573: Typo in API (pestaa)
- Bug #584: CAutoComplete API was missing a fact (pestaa)
- Bug #594: The for-loop in jquery.yii.js breaks on IE (Qiang)
- Bug #596: CActiveFinder undefined $parent variable on line 1297 (Qiang)
- Bug #606: CMemCache does not work when useMemcached is set true (Qiang)
- Bug: Fixed a bug in Oracle driver when performing relational AR queries (Qiang)
- Bug: Fixed the problem of executing an SQL using CDbCommand may cause subsequent SQL executions to fail (Qiang)
- Enh #571: Enhanced CDbCriteria by adding several methods to help building common query conditions (Qiang)
- Enh #585: Added CChainedCacheDependency::setDependencies() (Qiang)
- Enh #598: Added CCaptchaAction::transparent (Qiang)
- Enh #600: Modified CHttpSession to allow open and close session multiple times (Qiang)
- Enh #612: Added YiiBase::registerAutoloader (Qiang)
- Enh #613: Enhanced Oracle driver to allow using views with AR (Qiang)
- Enh #615: Added cacheID property to several core components to allow specifying which cache component to use (Qiang)
- Enh #616: Added support to use anonymous functions (PHP 5.3+) as event handlers (Qiang)
- Enh #620: Enhanced message translation for modules (Qiang)
- Enh #623: Added the optional $params to CDbCommand::execute() and query*() methods (Qiang)
- Enh #626: Added labelOptions for checkbox and radiobutton lists in CHtml (Qiang)
- Enh #627: Improved AR metadata assignment to support single table inheritance (Qiang)
- Enh #628: Console commands are listed in alphabetical order now (Qiang)
- Enh: Enhanced CRequiredValidator so that it can validate an attribute contains the specified value (Qiang)
- Chg: Made request and urlManager components to be available for both console and web applications (Qiang)
- New #577: Enhanced the 'empty' option in CHtml so that it can render multiple extra list options with specific values (Qiang)
- New #621: Added YiiBase::createApplication (Qiang)
- New: Added CBooleanValidator (Qiang)

Version 1.0.9 September 6, 2009
-------------------------------
- Bug #470: Fixed CTimestamp getdate bug which is related with timezone setting (Qiang)
- Bug #499: Blog demo approve comment page doesn't have proper pagination (Qiang)
- Bug #510: CHtml::htmlButton() should render the label as the element body rather than value attribute (Qiang)
- Bug #513: CNumberValidator does not validate as expected when the attribute value is not string (Qiang)
- Bug #518: CFilterValidator uses call_user_func_array() incorrectly (Qiang)
- Bug #522: array-like parameters in path info are not parsed correctly by CUrlManager (Qiang)
- Bug #525: Invalid first chars in jquery.maskedinput.js (Qiang)
- Bug #527: Typo in CActiveFinder.php:581 (Wei)
- Bug #548: STAT queries don't work when the FK constraints are not defined in DB (Qiang)
- Bug #550: CCaptcha does not respect image alt option (Qiang)
- Bug #551: multiget in caching components does not use proper keys (Qiang)
- Bug: Set sequenceName in Oracle tables to be empty string so that yiic model command generates correct validation rules for PK (Qiang)
- Enh #417: Added CActiveRecord::beforeFind and onBeforeFind event (Qiang)
- Enh #419: Improved the performance of lazy relational AR by avoiding joining when possible (Qiang)
- Enh #473: Upgraded jquery multifile plugin to version 1.46 (Qiang)
- Enh #500: Added CDbCache::gcProbability (Qiang)
- Enh #505: Added CSS class to the table generated by CWebLogRoute (Qiang)
- Enh #508: CUrlManager should also store parsed GET parameters into $_REQUEST (Qiang)
- Enh #509: Enhanced CRequiredValidator to check for empty array value (Qiang)
- Enh #511: CHtml::activeCheckBox and activeRadioButton should respect the value attribute (Qiang)
- Enh #512: CHtml::beginForm() is made XHTML-compliant when CSRF is enabled (Qiang)
- Enh #521: Added CActiveRecord::deleteAllByAttributes() (Qiang)
- Enh #526: Added CSort::params and CPagination::params to allow customizing additional GET parameters in the generated URLs (Qiang)
- Enh #534: Allow using slash character as URL suffix when strict parsing is enabled (Qiang)
- Enh #542: Improved CInputWidget and all its descendant classes so that they can be used in tabular data input (Qiang)
- Enh #547: Changed CSort::resolveLabel and validateAttribute to be public (Qiang)
- Enh #549: Changed hour pattern in CDateTimeParser so that it is consistent with CDateFormatter (Qiang)
- Enh #554: Added CViewRenderer::fileExtension (Qiang)
- Enh #555: Added CApplication::timeZone (Qiang)
- Enh: Improved AR performance by not raising events when no event handlers (Qiang)
- Enh: Added CWebUser::setStateKeyPrefix() (Qiang)
- Enh: Added CLocale::getMonthNames and CLocale::getWeekDayNames (Qiang)
- Enh: Added uncheckValue option for CHtml::activeRadioButton (Qiang)
- Enh: Added CDbCriteria::addCondition() (Qiang)
- Enh: Added support for specifying DISTINCT when performing AR and relational AR queries (Qiang)
- New: Added core message and system view translations in Bulgarian (Nikolai)

Version 1.0.8 August 9, 2009
----------------------------
- Bug #435: Setting charset for PostgreSQL database connection may fail to work on some servers (Qiang)
- Bug #440: typo in COciColumnSchema (Qiang)
- Bug #444: typo in blog demo (Qiang)
- Bug #446: Fixed bugs in MSSQL driver that cause problem when updating attribues and a column is of timestamp type (Qiang)
- Bug #451: CAssetManager::publish() may not report error when an asset is missing on BSD (Qiang)
- Bug #460: CFileValidator would display wrong error message when the uploaded file size is too small (Qiang)
- Bug #472: Dynamic relational query options should not treat 'condition' as 'on'. (Qiang)
- Bug #475: MainMenu widget in webapp ignores URL parameters (Qiang)
- Bug #477: CUrlManager generates unwanted homepage URL when URL suffix is used (Qiang)
- Bug #482: Relational AR would fail when using Oracle due to column case issue (Qiang)
- Bug #484: CDbCommandBuilder generates an invalid SQL when inserting a row with all default values (Qiang)
- Bug #486: CDbExpression does not work as expected for PHP versions prior to 5.2.0 (Qiang)
- Bug: Fixed an issue in CNumberFormatter which incorrectly cached parsed formats (Qiang)
- New #424: Improved CCaptcha to allow clicking on CAPTCHA image to refresh it (Qiang)
- New #425: Added defaultParams option to the rules used by CUrlManager (Qiang)
- New #426: Added CApplication::setExtensionPath() (Qiang)
- New #436: Added error templates in Russian (idlesign)
- New #456: Added CCompareValidator::operator to support comparing values using different operators (Qiang)
- New #461: Added CHtml::htmlButton() (Qiang)
- New #467: Improved the algorithm for determining script URL by CHttpRequest (Qiang)
- New #474: Added CActiveRecord::refreshMetaData() to allow using the latest table meta data (Qiang)
- New #478: Enhanced CActiveRecord::findByAttributes and findAllByAttributes so that when an attribute value is array, an IN condition is generated for searching (Qiang)
- New #480: Improved CUniqueValidator to allow specifying AR class and attribute to validate against (Qiang)
- New #488: Added CCache::mget() to support retrieving multiple cached values at a time (Qiang)
- New #492: Enhanced form submit script so that it respects to existing submit event handlers (Qiang)
- New #493: Added call stack information to log when a PHP error occurs (Qiang)
- New: CDbCommand::bindParam() and bindValue() now return the command object so that they can be used in a chainable fashion (Qiang)
- New: Added thead and tbody to the code generated by crud command (Qiang)
- New: Added CFormModel::init() and CActiveRecord::init() (Qiang)
- New: Improved CFileHelper::getMimeType() so that it can return a meaningful result in most cases (Qiang)
- New: Improved yiic shell commands so that they are easier to be extended (Qiang)
- New: Added CExistValidator.criteria property (Qiang)
- New: Improved CHtml::statefulForm() to make it XHTML-compliant (Qinag)
- New: Added CBaseUserIdentity::clearState() (Qiang)
- New: Added 'ext' root path alias which points to the directory containing all extensions (Qiang)
- New: Added Greek translation of core messages (Vasileios)
- Chg #479: Imported path aliases now have precedence over existing include paths (Qiang)
- Chg: Modified the count() method of relational AR to support counting composite keys (Qiang)
- Chg: Reverted back the support for assigning a related object to an AR object (Qiang)

Version 1.0.7 July 5, 2009
--------------------------
- Bug #367: CUploadedFile may fail if a form contains multiple file uploads in different array dimensions (Qiang)
- Bug #368: CUploadedFile::getInstance() should return null if no file is uploaded (Qiang)
- Bug #372: CCacheHttpSession should initialize cache first before using it (Qiang)
- Bug #388: 'params' options passed to linkButton are not cleared after submit (Qiang)
- Bug #393: Greek language code should be 'el' insead of 'gr' (Qiang)
- Bug #402: CNumberFormatter does not format decimals and percentages correctly (Qiang)
- Bug #404: AR would fail when CDbLogRoute uses the same DB connection (Qiang)
- Bug #421: Undefined variable: seconds in CDateTimeParser.php(140) (Qiang)
- Bug: CMemCache has a typo when using memcached (Qiang)
- Bug: COciCommandBuilder is referencing undefined variable (Qiang)
- Bug: yiic webapp may generate incorrect path to yii.php (Qiang)
- Bug: SQL with OFFSET generated by command builder for Oracle is incorrect (Qiang)
- Bug: yiic shell model command may fail when a foreign key is named as ID (Qiang)
- Bug: yiic shell controller command does not generate correct controller class file when the controller is under a sub-folder (Qiang)
- Bug: When using MySQL enum type, AR may incorrectly typcasting the column values (Qiang)
- Chg #391: defaultScope should not be applied to UPDATE (Qiang)
- New #360: Added anchor parameter to CController::redirect (Qiang)
- New #375: Added support to allow logout a user without cleaning up non-auth session data (Qiang)
- New #378: Added support to allow dynamically turning off and on log routes (Qiang)
- New #396: Improved error display when running yiic commands (Qiang)
- New #406: Added support to allow stopping saving and deletion by an ActiveRecord behavior (Qiang)
- New #415: Added HTML options to CHtml::errorSummary() and error() methods (Qiang)
- New: Rolled back the change about treating tinyint(1) in MySQL as boolean (Qiang)
- New: Added support for displaying call stack information in trace messages (Qiang)
- New: Added 'index' option to AR relations so that related objects can be indexed by specific column value (Qiang)
- New: Allow CHtml::activeLabel to override the automatically generated 'for' attribute (Qiang)
- New: Added 'csrf' to CHtml client options so that js-based form submission can submit CSRF token (Qiang)
- New: Removed typcasting in CNumberValidator so that it won't lose precision (Qiang)
- New: Added userAgent parameter to CHttpRequest::getBrowser() (Qiang)

Version 1.0.6 June 7, 2009
--------------------------
- Bug #305: column aliases used in CActiveFinder should be quoted so that their cases are kept (Qiang)
- Bug #308: typo in CLinkPager CSS class name (Qiang)
- Bug #310: Leading space in auto generated labels if they end with "ID" (Qiang)
- Bug #312: defaultScope not honored when other sopes are applied (Qiang)
- Bug #313: Dynamic parameter for lazy loading resets the parameters specified in default scope (Qiang)
- Bug #321: CProfileLogRoute should be disabled for AJAX requests (Qiang)
- Bug #331: HTTP 403 status code should be used to indicate auth failure (Qiang)
- Bug #338: Undefined variables in CTimestamp.php (Qiang)
- Bug #343: HtmlPurifier should register its autoload to allow using its plugins (Qiang)
- Bug #353: CClientScript may not generate expected output on some PHP version due to preg_replace bug (Qiang)
- Bug: Syntax errors in autoloaded classes are not reported (Qiang)
- New #36: Added column declarations to the generated model class using yiic (Qiang)
- New #231: Enhanced yiic shell model command to generate relations automatically (olafure, Qiang)
- New #271: Added CFileCache (Qiang)
- New #300: Added support for using a controller action to display application errors (Qiang)
- New #304: Added flv mimeType to the mimeType array (Qiang)
- New #315: Added CDbConnection.enableProfiling (Qiang)
- New #320: Added support for customizing a single URL rule by setting its urlFormat and caseSensitive options (Qiang)
- New #326: Yii::powered() will show Yii site in a new window (Qiang)
- New #328: Make yiic to work with f-cgi (Qiang)
- New #344: Added support to automatically attach behaviors to a controller (Qiang)
- New #346: Enhanced CMemCache so that it can be used with both memcache and memcached (Qiang)
- New #347: Added CUrlManager.useStrictParsing to support parsing URLs only based on rules (Qiang)
- New #349: Enhanced MySQL driver to recongize tinyint(1) as a boolean (Qiang)
- New #351: Enhanced CModelBehavior so that its beforeValidate() can stop the current validation process (Qiang)
- New: Enhanced the 'with' option in relational rules so that it also applies in eager loading (Qiang)
- New: Enhanced yiic shell model command to generate all models for the whole database (olafure, Qiang)
- New: Added support to allow using named scopes with update and delete methods (Qiang)
- New: Refactored support for dynamic query options with relational AR (Qiang)
- New: Added CDbCriteria::toArray() (Qiang)
- New: Added support to allow merging CDbCriteria using 'OR' operator (Qiang)
- New: Added CLogger::getStats() (Qiang)
- New: Added support to import and autoload interfaces (Qiang)
- New: Added tracing statements to cache components (Qiang)
- New: Added CLogFilter to support logging additional context information (Qiang)

Version 1.0.5 May 10, 2009
--------------------------
- Bug #234: Multi-line Yii::t() not found by 'yiic message' (Qiang)
- Bug #235: Dynamic content does not work when page caching is used together with fragment caching (Qiang)
- Bug #239: Syntax error in translated Portuguese error view file (Qiang)
- Bug #246: Undefined variable in CMaskedTextField (Qiang)
- Bug #252: mimeTypes.php contains clashing types (Qiang)
- Bug #258: Some eager loading queries may result in extra lazy loading queries (Qiang)
- Bug #261: CWsdlGenerator should not use 'tns:' namespace when declaring a complex type (Qiang)
- Bug #262: Setting 'charset' of CDbConnection causes exception when working with SQLite (Qiang)
- Bug #263: Exception is thrown when column names contain "=" symbol (Qiang)
- Bug #270: CComponent::detachBehavior() uses undefined index (Qiang)
- Bug #290: date formatter generates incorrect narrow day output (Qiang)
- Bug: Lazy loading HAS_MANY or MANY_MANY properties will get NULL instead of empty array when the result set is empty (Qiang)
- Bug: CDateFormatter::formatYear() only returns one digit when the year pattern is 'yy' (Qiang)
- Bug: The ON option is not respected for MANY_MANY relations (Qiang)
- New #210: Added support for named scope of AR (Qiang)
- New #211: Enhanced AR by supporting lazy relational query with on-the-fly query parameters (Qiang)
- New #224: Added CModel::addErrors() method (Qiang)
- New #241: Added support to define root path aliases in configuration (Qiang)
- New #247: Added support to allow using Web services in PHP versions lower than 5.2.0 (Qiang)
- New #249: Added option to CHtml to allow generate tags without encoding attribute values (Qiang)
- New #254: Added support to allow input widgets to be used with tabular inputs (Qiang)
- New #265: Added support to validate time and datetime inputs (Qiang)
- New #268: Added support to allow using dot syntax to generate list options with CHtml (Qiang)
- New #274: Added support to allow using route sub-patterns in URL rules (Qiang)
- New #284: Refactored code about page states to simplify overriding efforts (Qiang)
- New #291: Added support to validate emails with name part (Qiang)
- New #293: Added support to allow Yii to be used with other libraries which rely on autoload (Qiang)
- New #294: Added CDummyCache component (Qiang)
- New: Deprecated CHtml::getActiveId() (Qiang)
- New: Added CDbCriteria::mergeWith() (Qiang)
- New: Added Oracle support for Active Record (Ricardo)
- New: Modified CClientScript so that it can be used without the presence of a controller (Qiang)
- New: Enhanced CWebUser::checkAccess() to allow caching the access check results (Qiang)
- New: Enhanced the performance of CDbAuthManager::checkAccess() (Qiang)
- New: Added CAccessControlFilter::accessDenied() (Qiang)
- New: Added CWebUser::identityCookie property (Qiang)
- New: Added new message placeholder to CCompareValidator (Qiang)
- New: Added trace statements to auth components (Qiang)
- New: Added CHtml::value() (Qiang)
- New: Enhanced 'yiic shell model' command so that it generates attribute labels by default (Qiang)
- New: Added CDbConnection::enableParamLogging to allow logging parameters bound to SQL statements (Qiang)

Version 1.0.4 April 5, 2009
---------------------------
- Bug #177: CFileValidator::getSizeLimit() not calculate well (Qiang)
- Bug #185: German error views have syntax errors (Qiang)
- Bug #183: Fatal error in CActiveFinder::afterFindInternal() (Qiang)
- Bug #186: MainMenu component in yiic webapp doesn't detect active menu item correctly (Qiang)
- Bug #187: SET CHARACTER SET is not working for MySQL in some cases (Qiang)
- Bug #190: yiic shell command does not work when the Web application redirects by default (Qiang)
- Bug #192: CDbLogRoute has several issues (Qiang)
- Bug #199: yiic webapp command may fail in some directory setup (Qiang)
- Bug #200: CDateFormatter does not recognize timestamp given as a string (Qiang)
- Bug #205: CTRL-D puts yiic into endless loop (olafure)
- Bug #206: Property "click" in CStarRating does not work (Qiang)
- Bug #218: Uppercase letter in controller in URL leads to exception (Qiang)
- Bug #226: CJoinElement uses undefined _primaryKey (Qiang)
- Bug #223: Calling CApplication::clearGlobalState causes error (Qiang)
- Bug #229: dynamic content does not work with page caching (Qiang)
- Bug: Setting the 'expression' option in an access url causes error (Qiang)
- Bug: CAccessRule.roles should be case sensitive (Qiang)
- Bug: CDbAuthManager::checkDefaultRoles() uses an undefined variable (Qiang)
- Bug: CPgsqlSchema does not handle quotes well in detecting FK constraints (Qiang)
- Bug: CPradoViewRenderer is calling an undefined method (Qiang)
- Bug: CClientScript::scriptMap generates duplicated script tags (Qiang)
- Bug: ActiveRecord may fetch the same PK column twice in a relational query (Qiang)
- Bug: CWebUser::hasState does not return consistent result (Qiang)
- Bug: A module layout in a theme cannot be applied (Qiang)
- Bug: Enabling both CSRF prevention and theming may cause a PHP error (Qiang)
- Bug: Eager loading in RAR may join the same table twice in some cases (Qiang)
- New #171: Added version info to yiic help output (Qiang)
- New #172: Added eAccelerator cache driver (Steffen)
- New #176: Added support to make yiic tool working with modules (Qiang)
- New #195: Added CModel::scenario property (Qiang)
- New #197: Added getParam, getQueryParam and getPostParam to CHttpRequest (Qiang)
- New #203: Added CZendDataCache (Steffen)
- New #207: Enhanced CHtml::activeFileField so that we can still use $_POST to detect form submission under some rare cases (Qiang)
- New #212: 'Readline' support in yiic console script (olafure)
- New #225: Added trace statements to CActiveRecord and CActiveFinder (Qiang)
- New #230: Enhanced CHtml so that it can be used in situations where controller is absent (Qiang)
- New #233: Allow CFileValidator::types to be set with an array (Qiang)
- New #292: Refactored CActiveRecord so that attribute assignment can be overridden more easily (Qiang)
- New: Added support to GROUP BY and HAVING in eager loading of AR (Qiang)
- New: Added CClientScript::scriptFiles and CClientScript::cssFiles (Qiang)
- New: Added SQL Server support for Active Record (Christophe)
- New: Added support for performing statistical query with Active Record (Qiang)
- New: Added CHtml::beginForm and endForm (Qiang)
- New: Added 'controllers' option to access control (Qiang)
- New: Added CContentDecorator.data property (Qiang)
- New: Refactored application and module code (Qiang)
- New: Added HTTP status code parameter to CHttpRequest::redirect (Qiang)
- New: Added beforeControllerAction and afterControllerAction to CWebApplication and CWebModule (Qiang)
- New: Added 'checkAll' option to CHtml::checkBoxList and CHtml::activeCheckBoxList (Qiang)
- New: Added CHtml::encodeArray() to allow HTML-encoding an array recursively (Qiang)
- New: Added case-sensitivity parameter to CDbCommandBuilder::createSearchCondition (Qiang)
- New: Added COutputCache.varyByExpression to allow variating cached content based on an expression value (Qiang)
- New: Added CExpressionDependency to represent dependency based on an expression value (Qiang)
- New: Added CAutoComplete.textArea to allow using it as a text area (Qiang)
- New: Added support to allow using AR when a table has no primary key defined (Qiang)
- New: Added support to CAPTCHA widget so that it can use captcha defined in other controllers (Qiang)
- New: Added CExistValidator (Qiang)


Version 1.0.3 March 1, 2009
---------------------------
- Bug #127: CUploadedFile is using an undefined variable (Qiang)
- Bug #132: CMysqlSchema has a typo (Qiang)
- Bug #133: CSort should properly quote the columns to be sorted (Qiang)
- Bug #135: CSort::link() does not work well with labels with special chars (Qiang)
- Bug #145: When layout property of CController is false, main layout is still applied (Qiang)
- Bug #153: Accessing related objects in afterFind() causes a duplicated SQL query (Qiang)
- Bug #154: Calling behavior method in relations() does not work (Qiang)
- Bug #161: Date formatting with timezones (Qiang)
- Bug: CHttpRequest.hostInfo may give wrong port number (Qiang)
- Bug: CHtml::activeListBox does not work when multiple selection is needed (Qiang)
- Bug: Inconsistency in timezone of log messages for different log routes (Qiang)
- Bug: Script file registered for POS_BEGIN is rendered twice (Qiang)
- Bug: CHtml::registerMetaTag() failed to be rendered when no other scripts are registered (Qiang)
- New #117: Added count() support to relational AR (Qiang)
- New #136: Added support to CWebUser to allow directly accessing persistent properties (Qiang)
- New #137: yiic model command should only set a column as required when it does not have default value (Qiang)
- New #138: Added support to specify additional attributes for OPTION tags (Qiang)
- New #140: Allow the route in a URL rule to contain parameters by itself (Qiang)
- New #146: Added CUrlManager.appendParams which allows creating URLs in path format whose GET parameters are all in the query part (Qiang)
- New #150: Register CTabView css file with media type='screen' (Qiang)
- New #156: Added CUrlManager.cacheID to allow disabling URL rule caching (Qiang)
- New #213: Enhanced CEmailValidator by allowing checking server port (Qiang)
- New: Upgraded jquery to 1.3.2 (Qiang)
- New: Upgraded jquery star rating to 2.61 (Qiang)
- New: Added skeleton application and refactored 'yiic webapp' command (Qiang)
- New: Added 'expression' option to access rules (Qiang)
- New: Refactored the code generated by yiic command (Qiang)
- New: Refactored the blog demo (Qiang)
- New: Added ignoreLimit option when joining tables all at once (Qiang)
- New: Added params option to relation declaration (Qiang)
- New: Added the blog tutorial (Qiang)
- New: Added CActiveRelation.together option to allow enforcing a table to be joined with the primary table (Qiang)
- New: Added CActiveRecord.hasRelated() (Qiang)
- New: Enhanced CHtml::listData() to work with raw query results (Qiang)
- New: Controllers under subdirectories are now referenced using "path/to/xyz" (Qiang)
- New: Added a defaut path alias named "webroot" (Qiang)
- New: Added support for auto-incremental composite primary keys in active record (Qiang)
- New: Added support for application modules (Qiang)
- New: Added "module" command for yiic shell tool (Qiang)
- New: Added support for using default roles in RBAC (Qiang)
- New: Added support for translating a message into multiple languages on the same page at the same time (Qiang)
- New: Added CClientScript::scriptMap to support remapping registered scripts (Qiang)
- New: Added CGoogleApi (Qiang)


Version 1.0.2 February 1, 2009
------------------------------
- Bug #81: Double backslashes in a clientscript became a singe backslash in the output (Qiang)
- Bug #83: yiic command may unexpectedly render its starting line on Windows (Qiang)
- Bug #87: yiic gives an error when using yiilite.php in the main application (Qiang)
- Bug #91: Relational AR eager fetching may bring back result even if it shouldn't (Qiang)
- Bug #109: CLinkPager shows wrong number of page buttons (Qiang)
- Bug: CDbAuthManager::saveAuthAssignment() causes updating all rows (Qiang)
- Bug: Fixed an issue in CUrlManager::createUrl when GET parameters contain arrays (Qiang)
- Bug: Fixed an issue that CCaptcha::buttonOptions is not used (Qiang)
- New #88: Added public properties to CActiveRecord::safeAttributes() (Qiang)
- New #92: Empty error messages in models are handled better when being displayed (Qiang)
- New #93: Changed CLinkPager and CListPager so that the messages are internationalized (Qiang)
- New #95: Added an option to CHtml::activeCheckBox() to define default value if unchecked (Qiang)
- New #98: Added support to translate messages in different plural forms. Added CChoiceFormat (Qiang)
- New #103: Added support to use dynamic query options in relational active record (Qiang)
- New #104: Added support to encode traversable objects using JSON (Qiang)
- New #111: Implemented nonobtrusive javascript "Get new image" link in CCaptcha (Qiang)
- New #113: Enhanced CSort so that it is easier to be used with relational active record (Qiang)
- New #116: Enhanced checkBoxList and radioButtonList in CHtml to enclose labels in label tag (Qiang)
- New #119: Added 'on' option to relational AR (Qiang)
- New #122: Added support to upload and validate files in a tabular form (Qiang)
- New: Added CActiveRecord::getRelated() (Qiang)
- New: Added 'return' option to HTML options in CHtml (Qiang)
- New: Refactored CSS-dependent widgets by adding registerCssFile static methods (Qiang)
- New: Added CDbSchema::getTables() and getTableNames() (Qiang)
- New: Modified CUniqueValidator so that it can correctly validate non-PK attributes when they are being updated (Qiang)
- New: Added scenario-based massive model attribute assignment (Qiang)
- New: Added support to specify views in terms of path aliases (Qiang)
- New: Enhanced getBaseUrl to allow it to return an absolute URL (Qiang)
- New: Allow flash message to be deleted right after its first access (Qiang)
- New: Upgraded jQuery to 1.3.0 (Qiang)
- New: Added CDbExpression so that AR can save DB expressions into database (Qiang)
- New: Added CDefaultValueValidator (Qiang)
- New: Implemented the behavior feature; added CBehavior, CModelBehavior and CActiveRecordBehavior (Qiang)
- New: Added a set of new events to CActiveRecord and CFormModel (Qiang)
- New: Added CModel::getValidatorsForAttribute (Qiang)
- New: Added CHtml::activeLabelEx and added 'required' option to CHtml::label (Qiang)
- New: Added array access support to CFormModel and CActiveRecord (Qiang)
- New: Added CActiveRecord::instantiate to support class table inheritance (Qiang)
- New: Added support to allow join tables all at once (Qiang)

Version 1.0.1 January 4, 2009
-----------------------------
- Bug #41: missing function CHttpRequest:: getCsrfTokenFromCookie() (Qiang)
- Bug #42: Wrong links in crud generated admin view (Qiang)
- Bug #45: Many-to-many relation does not work when both foreign tables are the same (Qiang)
- Bug #47: Wrong url parsing when CUrlManager is set in path format (Qiang)
- Bug #48: Typo in CActiveRecord::setAttribute (Qiang)
- Bug #49: Invalid markup generated by yiic tool (Qiang)
- Bug #53: tabular form input causes AR to fail (Qiang)
- Bug #54: typo in CHtml::listOptions (Qiang)
- Bug #57: Explicit column aliasing is not working in relational AR when the column appears in ORDER BY (Qiang)
- Bug #60: Related objects not available in CActiveRecord::afterSave (Qiang)
- Bug #69: Variable undefined error in CController::renderText (Qiang)
- Bug #79: CUrlManager::createUrl does not work for GET parameters that are arrays (Qiang)
- Bug #80: Improper unset in CHtml::activeCheckBoxList and activeRadioButtonList (Qiang)
- New #44: Make "yiic shell" command to support controllers organized in subdirectories (Qiang)
- New #51: Add support to import actions declared by a widget (Qiang)
- New #55: Add support for generating meta and link tags (Qiang)
- New #56: Allow specifying customized 'on' when a validator can be applied (Qiang)
- New #58: Allow specifying HAVING clause in DB criteria (Qiang)
- New #62: Allow URL routes to be case-insensitive by adding CUrlManager::caseSensitive property (Qiang)
- New #64: Add support to use relational AR when FK constraints are not defined in DB (Qiang)
- New #65: Added "alias" option to AR relations so that table aliases can be explicitly specified (Qiang)
- New #66: Add support to allow using isset() and unset() with component properties (Qiang)
- New #68: Upgrade the javascript for CMaskedTextField to 1.2.0 (Qiang)
- New: Fixed inaccurate error message when adding an item as a child of itself in CAuthManager (Qiang)
- New: CHtml::activeId and CHtml::activeName (Qiang)
- New: Added German, Spanish and Swedish core message translations (mikl, sebas, tri)
- New: Added CController::init() (Qiang)
- New: Changed Yii::createComponent() to support property initialization (Qiang)
- New: Optimized the framework (Qiang)
- New: Added CSort to support multisort (Qiang)
- New: Refactored the code generated by the crud command (Qiang)
- New: Added "contact" page to the skeleton application (Qiang)
- New: Added CMarkdownParser::safeTransform (Qiang)
- New: Added support to allow specifying anchor when using createUrl() to create a URL (Qiang)
- New: Added blog demo (Qiang)
- New: Added CXCache (Qiang)

Version 1.0 December 3, 2008
----------------------------
Initial release
Something went wrong with that request. Please try again.