Skip to content

Commit

Permalink
release version 2.0.8
Browse files Browse the repository at this point in the history
  • Loading branch information
cebe committed Apr 28, 2016
1 parent 101ec4f commit 7317692
Show file tree
Hide file tree
Showing 17 changed files with 55 additions and 49 deletions.
2 changes: 1 addition & 1 deletion framework/BaseYii.php
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ class BaseYii
*/
public static function getVersion()
{
return '2.0.8-dev';
return '2.0.8';
}

/**
Expand Down
52 changes: 26 additions & 26 deletions framework/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,52 +1,48 @@
Yii Framework 2 Change Log
==========================

2.0.8 under development
-----------------------
2.0.8 April 28, 2016
--------------------

- Bug #7627: Fixed `yii\widgets\ActiveField` to handle inputs AJAX validation with changed ID properly (dizeee)
- Bug #7717: Fixed the bug that `$properties` parameter in `ArrayHelper::toArray()` was not passed to recursive calls (quantum13)
- Bug #11088: Fixed bug with column name not being quoted correctly, when a quoted table name or a table name in prefix syntax was used (cebe, edgardmessias, Ni-san)
- Bug #9074: Fixed JS call `$('#grid').yiiGridView('getSelectedRows')` when `GridView::$showHeader` is set to false (NekitoSP, silverfire)
- Bug #9935: Fixed `yii\validators\EachValidator` does not invoke `validateAttribute()` method of the embedded validator (klimov-paul)
- Bug #11270: Fixed `BaseActiveRecord::link()` method in order to support closure in `indexBy` for relations declaration (iushev)
- Bug #11333: Avoid serializing PHP 7 errors (zuozp8)
- Bug #11262: Enabled use of yii2 inside of PHAR packaged console applications (hiqsol)
- Bug #11196: Fixed VarDumper throws PHP Fatal when dumping `__PHP_Incomplete_Class` (DamianZ)
- Bug #7627: Fixed `yii\widgets\ActiveField` to handle inputs AJAX validation with changed ID properly (dizeee)
- Bug #9851: Fixed partial commit / rollback in nested transactions (sammousa)
- Bug #9935: Fixed `yii\validators\EachValidator` does not invoke `validateAttribute()` method of the embedded validator (klimov-paul)
- Bug #10201: Fixed bug in ActiveRecord, where relational data could not be fetched in case with composite key and join with IN condition (PaulVanSchayck, airmoi, joe-meyer, cebe)
- Bug #10235: Fixed `yii\console\Application::runAction` to not to corrupt response object (hiqsol)
- Bug #10480: Fixed removing old identity cookie when loggin in as another user without logging out first (maine-mike)
- Bug #10617: Fixed `yii\web\Request::getBodyParams()` returned `null` instead of empty array if request body is empty and content type is application/json (samdark)
- Bug #10784: Fixed `yii\grid\CheckboxColumn` to set correct value when `yii\grid\CheckboxColumn::$checkboxOptions` closure is used (nukkumatti)
- Bug #10850: Fixed unable to use 'definitions' and 'aliases' at `yii\widgets\MaskedInput` (rahimov, klimov-paul)
- Bug #10884: Fixed MessageFormatter for formatting messages when not all parameters are given (laxity7, cebe)
- Enh #10910: Fixed Captcha client side validation after image refresh, when controller is under module (silverfire)
- Bug #10935: Fixed cache key collision in `yii\web\UrlManager::createUrl()` (sammousa)
- Bug #10946: Fixed parameters binding to the SQL query in `yii\db\mysqlSchema::findConstraints()` (silverfire)
- Bug #10969: Fixed generator migration tool with decimal params in column (pana1990)
- Bug #10974: `yii.js` - fixed error in ajaxPrefilter event handler, caused by blocked frame (maximal)
- Bug #11012: Fixed `yii\web\UploadedFile::getBaseName()` to work with UTF-8 file names (hiscaler, silverfire)
- Bug #11026: Fixed `StringHelper::truncateWords()` to count words properly for non-English text (samdark, tol17)
- Bug #11038: Fixed handling of intervals of 0 seconds in `yii\i18n\Formatter::asDuration()` (VirtualRJ)
- Bug #11040: Check parameter 'recursive' and disable recursive copying with option 'recursive' => false in method BaseFileHelper::copyDirectory (Ni-san)
- Bug #11052: Fixed `HtmlPurifier` configuration sequence (samdark)
- Bug #11066: `yii.js` - fixed `getQueryParams()` function to handle URLs with anchors correctly (DrDeath72)
- Bug #11088: Fixed bug with column name not being quoted correctly, when a quoted table name or a table name in prefix syntax was used (cebe, edgardmessias, Ni-san)
- Bug #11093: Fixed `yii\db\QueryBuilder::buildAndCondition()` to add query params passed directly by `yii\db\Expression` (CedricYii, silverfire)
- Bug #11012: Fixed `yii\web\UploadedFile::getBaseName()` to work with UTF-8 file names (hiscaler, silverfire)
- Bug #11026: Fixed `StringHelper::truncateWords()` to count words properly for non-English text (samdark, tol17)
- Bug #11040: Check parameter 'recursive' and disable recursive copying with option 'recursive' => false in method BaseFileHelper::copyDirectory (Ni-san)
- Bug #11125: Fixed `JSON_ERROR_SYNTAX` for `json_decode(null)` in PHP 7 (fps01)
- Bug #11132: Fixed `yii\widgets\FragmentCache` not handling empty content correctly in all cases (kidol)
- Bug #11188: Fixed wrong index usage in `CaptchaAction` when calling `imagefilledrectangle` (alsopub)
- Bug #11196: Fixed VarDumper throws PHP Fatal when dumping `__PHP_Incomplete_Class` (DamianZ)
- Bug #11220: NumberValidator now handles objects properly (samdark)
- Bug #11221: Boolean validator generates incorrect error message (azaikin, githubjeka)
- Bug #11223: Fixed returning an empty array when DbManager::getRolesByUser() was called on a user with user id 0 (VirtualRJ)
- Bug #11228: `yii.activeForm.js` - AJAX validation will not be triggered if client side validation failed (silverfire)
- Bug #11262: Enabled use of yii2 inside of PHAR packaged console applications (hiqsol)
- Bug #11270: Fixed `BaseActiveRecord::link()` method in order to support closure in `indexBy` for relations declaration (iushev)
- Bug #11280: Descendants of `yii\console\controllers\BaseMigrateController`, like the one for MongoDB, unable to create new migration (klimov-paul)
- Bug #11333: Avoid serializing PHP 7 errors (zuozp8)
- Bug #11425: Fixed namespace conflict with Markdown helper and Console helper (cebe, mdmunir)
- Bug: SQlite querybuilder did not create primary key with bigint for `TYPE_BIGPK` (cebe)
- Enh #5469: Add mimetype validation by mask in FileValidator (kirsenn, samdark, silverfire)
- Enh #11336: Allow resettting `$hostInfo`, `$scriptUrl`, and `$pathInfo` in `yii\web\Request` and `$baseUrl`, and `$hostInfo` in `yii\web\UrlManager` to `null`, to make Yii determine the value again (cebe)
- Enh #10322: `yii.activeForm.js` now respects the `formtarget` attribute of submit button (anatolyrugalev)
- Enh #9425: `yii\db\Query::exists()` now uses SQL standard `EXISTS()` query via new `yii\db\QueryBuilder::selectExists()` method to improving performance in some cases (PowerGamer1)
- Enh #7177, #10165: Added support for validating datetime and time values using intl short format to `DateValidator` (VirtualRJ, cebe)
- Enh #8145, #8139, #10234 #11153: `yii\validators\Validator::$attributes` property now supports `!attribute` notation to validate attribute, but do not mark it as safe (mdmunir)
- Enh #8148: Implemented ability to add comment on table and column in migration (vaseninm, silverfire)
Expand All @@ -55,9 +51,12 @@ Yii Framework 2 Change Log
- Enh #8639: Improve ActiveRecord to not create new instances of classes when objects are available (cebe)
- Enh #8779: Automatically set enctype form option when using file input field (pana1990, arogachev)
- Enh #9340: Adds `after()` and `first()` column schema builder modifiers (df2)
- Enh #9425: `yii\db\Query::exists()` now uses SQL standard `EXISTS()` query via new `yii\db\QueryBuilder::selectExists()` method to improving performance in some cases (PowerGamer1)
- Enh #9562: Adds `char` datatype to framework (df2)
- Enh #9604: `yii\db\BaseActiveRecord` now triggers event `EVENT_AFTER_REFRESH` after a record is refreshed (raoul2000)
- Enh #9893: `yii.js` handleAction enhanced to support for data-form attribute, so links can trigger specific forms (SamMousa)
- Enh #10309: Extracted `yii\web\UrlManager` rule cache key into `$cacheKey` protected property (lordthorzonus)
- Enh #10322: `yii.activeForm.js` now respects the `formtarget` attribute of submit button (anatolyrugalev)
- Enh #10322: ActiveForm now respects formtarget attribute of submit button (AnatolyRugalev)
- Enh #10451: Check of existence of `$_SERVER` in `\yii\web\Request` before using it (quantum13)
- Enh #10475: Extracted `getUrlFromCache()` and `setRuleToCache()` protected methods from `yii\web\UrlManager::createUrl()` (dmdark)
Expand All @@ -69,37 +68,38 @@ Yii Framework 2 Change Log
- Enh #10840: Added `yii\console\Controller::optionAliases()` method to support aliases for commands (pana1990)
- Enh #10889: Allows unsigned primary key column definitions (df2)
- Enh #10908: Added Dependency Injection for Closure configuration (SamMousa)
- Enh #10910: Fixed Captcha client side validation after image refresh, when controller is under module (silverfire)
- Enh #10921: `__toString()` of column schema builder now adapts to column types (df2)
- Enh #10931: Removed hard dependency of `yii\di\Container` on `Yii::$app` (SamMousa)
- Enh #10937: `yii\web\User` will now confirm the request accepts an HTML response before redirecting to the login page. Added optional `$checkAcceptHeader` to `yii\web\User::loginRequired()` (sammousa)
- Enh #10941: Added `yii\helpers\ArrayHelper::isTraversable`, added support for traversable selections for dropdownList, radioList and checkboxList in `yii\helpers\Html` (sammousa)
- Enh #10941: Added `yii\helpers\ArrayHelper::isTraversable`, added support for traversable selections for dropdownList, radioList and checkboxList in `yii\helpers\Html`.
- Enh #10954: `yii\db\QueryBuilder` now accepts `\Traversable` objects for `in` condition (SamMousa, silverfire)
- Enh #10967: Simplified Javascript on the exception debug page (SamMousa)
- Enh #10976: `Inflector::transliterate()` now uses `strtr` instead of `str_replace` (DrDeath72)
- Enh #11002: `AttributeBehavior::$skipUpdateOnClean` which determines whether to skip a behavior when the behavior owner has not been modified (Faryshta)
- Enh #11056: Allow setting a custom logger configuration for `yii\log\Dispatcher` in configuration (bionoren, cebe)
- Enh #11058: `yii\web\User::loginRequired()` now does not set return URL when request method is not GET (dawei101, silverfire)
- Enh #11110: Added migrations for DB session (mdmunir)
- Enh #11137: Added weak ETag support to `yii\filters\HttpCache`. It could be turned on via setting `$weakEtag` to `true` (particleflux)
- Enh #11139: `yii\validators\EachValidator` injects specific attribute value in error message parameters (silverfire)
- Enh #11166: migrate command new option `useTablePrefix` (Faryshta)
- Enh #11187: migrate command now generates phpdoc for table migrations (Faryshta)
- Enh #11207: migrate command can create foreign keys. (Faryshta)
- Enh #11254: Added ability to attach RBAC rule using class name (mdmunir)
- Enh #11285: `yii\base\Security` enhancements (tom--, samdark)
- Avoid reading more bytes than needed from `/dev/urandom` and `/dev/random`.
- Pefer `/dev/random` to `/dev/urandom` when running on FreeBSD.
- Better RNG performance.
- Enh #11336: Allow resettting `$hostInfo`, `$scriptUrl`, and `$pathInfo` in `yii\web\Request` and `$baseUrl`, and `$hostInfo` in `yii\web\UrlManager` to `null`, to make Yii determine the value again (cebe)
- Enh: Added `StringHelper::countWords()` that given a string returns number of words in it (samdark)
- Enh #11207: migrate command can create foreign keys. (Faryshta)
- Enh #11166: migrate command new option `useTablePrefix` (Faryshta)
- Enh #11002: `AttributeBehavior::$skipUpdateOnClean` which determines whether to skip a behavior when the behavior owner has not been modified (Faryshta)
- Chg #11283: `ActiveRecord::unlink()` is not setting FK to `null` before deleting itself anymore (samdark)
- Eng #10976: `Inflector::transliterate()` now uses `strtr` instead of `str_replace` (DrDeath72)
- Enh #11110: Added migrations for DB session (mdmunir)
- Enh #10941: Added `yii\helpers\ArrayHelper::isTraversable`, added support for traversable selections for dropdownList, radioList and checkboxList in `yii\helpers\Html`.
- Enh #10954: `yii\db\QueryBuilder` now accepts `\Traversable` objects for `in` condition (SamMousa, silverfire)
- Chg: HTMLPurifier dependency updated to `~4.6` (samdark)
- Chg #9854: Added `ActiveRecordInterface::populateRelation()` to respect the methods called by the implementation (SamMousa)
- Chg #10726: Added `yii\rbac\ManagerInterface::canAddChild()` (dkhlystov, samdark)
- Chg #10921: Inverts responsibility of database specific column schema builder classes (df2)
- Chg #11071: `yii\helpers\BaseArrayHelper::isIn()` and `isTraversable()` since now throw `\yii\base\InvalidParamException` instead of `\InvalidArgumentException` (nukkumatti)
- Chg #11283: `ActiveRecord::unlink()` is not setting FK to `null` before deleting itself anymore (samdark)
- Chg: HTMLPurifier dependency updated to `~4.6` (samdark)
- New #8920: Added `yii\mutex\PgsqlMutex` which implements mutex "lock" mechanism via PgSQL locks (nineinchnick, CSharpRU)
- Enh #10309: Extracted `yii\web\UrlManager` rule cache key into `$cacheKey` protected property (lordthorzonus)


2.0.7 February 14, 2016
Expand Down
3 changes: 1 addition & 2 deletions framework/behaviors/AttributeBehavior.php
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ class AttributeBehavior extends Behavior
* ```
*/
public $attributes = [];

