CHANGELOG.md 77.8 KB
Newer Older
1 2 3
Yii Framework 2 Change Log
==========================

Qiang Xue committed
4 5 6
2.0.2 under development
-----------------------

7
- Bug #6080: Oracle DB schema did not load column types correctly (wenbin1989)
8
- Bug #6404: advanced application template `Alert` widget was generating duplicate IDs in case of multiple flashes (SDKiller)
9
- Bug #6557: Link URLs generated by `yii\widgets\Menu` are not encoded (qiangxue)
10
- Enh #6247: Logger and error handler are now using slightly less memory (stepanselyuk, samdark)
11
- Enh #6434: Added `yii\behaviors\SluggableBehavior::immutable` to support keeping the generated slug unchanged (trntv)
12
- Enh #6467: `ActiveForm` will scroll to the nearest visible element when the first error input is hidden (newartix)
13
- Enh #6488: Support changing `yii\base\Theme::basePath` during runtime (qiangxue)
14
- Chg #6427: In case of invalid route web application now throws exception with "Page not found" instead of "Invalid Route" (cebe, samdark)
Qiang Xue committed
15

Qiang Xue committed
16
2.0.1 December 07, 2014
Qiang Xue committed
17 18
-----------------------

Alexander Makarov committed
19
- Bug #4471: `yii\caching\ApcCache::getValues()` now returns array in case of APC is installed but not enabled in CLI mode (samdark, cebe)
20
- Bug #4823: `yii message` accuracy and error handling were improved (samdark)
21
- Bug #4889: Application was getting into redirect loop when user wasn't allowed accessing login page. Now shows 403 (samdark)
22
- Bug #5070: Gii controller generator should use controller class name instead of controller ID to specify new controller (qiangxue)
23
- Bug #5402: Debugger was not loading when there were closures in asset classes (samdark)
24
- Bug #5448: Date formatter was doing timezone conversion on date only values resulting in different date displayed than provided (cebe)
Qiang Xue committed
25
- Bug #5452: Errors occurring after the response is sent are not displayed (qiangxue)
26
- Bug #5521: Fixed `yii\console\controllers\AssetController` breaks CSS URLs, which start from '/' (klimov-paul)
27
- Bug #5570: `yii\bootstrap\Tabs` would throw an exception if `content` is not set for one of its `items` (RomeroMsk)
28
- Bug #5584: `yii\rbac\DbRbacManager` should not delete items when deleting a rule on a database not supporting cascade update (mdmunir)
29
- Bug #5601: Simple conditions in Query::where() and ActiveQuery::where() did not allow `yii\db\Expression` to be used as the value (cebe, stevekr)
Qiang Xue committed
30
- Bug #5619: `yii\log\Target` should not attempt to start session when there is none (klimov-paul, qiangxue)
31 32
- Bug #5657: `yii\caching\ApcCache::mset()` and `madd()` may cause warning in some APC setup (LAV45)
- Bug #5665: The `currentPage` meta data in the RESTful result should be 1-based, similar to that in HTTP headers (qiangxue)
33
- Bug #5682: The `asset` command would incorrectly combine CSS files when `UrlManager::linkAssets` is true (dmvslv)
34
- Bug #5702: Parenthesis should be automatically added to `Validator::whenClient` to avoid js error (mdmunir, qiangxue)
35
- Bug #5745: Gii and debug modules may cause 404 exception when the route contains dashes (qiangxue)
36
- Bug #5748: Smarty `{path` was generating absolute URLs instead of relative ones (samdark, motzel)
37
- Bug #5768: When setting `data-confirm` attribute to a submit button, clicking on the button would not trigger form submission (qiangxue)
38
- Bug #5780: `QueryBuilder::batchInsert()` may cause "undefined index" error (qiangxue)
39
- Bug #5833: The `message` command fails with a FK constraint error when trying to update messages (qiangxue)
40
- Bug #5863: Selecting all individual `yii\grid\CheckboxColumn` checkboxes in grid view wasn't resulting in "all" checkbox selected (samdark)
Alexander Makarov committed
41
- Bug #5893: `yii\helpers\ArrayHelper::toArray()` now applies `$properties` parameter for converting descending objects in recursive calls (otsec)
42
- Bug #5925: `ArrayHelper::htmlEncode()` does not work properly when the value being encoded is a nested array (tebazil)
43
- Bug #5962: DateValidator was throwing a warning on invalid dates using the ICU format on Windows, Yii now works around this [PHP Bug](https://bugs.php.net/bug.php?id=68528) (cebe)
44
- Bug #5997: The same message may be exported twice to log targets (klimov-paul)
45
- Bug #6018: When setting the `encode` option via `yii\widgets\ActiveRecord::errorOptions`, it works the other way around (stanishevsky, qiangxue)
46
- Bug #6049: `yii\db\Connection::getSchema()` for Oracle should return false when the table does not exist. Oracle does not support `ON UPDATE` clause. (wenbin1989)
47
- Bug #6081: `yii\rbac\DbManager::getChildren()` was not quoting column name properly (wenbin1989)
48 49
- Bug #6107: `yii message` was emptying existing translations in .po in case of multiple categories (samdark)
- Bug #6112: `yii message` was incorrectly writing not yet translated strings in .po in case of multiple categories (samdark)
50
- Bug #6172: `yii\rbac\DbManager` should properly quote table and column names (qiangxue)
51 52
- Bug #6164: Added missing support for `yii\db\Expression` to QueryBuilder `BETWEEN` and `LIKE` conditions (cebe)
- Bug #6236: No JS scripts should be registered when `yii\widgets\ActiveForm::enableClientScript` is false (qiangxue)
53
- Bug #6150: `yii\bootstrap\Tabs` dropdown IDs were generated incorrectly (samdark)
54
- Bug #6266: Clicking on reset button does not hide error summary when using `ActiveForm` (InteLigent, qiangxue)
55
- Bug #6271: Query caching returns the same data when running the same SQL with different fetch modes (grachov)
56
- Bug #6279: `yii\db\Schema::getLastInsertID()` was passing wrong default schema name to PDO (samdark)
57
- Bug #6305: `yii\i18n\Formatter::asParagraphs()` was not unicode-aware (samdark)
58
- Bug #6311: Optimistic lock for ActiveRecord does not work as expected (qiangxue)
59
- Bug #6367: Added `yii\gii\generators\crud\Generator` to support customizing view path for the generated CRUD controller (qiangxue)
60
- Bug #6381: Client-side file validation should be disabled if the browser does not support it (Skysplit)
61
- Bug: Gii console command help information does not contain global options (qiangxue)
62
- Bug: `yii\web\UrlRule` was unable to create URLs for rules containing unicode characters (samdark)
63
- Bug: `yii\web\AssetManager` should not publish disabled asset bundles (qiangxue)
64
- Enh #608: Added `yii\web\AssetConverter::$forceConvert` (klimov-paul)
65
- Enh #4146: Added `yii\bootstrap\ButtonDropdown::$containerOptions` (samdark)
66
- Enh #4181: Added `yii\bootstrap\Modal::$headerOptions` and `yii\bootstrap\Modal::$footerOptions` (tuxoff, samdark)
67
- Enh #4263: Added migration and SQL schema files for `yii\log\DbTarget` (samdark)
68
- Enh #4395: Added `$checkAjax` parameter to `yii\web\Response::redirect()` to support default redirection behavior for AJAX/PJAX requests (qiangxue)
69
- Enh #4450: Added `yii\bootstrap\Nav::renderDropdown()` (qiangxue)
70
- Enh #4457: Added support for using noscript for css files registered through asset bundles and Html helper (samdark)
71 72
- Enh #4492: Support PostgreSQL-specific syntax for `QueryBuilder::alterColumn()` (qiangxue)
- Enh #4643: Extra options specified in `yii\widgets\Breadcrumbs::links` will be treated as HTML attributes for the generated hyperlinks (qiangxue)
73
- Enh #4739: Better display of exceptions when the response format is set as "raw" format (qiangxue)
74
- Enh #4791: Added console output support and more colors for console commands (6pblcb, samdark, klimov-paul, Ragazzo)
Qiang Xue committed
75
- Enh #5005: Added support to suppress loading the same CSS files in AJAX responses (tof06, qiangxue)
76
- Enh #5223: Query builder now supports selecting sub-queries as columns (qiangxue)
77
- Enh #5367: Added `yii\grid\DataColumn::encodeLabel` (SDKiller)
78
- Enh #5480: Added defensive code to `yii\web\User::getIdentity()` to avoid potential infinite recursion (qiangxue)
Qiang Xue committed
79
- Enh #5494: Added support for specifying a menu header as a configuration array in `yii\bootstrap\Dropdown` (hiltonjanfield, qiangxue)
80
- Enh #5503: Added support for `DateTimeImmutable` to Formatter (olegtsvetkov, cebe)
81 82
- Enh #5587: `json_encode` is now used with `JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE` where it makes sense, also
  it is now default for `Json::encode()` (samdark)
83 84
- Enh #5600: Allow configuring debug panels in `yii\debug\Module::panels` as panel class name strings (qiangxue)
- Enh #5613: Added `--overwrite` option to Gii console command to support overwriting all files (motin, qiangxue)
85
- Enh #5627: Added `yii cache/flush-schema` console command to flush DB schema cache of a given database connection (6pblcb, samdark)
86
- Enh #5646: Call `yii\base\ErrorHandler::unregister()` instead of `restore_*_handlers` directly (aivus)
87
- Enh #5683: Added `yii\i18n\Formatter::defaultTimeZone` for specifying the default time zone to use for datetime values stored in the database (cebe)
88
- Enh #5688: Added optional `$formName` to `Model::loadMultiple()` to support customizing form name directly (qiangxue)
89
- Enh #5735: Added `yii\bootstrap\Tabs::renderTabContent` to support manually rendering tab contents (RomeroMsk)
90
- Enh #5770: Added more PHP error names for `ErrorException` (mongosoft)
91
- Enh #5799: `yii\bootstrap\ButtonGroup::buttons` can take all options that are supported by `yii\bootstrap\Button` (aleksanderd)
92
- Enh #5806: Allow `Html::encode()` to be used when the application is not started (qiangxue)
93
- Enh #5954: `yii message` command now shows user friendly error if it's not able to parse source file (samdark)
94
- Enh #5983: Added `Inflector::sentence()` (pana1990, qiangxue)
95
- Enh #6113: Improved debugger configuration and request UI (schmunk42)
96
- Enh #6207: Added support for truncating HTML strings using `StringHelper::truncate()` and `StringHelper::truncateWords()` (Alex-Code)
97
- Enh #6318: Made widgets more error-tolerant and user-friendly when certain option values are null (qiangxue)
98
- Enh: `Console::confirm()` now uses `Console::stdout()` instead of `echo` to be consistent with all other functions (cebe)
99
- Enh: `yii\rbac\DbManager` migration now uses database component specified in component settings instead of always using default `db` (samdark)
100
- Enh: Added `yii\base\Controller::renderContent()` (qiangxue)
101
- Enh: `yii fixture` command now offers help if no arguments are provided instead of crashing (samdark)
102
- Chg #3630: `yii\db\Command::queryInternal()` is now protected (samdark)
Qiang Xue committed
103
- Chg #4277: `yii\grid\GridView` is no longer throwing an exception when results are empty and `columns` aren't defined (samdark)
104 105
- Chg #5508: Dropped the support for the `--append` option for the `fixture` command (qiangxue)
- Chg #5874: Upgraded Twitter Bootstrap to 3.3.x (samdark)
Qiang Xue committed
106

