"Fossies" - the Fresh Open Source Software Archive

Member "yii-1.1.24.a5ab20/UPGRADE" (7 Jun 2021, 27717 Bytes) of package /linux/www/yii-1.1.24.a5ab20.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "UPGRADE": 1.1.23.445827_vs_1.1.24.a5ab20.

    1          Upgrading Instructions for Yii Framework v1.1
    2          =============================================
    3 
    4 !!!IMPORTANT!!!
    5 
    6 The following upgrading instructions are cumulative. That is,
    7 if you want to upgrade from version A to version C and there is
    8 version B between A and C, you need to following the instructions
    9 for both A and B.
   10 
   11 General upgrade instructions
   12 ----------------------------
   13 - Make a backup.
   14 - Clean up your 'assets' folder.
   15 - Replace 'framework' dir with the new one or point GIT to a fresh
   16   release and update.
   17 - Check if everything is OK, if not — revert from backup and post
   18   issues to Yii issue tracker.
   19 
   20 
   21 Upgrading from v1.1.23
   22 ----------------------
   23 
   24 - jQueryUI was updated to 1.12 and contains possible breaking changes.
   25 
   26   Upstream the base theme changed to a more modern theme with some colors, less gradients and some other improvements.
   27   The old default theme "Smoothness" is still included and configured as the Yii default for backwards compatibility.
   28   
   29   If you wish, you can apply the new base theme using the CWidgetFactory application component for example:
   30 
   31       return [
   32           'components' => [
   33               'widgetFactory' => [
   34                   'widgets' => [
   35                       'CJuiDatePicker' => [ // list your widgets derived from CJuiWidget here
   36                           'theme' => 'base',
   37                       ],
   38                   ],
   39               ],
   40           ]
   41       ];
   42 
   43   For further details check the [jQuery UI upgrade guide](https://jqueryui.com/upgrade-guide/1.12/)
   44 
   45 Upgrading from v1.1.22
   46 ----------------------
   47 
   48 No significant changes were made.
   49 
   50 Upgrading from v1.1.21
   51 ----------------------
   52 
   53 No significant changes were made.
   54 
   55 Upgrading from v1.1.20
   56 ----------------------
   57 
   58 No significant changes were made.
   59 
   60 Upgrading from v1.1.19
   61 ----------------------
   62 
   63 No significant changes were made.
   64 
   65 Upgrading from v1.1.18
   66 ----------------------
   67 
   68 If you are outputting validation errors directly without using `CHtml` or `CActiveForm`, make sure
   69 to encode them properly depending on context you are outputting them into.
   70 
   71 Upgrading from v1.1.17
   72 ----------------------
   73 
   74 No significant changes were made.
   75 
   76 Upgrading from v1.1.16
   77 ----------------------
   78 
   79 - If you're using CApcCache with APCu, set `useApcu` to `true` in the component config.
   80 - Undocumented usage of regular expressions outside parameters in URL rules was considered a bug (#3348). Regular
   81   expressions are now escaped properly so if you rely on previous behavior, please update your code.
   82 
   83 Upgrading from v1.1.15
   84 ----------------------
   85 
   86 - CFileValidator now clears attribute after validation in case attribute is marked as `safe` in `rules()` which is default.
   87   The reason is that file uploads were often handled incorrectly by using real database attribute which lead to ability to
   88   write arbitrary data into database column.
   89 
   90   If you've followed [wiki article about uploading files](http://www.yiiframework.com/wiki/2/how-to-upload-a-file-using-a-model/),
   91   you need to mark attribute as `unsafe`:
   92 
   93   public function rules()
   94   {
   95       return array(
   96           array('image', 'file', 'types'=>'jpg, gif, png', 'safe' => false), // <--- here
   97       );
   98   }
   99 
  100 - CErrorHandler now runs errorAction for errors, which appear via AJAX request.
  101   If you use CErrorHandler::errorAction, make sure it handles AJAX request properly.
  102 
  103 - The possibility to use callables for values of CDetailView introduced a problem with string being interpreted as
  104   PHP functions. CDetailView now only allows anonymous functions to be called, all other values will be taken as value.
  105 
  106 - We updated the `framework/utils/mimeTypes.php` with more file extensions from the http apache project.
  107   Due to this fact some of the assignments have changed so if you rely on the mimeType detection of `CFileHelper`
  108   you need to check if your code works with the new mime type assignments.
  109   You can use a custom `mimeTypes.php` file to bring back the old behavior if needed by specifying the second parameter
  110   of `CFileHelper::getMimeTypeByExtension($file, $magicFile='path/to/your/mimeTypes.php')`.
  111 
  112 - We upgraded the bundled jQuery version to 1.11.1. Previous version was 1.8.3.
  113   There were breaking changes in the jQuery API which you can find in the jQuery blog:
  114   <http://jquery.com/upgrade-guide/1.9/#changes-of-note-in-jquery-1-9>. The [jquery-migrate plugin](https://github.com/jquery/jquery-migrate/)
  115   can help checking your code for deprecated functionality.
  116 
  117 - jQueryUI was updated. Check the upgrade guides for [1.10](http://jqueryui.com/upgrade-guide/1.10) and
  118   [1.11](http://jqueryui.com/upgrade-guide/1.11).
  119 
  120 - The implementation of `CSecurityManager::encrypt()` and `decrypt()` were changed to be more secure.
  121   If you use these methods to encrypt your data, you should take the following steps to use the new version:
  122 
  123   1. Decrypt existing data that were encrypted using `legacyDecrypt()`.
  124   2. Change key via application config (encryptionKey property of securityManager component) to the one that conforms
  125      to recommendations.
  126   3. Encrypt the data using `encrypt()`.
  127 
  128   You can disable key validation by setting validateEncryptionKey property of securityManager component to false but
  129   if it strongly not recommended.
  130 
  131 - Namespaced controllers in subdirectories should now have subdirectory in namespace. Previously it was possible to
  132   use the same namespace for both controllers in root directory and subdirectories.
  133 
  134 
  135 Upgrading from v1.1.14
  136 ----------------------
  137 
  138 No significant changes, 1.1.15 was a security fix release.
  139 
  140 Upgrading from v1.1.13
  141 ----------------------
  142 
  143 - CUploadedFile::getInstancesByName() now cannot handle a single file upload. Either change your upload field name to
  144   be something like `ImageUpload[]` or, to keep backwards compatibility in your app, handle it like the following:
  145 
  146   $this->ImageUpload = CUploadedFile::getInstancesByName('ImageUpload');
  147   if (empty($this->ImageUpload)) {
  148       $this->ImageUpload = array(CUploadedFile::getInstanceByName('ImageUpload'));
  149   }
  150 
  151 - CActiveRecord::count() now respects group by and having. If your code relied
  152   on ignoring it your application may break and should be updated.
  153 
  154 - Vendors: phlymail's Net_IDNA was replaced by PEAR Net_IDNA2. The latter library is better maintained than the former.
  155   In case your code relies on bundled phlymail's Net_IDNA you should change it a bit. Old way of encoding IDNs:
  156 
  157       require_once(Yii::getPathOfAlias('system.vendors.idna_convert').DIRECTORY_SEPARATOR.'idna_convert.class.php');
  158       $idnaConvert=new idna_convert();
  159       $result=$idnaConvert->encode($value);
  160 
  161   New:
  162 
  163       require_once(Yii::getPathOfAlias('system.vendors.Net_IDNA2.Net').DIRECTORY_SEPARATOR.'IDNA2.php');
  164       $idna=new Net_IDNA2();
  165       $result=$idna->encode($value);
  166 
  167 - CAPTCHA appearance has been changed. Non-free Duality.ttf font (used by CCaptchaAction) replaced by open/free
  168   SpicyRice.ttf. New font is distributed under SIL Open Font License version 1.1. Do not forget to adjust font path
  169   in case your application relies on Duality.ttf font file.
  170 
  171 - CSecurityManager::computeHMAC() method is now public and third parameter has been added. You must change signature
  172   of this method in the extended child class to fit new circumstances. Otherwise an E_STRICT error will be issued.
  173 
  174 - CClientScript::registerScriptFile() and CClientScript::registerScript() methods signature changed.
  175   Update your subclasses that override registerScriptFile() or registerScript() if any.
  176 
  177 - CActiveRecord::refreshMetaData() now clears meta data for all objects of the particular Active Record class.
  178   Also CActiveRecord::refreshMetaData() will not create new meta data at once - new CActiveRecordMetaData instance
  179   will be created on the first demand.
  180 
  181 - Oracle related note: in case you're using COciSchema::resetSequence() or CDbSchema::resetSequence() methods with
  182   the Oracle database, keep in mind that its behavior has changed to be consistent with the same methods for
  183   the other database management systems. Please refer to its documentation for more details and don't forget
  184   to adjust your code respectively.
  185 
  186 - Signature of the CJuiInputWidget::resolveNameID() method has changed. If you're overriding this method you must
  187   change your code to fit it. This method now accepts two parameters, it means you have to adjust code of the
  188   overlapped descendant method signature as follows:
  189 
  190       protected function resolveNameID($nameProperty='name',$attributeProperty='attribute')
  191 
  192   And ancestor method call to:
  193 
  194       parent::resolveNameID($nameProperty,$attributeProperty);
  195 
  196 - In case you've used your own relation types extended from `CHasOneRelation` or
  197   `CHasManyRelation` make sure you update these to reflect moving `through` property
  198   from both these to `CActiveRelation`.
  199 
  200 - CSecurityManager::generateRandomKey() has been deprecated in favor of CSecurityManager::generateRandomString().
  201   Try not to use it anymore and avoid CSecurityManager::generateRandomKey() method in your code.
  202 
  203 Upgrading from v1.1.12
  204 ----------------------
  205 - Both jQuery and jQueryUI were updated. Check [jQuery UI upgrade guide](http://jqueryui.com/upgrade-guide/1.9/)
  206   and [jQuery release notes](http://blog.jquery.com/2012/08/09/jquery-1-8-released/).
  207 
  208 - We completed the behavior of CFormatter::sizeFormat() which has been introduced in Yii 1.1.11. If you are using it with your own translation file
  209   you have to move your translations to the `yii` category in `yii.php` file  which is handled by the application component `coreMessages`.
  210   We also fixed the default translation strings to be correct English and apply to choice format, so you have to adjust your translation file keys.
  211 
  212 - Be sure to clean all your existing cache during the upgrade. The cache values from CDbCommand has been
  213   changed to an array to be able to store false values (returned when no records are found).
  214 
  215 - Make sure all your event handlers in behaviors are public methods, as we are not supporting protected methods as event handlers anymore.
  216 
  217 - We fixed the calls to CActiveRecord::beforeFind() for consistency so that beforeFind() now always gets called for every relation
  218   on eager loading even if the main query does not return a result. This has been the case for all CActiveRecord::find*()-methods
  219   already but now also applies for findBySql() and findAllBySql().
  220 
  221 - Criteria modification in CActiveRecord::beforeFind() did not apply to the query when model was loaded in a relational context.
  222   Since version 1.1.13 changes to query criteria made in beforeFind() now also apply to the query when model is loaded in a relational context.
  223   The main problem here is that you can not use the `t`-alias for your table anymore, you have to change your code to
  224   use the table alias currently in use as this is different in relational context.
  225   You can get that alias by calling `$this->getTableAlias();` in your active record class
  226   or `$this->owner->getTableAlias()` in behavior context.
  227 
  228   Example:
  229      $criteria->condition = 't.myfield = 1';
  230   You need to change that to:
  231      $alias = $this->owner->getTableAlias();
  232      $criteria->condition = $alias.'.myfield = 1';
  233 
  234 - Make sure you are using `CCaptcha::checkRequirements()` method for checking whether CAPTCHA could be rendered successfully in your environment.
  235   `extension_loaded('gd')` expression is not enough and wrong because CAPTCHA could be rendered via ImageMagick with fallback to GD since 1.1.13
  236   (thus checking code is not simple as it seems).
  237 
  238 - In case you're using MSSQL driver make sure authentication credentials you use have permissions to use
  239   `sys.extended_properties` system view. This is critical for retrieving additional metadata on tables.
  240 
  241 Upgrading from v1.1.11
  242 ----------------------
  243 - Changes in CCookieCollection::add() (introduced in 1.1.11) were reverted as they were triggering E_STRICT on some old PHP-versions
  244   If your application relies on these newly added changes. You should change your code from
  245 
  246 		$cookies->add(new CHttpCookie($name, $value));
  247   to
  248 		$cookies[$name] = new CHttpCookie($name, $value);
  249 
  250 
  251 - CActiveRecord::resetScope() method signature changed. Please update your subclasses that override resetScope() if any.
  252 
  253 Upgrading from v1.1.10
  254 ----------------------
  255 - API of public method CConsoleCommand::confirm() changed. If you are overriding this method make sure to update your code.
  256   The method now has a 2nd parameter for the default value which will be used if no selection is made, so you have to
  257   adjust the signature to fit
  258 
  259       public function confirm($message,$default=false)
  260 
  261   and the parent call to
  262 
  263       parent::confirm($message,$default);
  264 
  265 - API of protected method CConsoleCommand::afterAction() changed, if you are overriding this method make sure to update your code.
  266   method now has a 3rd parameter for application exit code, so you have to adjust the signature to fit
  267 
  268       protected function afterAction($action,$params,$exitCode=0)
  269 
  270   and the parent call to
  271 
  272       parent::afterAction($action,$params,$exitCode);
  273 
  274 - CDateFormat::format() now will return null if the parameter $time is null. Previously it would return 1/1/1970.
  275 
  276 - If you are using CJavaScript::encode in your application with parameter coming
  277   from user input, set second argument to true:
  278 
  279       CJavaScript::encode($userInput, true);
  280 
  281   It will disable prefixing parameters with "js:". If you need to pass JavaScript
  282   expression it's now preferrable to wrap these with CJavaScriptExpression:
  283 
  284       CJavaScript::encode(new CJavaScriptExpression('alert("Yii!");'), true);
  285 
  286   Note that second "safe" parameter doesn't affect CJavaScriptExpression in any way.
  287 
  288 
  289 Upgrading from v1.1.9
  290 ---------------------
  291 - Previously xSendFile() was returning false if the file was not found.
  292   This has been removed to allow relative file paths. If you are relying on this check,
  293   you will need to do it manually before calling xSendFile().
  294 
  295 Upgrading from v1.1.8
  296 ---------------------
  297 - CConfiguration::createObject, CController::paginate and CHtml::getActiveId deprecated since 1.0.x were removed. Use
  298   Yii::createComponent, new CPagination directly and CHtml::activeId respectively.
  299 
  300 - In CErrorHandler::handleException() the checking for ajax call has been removed
  301   as it was preventing to customize the display of the exception during an ajax call.
  302 
  303 - Previously in case of validation error the CSS "error" class was not added to the row container at all when
  304   checkBoxList or radioButtonList where used. This is fixed now and proper "error" CSS class is added to the row
  305   container but in case of validation error, all labels from the list are shown in red because of the CSS rule.
  306 
  307   To fix this and display only the attribute label in red:
  308 
  309   in <projectdir>/css/form.css the line:
  310 
  311      div.form div.error label
  312 
  313   should be changed to
  314 
  315      div.form div.error label:first-child
  316 
  317 - If you've used "through" ActiveRecord option in your relation definitions it's good to update code as shown below.
  318   Old style of defining this option still works but is now deprecated.
  319 
  320   Change
  321 
  322 ~~~
  323 class Group extends CActiveRecord
  324 {
  325     public function relations()
  326     {
  327   		return array(
  328   			'roles'=>array(self::HAS_MANY,'Role','group_id'),
  329   			'users'=>array(self::HAS_MANY,'User','user_id','through'=>'roles'),
  330   		);
  331   	}
  332 }
  333 ~~~
  334 
  335   to
  336 
  337 ~~~
  338 class Group extends CActiveRecord
  339 {
  340     public function relations()
  341   	{
  342   		return array(
  343   			'roles'=>array(self::HAS_MANY,'Role','group_id'),
  344   			'users'=>array(self::HAS_MANY,'User',array('user_id'=>'id'),'through'=>'roles'),
  345   		);
  346   	}
  347 }
  348 ~~~
  349 
  350 
  351 Upgrading from v1.1.7
  352 ---------------------
  353 - CDbAuthManager will now quote columns and tables referenced in its SQL code.
  354   If your auth tables were created in a case-insensitive fashion (e.g. on PostgreSQL)
  355   while your DBMS is case-sensitive, this change may cause DB query errors.
  356   To fix this issue, you will have to rename the table names and columns, or re-create
  357   the auth tables by following the SQL code given in framework/web/auth/*.sql.
  358 - jQuery was upgraded to 1.6.1. Check your client side code and if you have issues consider
  359   downgrading to 1.5.1 or 1.4.4.
  360 
  361 
  362 Upgrading from v1.1.6
  363 ---------------------
  364 - Make sure you are using latest stable PHPUnit 3.5 if you are using unit tests.
  365 
  366 
  367 Upgrading from v1.1.5
  368 ---------------------
  369 - In CActiveRecord::relations(), if a relation involves composite foreign keys, the foreign key
  370   columns must be separated by commas now. Previously, the columns can be separated by either
  371   commas or spaces. If your mode code are generated by Gii or yiic shell, you do not need to
  372   worry about this.
  373 - CLDR data was updated to a newest available version so data formats, month
  374   names and other regional data can be changed.
  375 
  376 
  377 Upgrading from v1.1.4
  378 ---------------------
  379 - CHtml will no longer render null attributes for HTML tags. This means if $htmlOptions is
  380   array('class'=>null), it will no longer render the 'class' attribute in the HTML tag.
  381   it would render the class attribute as class="". We expect this will not cause much trouble
  382   in upgrading. However, in case problems happen, you may set the attribute to be an empty string
  383   to solve them.
  384 
  385 - Now by default CWebLogRoute does not render logs in FireBug for ajax calls.
  386   To get logs rendered for ajax calls in FireBug set CWebLogRoute::ignoreAjaxInFireBug to false
  387 
  388 - The implementation of CCache::flush() was changed a little. Child classes should now implement
  389   a flushValues() method. If you use any custom cache class with flush functionality, you should
  390   rename the flush method accordingly.
  391 
  392 - The prompt and empty options used in CHtml methods will NOT be HTML-encoded anymore. It will now
  393   always convert ">" and "<" into "&gt;" and "lt;", respectively. This should be sufficient in most
  394   cases. But if your application uses some other special characters, or if you allow user inputs
  395   to be used as prompt and empty text labels, please call CHtml::encode() explicitly on these option
  396   values.
  397 
  398 
  399 Upgrading from v1.1.3
  400 ---------------------
  401 - Zii was merged into Yii so if you are using SVN to keep framework
  402   up to date, you'll need to delete 'framework/zii' and then update it.
  403 
  404 Upgrading from v1.1.2
  405 ---------------------
  406 - When using the skin feature, you now need to explicitly configure
  407   the 'enableSkin' property of 'widgetFactory' application component
  408   to be true. Also, if you have configured the 'widgets' property, you
  409   should rename it to be 'skinnableWidgets'. These changes are due to
  410   the introduction of the global widget customization feature.
  411   Please see the guide (the "Theming" section) for more details.
  412 
  413 - CAutoComplete is now deprecated and will be removed in Yii 1.2. Consider
  414   using CJuiAutoComplete.
  415 
  416 - Now it's not possible to reuse CActiveFinder. So if you have code like this:
  417 
  418   $finder = Post::model()->with('comments');
  419   $posts1 = $finder->findAll();
  420   421   $posts2 = $finder->findAll();
  422 
  423   you should rewrite it to:
  424 
  425   $posts1 = Post::model()->with('comments');
  426   427   $posts2 = Post::model()->with('comments');
  428 
  429 - The 'condition' declared in the scopes of the related AR classes will now
  430   be put in the 'ON' clause of the JOIN statement when performing relational AR queries.
  431 
  432 
  433 Upgrading from v1.1.1
  434 ---------------------
  435 
  436 Upgrading from v1.1.0
  437 ---------------------
  438 - CHtml::beginForm() will automatically generate hidden fields to represent
  439   the parameters in the query string when the form uses GET method.
  440   To avoid submitting duplicated query parameters, you may use createUrl()
  441   to explicitly specify the action of the form. You may also need to remove
  442   the hidden fields that you previously render for the same purpose.
  443 
  444 - The code generated by yiic tool is changed. If you are using yiic tool
  445   to generate new CRUD code on a previously generated skeleton, you are recommended
  446   to run "yiic webapp" again to re-generate the skeleton. Make sure you backup
  447   your work before you do this.
  448 
  449 - CMenu now renders the 'active' CSS class for the 'li' tag instead of the
  450   hyperlink tag. You should adjust your CSS code accordingly if you use CMenu
  451   in your application.
  452 
  453 - CUrlManager::parsePathInfo() is changed to be non-static. If you override
  454   this method or your existing code calls this method directly (neither is common),
  455   you need to change your code accordingly.
  456 
  457 - CController::forward() will exit the application by default now. If you want
  458   to keep the old behavior, you may pass false as the second parameter.
  459 
  460 - The jQuery copy included in the framework has been upgraded to version 1.4.2.
  461   This may cause some incompatibility problems to your existing jQuery code or plugins.
  462   If you want to keep using version 1.3.2, you may do so by configuring
  463   CClientScript::scriptMap property.
  464 
  465 - The default theme for JQuery UI widgets was changed from 'smoothness' to 'base'.
  466   If you are using 'smoothness', you will need to manually download this theme from
  467   jqueryui.com and configure the 'theme' property of the JQuery UI widgets accordingly.
  468 
  469 
  470 Upgrading from v1.1rc
  471 ---------------------
  472 - CRudColumn is renamed as CButtonColumn
  473 - CDataColumn.dataField and dataExpression are renamed as name and value, respectively
  474 - The alias name for the primary table in an AR query is fixed to be 't'
  475 
  476 Upgrading from v1.1b
  477 --------------------
  478 
  479 Upgrading from v1.1a
  480 --------------------
  481 - CSort::attributes is changed. Now the array keys refer to attribute names
  482   and array values refer to virtual attribute definitions. Please read the
  483   API documentation for this property to learn more details. This change will
  484   affect your code only when you explicitly specify this property.
  485 
  486 Upgrading from v1.0.x
  487 ---------------------
  488 - Application and module parameter names are changed to be case-sensitive.
  489   In 1.0.x, they are case-insensitive.
  490 
  491 - For tabular input, using Field[$i] is not valid anymore. Attribute names
  492   should look like [$i]Field in order to support array-typed fields
  493   (e.g. [$i]Field[$index]).
  494 
  495 - Please read the Guide for further details on how to upgrade from v1.0.x to v1.1.
  496 
  497 Upgrading from v1.0.12
  498 ----------------------
  499 
  500 Upgrading from v1.0.11
  501 ----------------------
  502 
  503 Upgrading from v1.0.10
  504 ----------------------
  505 
  506 Upgrading from v1.0.9
  507 ---------------------
  508 
  509 Upgrading from v1.0.8
  510 ---------------------
  511 - ActiveRecord lazy loading is changed for optimization purpose. Previously,
  512   when lazy loading occurs, the related table will be joined with the primary
  513   table. Now, the related table will be queried without joining the primary table.
  514   As a result, if you are using lazy loading and the corresponding relation
  515   declaration includes reference to the primary table, the query will fail.
  516   To fix this problem, please specify the lazy loading query options with the
  517   actual primary table column values.
  518 
  519 Upgrading from v1.0.7
  520 ---------------------
  521 - A directory imported using Yii::import() will have precedence over
  522   any existing include paths. For example, if we import 'application.models.*',
  523   then the corresponding directory will be searched before any other
  524   existing include paths. This also means, a directory imported later will
  525   have precedence over directories imported earlier. Previously, this order
  526   was reversed. This change may affect you if you have several classes with
  527   the same name and they are imported via different directories. You will need
  528   to adjust the import order of these directories to make sure your existing
  529   applications are not broken due to this change.
  530 
  531 
  532 Upgrading from v1.0.6
  533 ---------------------
  534 - Default named scope will no longer be applied to INSERT, UPDATE and
  535   DELETE queries. It is only applied to SELECT queries. You should be aware
  536   of this change if you override CActiveRecord::defaultScope() in your code.
  537 
  538 - The signature of CWebUser::logout() is changed. If you override this method,
  539   you will need to modify your method declaration accordingly.
  540 
  541 
  542 Upgrading from v1.0.5
  543 ---------------------
  544 
  545 
  546 Upgrading from v1.0.4
  547 ---------------------
  548 - CWebUser::checkAccess() takes an additional parameter to allow caching
  549   the access check results. If you override this method, you will need to
  550   modify your method declaration accordingly. Because the new parameter will
  551   enable caching the access check results by default, please double check
  552   your code containing this method call to make sure the behavior is as expected.
  553 
  554 - CDateParser has been renamed to CDateTimeParser
  555 
  556 
  557 Upgrading from v1.0.3
  558 ---------------------
  559 - The signature of CWebModule::init() is modified. Its parameter is removed.
  560   If your application uses modules, you have to modify your module class
  561   files accordingly.
  562 
  563 
  564 Upgrading from v1.0.2
  565 ---------------------
  566 - Controllers that are organized in subdirectories are now referenced
  567   using the ID format "path/to/xyz". Previously it was "path.to.xyz".
  568   If you use "path.to.xyz" in your application, you have to modify it
  569   to "path/to/xyz".
  570 
  571 - CHtml::coreScript() is removed. If you used this in your application,
  572   please use the following alternative:
  573 
  574   Yii::app()->clientScript->registerCoreScript($name);
  575 
  576 
  577 Upgrading from v1.0.1
  578 ---------------------
  579 - Due to the introduction of the scenario-based massive assignment feature,
  580   we removed CActiveRecord::protectedAttributes(). Please use safeAttributes()
  581   to specify which attributes are safe to be massively assigned.
  582 
  583   For more details about scenario-based assignment and validation,
  584   please read the following tutorial section:
  585 
  586   http://www.yiiframework.com/doc/guide/form.model#securing-attribute-assignments
  587 
  588 - The signature of CModel::validate() has been changed to:
  589 
  590   CModel::validate($scenario='', $attributes=null)
  591 
  592   That is, the order of the two parameters has been swapped. If your application
  593   contains code that invokes the validate() method (of either a CFormModel
  594   or a CActiveRecord object) with some parameter, please make sure you fix
  595   the parameter order.
  596 
  597 - The usage of CActiveRecord::with() and the 'with' option in relations
  598   has been changed. In order to query child relations, we should specify the 'with'
  599   parameter/option like the following now:
  600 
  601   Post::model()->with(array('comments', 'author.profile'))->findAll();
  602 
  603   Previously, this should be written as:
  604 
  605   Post::model()->with(array('comments', 'author'=>'profile'))->findAll();
  606 
  607   If your code does not involve child relations (like 'profile' in the above),
  608   nothing needs to be changed.
  609 
  610   This change has been introduced in order to support dynamic relational
  611   query options. For example, we can specify that comments be sorted in
  612   descending order (assuming in the relations() method it is specified as
  613   ascending order):
  614 
  615   Post::model()->with(array(
  616       'comments'=>array('order'=>'createTime DESC'),
  617       'author.profile',
  618   ))->findAll();
  619 
  620 
  621 Upgrading from v1.0.0
  622 ---------------------
  623 - An $scenario parameter is added to both CModel::beforeValidate() and afterValidate().
  624   If you override these methods in your child classes (form models, AR classes),
  625   make sure you change the method signature accordingly.