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