Qiang Xue committed
107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221

### Apidoc Extension (yii2-apidoc)

- Bug #5623: Fixed crash when a class contains a setter that has no arguments e.g. `setXyz()` (cebe)
- Bug #5899: Incorrect class listed as `definedBy` reference for properties (cebe)
- Bug: Guide and API renderer now work with relative paths/URLs (cebe)
- Enh: Guide generator now skips `images` directory if it does not exist instead of throwing an error (cebe)
- Enh: Made `--guidePrefix` option available as a command line option (cebe)


### Authclient Extension (yii2-authclient)

- Bug #6000: Fixed CCS for `yii\authclient\widgets\AuthChoice` does not loaded if `popupMode` disabled (klimov-paul)


### Bootstrap Extension (yii2-bootstrap)

- Bug #5570: `yii\bootstrap\Tabs` would throw an exception if `content` is not set for one of its `items` (RomeroMsk)
- Bug #6150: `yii\bootstrap\Tabs` dropdown IDs were generated incorrectly (samdark)
- Enh #4146: Added `yii\bootstrap\ButtonDropdown::$containerOptions` (samdark)
- Enh #4181: Added `yii\bootstrap\Modal::$headerOptions` and `yii\bootstrap\Modal::$footerOptions` (tuxoff, samdark)
- Enh #4450: Added `yii\bootstrap\Nav::renderDropdown()` (qiangxue)
- Enh #5494: Added support for specifying a menu header as a configuration array in `yii\bootstrap\Dropdown` (hiltonjanfield, qiangxue)
- Enh #5735: Added `yii\bootstrap\Tabs::renderTabContent` to support manually rendering tab contents (RomeroMsk)
- Enh #5799: `yii\bootstrap\ButtonGroup::buttons` can take all options that are supported by `yii\bootstrap\Button` (aleksanderd)
- Chg #5874: Upgraded Twitter Bootstrap to 3.3.x (samdark)


### Codeception Extension (yii2-codeception)

- no changes in this release.


### Composer Extension (yii2-composer)

- no changes in this release.


### Debug Extension (yii2-debug)

- Bug #5402: Debugger was not loading when there were closures in asset classes (samdark)
- Bug #5745: Gii and debug modules may cause 404 exception when the route contains dashes (qiangxue)
- Enh #5600: Allow configuring debug panels in `yii\debug\Module::panels` as panel class name strings (qiangxue)
- Enh #6113: Improved configuration and request UI (schmunk42)
- Enh: Made `DefaultController::getManifest()` more robust against corrupt files (cebe)


### Elasticsearch Extension (yii2-elasticsearch)

- Bug #5662: Elasticsearch AR updateCounters() now uses explicitly `groovy` script for updating making it compatible with ES >1.3.0 (cebe)
- Bug #6065: `ActiveRecord::unlink()` was failing in some situations when working with relations via array valued attributes (cebe)
- Enh #5758: Allow passing custom options to `ActiveRecord::update()` and `::delete()` including support for routing needed for updating records with parent relation (cebe)
- Enh: Add support for optimistic locking (cebe)


### Faker Extension (yii2-faker)

- no changes in this release.


### Gii Extension (yii2-gii)

- Bug #5070: Gii controller generator should use controller class name instead of controller ID to specify new controller (qiangxue)
- Bug #5745: Gii and debug modules may cause 404 exception when the route contains dashes (qiangxue)
- Bug #6367: Added `yii\gii\generators\crud\Generator` to support customizing view path for the generated CRUD controller (qiangxue)
- Bug: Gii console command help information does not contain global options (qiangxue)
- Enh #5613: Added `--overwrite` option to Gii console command to support overwriting all files (motin, qiangxue)


### Imagine Extension (yii2-imagine)

- no changes in this release.


### Jui Extension (yii2-jui)

- no changes in this release.


### Mongodb Extension (yii2-mongodb)

- Bug #6026: Fixed `yii\mongodb\ActiveRecord` saves `null` as `_id`, if attributes are empty (klimov-paul)
- Enh #3855: Added debug toolbar panel for MongoDB (klimov-paul)
- Enh #5592: Added support for 'findAndModify' operation at `yii\mongodb\Query` and `yii\mongodb\ActiveQuery` (klimov-paul)


### Redis Extension (yii2-redis)

- Bug #4745: value of simple string returns was ignored by redis client and `true` is returned instead, now only `OK` will result in a `true` while all other values are returned as is (cebe)
- Enh #3714: Added support for connecting to redis server using a unix socket (savvot, robregonm)


### Smarty Extension (yii2-smarty)

- Bug #5748: `{path` was generating absolute URLs instead of relative ones (samdark, motzel)


### Sphinx Extension (yii2-sphinx)

- Bug #5601: Simple conditions in Query::where() and ActiveQuery::where() did not allow `yii\db\Expression` to be used as the value (cebe, stevekr)
- Bug #5634: Fixed `yii\sphinx\QueryBuilder` does not support comparison operators (>,<,>= etc) in where specification (klimov-paul)
- Bug #6164: Added missing support for `yii\db\Exression` to QueryBuilder `LIKE` conditions (cebe)
- Enh #5223: Query builder now supports selecting sub-queries as columns (qiangxue)


### Swiftmailer Extension (yii2-swiftmailer)

- no changes in this release.


### Twig Extension (yii2-twig)

- no changes in this release.


Qiang Xue committed
222 223
2.0.0 October 12, 2014
----------------------
Qiang Xue committed
224

225
- Bug #4881: Fixed `yii\console\controllers\AssetController` breaks CSS URLs on Windows (klimov-paul)
226
- Bug #5171: Fixed the bug that ActiveForm + Pjax submit event is only triggered once (qiangxue)
227
- Bug #5242: Fixed `yii\console\controllers\AssetController` breaks CSS URLs in case target file localed at `yii\web\AssetManager::basePath` root (klimov-paul)
228
- Bug #5252: Null values are not properly handled by `RangeValidator` (githubjeka, qiangxue)
229
- Bug #5260: `yii\i18n\Formatter::decimalSeparator` and `yii\i18n\Formatter::thousandSeparator` where not configurable when intl is not installed (execut, cebe)
230
- Bug #5314: Fixed typo in the implementation of `yii\web\Session::getHasSessionId()` (qiangxue)
231
- Bug #5323: Nested dropdown does not work for `yii\bootstrap\DropDown` (aryraditya)
232
- Bug #5336: `yii\bootstrap\DropDown` should register bootstrap plugin asset (zelenin)
233
- Bug #5379: `Module::afterAction()` was called even when `beforeAction()` returned false (cebe)
234
- Bug #5408: Gii console command incorrectly reports errors when there is actually no error (qiangxue)
235
- Bug #5423: `yii\behaviors\Cors` causes "undefined index" error when its `cors` is configured (qiangxue) 
236
- Bug #5424: `Html::addCssStyle()` wasn't correctly setting style passed in array (kartik-v, samdark)
237 238
- Bug #5435: Added extra checks to `yii\rbac\DbManager` to prevent database exceptions when `$userId` is empty (samdark)
- Bug #5484: Fixed potential string suffix detection failure on 5.5.11 (qiangxue)
239
- Bug: Date and time formatting now assumes UTC as the timezone for input dates unless a timezone is explicitly given (cebe)
240
- Enh #4040: Added `$viewFile` and `$params` to the `EVENT_BEFORE_RENDER` and `EVENT_AFTER_RENDER` events for `View` (qiangxue) 
241
- Enh #4275: Added `removeChildren()` to `yii\rbac\ManagerInterface` and implementations (samdark)
242
- Enh: Added `yii\base\Application::loadedModules` (qiangxue)
243
- Enh #5316: Added `startsWith()` and `endsWith()` to `yii\helpers\StringHelper`. Methods are binary-safe, multibyte-safe and optionally case-insensitive (armab)
244
- Enh #5467: Added ability to pass HTML tag options to `asEmail()`, `asImage()` and `asUrl()` methods of `yii\i18n\Formatter` (alxkolm, samdark) 
245
- Chg #2037: Dropped the support for using `yii\base\Module` as concrete module classes (qiangxue)
246
- Chg: Updated cebe/markdown to 1.0.0 which includes breaking changes in its internal API (cebe)
Carsten Brandt committed
247
- Chg: If you are using CUBRID DBMS, make sure to use at least version 9.3.0 because quoting is broken in prior versions and Yii has no reliable way to work around this issue (cebe)
Qiang Xue committed
248 249


250 251
2.0.0-rc September 27, 2014
---------------------------
Qiang Xue committed
252