/**
* @var mixed the value that will be assigned to the current attributes. This can be an anonymous function,
* callable in array format (e.g. `[$this, 'methodName']`), an [[Expression]] object representing a DB expression
Expand All @@ -78,14 +77,14 @@ class AttributeBehavior extends Behavior
* ```
*/
public $value;

/**
* @var boolean whether to skip this behavior when the `$owner` has not been
* modified
* @since 2.0.8
*/
public $skipUpdateOnClean = true;


/**
* @inheritdoc
*/
Expand Down
2 changes: 1 addition & 1 deletion framework/behaviors/TimestampBehavior.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
* By default, TimestampBehavior will fill the `created_at` and `updated_at` attributes with the current timestamp
* when the associated AR object is being inserted; it will fill the `updated_at` attribute
* with the timestamp when the AR object is being updated. The timestamp value is obtained by `time()`.
*
*
* For the above implementation to work with MySQL database, please declare the columns(`created_at`, `updated_at`) as int(11) for being UNIX timestamp.
*
* If your attribute names are different or you want to use a different way of calculating the timestamp,
Expand Down
6 changes: 4 additions & 2 deletions framework/classes.php
Original file line number Diff line number Diff line change
Expand Up @@ -113,22 +113,23 @@
'yii\db\StaleObjectException' => YII2_PATH . '/db/StaleObjectException.php',
'yii\db\TableSchema' => YII2_PATH . '/db/TableSchema.php',
'yii\db\Transaction' => YII2_PATH . '/db/Transaction.php',
'yii\db\cubrid\ColumnSchemaBuilder' => YII2_PATH . '/db/cubrid/ColumnSchemaBuilder.php',
'yii\db\cubrid\QueryBuilder' => YII2_PATH . '/db/cubrid/QueryBuilder.php',
'yii\db\cubrid\Schema' => YII2_PATH . '/db/cubrid/Schema.php',
'yii\db\mssql\ColumnSchemaBuilder' => YII2_PATH . '/db/mssql/ColumnSchemaBuilder.php',
'yii\db\mssql\PDO' => YII2_PATH . '/db/mssql/PDO.php',
'yii\db\mssql\QueryBuilder' => YII2_PATH . '/db/mssql/QueryBuilder.php',
'yii\db\mssql\Schema' => YII2_PATH . '/db/mssql/Schema.php',
'yii\db\mssql\SqlsrvPDO' => YII2_PATH . '/db/mssql/SqlsrvPDO.php',
'yii\db\mssql\TableSchema' => YII2_PATH . '/db/mssql/TableSchema.php',
'yii\db\mysql\ColumnSchemaBuilder' => YII2_PATH . '/db/mysql/ColumnSchemaBuilder.php',
'yii\db\mysql\QueryBuilder' => YII2_PATH . '/db/mysql/QueryBuilder.php',
'yii\db\mysql\Schema' => YII2_PATH . '/db/mysql/Schema.php',
'yii\db\oci\ColumnSchemaBuilder' => YII2_PATH . '/db/oci/ColumnSchemaBuilder.php',
'yii\db\oci\QueryBuilder' => YII2_PATH . '/db/oci/QueryBuilder.php',
'yii\db\oci\Schema' => YII2_PATH . '/db/oci/Schema.php',
'yii\db\pgsql\ColumnSchemaBuilder' => YII2_PATH . '/db/pgsql/ColumnSchemaBuilder.php',
'yii\db\pgsql\QueryBuilder' => YII2_PATH . '/db/pgsql/QueryBuilder.php',
'yii\db\pgsql\Schema' => YII2_PATH . '/db/pgsql/Schema.php',
'yii\db\sqlite\ColumnSchemaBuilder' => YII2_PATH . '/db/sqlite/ColumnSchemaBuilder.php',
'yii\db\sqlite\QueryBuilder' => YII2_PATH . '/db/sqlite/QueryBuilder.php',
'yii\db\sqlite\Schema' => YII2_PATH . '/db/sqlite/Schema.php',
'yii\di\Container' => YII2_PATH . '/di/Container.php',
Expand Down Expand Up @@ -207,6 +208,7 @@
'yii\mutex\FileMutex' => YII2_PATH . '/mutex/FileMutex.php',
'yii\mutex\Mutex' => YII2_PATH . '/mutex/Mutex.php',
'yii\mutex\MysqlMutex' => YII2_PATH . '/mutex/MysqlMutex.php',
'yii\mutex\PgsqlMutex' => YII2_PATH . '/mutex/PgsqlMutex.php',
'yii\rbac\Assignment' => YII2_PATH . '/rbac/Assignment.php',
'yii\rbac\BaseManager' => YII2_PATH . '/rbac/BaseManager.php',
'yii\rbac\DbManager' => YII2_PATH . '/rbac/DbManager.php',
Expand Down
2 changes: 1 addition & 1 deletion framework/console/controllers/BaseMigrateController.php
Original file line number Diff line number Diff line change
Expand Up @@ -467,7 +467,7 @@ public function actionNew($limit = 10)
*
* @param string $name the name of the new migration. This should only contain
* letters, digits and/or underscores.
*
*
* Note: If the migration name is of a special form, for example create_xxx or
* drop_xxx then the generated migration file will contain extra code,
* in this case for creating/dropping tables.
Expand Down
1 change: 0 additions & 1 deletion framework/console/controllers/MigrateController.php
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,6 @@ class MigrateController extends BaseMigrateController
* @since 2.0.8
*/
public $useTablePrefix = false;

