Yii Framework Change Log ======================== 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) 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 "