253
- Bug #1263: Fixed the issue that Gii and Debug modules might be affected by incompatible asset manager configuration (qiangxue)
254
- Bug #2314: Gii model generator does not generate correct relation type in some special case (qiangxue)
255
- Bug #2563: Theming is not working if the path map of the theme contains ".." or "." in the paths (qiangxue)
ElisDN committed
256
- Bug #2801: Fixed the issue that GridView gets footer content before data cells content (ElisDN)
257
- Bug #2821: Console help command incorrectly lists non-console controllers as available commands (qiangxue)
258
- Bug #2853: ActiveRecord did not handle resource-typed columns well (chris68, qiangxue)
259
- Bug #3042: `yii\widgets\Pjax` should end application right after it finishes responding to a pjax request (qiangxue)
260
- Bug #3066: `yii\db\mssql\Schema::getTableSchema()` should return null when the table does not exist (qiangxue)
261
- Bug #3091: Fixed inconsistent treatment of `Widget::run()` when a widget is used as a container and as a self-contained object (qiangxue)
262
- Bug #3118: Ensure client validation has the same behavior as server side validation for number validator (cebe)
263
- Bug #3121: `yii\base\Application::bootstrap` may fail to load some components if they are specified as class names (qiangxue)
264
- Bug #3125: `yii\console\controllers\AssetController` now respects data URL resources (klimov-paul)
265
- Bug #3128: Fixed the bug that `defaultRoles` set in RBAC manager was not working as specified (qiangxue)
Qiang Xue committed
266
- Bug #3153: Fixed the bug that using "between" operator to build a SQL query will cause a PHP notice (gonimar)
267
- Bug #3184: Fixed the bug that client validation for string length comparison did not set error message correctly (Sergeygithub)
Carsten Brandt committed
268
- Bug #3194: Date formatter works only for timestamps in the year range 1970 to 2038 (kartik-v)
269
- Bug #3197: Using `ActiveQuery::indexBy()` may cause relational AR queries to generate incorrect relational results (qiangxue)
270
- Bug #3204: `yii\di\Container` did not handle the `$config` parameter well in case when it does not have a default value (qiangxue)
271
- Bug #3216: Fixed the bug that `yii.activeForm.destroy()` did not remove `submit` event handlers (qiangxue)
272
- Bug #3233: Ensure consistent behavior in ActiveRecord::afterSave() (cebe, qiangxue)
273
- Bug #3236: Return value for DateTime->format('U') casted to double to allow correct date formatting (pgaultier)
274
- Bug #3268: Fixed the bug that the schema name in a table name was not respected by `yii\db\mysql\Schema` (terazoid, qiangxue)
Qiang Xue committed
275
- Bug #3311: Fixed the bug that `yii\di\Container::has()` did not return correct value (mgrechanik, qiangxue)
276
- Bug #3327: Fixed "Unable to find debug data" when logging objects with circular references (jarekkozak, samdark)
277
- Bug #3368: Fix for comparing numeric attributes in JavaScript (technixp)
278
- Bug #3393: Fix `yii\helpers\FileHelper::copyDirectory()` pattern not working (klimov-paul)
Carsten Brandt committed
279 280
- Bug #3431: Allow using extended ErrorHandler class from the app namespace (cebe)
- Bug #3436: Fixed the issue that `ServiceLocator` still returns the old component after calling `set()` with a new definition (qiangxue)
281
- Bug #3458: Fixed the bug that the image rendered by `CaptchaAction` was using a wrong content type (MDMunir, qiangxue)
282
- Bug #3473: Allow postgreSQL to specify timestamp precision via abstract types in QueryBuilder (cebe)
283
- Bug #3478: Fixed yii\console\Controller::select accept empty input as '0' value (lynicidn)
284
- Bug #3522: Fixed BaseFileHelper::normalizePath to allow a (.) for the current path. (skotos)
285
- Bug #3548: Fixed the bug that X-Rate-Limit-Remaining header is always zero when using RateLimiter (qiangxue)
286
- Bug #3559: Use native support for batchInsert in SQLite versions >= 3.7.11 and avoid limitations of the fallback (cebe)
287
- Bug #3564: Fixed the bug that primary key columns should not take default values from schema (qiangxue)
288
- Bug #3567: Fixed the bug that smallint was treated as string for PostgreSQL (qiangxue)
289
- Bug #3568: When the primary query sets `asArray`, it is not respected by the `via` relational query (qiangxue)
290
- Bug #3578: Fixed postgreSQL column type detection, added missing types (MDMunir, cebe)
291
- Bug #3583: Added typecast to auto value of primary key on insert of sql active record (cebe)
292 293
- Bug #3591: Fixed incomplete obsolete filling in i18n `MessageController::saveMessagesToDb()` (advsm)
- Bug #3601: Fixed the bug that the refresh URL was not generated correctly by `Captcha` (qiangxue, klevron)
294
- Bug #3638: `yii\filters\HttpCache` does not work as expected when session is started before the filter (qiangxue)
295
- Bug #3681: Fixed problem with AR::findOne() when a default scope joins another table so that PK name becomes ambigous (cebe)
296
- Bug #3715: Fixed the bug that using a custom pager/sorter with `GridView` may generate two different pagers/sorters if the layout configures two pagers/sorters (qiangxue)
297
- Bug #3716: `DynamicModel::validateData()` does not call `validate()` if the `$rules` parameter is empty (qiangxue)
298
- Bug #3725: Fixed the bug that the filtering condition used in relation definition was ignored when calling `ActiveRecord::unlinkAll()`. (qiangxue, cebe)
299
- Bug #3738: ActiveField custom error selector not functioning (qiangxue)
300
- Bug #3751: Fixed postgreSQL schema data for enum values, do not add values if there are none (makroxyz)
301
- Bug #3752: `QueryBuilder::batchInsert()` does not typecast input values (qiangxue)
302
- Bug #3756: Fix number formatting error for `\yii\base\Formatter` by converting strings to float (kartik-v)
303
- Bug #3772: Behaviors adding validation rules do not work as expected (qiangxue)
304
- Bug #3817: `yii\rbac\PhpManager::getChildren()` returns null instead of expected empty array (qiangxue)
305 306
- Bug #3843: Fixed Menu bug when using `template` with `encodeLabel` => false (creocoder, umneeq)
- Bug #3863: Fixed incorrect js selector for `\yii\widgets\ActiveForm::errorSummaryCssClass` when it contains multiple classes (creocoder, umneeq)
307
- Bug #3893: Headers did not overwrite default setting by webserver (cebe)
308
- Bug #3909: `Html::to()` should not prefix base URL to URLs that already contain scheme (qiangxue)
309
- Bug #3920: Fixed issue with loading default values of PostgreSQL boolean columns (cebe)
Qiang Xue committed
310
- Bug #3934: yii.handleAction() in yii.js does not correctly detect if a hyperlink contains useful URL or not (joni-jones, qiangxue)
311
- Bug #3968: Messages logged in shutdown functions are not handled (qiangxue)
312
- Bug #3989: Fixed yii\log\FileTarget::$rotateByCopy to avoid any rename (cebe)
313
- Bug #3996: Traversing `Yii::$app->session` may cause a PHP error (qiangxue)
Carsten Brandt committed
314
- Bug #4020: OCI column detection did not work so gii and other things failed (Sanya1991)
315
- Bug #4105: Html::dropDownlist options encodeSpaces was not applied to subgroups (MDMunir)
316
- Bug #4123: Trace level in logger had no effect in Targets, traces where not logged (cebe)
317
- Bug #4127: `CaptchaValidator` clientside error message wasn't formed properly (samdark)
Steve committed
318
- Bug #4162: Fixed bug where schema name was not used in ’SHOW CREATE TABLE’ query in `yii\db\mysql\Schema` (stevekr)
319
- Bug #4241: `yii\widgets\Pjax` was incorrectly setting container id (mitalcoi)
320
- Bug #4254: `SqlDataProvider` does not work with Oracle and SQL Server (qiangxue, miramir)
321
- Bug #4276: Added check for UPLOAD_ERR_NO_FILE in `yii\web\UploadedFile` and return null if no file was uploaded (OmgDef)
tof06 committed
322
- Bug #4342: mssql (dblib) driver does not support getting attributes (tof06)
323
- Bug #4371: Active form client validation wasn't working in case of two models having same named fields (abrahamy)
324
- Bug #4409: Upper case letters in subdirectory prefixes of controller IDs were not properly handled (qiangxue)
325
- Bug #4412: Formatter used SI Prefixes for base 1024, now uses binary prefixes (kmindi)
326
- Bug #4427: Formatter could do one division too much (kmindi)
327
- Bug #4453: `yii message/extract` wasn't properly writing to po files in case of multiple categories (samdark)
328
- Bug #4469: Make `Security::compareString()` timing depend only on length of `$actual` input and add unit test. (tom--)
329
- Bug #4470: Avoid endless loop when exporting logs with low values of flushInterval and eportInterval (cebe)
330
- Bug #4497: Fixed StringHelper::byteSubstr() returning empty string on null $length param (mbman)
331
- Bug #4514: Fixed Request class crashing when empty CSRF token value is sent in cookie (cebe)
332
- Bug #4519: `yii\base\Model::isAttributeRequired()` should check if the `when` option of the validator is set (thiagotalma)
333
- Bug #4592: Fixed `yii help` command was listing incorrect action names for methods like `actionSayNO` (samdark)
334
- Bug #4654: Fixed issue with PostgreSQL and inserting boolean values with batch insert (cebe)
335
- Bug #4672: Fixed issue with PostgreSQL handling of boolean values in queries, dropped support for using boolean value for integer columns (cebe)
336
- Bug #4727: Fixed wrong Stylus definition in `\yii\web\AssetConverter` (samdark)
337
- Bug #4755: `yii\test\BaseActiveFixture::unload()` does not clean up the internal cached data (qiangxue)
338
- Bug #4813: Fixed MSSQL schema that was getting incorrect info about constraints (samdark, SerjRamone, o-rey)
339
- Bug #4880: Return value of yii\web\Request::getPrefferedLanguage() was a normalized value instead of a valid language value from the input array (cebe)
340
- Bug #4905: ActiveForm::$validationDelay doesn't delay after keyrelease when $validateOnType=true (qiangxue)
341
- Bug #4920: `yii\filters\auth\CompositeAuth` should not trigger error as long as one of the methods succeeds (qiangxue)
342
- Bug #4926: Fixed `yii\console\controllers\MessageController` handles category name containing dot incorrectly (klimov-paul)
343
- Bug #4938: When `yii\db\ActiveQuery` is used to build sub-queries, its WHERE clause is not correctly generated (qiangxue)
344
- Bug #4954: MSSQL column comments are not retrieved correctly (SerjRamone)
345
- Bug #4970: `joinWith()` called by a relation was ignored by `yii\db\ActiveQuery` (stepanselyuk)
346
- Bug #5001: `yii\rest\CreateAction`, `yii\rest\UpdateAction` and `yii\rest\DeleteAction` should throw 500 error if the model operation returns false without validation errors (qiangxue)
347
- Bug #5039: `UniqueValidator` and `ExistValidator` did not respect query conditions added by default scope (qiangxue)
348
- Bug #5049: `ActiveForm::validationDelay` should be applied to user types only (qiangxue)
349
- Bug #5055: Fixed `yii\console\controllers\CacheController` does not check if cache component instance of 'yii\caching\Cache' (klimov-paul)
350
- Bug #5126: Fixed text body and charset not being set for multipart mail (nkovacs)
Andrey Smirnov committed
351
- Bug: Fixed inconsistent return of `\yii\console\Application::runAction()` (samdark)
Klimov Paul committed
352
- Bug: URL encoding for the route parameter added to `\yii\web\UrlManager` (klimov-paul)
353
- Bug: Fixed the bug that requesting protected or private action methods would cause 500 error instead of 404 (qiangxue)
354
- Bug: Fixed Object of class Imagick could not be converted to string in CaptchaAction (eXprojects, cebe)
355
- Bug: Fixed wrong behavior of `StringHelper::byteSubstr()` in some edge cases (cebe)
356
- Enh #87: Helper `yii\helpers\Security` converted into application component, cryptographic strength improved (klimov-paul)
357
- Enh #422: Added Support for BIT(M) data type default values in Schema (cebe)
Carsten Brandt committed
358
- Enh #1160: Added $strict parameter to Inflector::camel2id() to handle consecutive uppercase chars (schmunk)
Carsten Brandt committed
359
- Enh #1249: Added support for Active Record relation via array attributes (klimov-paul, cebe)
360
- Enh #1388: Added mapping from physical types to abstract types for OCI DB driver (qiangxue)
361
- Enh #1452: Added `Module::getInstance()` to allow accessing the module instance from anywhere within the module (qiangxue)
362
- Enh #2264: `CookieCollection::has()` will return false for expired or removed cookies (qiangxue)
363
- Enh #2315: Any operator now could be used with `yii\db\Query::->where()` operand format (samdark)
364
- Ehn #2380: Added `yii\widgets\ActiveForm::enableClientScript` to support turning on and off client side script generation (qiangxue)
365
- Enh #2435: `yii\db\IntegrityException` is now thrown on database integrity errors instead of general `yii\db\Exception` (samdark)
366
- Enh #2558: Enhanced support for memcached by adding `yii\caching\MemCache::persistentId` and `yii\caching\MemCache::options` (qiangxue)
367
- Enh #2837: Error page now shows arguments in stack trace method calls (samdark)
368
- Enh #2906: Added support for using conditional comments for js and css files registered through asset bundles and Html helper (exromany, qiangxue)
369
- Enh #2942: Added truncate and truncateWord methods (Alex-Code, samdark)
370
- Enh #3008: Added `Html::errorSummary()` (qiangxue)
371
- Enh #3088: The debug and gii modules will manage their own URL rules now (hiltonjanfield, qiangxue)
372
- Enh #3101: Improved handling of log target failures. It will now skip target and log reason instead of going into infinite cycle (samdark)
Qiang Xue committed
373
- Enh #3103: debugger panel is now not displayed when printing a page (githubjeka)
374
- Enh #3108: Added `yii\debug\Module::enableDebugLogs` to disable logging debug logs by default (qiangxue)
375
- Enh #3132: `yii\rbac\PhpManager` now supports more compact data file format (qiangxue)
376
- Enh #3154: Added validation error display for `GridView` filters (ivan-kolmychek)
377
- Enh #3177: `yii\filters\auth\CompositeAuth` will send out challenges from all auth methods (qiangxue)
378
- Enh #3196: Masked input upgraded to use jquery.inputmask plugin with more features. (kartik-v)
379
- Enh #3220: Added support for setting transaction isolation levels (cebe)
380
- Enh #3221: Added events for DB transaction commit/rollback (drcypher, qiangxue)
381
- Enh #3222: Added `useTablePrefix` option to the model generator for Gii (horizons2)
382
- Enh #3230: Added `yii\filters\AccessControl::user` to support access control with different actors (qiangxue)
383
- Enh #3232: Added `export()` and `exportAsString()` methods to `yii\helpers\BaseVarDumper` (klimov-paul)
384
- Enh #3240: Added support for assigning an anonymous function to `yii\widgets\ActiveForm::fieldConfig` (qiangxue)
385
- Enh #3244: Allow logging complex data such as arrays and object via the log system (cebe)
386
- Enh #3252: Added support for case insensitive matching using ILIKE to PostgreSQL QueryBuilder (cebe)
387
- Enh #3280: Support dynamically attaching anonymous behaviors (qiangxue)
388
- Enh #3283: Added `$checkAjax` to `yii\web\User::loginRequired()` (qiangxue)
389
- Enh #3284: Added support for checking multiple ETags by `yii\filters\HttpCache` (qiangxue)
390
- Enh #3298: Supported configuring `View::theme` using a class name (netyum, qiangxue)
Qiang Xue committed
391
- Enh #3328: `BaseMailer` generates better text body from html body (armab)
Alex-Code committed
392
- Enh #3380: Allow `value` in `defaultValueValidator` to be a closure (Alex-Code)
393
- Enh #3384: Added callback-style transactions (leandrogehlen, Ragazzo, samdark)
Alexander Makarov committed
394
- Enh #3399, #3241: Added support for MS SQL Server older than 2012 (fourteenmeister, samdark)
395
- Enh #3410: yii.activeForm.js now supports adding/removing fields dynamically (qiangxue)
396
- Enh #3459: Added logging of errors, which may occur at `yii\caching\FileCache::gc()` (klimov-paul)
397
- Enh #3472: Added configurable option to encode spaces in dropDownLists and listBoxes (kartik-v)
DaSourcerer committed
398
- Enh #3518: `yii\helpers\Html::encode()` now replaces invalid code sequences with "�" (DaSourcerer)
Carsten Brandt committed
399
- Enh #3520: Added `unlinkAll()`-method to active record to remove all records of a model relation (NmDimas, samdark, cebe)
400
- Enh #3521: Added `yii\filters\HttpCache::sessionCacheLimiter` (qiangxue)
401
- Enh #3542: Removed requirement to specify `extensions` in application config (samdark)
402
- Enh #3562: Adding rotateByCopy to yii\log\FileTarget (pawzar)
Alexander Makarov committed
403
- Enh #3574: Add integrity check support for SQLite (zeeke)
404
- Enh #3581: Added `yii\validators\CompareValidator::type` to support type conversion before comparing values (qiangxue)
armab committed
405
- Enh #3597: Nested array support for HTML5 custom "data-*" attributes (armab)
Mark committed
406
- Enh #3607: Added support for limit in migrations actions: history, new, redo (Ragazzo)
leandrogehlen committed
407
- Enh #3631: Added property `currencyCode` to `yii\i18n\Formatter` (leandrogehlen)
408
- Enh #3636: Hide menu container tag with empty items in `yii\widgets\Menu` (arturf)
Carsten Brandt committed
409
- Enh #3643: Improved Mime-Type detection by using the `mime.types` file from apache http project to dected mime types by file extension (cebe, pavel-voronin, trejder)
410
- Enh #3765: Added `yii\web\User::enableSession` to support authentication without using session (qiangxue)
Qiang Xue committed
411
- Enh #3708: Added database replication and automatic read-write splitting support for `yii\db\Connection` (qiangxue)
Qiang Xue committed
412
- Enh #3773: Added `FileValidator::mimeTypes` to support validating MIME types of files (Ragazzo)
Mark committed
413
- Enh #3774: Added `FileValidator::checkExtensionByMimeType` to support validating file types against file mime-types (Ragazzo)
414
- Enh #3801: Base migration controller `yii\console\controllers\BaseMigrateController` extracted (klimov-paul)
Qiang Xue committed
415
- Enh #3811: Now Gii model generator makes autocomplete for model class field (mitalcoi)
416
- Enh #3926: `yii\widgets\Breadcrumbs::$links`. Allows individual link to have its own `template` (creocoder, umneeq)
417 418 419 420 421 422
- Enh #3939: `\yii\Inflector::slug()` improvements (samdark)
    - Added protected `\yii\Inflector::transliterate()` that could be replaced with custom translit implementation.
    - Added proper tests for both intl-based slug and PHP fallback.
    - Removed character maps for non-latin languages.
    - Improved overall slug results.
    - Added note about the fact that intl is required for non-latin languages to requirements checker.