/**
* @var array column definition strings used for creating migration code.
*
Expand Down
4 changes: 2 additions & 2 deletions framework/data/BaseDataProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@
* @property array $keys The list of key values corresponding to [[models]]. Each data model in [[models]] is
* uniquely identified by the corresponding key value in this array.
* @property array $models The list of data models in the current page.
* @property Pagination|false $pagination The pagination object. If this is false, it means the pagination
* @property Pagination|boolean $pagination The pagination object. If this is false, it means the pagination
* is disabled. Note that the type of this property differs in getter and setter. See [[getPagination()]] and
* [[setPagination()]] for details.
* @property Sort|false $sort The sorting object. If this is false, it means the sorting is disabled. Note
* @property Sort|boolean $sort The sorting object. If this is false, it means the sorting is disabled. Note
* that the type of this property differs in getter and setter. See [[getSort()]] and [[setSort()]] for details.
* @property integer $totalCount Total number of possible data models.
*
Expand Down
3 changes: 2 additions & 1 deletion framework/db/ColumnSchemaBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,8 @@ class ColumnSchemaBuilder extends Object
* @since 2.0.8
*/
protected $isFirst;


/**
* @var array mapping of abstract column types (keys) to type categories (values).
* @since 2.0.8
Expand Down Expand Up @@ -108,7 +110,6 @@ class ColumnSchemaBuilder extends Object
*/
public $comment;


