diff options
| author | Patrick Seeger <pseeger@ccwn.org> | 2012-04-13 23:11:05 +0200 |
|---|---|---|
| committer | Patrick Seeger <pseeger@ccwn.org> | 2012-04-13 23:11:05 +0200 |
| commit | 341cc4dd9c53ffbfb863e026dd58549c1082c7a7 (patch) | |
| tree | 1bbbed20313bafb9b063b6b4d894fe580d8b000f /CHANGELOG | |
Diffstat (limited to 'CHANGELOG')
| -rw-r--r-- | CHANGELOG | 1246 |
1 files changed, 1246 insertions, 0 deletions
diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 0000000..b6a7b8c --- /dev/null +++ b/CHANGELOG @@ -0,0 +1,1246 @@ + + Yii Framework Change Log + ======================== + +Version 1.1.10 February 12, 2012 +-------------------------------- +- Bug Fixed the bug introduced in 1.1.9 CActiveForm required field was not validated if left empty (mdomba) +- Bug #1799: Better fix for bug #1799 old fix was breaking CJuiDatePicker tabular input (mdomba) +- Bug #2284: Fixed the CActiveForm clientvalidation for tabular input (mdomba) +- Bug #3062: Fixed the bug that using yiilite.php and CLocale will cause exception (Qiang) +- Bug #3070: Fixed the CActiveForm JS error if there is no field rendered (mdomba) +- Bug #3071: Fixed the bug that afterValidateAttribute was not called properly (mdomba) +- Bug #3096: Fixed the bug when reporting an error and CHtml is not loaded (mdomba) +- Bug #3103: Fixed the bug that CActiveForm->error() was not overloading htmlOptions (mdomba) +- Bug #3107: Fixed the wrong encoding issue of Italian messages (Qiang) +- Bug #3108: Fixed the bug introduced in CActiveFinder::applyLazyCondition (Qiang) +- Bug #3166: Fixed the bug that CDbColumnSchema typecasted to NULL even for NOT NULL columns (Sam Dark) +- Enh #3063: Gii, when generating models, tableNames will be checked against reserved PHP keywords when '*' is used (mdomba) +- Enh #3097: Added CHttpRequest::decodePathInfo() (Y!!) +- Enh #3101: The methods of CSecurityManager do now work correctly for the case that mbstring.func_overload is in effect (Y!!) +- Enh #3112: Fixed the exception error display on ajax calls when YII_DEBUG is true (mdomba) +- Enh #3121: Added more rules for proper pluralization to the pluralize() method in CCodeModel and CConsoleCommand (mdomba) +- Enh #3153: CClientScript::addPackage() now returns CClientScript instance to support method chaining (Sam Dark) +- Enh #3154: Removed file existance check to allow relative path and added additional headers option to xSendFile() (mdomba) +- Enh #3169: Added CSort::SORT_ASC and CSort::SORT_DESC (Sam Dark) +- Enh: Added CActiveForm::validateTabular() to simplify ajax validation for tabular input (mdomba) +- Chg: HTML-encoded input values for exist and unique validators (Qiang) +- Chg: Upgraded JQuery UI to 1.8.17 (mdomba) +- Chg: Upgraded HTMLPurifier to v4.4.0 (Sam Dark) + + +Version 1.1.9 January 1, 2012 +----------------------------- +- Bug: Removed unnecessary COciCommandBuilder::createInsertCommand quotes (Sam Dark) +- Bug: CHttpRequest.sendFile() gives incorrect content length when output_handler is enabled through code or non output_handler directive (Sam Dark) +- Bug #1356: Fixed CActiveForm ajax validation when checkBoxList or radioButtonList are used (mdomba) +- Bug #1968: Fixed inconsistence in CActiveForm error highlighting when checkBoxList or radioButtonList are used (mdomba) +- Bug #2603: Fixed the bug that CDbHttpSession::regenerateID call when session isn't started results in SQL error (Sam Dark) +- Bug #2623: Fixed the bug that by setting multiple classes in CGridView itemsCssClass prevents rows being selected (mdomba) +- Bug #2635: MigrateCommand migration execution time is now measured correctly (Sam Dark) +- Bug #2636: CConsoleCommand::init() wasn't called in yiic shell mode (Sam Dark) +- Bug #2773: Fixed possible CUrlManager::createUrl parameters conflict when using custom URL rule classes (Sam Dark) +- Bug #2581: Fixed CJuiTabs - not replacing id slug in header tool tips (sebas) +- Bug #2643: Output buffer wasn't properly cleaned on displaying error screen (Sam Dark) +- Bug #2733: Fixed CDbCriteria parameter names collision on unserialize (mcheale, Sam Dark) +- Bug #2786: Fixed inheritance in CLDR months parsing (mcheale, Sam Dark) +- Bug #2822: Fixed warning when "Host:" isn't present or is empty in HTTP request headers (Sam Dark) +- Bug #2853: Fixed sending of the button name in CActiveForm with enableAjaxValidation enabled (mdomba) +- Bug #2861: Removed the nested container css class in the skeleton application views (Qiang) +- Bug #2915: Fixed client validation in CCompareValidator to compare numbers instead of strings (mdomba) +- Bug #2932: CAuthItem::getType() returns string while using CDbAuthManager (Sam Dark) +- Bug #2999: CSort::getDirections, error when array is passed via $_GET (Sam Dark) +- Bug #3018: Fixed CACtiveForm ajax validation when checkBox or radioButton are used (mdomba) +- Bug #3029: Fixed the bug that empty items were not hidden when CMenu::hideEmptyItems is true (mdomba) +- Bug #3033: Fixed proper array merging in CDirectoryCacheDependency->generateTimestamps (mdomba) +- Bug #3041: Fixed possible infinite loop while processing logs (Yiivgeny, Sam Dark) +- Bug #3042: Fixed the bug that CHttpSession::setCookieMode wasn't setting session.use_only_cookies when 'none' value was used (Sam Dark) +- Chg: Upgraded JQuery UI to 1.8.16 (Sam Dark) +- Chg: Upgraded jQuery to 1.7.1 (Sam Dark,mdomba) +- Chg: Upgraded CMaskedTextField jQuery plugin (Masked Input) to 1.3, added minified version (Sam Dark) +- Chg: Reverted back the changes made to fix issue 2284 (Qiang) +- Chg #2647: Fixed inconvenient way of defining through relation (creocoder, Sam Dark) +- Chg #2951: Removed CConfiguration::createObject, CController::paginate and CHtml::getActiveId deprecated since 1.0.x (Sam Dark) +- Chg #3054: CComponent::__isset properly checks for null values (mdomba) +- Enh #2029: Added scope support to Model::relations() (creocoder, Sam Dark) +- Enh #2129: Added Monospace font as a fallback for source code on the exception view page (mdomba) +- Enh #2231: Added CMenu::itemCssClass for the possibility to assign one CSS class to all menu items (mdomba) +- Enh #2334: CHttpRequest::getPathInfo() now properly decodes both UTF-8 and ISO-8859-1 encoded URIs (Sam Dark) +- Enh #2387: Numeric keys are now displayed in error/exception stacktrace call argument if array isn't 0..X indexed (Sam Dark) +- Enh #2602: Better error handling in CHttpSession::open() when using PHP <5.3.0 (Sam Dark) +- Enh #2604: CArrayDataProvider::keyField can now be set to false to use keys from $rawData array instead of a named keyField (creocoder, Sam Dark) +- Enh #2637: Related table alias set dynamically in relational query is now available in the scopes of related model (creocoder, Sam Dark) +- Enh #2646, #2706: Added ability to join on a specific keys (creocoder, Sam Dark) +- Enh #2654: Enhanced CUrlManager::addRules() by allowing new rules to be inserted in front of the existing rules (Qiang) +- Enh #2715: CMap::mergeArray now can accept multiple arrays to be merged (firejdl, Sam Dark) +- Enh #2717: Extracted MigrateCommand::createMigrationHistoryTable method from MigrateCommand::getMigrationHistory (Sam Dark) +- Enh #2751: Added removeOld parameter to yiic message command that allows not to add obsolete lines to translation file generated (luislobo, Sam Dark) +- Enh #2795: Added Yii::t() to YiiBase::powered() (Sam Dark) +- Enh #2808: Added ability to override core classes using YiiBase::classMap (Sam Dark) +- Enh #2811: Fully automated CLDR data update, updated data to 2.0.1. Added getLanguageID, getScriptID, getTerritoryID, getRegionID, getLocaleDisplayName, getLanguage, getScript, getTerritory methods to CLocale (kshaw, Sam Dark) +- Enh #2823: Added autocomplete for Gii "Table Name" field (Sam Dark) +- Enh #2855: CWebUser::login() returns the login status (mdomba) +- Enh #2872: Added CConsoleCommand::prompt() that asks for input and CConsoleCommand::confirm() that asks for confirmation (Sam Dark) +- Enh #2890: Added CInlineValidator::clientValidate to set custom client validation (mdomba) +- Enh #2914: Added CClientScript::addPackage (Sam Dark) +- Enh #2929: Added forceDownload to xSendFile options to choose between attachment and inline disposition. (mdomba) +- Enh #2981: Added CHtml::liveEvents to set the default global style for attaching jQuery event handlers. (mdomba, Sam Dark, Ekstazi) +- Enh #3020: Added HTTP_REFERER information to the exception log (mdomba) +- Enh #3024: Added CDbMigration::refreshTableSchema() that refreshes specified table schema cache (Sam Dark) +- Enh: Documented component accessors with @property for significantly better IDE autocomplete (Sam Dark, Detonator, Athari) +- Enh: Added CWebUser->loginRequiredAjaxResponse - value to be returned for ajax calls in case the user session has expired (mdomba) +- Enh: CFileCache::get() does now suppress a possible PHP error which might occur on concurrent requests (Y!!) +- Enh: jquery.yiiactiveform.js added check for form visibility to validate() to prevent JS error when using CActiveForm with jQuery dialog (mdomba) +- Enh: removed the check for ajax call in CErrorHandler::handleException() (mdomba) +- Enh: CAssetManager now generates different hash for files/directories with different mtime (Sam Dark) +- Enh: Yii error screen will now display proper message like error/warning/notice (mdomba) +- Enh: CHtml::clientchange() now uses the new jQuery on() method for event binding (mdomba) + +Version 1.1.8 June 26, 2011 +--------------------------- +- Bug: Fixed a typo that may cause issue when setting custom script packages with baseUrl option for CClientScript (Qiang) +- Bug #2001: CGridView now renders the body after the footer in order to conform to the standard (Qiang) +- Bug #2236: CJuiTabs - added id to ajax tabs (sebas) +- Bug #2272: Fixed the bug of undefined index css in CTreeView (mdomba) +- Bug #2274: CDbCriteria can't merge "with" anymore if a scope applied another "with" condition (Sam Dark, Michael) +- Bug #2275: Fixed the bug that ajax error handler was not called in case of exception (mdomba) +- Bug #2284: Fixed the bug that CActiveForm clientValidation did not work with tabular input forms (Qiang) +- Bug #2292: Fixed the bug that CActiveDataProvider may ignore the specified criteria for the sorting configuration (Qiang) +- Bug #2294: Fixed the bug that duplicated PK columns may appear in the join SQL statement if custom select option is used (Qiang) +- Bug #2303: Fixed not logging anything on WSDL service failure (Sam Dark) +- Bug #2312: Fixed the bug that auto-incremental columns for MSSQL may return non-integers as last insert ID (Qiang) +- Bug #2328: Fixed the bug that table names was not quoted in CDbAuthManager (mdomba) +- Bug #2338: Fixed a typo in the client validation code for CNumberValidator (Qiang) +- Bug #2359: Fixed the bug that checkbox in Gii view template may be hidden automatically (Qiang) +- Bug #2377: Fixed the bug that jsonp was expected instead of JSON when using AJAX and CAutoComplete at the same page (Sam Dark) +- Bug #2382: Fixed the bug that yiic wasn't able to run if there is no commands dir in application (Sam Dark) +- Bug #2394: Fixed a typo in CDbCache that may cause mget() to fail (Qiang) +- Bug #2409: Fixed the bug that CCaptcha::buttonOptions is not respected (Qiang) +- Bug #2411: Fixed the bug that CCaptcha will fail when setting buttonType to be 'button' (Qiang) +- Bug #2422: Fixed the bug that calling CLogger::flush(true) multiple times may cause duplication of dumped messages (Qiang) +- Bug #2426: Fixed the bug in Gii about calling a non-static method in a static way (Qiang) +- Bug #2463: Fixed the bug that INSERT statement created by COciCommandBuilder may fail in some cases (Qiang) +- Bug #2475: Fixed the bug that CMssqlCommandBuilder and COciCommandBuilder don't respect parameters declared in CDbExpression when doing insertion and updating (Qiang) +- Bug #2485: Fixed the bug that CMssqlPdoAdapter is not used when the driver is sqlsrv (Qiang) +- Bug #2509: Fixed the bug that AR for MSSQL may fail if on different catalogues (Qiang) +- Bug #2516: CTimestamp::getDate() produced wrong output with the default timestamp (Y!!) +- Bug #2538: Fixed the bug that AR may join with incorrect columns (Qiang) +- Bug #2544: Fixed the bug that setting CJuiDatePicker.language to be 'en' will use wrong language (Qiang) +- Bug #2574: Fixed the bug that overriding CActiveRecord::primaryKey() does not set the isPrimaryKey flag for columns (Qiang) +- Bug: CMapIterator current key wasn't initialized properly (Sam Dark, Detonator) +- Bug: Controller generated with Gii CRUD wasn't able to handle non-integer primary key (Sam Dark) +- Bug: Query caching may give incorrect caching results when bindParam or bindValue is used (Qiang) +- Bug: Changing CActiveForm.errorMessageCssClass had no effect when ajax and client validation were disabled (Y!!) +- Bug: Error when using CUniqueValidator with models indexed by specific field (Sam Dark, Yiivgeny) +- Bug: Fixed the bug that CAssetManager doesn't set permission mode according to newDirMode and newFileModel properties when publishing a directory (Qiang) +- Enh #2319: Added support to call behavior scope through criteria 'with'=>array('scopes'=>'behaviorScope') (Sam Dark, creocoder) +- Enh #2262: Added warning log when a session fails to start by CHttpSession (Qiang) +- Enh #2264: Added an option to the model code generator such that the relation generation can be disabled (Qiang) +- Enh #2268: Added CClientScript::getPackageBaseUrl() (Qiang) +- Enh #2273: Used better merging algorithm to build query parameters that are of array type in CUrlManager (Qiang) +- Enh #2299: Added CAssetManager.newFileMode and newDirMode (Qiang) +- Enh #2325: Added $option parameter to CDbCommand::select() to support special SELECT syntax (Qiang) +- Enh #2341: More verbose log message for CModel::onUnsafeAttribute. Added model class (Sam Dark) +- Enh #2357: Documented CWebApplication accessors with @property for better IDE autocomplete (Sam Dark) +- Enh #2361: Added CDbConnection::pdoClass that allows to specify and use custom PDO wrapper class (Sam Dark) +- Enh #2365: Added support for creating more complex index by using createIndex() of query builder. (Qiang) +- Enh #2386: Added CController::renderClip() (Qinag) +- Enh #2389: MessageCommand now accepts overwrite option determining if merge result will overwrite existing file (Sam Dark) +- Enh #2410: Improved CHtml::error() so that it can take attribute names in tabular format (Qiang) +- Enh #2424: CDbConnection::beginTransaction() will now trigger a trace message for better debugging (Y!!) +- Enh #2436: Added support for allowing console applications to call createUrl() (Qiang) +- Enh #2450: Added Ctype extension check to Yii requirements checker (Sam Dark) +- Enh #2474: Enhanced CDbCommand::insert() and update() to support CDbExpression (Qiang) +- Enh #2483: Added CGridView::$ajaxUrl and CListView::$ajaxUrl (Qiang) +- Enh #2493: Added money column type to the query builder (Qiang) +- Enh #2500: Added possibility to use a custom click handler for CButtonColumn default delete button (mdomba) +- Enh #2524: CActiveRecord::exists() now respects the scopes applied (Qiang) +- Enh #2532: Improved Yii class autoloader to support Web servers that do not allow changing PHP include paths. (Qiang) +- Enh #2534: Added CHtml::decode() (Qiang) +- Enh #2535: Added YiiBase::setLogger() (Qiang) +- Enh #2555: Exposed CFileCache::gc() so that garbage collection can be explicitly invoked (Qiang) +- Enh #2556: Improved exception display in ajax mode (Qiang) +- Enh #2571: Improved the code for cleaning output buffers in CErrorHandler (Qiang) +- Enh: XHR is now passed to CButtonColumn error JavaScript callback as a first argument (Sam Dark) +- Enh: Added CHttpSession::regenerateID() and improved CWebUser::changeIdentity() by regenerating session ID (Qiang) +- Enh: Added CActiveRecord::saveCounters() (Qiang) +- Enh: Added Brazilian Portuguese translation (pt_br) of the core messages (bastardgoblin) +- Enh: CJSON::encode() can now encode non-UTF8 data (Qiang) +- Enh: Added CLogger::autoDump to allow writing log messages to destinations in "real time" (Qiang) +- Enh: Added support for using custom URL rule classes with CUrlManager (Qiang) +- Enh: Added input length check to email and url validators to improve security (Qiang) +- Enh: Added support to allow registering a class autoloader after Yii's default autoloader (Qiang) +- Enh: Unit tests for validators (Kevin Bradwick) +- Chg #2251: Changed the constructor of CUploadedFile to be public (Qiang) +- Chg #2258: Added support to invalidate cached content by setting COutputCache::duration to be 0 (Qiang) +- Chg #2261: Upgraded HTMLPurifier to v4.3.0 (Sam Dark) +- Chg #2309: Changed XML mimetype to application/xml for more interoperability (Sam Dark) +- Chg #2370: Upgraded JQuery UI to 1.8.13 (Sam Dark) +- Chg #2401: Upgraded jQuery to 1.6.1 (Sam Dark) +- Chg #2452: Upgraded Blueprint CSS to 1.0.1 (Sam Dark) +- Chg #2482: CWebService will not display source file name and error line number in production mode (Qiang) +- Chg #2496: Setting CDbConnection::$emulatePrepare to be false will now explicitly set PDO::ATTR_EMULATE_PREPARES to be false (Qiang) +- Chg: Changed CHtml::clientChange event binding to support custom event types and avoid conflicts when using AJAX (Sam Dark) + +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 |