423
- Enh #3957: Added more straightforward configurable properties to `BlameableBehavior`, `SluggableBehavior` and `TimestampBehavior` (creocoder)
Qiang Xue committed
424
- Enh #3992: In mail layouts you can now access the message object via `$message` variable (qiangxue)
425
- Enh #4028: Added ability to `yii\widgets\Menu` to encode each item's label separately (creocoder, umneeq)
426
- Enh #4048: Added `init` event to `ActiveQuery` classes (qiangxue)
427 428
- Enh #4072: `\yii\rbac\PhpManager` adjustments (samdark)
    - Data is now stored in three separate files for items, assignments and rules. File format is simpler.
Alexander Makarov committed
429
    - Removed `authFile`. Added `itemFile`, `assignmentFile` and `ruleFile`.
430 431 432
    - `createdAt` and `updatedAt` are now properly filled with corresponding file modification time.
    - `save()` and `load()` are now protected instead of public.
    - Added unit test for saving and loading data.
433
- Enh #4080: Added proper handling and support of the symlinked directories in `FileHelper`, added $options parameter in `FileHelper::removeDirectory()` (resurtm)
Carsten Brandt committed
434
- Enh #4086: changedAttributes of afterSave Event now contain old values (dizews)
Alexander Makarov committed
435
- Enh #4114: Added `Security::generateRandomBytes()`, improved tests (samdark)
436
- Enh #4122: `Html::error()` and `Html::errorSummary()` are now accepting `encode` option. If set to false it prevents encoding of error messages (samdark)
437 438 439 440 441
- Enh #4131: Security adjustments (tom--)
     - Added HKDF to `yii\base\Security`.
     - Reverted auto fallback to PHP PBKDF2.
     - Fixed PBKDF2 key truncation.
     - Adjusted API.
442
- Enh #4209: Added `beforeCopy`, `afterCopy`, `forceCopy` properties to AssetManager (cebe)
443
- Enh #4225: Added `ActiveForm::validateOnBlur` and `ActiveField::validateOnBlur` (qiangxue)
444
- Enh #4297: Added check for DOM extension to requirements (samdark)
445
- Enh #4317: Added `absoluteAuthTimeout` to yii\web\User (ivokund, nkovacs)
446
- Enh #4360: Added client validation support for file validator (Skysplit)
447
- Enh #4372: `yii\filters\HttpCache` failed to comply to RFC 7232 (DaSourcerer)
448
- Enh #4424: Added `inline` parameter to `yii\web\Response::xSendFile()` (klimov-paul)
449
- Enh #4436: Added callback functions to AJAX-based form validation (thiagotalma)
Alex-Code committed
450
- Enh #4485: Added support for deferred validation in `ActiveForm` (Alex-Code)
Qiang Xue committed
451
- Enh #4520: Added sasl support to `yii\caching\MemCache` (xjflyttp)
452
- Enh #4566: Added client validation support for image validator (Skysplit, qiangxue)
453
- Enh #4581: Added ability to disable url encoding in `UrlRule` (tadaszelvys)
Klimov Paul committed
454
- Enh #4602: Added $key param in ActionColumn buttons Closure call (disem)
455
- Enh #4607: AR model will throw an exception if it does not have a primary key to avoid updating/deleting data massively (qiangxue)
Klimov Paul committed
456
- Enh #4630: Added automatic generating of unique slug value to `yii\behaviors\Sluggable` (klimov-paul)
457
- Enh #4636: Added `yii\web\Response::setDownloadHeaders()` (pawzar)
458
- Enh #4644: Added `yii\db\Schema::createColumnSchema()` to be able to customize column schema used (mcd-php)
459
- Enh #4656: HtmlPurifier helper config can now be a closure to change the purifier config object after it was created (Alex-Code)
460
- Enh #4062: Added 'caseSensitive' option to `yii\helpers\BaseFileHelper::findFiles()` (klimov-paul)
461
- Enh #4691: Encoding on `ActiveForm` and `ActiveField` validation errors is now configurable (Alex-Code)
462
- Enh #4740: Added `yii\web\Session::addFlash()` (restyler)
463
- Enh #4897: Added `yii\helpers\FileHelper::mimeMagicFile` (qiangxue)
464
- Enh #5058: Added `$pageSize` parameter to `Pagination::createUrl()` to allow creating URLs with arbitrary page sizes (cdcchen, qiangxue)
465
- Enh #5089: Added asset debugger panel (arturf, qiangxue)
466
- Enh #5117: Added `beforeFilter` and `afterFilter` JS events to `GridView` (kartik-v)
467
- Enh #5124: Added support to prevent duplicated form submission when using `ActiveForm` (qiangxue)
468
- Enh #5131: Added `$autoRenew` parameter to `yii\web\User::getIdentity()` (qiangxue)
469
- Enh #5164: Added `Inlfector::$transliterator` that can be used to customize intl transliteration (zinzinday)
470
- Enh: Added support for using sub-queries when building a DB query with `IN` condition (qiangxue)
471
- Enh: Supported adding a new response formatter without the need to reconfigure existing formatters (qiangxue)
472
- Enh: Added `yii\web\UrlManager::addRules()` to simplify adding new URL rules (qiangxue)
473
- Enh: Added support to insert an event handler at the beginning of class-level event handler queue (qiangxue)
474 475
- Enh: Added `yii\console\Controller::EXIT_CODE_NORMAL` and `yii\console\Controller::EXIT_CODE_ERROR` constants (samdark)
- Enh: `yii\console\MigrateController` now returns `yii\console\Controller::EXIT_CODE_ERROR` in case of failed migration (samdark)
476
- Enh: Added method ErrorHandler::unregister() for unregistering the ErrorHandler (cebe)
Alexander Kochetov committed
477
- Enh: Added `all` option to `MigrateController::actionDown()` action (creocoder, umneeq)
Alexander Kochetov committed
478
- Enh: Added support for array attributes in `exist` validator (creocoder)
479
- Enh: Added support for using path alias with `FileDependency::fileName` (qiangxue)
artur committed
480
- Enh: Added param `hideOnSinglePage` to `yii\widgets\LinkPager` (arturf)
Alexander Kochetov committed
481
- Enh: Added support for array attributes in `in` validator (creocoder)
482
- Enh: Improved `yii\helpers\Inflector::slug` to support more cases for Russian, Hebrew and special characters (samdark)
483
- Enh: ListView now uses the widget ID in the base tag, consistent to gridview (cebe)
484
- Enh: Added `yii\web\Response::enableCsrfCookie` to support storing CSRF tokens in session (qiangxue)
485
- Chg #2287: Split `yii\db\ColumnSchema::typecast()` into two methods `phpTypecast()` and `dbTypecast()` to allow specifying PDO type explicitly (cebe)
486
- Chg #2359: Refactored formatter class. One class with or without intl extension and PHP format pattern as standard (Erik_r, cebe)
487 488
   - `yii\base\Formatter` functionality has been merged into `yii\i18n\Formatter`
   - removed the `yii\base\Formatter` class