/**
* Create a column schema builder instance giving the type and value precision.
*
Expand Down
1 change: 1 addition & 0 deletions framework/db/Transaction.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
* one of [[READ_UNCOMMITTED]], [[READ_COMMITTED]], [[REPEATABLE_READ]] and [[SERIALIZABLE]] but also a string
* containing DBMS specific syntax to be used after `SET TRANSACTION ISOLATION LEVEL`. This property is
* write-only.
* @property integer $level The current nesting level of the transaction. This property is read-only.
*
* @author Qiang Xue <[email protected]>
* @since 2.0
Expand Down
1 change: 1 addition & 0 deletions framework/db/mysql/QueryBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ class QueryBuilder extends \yii\db\QueryBuilder
Schema::TYPE_MONEY => 'decimal(19,4)',
];


/**
* Builds a SQL statement for renaming a column.
* @param string $table the table whose column is to be renamed. The name will be properly quoted by the method.
Expand Down
1 change: 1 addition & 0 deletions framework/db/mysql/Schema.php
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ class Schema extends \yii\db\Schema
'enum' => self::TYPE_STRING,
];


/**
* Quotes a table name for use in a query.
* A simple table name has no schema prefix.
Expand Down
1 change: 1 addition & 0 deletions framework/db/oci/QueryBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ class QueryBuilder extends \yii\db\QueryBuilder
Schema::TYPE_MONEY => 'NUMBER(19,4)',
];


/**
* @inheritdoc
*/
Expand Down
1 change: 1 addition & 0 deletions framework/db/sqlite/QueryBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ class QueryBuilder extends \yii\db\QueryBuilder
Schema::TYPE_MONEY => 'decimal(19,4)',
];


/**
* Generates a batch INSERT SQL statement.
* For example,
Expand Down
Loading

0 comments on commit 7317692

Please sign in to comment.