Carsten Brandt committed
489
- Chg #1551: Refactored DateValidator to support ICU date format and use the format defined in Formatter by default (cebe)
490
- Chg #2898: `yii\console\controllers\AssetController` is now using hashes instead of timestamps (samdark)
491
- Chg #2913: RBAC `DbManager` is now initialized via migration (samdark)
492
- Chg #2914: `ActiveForm::fieldConfig` will be merged recursively with the `$options` parameter in `ActiveForm::field()` (qiangxue)
493
- Chg #3036: Upgraded Twitter Bootstrap to 3.1.x (qiangxue)
494
- Chg #3175: InvalidCallException, InvalidParamException, UnknownMethodException are now extended from SPL BadMethodCallException (samdark)
495
- Chg #3358: Removed automatic CSRF meta tag generation by `View`. Added `Html::csrfMetaTags()` and its call to main layout files (qiangxue)
496
- Chg #3383: Added `$type` parameter to `IdentityInterface::findIdentityByAccessToken()` (qiangxue)
497
- Chg #3511: Dropped `yii.allowAction()` and modified `yii.confirm()` in `yii.js` to support callbacks (tanakahisateru)
498
- Chg #3531: \yii\grid\GridView now allows any character (except ":") in the attribute part of the shorthand syntax for columns (rawtaz)
499
- Chg #3544: Added `$key` as a parameter to the callable specified via `yii\grid\DataColumn::value` (mdmunir)
500 501 502 503 504
- Chg #3611: Query caching is refactored. (qiangxue)
    - `yii\db\Connection::beginCache()` and `endCache()` are removed.
    - Added `yii\db\Connection::cache()` and `noCache()`.
    - Added `Command::cache()` and `noCache()`.
    - `yii\db\Connection::queryCacheDuration` is now used as a default cache duration parameter.
Alexander Makarov committed
505
- Chg #3640: All cookies are now httpOnly by default in order to increase overall security (samdark)
506
- Chg #3687: Default `sourceLanguage` and `language` are now `en-US` in order for i18n formatter to work correctly (samdark)
Qiang Xue committed
507
- Chg #3804: Added `fileinfo` PHP extension to the basic requirement of Yii (Ragazzo)
Qiang Xue committed
508
- Chg #3866: The `FileValidator::types` property is renamed to `FileValidator::extensions` (Ragazzo)
509
- Chg #3897: Raised visibility of `yii\web\View::registerAssetFiles()` to protected (samdark)
Carsten Brandt committed
510
- Chg #3899: Moved `MailEvent` class to `yii\mail` namespace (cebe)
511
- Chg #3910: Removed the `container` option from `Html::checkbox()` and `Html::radio()` (creocoder)
512
- Chg #3956: Flash messages set via `Yii::$app->session->setFlash()` will be removed only if they are accessed (qiangxue)
513
- Chg #3989: The default value for `yii\log\FileTarget::$rotateByCopy` now defaults to true to work on windows by default (cebe)
514
- Chg #4051: Renamed `yii\caching\GroupDependency` to `TagDependency` and added support for associating multiple tags to a single cached data item (qiangxue)
515
- Chg #4071: `mail` component renamed to `mailer`, `yii\log\EmailTarget::$mail` renamed to `yii\log\EmailTarget::$mailer` (samdark)
Qiang Xue committed
516
- Chg #4147: `BaseMailer::compose()` will not overwrite the `message` parameter if it is explicitly provided (qiangxue)
517
- Chg #4188: API exceptions are now exposing less data when YII_DEBUG is false (samdark)
518
- Chg #4201: change default value of `SyslogTarget::facility` from `LOG_SYSLOG` to `LOG_USER` (dizews)
519
- Chg #4211: BaseActiveRecord::populateRecord now silently hide selected columns that are not defined in AR instead of failing with an error (miramir)
520
- Chg #4227: `\yii\widgets\LinkPager::$hideOnSinglePage` is now `true` by default (samdark)
521
- Chg #4310: Removed `$data` from signature of `yii\rbac\ManagerInterface` (samdark)
522
- Chg #4318: `yii\helpers\Html::ul()` and `ol()` will return an empty list tag if an empty item array is given (qiangxue)
523
- Chg #4331: `yii\helpers\Url` now uses `UrlManager` to determine base URL when generating URLs (qiangxue)
524
- Chg #4424: Added `inline` and `mimeType` options to all file downloading methods provided in `yii\web\Response` (qiangxue)
525
- Chg #4454: Improved asset bundle managed and used composer-asset-plugin to manage the dependencies on 3rd-party JS libraries (qiangxue)
526
- Chg #4501: Renamed the constant `YII_PATH` to `YII2_PATH` (qiangxue)
527
- Chg #4586: Signed bigint and unsigned int will be converted into integers when they are loaded from DB by AR (qiangxue)
528
- Chg #4591: `yii\helpers\Url::to()` will no longer prefix relative URLs with the base URL (qiangxue)
529
- Chg #4595: `yii\widgets\LinkPager`'s `nextPageLabel`, `prevPageLabel`, `firstPageLabel`, `lastPageLabel` are now taking `false` instead of `null` for "no label" (samdark)
530
- Chg #4911: Changed callback signature used in `yii\base\ArrayableTrait::fields()` from `function ($field, $model) {` to `function ($model, $field) {` (samdark)
531 532
- Chg #4955: Replaced callbacks with events for `ActiveForm` (qiangxue)
    - Removed `beforeValidate()`, `beforeValidateAll()`, `afterValidate()`, `afterValidateAll()`, `ajaxBeforeSend()` and `ajaxComplete()` from `ActiveForm`.
Qiang Xue committed
533
    - Added `beforeValidate`, `afterValidate`, `beforeValidateAttribute`, `afterValidateAttribute`, `beforeSubmit`, `ajaxBeforeSend` and `ajaxComplete` events to `yii.activeForm` jQuery plugin.
534
- Chg #5176: `ActiveFixture` will reset table in its `load()` method instead of `unload()` (qiangxue)
535
- Chg: Replaced `clearAll()` and `clearAllAssignments()` in `yii\rbac\ManagerInterface` with `removeAll()`, `removeAllRoles()`, `removeAllPermissions()`, `removeAllRules()` and `removeAllAssignments()` (qiangxue)
536
- Chg: Added `$user` as the first parameter of `yii\rbac\Rule::execute()` (qiangxue)
537
- Chg: `yii\grid\DataColumn::getDataCellValue()` visibility is now `public` to allow accessing the value from a GridView directly (cebe)
538
- Chg: `yii\data\ActiveDataProvider::$query` will not be modified directly with pagination and sorting anymore so it will be reuseable (cebe)
539
- Chg: Removed `yii\rest\ActiveController::$transactional` property and connected functionality (samdark)
540
- Chg: Changed the default value of the `keyPrefix` property of cache components to be null (qiangxue)
541
- Chg: Added `prefix` column to `yii\log\DbTarget` to have the same amount of information logged as in files and emails (cebe)
542
- Chg: Use `limit(null)` instead of `limit(-1)` in migration controller to be compatible to more backends (cebe)
543
- Chg: `yii\web\Request::cookieValidationKey` must be explicitly specified for each application that wants to use cookie validation (qiangxue)
544
- Chg: Added `yii\composer\Installer::postCreateProject()` and modified the syntax of calling installer methods in composer.json (qiangxue)
545
- Chg: When an ID is found to be in both `Application::controllerMap` and `Application::modules`, the former will take precedence (qiangxue)
546
- Chg: `yii\helpers\Html::activeCheckbox()` and `activeRadio()` will generate labels by default using the corresponding attribute labels (qiangxue)
547
- New #1280: Gii can now be run from command line (schmunk42, cebe, qiangxue)
548
- New #3911: Added `yii\behaviors\SluggableBehavior` that fills the specified model attribute with the transliterated and adjusted version to use in URLs (creocoder)
549
- New #4193: Added `yii\filters\Cors` CORS filter to allow Cross Origin Resource Sharing (pgaultier)
550
- New #4945: Added `yii\test\ArrayFixture` (Ragazzo)
551
- New: Added `yii\base\InvalidValueException` (qiangxue)
552
- New: Added `yii\caching\ArrayCache` (cebe)
553

Qiang Xue committed
554

555 556
2.0.0-beta April 13, 2014
-------------------------
Carsten Brandt committed
557

558
- Bug #1265: AssetController does not override 'js' and 'css' for compressed bundles (klimov-paul)
559
- Bug #1326: The `visible` setting for `DetailView` doesn't work as expected (qiangxue)
Qiang Xue committed
560
- Bug #1412: `FileValidator` and `ImageValidator` still trigger `uploadRequired` error in some case when `skipOnEmpty` is true and no upload is provided (qiangxue)
561
- Bug #1446: Logging while logs are processed causes infinite loop (qiangxue)
Qiang Xue committed
562
- Bug #1497: Localized view files are not correctly returned (mintao)
563
- Bug #1500: Log messages exported to files are not separated by newlines (omnilight, qiangxue)
564
- Bug #1504: Debug toolbar isn't loaded successfully in some environments when xdebug is enabled (qiangxue)
565
- Bug #1509: The SQL for creating Postgres RBAC tables is incorrect (qiangxue)
566
- Bug #1545: It was not possible to execute db Query twice, params where missing (cebe)
567
- Bug #1550: fixed the issue that JUI input widgets did not property input IDs.
568
- Bug #1654: Fixed the issue that a new message source object is generated for every new message being translated (qiangxue)
569
- Bug #1582: Error messages shown via client-side validation should not be double encoded (qiangxue)
570
- Bug #1591: StringValidator is accessing undefined property (qiangxue)
571
- Bug #1597: Added `enableAutoLogin` to basic and advanced application templates so "remember me" now works properly (samdark)
572
- Bug #1631: Charset is now explicitly set to UTF-8 when serving JSON (samdark)
Alexander Makarov committed
573
- Bug #1635: `yii\jui\SliderInput` wasn't properly initialized (samdark)
Qiang Xue committed
574
- Bug #1659: MSSQL doesn't support limit (Ana1oliy)
Qiang Xue committed
575
- Bug #1686: ActiveForm is creating duplicated messages in error summary (qiangxue)
576
- Bug #1704: Incorrect regexp is used in `Inflector::camelize()` (qiangxue)
577
- Bug #1710: OpenId auth client does not request required attributes correctly (klimov-paul)
Alexander Makarov committed
578 579
- Bug #1798: Fixed label attributes for array fields (zhuravljov)
- Bug #1800: Better check for `$_SERVER['HTTPS']` in `yii\web\Request::getIsSecureConnection()` (ginus, samdark)
580
- Bug #1812: Hide potential warning message due to race condition occurring to `Session::regenerateID()` call (qiangxue)
581
- Bug #1827: Debugger toolbar is loaded twice if an action is calling `run()` to execute another action (qiangxue)
Mark committed
582
- Bug #1868: Added ability to exclude tables from FixtureController apply/clear actions. (Ragazzo)
Mark committed
583
- Bug #1869: Fixed tables clearing. `TRUNCATE` changed to `DELETE` to avoid postgresql tables checks (and truncating all tables) (Ragazzo)
584
- Bug #1870: Validation errors weren't properly translated when using clientside validation (samdark)
585
- Bug #1930: Fixed domain based URL matching for website root (samdark)
586
- Bug #1937: Fixed wrong behavior or advanced app's `init --env` when called without parameter actually specified (samdark)
587
- Bug #1959: `Html::activeCheckbox` wasn't respecting custom values for checked/unchecked state (klevron, samdark)
588
- Bug #1965: `Controller::findLayoutFile()` returns incorrect file path when layout name starts with a slash (qiangxue)
589
- Bug #1992: In module scenario that use 'site/captcha' will get wrong refreshUrl (callmez)
Carsten Brandt committed
590
- Bug #1993: afterFind event in AR is now called after relations have been populated (cebe, creocoder)
Kevin LEVRON committed
591
- Bug #1998: Unchecked required checkbox never pass client validation (klevron)
592
- Bug #2084: AssetController adjusting CSS URLs declared at same line fixed (klimov-paul)
593
- Bug #2091: `QueryBuilder::buildInCondition()` fails to handle array not starting with index 0 (qiangxue)
594
- Bug #2160: SphinxQL does not support OFFSET (qiangxue, romeo7)
595
- Bug #2209: When I18N message translation is missing source language is now used for formatting (samdark)
596
- Bug #2212: `yii\gridview\DataColumn` generates incorrect labels when used with nosql DB and there is no data (qiangxue)
597
- Bug #2298: Fixed the bug that Gii controller generator did not allow digit in the controller ID (qiangxue)
598
- Bug #2303: Fixed the bug that `yii\base\Theme::pathMap` did not support dynamic update with path aliases (qiangxue)
599
- Bug #2324: Fixed QueryBuilder bug when building a query with "query" option (mintao)
600
- Bug #2399: Fixed the bug that AssetBundle did not handle relative URLs correctly (qiangxue)
601
- Bug #2502: Unclear error message when `$_SERVER['DOCUMENT_ROOT']` is empty (samdark)
602
- Bug #2519: MessageSource removed translation messages when event handler was bound to `missingTranslation`-event (cebe)
603
- Bug #2527: Source language for `app` message category was always `en` no matter which application `sourceLanguage` was used (samdark)
Antonio Ramirez committed
604
- Bug #2559: Going back on browser history breaks GridView filtering with `Pjax` (tonydspaniard)
605
- Bug #2571: Fixed the bug that batchInsert will fail for SQLite if the values contain null or boolean false (qiangxue)
Alexander Makarov committed
606
- Bug #2607: `yii message` tool wasn't updating `message` table (mitalcoi)
607
- Bug #2624: Html::textArea() should respect "name" option. (qiangxue)
608
- Bug #2653: Fixed the bug that unsetting an unpopulated AR relation would trigger exception (qiangxue)
Vladimir Zbrailov committed
609
- Bug #2681: Fixed the bug of php build-in server https://bugs.php.net/bug.php?id=66606 (dizews)
610
- Bug #2683: Fixed the bug that batchInsert will fail for MySQL if the values contain boolean false (qiangxue)
Zhandos committed
611
- Bug #2695: Fixed the issue that `FileValidator::isEmpty()` always returns true for validate multiple files (ZhandosKz)
Antonio Ramirez committed
612
- Bug #2739: Fixed the issue that `CreateAction::run()` was using obsolete `Controller::createAbsoluteUrl()` method (tonydspaniard)
Antonio Ramirez committed
613
- Bug #2740: Fixed the issue that `CaptchaAction::run()` was using obsolete `Controller::createUrl()` method (tonydspaniard)
AlexGx committed
614
- Bug #2760: Fixed GridView `filterUrl` parameters (qiangxue, AlexGx)
Alexander Makarov committed
615
- Bug #2834: When overriding i18n translation sources from config using `app*` or `yii*` default `app` and `yii` sources were not removed (samdark)
616
- Bug #2848: Individual queries should be enclosed within parenthesis in a UNION query (qiangxue)
617
- Bug #2862: Using `DbCache` while enabling schema caching may cause infinite loops (qiangxue)
618
- Bug #3052: Fixed the issue that cache dependency data is not reused when `reusable` is set true (qiangxue)
619
- Bug #3443: Fixed `yii\bootstrap\Nav` and `yii\bootstrap\Dropdown` were generating wrong ids for submenus (arturf)
SonicGD committed
620
- Bug #3691: Fixed the issue that `CookieCollection::has` always returns false for cookies from browser (sonicgd)
621
- Bug #4212: MSSQL query builder should not generate the `ORDER BY` clause when it is not needed (qiangxue)
622
- Bug #4232: `TableSchema::sequenceName` for PostgreSQL should remove the enclosing quotes (katzz0, qiangxue)
623
- Bug #4697: MSSQL query builder does not work for newer MSSQL versions when LIMIT is used without ORDER BY (qiangxue)
624
- Bug: Fixed `Call to a member function registerAssetFiles() on a non-object` in case of wrong `sourcePath` for an asset bundle (samdark)
625
- Bug: Fixed incorrect event name for `yii\jui\Spinner` (samdark)
626
- Bug: Json::encode() did not handle objects that implement JsonSerializable interface correctly (cebe)
627
- Bug: Fixed issue with tabular input on ActiveField::radio() and ActiveField::checkbox() (jom)
628
- Bug: Fixed the issue that query cache returns the same data for the same SQL but different query methods (qiangxue)
629
- Bug: Fixed URL parsing so it's now properly giving 404 for URLs like `http://example.com//////site/about` (samdark)
630
- Bug: Fixed `HelpController::getModuleCommands` issue where it attempts to scan a module's controller directory when it doesn't exist (jom)
Qiang Xue committed
631
- Bug: Fixed an issue with FileHelper and not accessible directories which resulted in endless loop (cebe)
632
- Bug: Fixed `$model->load($data)` returned `true` if `$data` and `formName` were empty (samdark)
633
- Bug: Fixed issue with `ActiveRelationTrait` preventing `ActiveQuery` from clearing events and behaviors on clone (jom)
634
- Bug: `Query::queryScalar` wasn't making `SELECT DISTINCT` queries subqueries (jom)
635
- Bug: Fixed use `$files` instead of `self::$_files[$key]` to allow inheritance (pgaultier)
Antonio Ramirez committed
636
- Enh #46: Added Image extension based on [Imagine library](http://imagine.readthedocs.org) (tonydspaniard)
637
- Enh #364: Improve Inflector::slug with `intl` transliteration. Improved transliteration char map. (tonydspaniard)
638
- Enh #497: Removed `\yii\log\Target::logUser` and added `\yii\log\Target::prefix` to support customizing message prefix (qiangxue)
639
- Enh #499: Decoupled `Rule` from RBAC `Item` (samdark, qiangxue)
640
- Enh #797: Added support for validating multiple columns by `UniqueValidator` and `ExistValidator` (qiangxue)
641
- Enh #802: Added support for retrieving sub-array element or child object property through `ArrayHelper::getValue()` (qiangxue, cebe)
Qiang Xue committed
642
- Enh #938: Added `yii\web\View::renderAjax()` and `yii\web\Controller::renderAjax()` (qiangxue)
643
- Enh #1293: Replaced Console::showProgress() with a better approach. See Console::startProgress() for details (cebe)
644 645
- Enh #1406: DB Schema support for Oracle Database (p0larbeer, qiangxue)
- Enh #1437: Added ListView::viewParams (qiangxue)
646
- Enh #1467: Added support for organizing controllers in subdirectories (qiangxue)
647
- Enh #1469: ActiveRecord::find() now works with default conditions (default scope) applied by createQuery (cebe)
648
- Enh #1476: Add yii\web\Session::handler property (nineinchnick)
649
- Enh #1499: Added `ActionColumn::controller` property to support customizing the controller for handling GridView actions (qiangxue)
650
- Enh #1523: Query conditions now allow to use the NOT operator (cebe)
651
- Enh #1535: Improved `yii\web\User` to start session only when needed. Also prepared it for use without session. (qiangxue)
652
- Enh #1562: Added `yii\bootstrap\Tabs::linkOptions` (kartik-v)
653
- Enh #1572: Added `yii\web\Controller::createAbsoluteUrl()` (samdark)
654
- Enh #1579: throw exception when the given AR relation name does not match in a case sensitive manner (qiangxue)
655
- Enh #1581: Added `ActiveQuery::joinWith()` and `ActiveQuery::innerJoinWith()` to support joining with relations (qiangxue)
656
- Enh #1585: added schema parameter to createAbsoluteUrl() to force 'http' or 'https' (cebe)
Qiang Xue committed
657
- Enh #1601: Added support for tagName and encodeLabel parameters in ButtonDropdown (omnilight)
658
- Enh #1611: Added `BaseActiveRecord::markAttributeDirty()` (qiangxue)
659
- Enh #1633: Advanced application template now works with MongoDB by default (samdark)
660
- Enh #1634: Use masked CSRF tokens to prevent BREACH exploits (qiangxue)
661
- Enh #1641: Added `BaseActiveRecord::updateAttributes()` (qiangxue)
Mark committed
662
- Enh #1646: Added postgresql `QueryBuilder::checkIntegrity` and `QueryBuilder::resetSequence` (Ragazzo)
663
- Enh #1645: Added `Connection::$pdoClass` property (Ragazzo)
664
- Enh #1645: Added support for nested DB transactions (qiangxue)
665
- Enh #1681: Added support for automatically adjusting the "for" attribute of label generated by `ActiveField::label()` (qiangxue)
666
- Enh #1706: Added support for registering a single JS/CSS file with dependency (qiangxue)
Carsten Brandt committed
667
- Enh #1773: keyPrefix property of Cache is not restricted to alnum characters anymore, however it is still recommended (cebe)
668
- Enh #1809: Added support for building "EXISTS" and "NOT EXISTS" query conditions (abdrasulov)
669
- Enh #1839: Added support for getting file extension and basename from uploaded file (anfrantic)
Alexander Kochetov committed
670
- Enh #1852: ActiveRecord::tableName() now returns table name using DbConnection::tablePrefix (creocoder)
671
- Enh #1881: Improved `yii\bootstrap\NavBar` with `containerOptions`, `innerContainerOptions` and `renderInnerContainer` (creocoder)
672
- Enh #1894: The path aliases `@webroot` and `@web` are now available right after the application is initialized (qiangxue)
673
- Enh #1921: Grid view ActionColumn now allow to name buttons like `{controller/action}` (creocoder)
674
- Enh #1973: `yii message/extract` is now able to generate `.po` files (SergeiKutanov, samdark)
675
- Enh #1984: ActionFilter will now mark event as handled when action run is aborted (cebe)
Carsten Brandt committed
676
- Enh #2002: Added filterWhere() method to yii\db\Query to allow easy addition of search filter conditions by ignoring empty search fields (samdark, cebe)
677
- Enh #2003: Added `filter` property to `ExistValidator` and `UniqueValidator` to support adding additional filtering conditions (qiangxue)
Alexander Makarov committed
678
- Enh #2008: `yii message/extract` is now able to save translation strings to database (kate-kate, samdark)
679
- Enh #2043: Added support for custom request body parsers (danschmidt5189, cebe)
680
- Enh #2051: Do not save null data into database when using RBAC (qiangxue)
681
- Enh #2054: Added support for using custom application configuration with the console command runner (qiangxue)
Alexander Makarov committed
682
- Enh #2079:
683 684 685
    - i18n now falls back to `en` from `en-US` if message translation isn't found (samdark)
    - View now falls back to `en` from `en-US` if file not found (samdark)
    - Default `sourceLanguage` and `language` are now `en` (samdark)
Alexander Makarov committed
686
- Enh #2101: Gii is now using model labels when generating search (thiagotalma)
Alexander Kochetov committed
687 688
- Enh #2102: DetailView now allow use `category.name` as attribute name (creocoder)
- Enh #2102: DetailView now allow use custom label in string format like `name:format:label` (creocoder)
Qiang Xue committed
689
- Enh #2103: Renamed AccessDeniedHttpException to ForbiddenHttpException, added new commonly used HTTP exception classes (danschmidt5189)
Ivan Pomortsev committed
690
- Enh #2124: Added support for UNION ALL queries (Ivan Pomortsev, iworker)
691
- Enh #2132: Allow url of CSS and JS files registered in yii\web\View to be url alias (cebe)
692
- Enh #2144: `Html` helper now supports rendering "data" attributes (qiangxue)
693
- Enh #2156: `yii migrate` now automatically creates `migrations` directory if it does not exist (samdark)
694
- Enh #2211: Added typecast database types into php types (dizews)
695 696 697
- Enh #2240: Improved `yii\web\AssetManager::publish()`, `yii\web\AssetManager::getPublishedPath()` and `yii\web\AssetManager::getPublishedUrl()` to support aliases (vova07)
- Enh #2325: Adding support for the `X-HTTP-Method-Override` header in `yii\web\Request::getMethod()` (pawzar)
- Enh #2364: Take into account current error reporting level in error handler (gureedo)
698
- Enh #2387: Added support for fetching data from database in batches (nineinchnick, qiangxue)
699
- Enh #2392: Added `addCssStyle()`, `removeCssStyle()`, `cssStyleFromArray()` and `cssStyleToArray()` to `Html` (qiangxue, kartik-v, Alex-Code)
Qiang Xue committed
700
- Enh #2406: Added support for conditional validation (drenty, cebe, qiangxue)
Tobias Munk committed
701
- Enh #2411: Added Gii extension generator (schmunk42)
Tobias Munk committed
702
- Enh #2415: Added support for inverse relations (qiangxue)
703
- Enh #2417: Added possibility to set `dataType` for `$.ajax` call in yii.activeForm.js (Borales)
704
- Enh #2436: Label of the attribute, which looks like `relatedModel.attribute`, will be received from the related model if it available (djagya)
705
- Enh #2490: `yii\db\Query::count()` and other query scalar methods now properly handle queries with GROUP BY clause (qiangxue)
706
- Enh #2491: Added support for using the same base class name of search model and data model in Gii (qiangxue)
707
- Enh #2499: Added ability to downgrade migrations by their absolute apply time (resurtm, gorcer)
Vincent committed
708
- Enh #2525: Added support for formatting file sizes with `yii\base\Formatter` (VinceG)
709
- Enh #2526: Allow for null values in batchInsert (skotos)
710
- Enh #2646: Added support for specifying hostinfo in the pattern of a URL rule (qiangxue)
711
- Enh #2661: Added boolean column type support for SQLite (qiangxue)
Alexander Makarov committed
712
- Enh #2670: Changed `console\Controller::globalOptions()` to `options($actionID)` to (make it possible to) differentiate options per action (hqx)
David Renty committed
713
- Enh #2714: Added support for formatting time intervals relative to the current time with `yii\base\Formatter` (drenty)
714
- Enh #2726: Added `yii\db\ActiveRecord::loadDefaultValues()` that fills default values from DB schema (samdark)
715
- Enh #2729: Added `FilterValidator::skipOnArray` so that filters like `trim` will not fail for array inputs (qiangxue)
ivokund committed
716
- Enh #2735: Added support for `DateTimeInterface` in `Formatter` (ivokund)
717
- Enh #2756: Added support for injecting custom `isEmpty` check for all validators (qiangxue)
718
- Enh #2775: Added `yii\base\Application::bootstrap` and `yii\base\BootstrapInterface` to support running bootstrap classes when starting an application (qiangxue)
719
- Enh #2892: ActiveRecord dirty attributes are now reset after call to `afterSave()` so information about changed attributes is available in `afterSave`-event (cebe)
720
- Enh #2910: Added `Application::end()` (qiangxue)
721
- Enh: Added support for using arrays as option values for console commands (qiangxue)
Luciano Baraglia committed
722
- Enh: Added `favicon.ico` and `robots.txt` to default application templates (samdark)
723
- Enh: Added `Widget::autoIdPrefix` to support prefixing automatically generated widget IDs (qiangxue)
724
- Enh: Support for file aliases in console command 'message' (omnilight)
725
- Enh: Sort and Pagination can now create absolute URLs (cebe)
726
- Enh: Added support for using array-typed arguments for console commands (qiangxue)
727
- Enh: Added support for installing packages conforming to PSR-4 standard (qiangxue)
728
- Enh: Better exception message when class cannot be loaded (samdark)
729
- Enh: `init` of advanced application now allows to specify answer for overwriting files via `init --overwrite=n` (samdark)
730
- Enh: Added `TableSchema::fullName` property (qiangxue)
Qiang Xue committed
731
- Enh: yii\codeception\TestCase now supports loading and using fixtures via Yii fixture framework (qiangxue)
732
- Enh: Added ability to get incoming headers (dizews)
733
- Enh: Added `beforeRun()` and `afterRun()` to `yii\base\Action` (qiangxue)
Qiang Xue committed
734
- Enh: Added support for using timeZone with `yii\base\Formatter` (dizews)
735
- Enh: Added `yii\web\View::POS_LOAD` (qiangxue)
736
- Enh: Added `yii\web\Response::clearOutputBuffers()` (qiangxue)
737
- Enh: Improved `QueryBuilder::buildLimit()` to support big numbers (qiangxue)
738
- Enh: Added support for building SQLs with sub-queries (qiangxue)
739
- Enh: Added `Pagination::getLinks()` (qiangxue)
740
- Enh: Added support for reading page size from query parameters by `Pagination` (qiangxue)
741
- Enh: LinkPager can now register relational link tags in the html header for prev, next, first and last page (cebe)
742
- Enh: Added `yii\web\UrlRuleInterface` and `yii\web\CompositeUrlRule` (qiangxue)
743
- Enh: Added `yii\web\Request::getAuthUser()` and `getAuthPassword()` (qiangxue)
744
- Enh: Added summaryOptions and emptyTextOptions to BaseListView (johonunu)
745
- Enh: Implemented Oracle column comment reading from another schema (gureedo, samdark)
746
- Enh: Added support to allow an event handler to be inserted at the beginning of the existing event handler list (qiangxue)
747
- Enh: Improved action filter and action execution flow by supporting installing action filters at controller, module and application levels (qiangxue)
748
- Enh: Added `isAssociative()` and `isIndexed()` to `yii\helpers\ArrayHelper` (qiangxue)
Alex-Code committed
749
- Enh: Added `addSelect` to `yii\db\Query` (Alex-Code)
750
- Enh: Added ODBC support in `yii\db\Connection` (nineinchnick, resurtm)
751
- Chg #47: Changed Markdown library to cebe/markdown and adjusted Markdown helper API (cebe)
752
- Chg #735: Added back `ActiveField::hiddenInput()` (qiangxue)
753
- Chg #1186: Changed `Sort` to use comma to separate multiple sort fields and use negative sign to indicate descending sort (qiangxue)
754
- Chg #1519: `yii\web\User::loginRequired()` now returns the `Response` object instead of exiting the application (qiangxue)
755
- Chg #1564: Removed `yii\web\Session::autoStart` and added `hasSessionId`. Session will be automatically started when accessing session data (qiangxue)
756
- Chg #1586: `QueryBuilder::buildLikeCondition()` will now escape special characters and use percentage characters by default (qiangxue)
757
- Chg #1610: `Html::activeCheckboxList()` and `Html::activeRadioList()` will submit an empty string if no checkbox/radio is selected (qiangxue)
758
- Chg #1643: Added default value for `Captcha::options` (qiangxue)
Alexander Makarov committed
759
- Chg #1796: Removed `yii\base\Controller::getActionParams()` (samdark)
760
- Chg #1835: `CheckboxColumn` now renders checkboxes whose values are the corresponding data key values (qiangxue)
761
- Chg #1821: Changed default values for yii\db\Connection username and password to null (cebe)
762
- Chg #1844: `Response::sendFile()` and other file sending methods will not send the response (qiangxue)
Alexander Kochetov committed
763
- Chg #1852: DbConnection::tablePrefix default value now 'tbl_' (creocoder)
764
- Chg #1958: `beforeSubmit` in `yii.activeform` is now executed after validation and before form submission (6pblcb)
Alexander Makarov committed
765
- Chg #2025: Removed ability to declare scopes in ActiveRecord (samdark)
766
- Chg #2043:
767 768 769 770
    - Renamed `yii\web\Request::acceptedLanguages` to `acceptableLanguages` (qiangxue)
    - Removed `yii\web\Request::getPost()`, `getPut()`, `getDelete()`, `getPatch()` in favor of `getBodyParam()` (cebe)
    - Renamed `yii\web\Request::get()` to `getQueryParams()` and `getRestParams()` to `getBodyParams()` (cebe)
    - Added `yii\web\Request::get($name = null, $defaultValue = null)` and `yii\web\Request::post($name = null, $defaultValue = null)` (samdark)
Qiang Xue committed
771
- Chg #2059: Implemented git-flavored file excluding/filtering for `FileHelper` (nineinchnick)
772
- Chg #2063: Removed `yii\web\Request::acceptTypes` and renamed `yii\web\Request::acceptedContentTypes` to `acceptableContentTypes` (qiangxue)
773
- Chg #2103: Renamed AccessDeniedHttpException to ForbiddenHttpException (danschmidt5189)
774 775 776
- Chg #2146: Removed `ActiveRelation` class and `ActiveRelationInterface`, moved the functionality to `ActiveQuery`.
             All relational queries are now directly served by `ActiveQuery` allowing to use custom scopes in relations
             and also to declare arbitrary queries as relations.
777
             Also removed `ActiveRecordInterface::createActiveRelation()` (cebe)
Qiang Xue committed
778
- Chg #2157: The '*' category pattern will match all categories that do not match any other patterns listed in `I18N::translations` (qiangxue, Ragazzo)
Alexander Makarov committed
779
- Chg #2161: Added ability to use `return` in `Widget::run` (samdark)
Alexander Makarov committed
780
- Chg #2173: Removed `StringHelper::diff()`, Moved `phpspec/php-diff` dependency from `yiisoft/yii2` to `yiisoft/yii2-gii` (samdark)
781
- Chg #2175: QueryBuilder will now append UNION statements at the end of the primary SQL (qiangxue)
782
- Chg #2210: Mysql driver will now treat `tinyint(1)` as integer instead of boolean (qiangxue)
783
- Chg #2248: Renamed `yii\base\Model::DEFAULT_SCENARIO` to `yii\base\Model::SCENARIO_DEFAULT` (samdark)
784
- Chg #2281: Renamed `ActiveRecord::create()` to `populateRecord()` and changed signature. This method will not call instantiate() anymore (cebe)
785
- Chg #2405: The CSS class of `MaskedInput` now defaults to `form-control` (qiangxue)
786
- Chg #2426: Changed URL creation method signatures to be consistent (samdark)
787 788 789
- Chg #2516: Moved error handling from application to ErrorHandler class and fixed problems with HTTP Exception response code (cebe)
    - `Yii::$app->exception` has now moved to `Yii::$app->errorHandler->exception`
    - `yii\base\ErrorHandler` was split into `yii\web\ErrorHandler` and `yii\console\ErrorHandler`
790
- Chg #2544: Changed `DetailView`'s `name:format:label` to `attribute:format:label` to match `GridView` (samdark)
791
- Chg #2603: `yii\base\ErrorException` now extends `\ErrorException` (samdark)
792
- Chg #2629: `Module::controllerPath` is now read only, and all controller classes must be namespaced under `Module::controllerNamespace`. (qiangxue)
793
- Chg #2630: API changes for URLs generation (samdark, qiangxue, cebe)
794 795 796 797
    - Added `yii\helpers\Url`.
    - Removed `yii\helpers\Html::url`, use `yii\helpers\Url::to` instead.
    - Removed `yii\web\Controller::createUrl` and `yii\web\Controller::createAbsoluteUrl`, use `yii\helpers\Url::toRoute` instead.
    - Removed `yii\web\Controller::getCanonicalUrl`, use `yii\helpers\Url::canonical` instead.
798
- Chg #2691: Null parameters will not be included in the generated URLs by `UrlManager` (gonimar, qiangxue)
799
- Chg #2734: `FileCache::keyPrefix` defaults to empty string now (qiangxue)
800
- Chg #2796: Removed `Application::preload` in favor of `Application::bootstrap` (qiangxue)
801
- Chg #2816: Changed default date and time format of `yii\base\Formatter` to `Y-m-d` and `H:i:s` (qiangxue)
802
- Chg #2911: Removed `tbl_` default for table prefix (samdark)
803
- Chg #2912: Relative view files will be looked for under the directory containing the view currently being rendered (qiangxue)
Qiang Xue committed
804
- Chg #2955: Changed the signature of ActiveQuery constructors and replaced `ActiveRecord::createQuery()` with `find()` to simplify customizing ActiveQuery classes (qiangxue)
Qiang Xue committed
805
- Chg #2999: Added `findOne()` and `findAll()` to replace the usage of `ActiveRecord::find($condition)`. (samdark, qiangxue)
806
- Chg #4204: `yii\web\Request::getUserIP()` will return null if it cannot detect user IP address (qiangxue)
807
- Chg #4622: Simplified the way of creating a Faker fixture template file (qiangxue)
808
- Chg: Renamed `yii\jui\Widget::clientEventsMap` to `clientEventMap` (qiangxue)
809
- Chg: Renamed `ActiveRecord::getPopulatedRelations()` to `getRelatedRecords()` (qiangxue)
810
- Chg: Renamed `attributeName` and `className` to `targetAttribute` and `targetClass` for `UniqueValidator` and `ExistValidator` (qiangxue)
811
- Chg: Added `yii\widgets\InputWidget::options` (qiangxue)
812
- Chg: Changed the signature of `urlCreator` and button creators for `yii\gridview\ActionColumn` (qiangxue)
813
- Chg: Updated HTMLPurified dependency to `4.6.*`.
814
- Chg: Changed Yii autoloader to support loading PSR-4 classes only (i.e. PEAR-styled classes not supported anymore) (qiangxue)
Alexander Makarov committed
815 816
- Chg: Changed the directory structure according to PSR-4. You have to update your application `index.php`,
       `index-test.php` and `yii` files to point to the new location of `Yii.php` (qiangxue, cebe)
817
- Chg: Advanced app template: moved database connection DSN, login and password to `-local` config not to expose it to VCS (samdark)
818
- Chg: Renamed `yii\web\Request::acceptedLanguages` to `acceptableLanguages` (qiangxue)
819
- Chg: Removed implementation of `Arrayable` from `yii\Object` (qiangxue)
820
- Chg: The scripts in asset bundles are now registered in `View` at the end of `endBody()`. It was done in `endPage()` previously (qiangxue)
Qiang Xue committed
821
- Chg: Renamed `csrf-var` to `csrf-param` for CSRF header name (Dilip)
822 823
- Chg: The directory holding email templates is renamed from `mails` to `mail` (qiangxue)
- Chg: Renamed properties `fooVar` to `fooParam` for various classes (qiangxue)
824 825 826 827 828 829 830 831 832 833
    - Renamed `ActiveForm::ajaxVar` to `ajaxParam`
    - Renamed `Pagination::pageVar` to `pageParam`
    - Renamed `Sort::sortVar` to `sortParam`
    - Renamed `yii\web\Request::csrfVar` to `csrfParam`
    - Renamed `yii\web\Request::methodVar` to `methodParam`
    - Renamed `UrlManager::routeVar` to `routeParam`
    - Renamed `yii\web\Session::flashVar` to `flashParam`
    - Renamed `yii\web\User::idVar` to `idParam`
    - Renamed `yii\web\User::authTimeoutVar` to `authTimeoutParam`
    - Renamed `yii\web\User::returnUrlVar` to `returnUrlParam`
834
- Chg: Added `View::viewFile` and removed `ViewEvent::viewFile` (qiangxue)
835
- Chg: Changed `Controller::afterAction()`, `Module::afterAction()` and `ActionFilter::afterAction()` to pass `$result` by value instead of reference (qiangxue)
836
- Chg: `yii\base\Extension::init()` is renamed to `bootstrap()` (qiangxue)
Qiang Xue committed
837 838 839
- Chg: `getComponent()` and `setComponent()` in `Application` and `Module` are renamed to `get()` and `set()` respectively. (qiangxue)
- Chg: The signature of `Yii::createObject()` is changed. Constructor parameters must be passed as the second parameter. (qiangxue)
- Chg: `Yii::$objectConfig` is removed. You should use `Yii::$container->set()` to configure default settings of classes. (qiangxue)
840
- Chg: Removed `yii\grid\Column::getDataCellContent()` and renamed `yii\grid\DataColumn::getDataCellContent()` to `yii\grid\DataColumn::getDataCellValue()` (cebe)
841
- Chg: `yii\log\Logger` is split into `yii\log\Logger` and `yii\log\Dispatcher`. (qiangxue)
842
- Chg: Moved all filter classes to namespace `yii\filters` (qiangxue)
843
- Chg: Re-implemented RBAC by following more closely to the original NIST RBAC model. Dropped `yii\rbac\PhpManager`. (qiangxue)
844
- Chg: Renamed `yii\web\User::checkAccess()` to `yii\web\User::can()` (qiangxue)
845
- New #66: [Auth client library](https://github.com/yiisoft/yii2-authclient) OpenId, OAuth1, OAuth2 clients (klimov-paul)
Qiang Xue committed
846
- New #303: Added built-in support for REST API (qiangxue)
Qiang Xue committed
847
- New #503: Added `yii\di\Container` and `yii\di\ServiceLocator` (qiangxue)
848
- New #706: Added `yii\widgets\Pjax` and enhanced `GridView` to work with `Pjax` to support AJAX-update (qiangxue)
849
- New #1393: [Codeception testing framework integration](https://github.com/yiisoft/yii2-codeception) (Ragazzo)
850
- New #1438: [MongoDB integration](https://github.com/yiisoft/yii2-mongodb) ActiveRecord and Query (klimov-paul)
Qiang Xue committed
851
- New #1956: Implemented test fixture framework (qiangxue)
852
- New #2034: Added `ContentNegotiator` to support response format and language negotiation (qiangxue)
853
- New #2149: Added `yii\base\DynamicModel` to support ad-hoc data validation (qiangxue)
854
- New #2360: Added `AttributeBehavior` and `BlameableBehavior`, and renamed `AutoTimestamp` to `TimestampBehavior` (lucianobaraglia, qiangxue)
855
- New #2932: Added `yii\web\ViewAction` that allow you to render views based on GET parameter (samdark)
856
- New #2998: Added `framework\log\SyslogTarget` that is able to write log to syslog (miramir, samdark)
857
- New #3029: Added `yii\bootstrap\ActiveForm` and `yii\bootstrap\ActiveField` (mikehaertl)
858
- New #4640: Added `yii\widgets\ActiveForm::beginField()` and `endField()` (qiangxue)
859
- New: Yii framework now comes with core messages translated into 26 languages, many thanks to all our translators!
860
- New: Added `yii\codeception\DbTestCase` (qiangxue)
861
- New: Added `yii\web\GroupUrlRule` (qiangxue)
862
- New: Added `yii\filters\RateLimiter` (qiangxue)
863
- New: Added various authentication methods, including `HttpBasicAuth`, `HttpBearerAuth`, `QueryParamAuth`, and `CompositeAuth` (qiangxue)
864
- New: Added `HtmlResponseFormatter` and `JsonResponseFormatter` (qiangxue)
Qiang Xue committed
865

866

Carsten Brandt committed
867 868
2.0.0-alpha, December 1, 2013
-----------------------------
869

870
- Initial release.
871 872 873 874 875 876 877 878 879
- Official extensions released in this version:
  - [Twitter bootstrap 3.0](https://github.com/yiisoft/yii2-bootstrap)
  - [Jquery UI](https://github.com/yiisoft/yii2-jui)

  - [Debug Toolbar](https://github.com/yiisoft/yii2-debug)
  - [Gii code generator](https://github.com/yiisoft/yii2-gii)

  - [Elasticsearch integration](https://github.com/yiisoft/yii2-elasticsearch): ActiveRecord and Query
  - [Redis integration](https://github.com/yiisoft/yii2-redis): ActiveRecord, Cache and Session
Carsten Brandt committed
880
  - [Sphinx integration](https://github.com/yiisoft/yii2-sphinx): ActiveRecord and Query
881 882 883 884 885

  - [Swiftmailer](https://github.com/yiisoft/yii2-swiftmailer)

  - [Smarty View Renderer](https://github.com/yiisoft/yii2-smarty)
  - [Twig View Renderer](https://github.com/yiisoft/yii2-twig)