Yii Framework 2 Change Log
2.0.0-rc under development
- Bug #1263: Fixed the issue that Gii and Debug modules might be affected by incompatible asset manager configuration (qiangxue)
- Bug #2563: Theming is not working if the path map of the theme contains “..” or “.” in the paths (qiangxue)
- Bug #2801: Fixed the issue that GridView gets footer content before data cells content (ElisDN)
- Bug #2853: ActiveRecord did not handle resource-typed columns well (chris68, qiangxue)
- Bug #3042:
yii\widgets\Pjaxshould end application right after it finishes responding to a pjax request (qiangxue) - Bug #3066:
yii\db\mssql\Schema::getTableSchema()should return null when the table does not exist (qiangxue) - Bug #3091: Fixed inconsistent treatment of
Widget::run()when a widget is used as a container and as a self-contained object (qiangxue) - Bug #3118: Ensure client validation has the same behavior as server side validation for number validator (cebe)
- Bug #3121:
yii\base\Application::bootstrapmay fail to load some components if they are specified as class names (qiangxue) - Bug #3125:
yii\console\controllers\AssetControllernow respects data URL resources (klimov-paul) - Bug #3128: Fixed the bug that
defaultRolesset in RBAC manager was not working as specified (qiangxue) - Bug #3153: Fixed the bug that using “between” operator to build a SQL query will cause a PHP notice (gonimar)
- Bug #3184: Fixed the bug that client validation for string length comparison did not set error message correctly (Sergeygithub)
- Bug #3194: Date formatter works only for timestamps in the year range 1970 to 2038 (kartik-v)
- Bug #3204:
yii\di\Containerdid not handle the$configparameter well in case when it does not have a default value (qiangxue) - Bug #3216: Fixed the bug that
yii.activeForm.destroy()did not removesubmitevent handlers (qiangxue) - Bug #3236: Return value for DateTime->format(‘U’) casted to double to allow correct date formatting (pgaultier)
- Bug #3268: Fixed the bug that the schema name in a table name was not respected by
yii\db\mysql\Schema(terazoid, qiangxue) - Bug #3311: Fixed the bug that
yii\di\Container::has()did not return correct value (mgrechanik, qiangxue) - Enh #2264:
CookieCollection::has()will return false for expired or removed cookies (qiangxue) - Enh #2837: Error page now shows arguments in stack trace method calls (samdark)
- Enh #2906: Added support for using conditional comments for js and css files registered through asset bundles and Html helper (exromany, qiangxue)
- Enh #2942: Added truncate and truncateWord methods (Alex-Code, samdark)
- Enh #3008: Added
Html::errorSummary()(qiangxue) - Enh #3088: The debug and gii modules will manage their own URL rules now (hiltonjanfield, qiangxue)
- Enh #3103: debugger panel is now not displayed when printing a page (githubjeka)
- Enh #3108: Added
yii\debug\Module::enableDebugLogsto disable logging debug logs by default (qiangxue) - Enh #3132:
yii\rbac\PhpManagernow supports more compact data file format (qiangxue) - Enh #3154: Added validation error display for
GridViewfilters (ivan-kolmychek) - Enh #3222: Added
useTablePrefixoption to the model generator for Gii (horizons2) - Enh #3230: Added
yii\filters\AccessControl::userto support access control with different actors (qiangxue) - Enh #3252: Added support for case insensitive matching using ILIKE to PostgreSQL QueryBuilder (cebe)
- Enh #3298: Supported configuring
View::themeusing a class name (netyum, qiangxue) - Enh: Added support for using sub-queries when building a DB query with
INcondition (qiangxue) - Enh: Supported adding a new response formatter without the need to reconfigure existing formatters (qiangxue)
- Enh: Added
yii\web\UrlManager::addRules()to simplify adding new URL rules (qiangxue) - Enh: Added support to insert an event handler at the beginning of class-level event handler queue (qiangxue)
- Chg #3036: Upgraded Twitter Bootstrap to 3.1.x (qiangxue)
- Chg #3175: InvalidCallException, InvalidParamException, UnknownMethodException are now extended from SPL BadMethodCallException (samdark)
- Chg: Replaced
clearAll()andclearAllAssignments()inyii\rbac\ManagerInterfacewithremoveAll(),removeAllRoles(),removeAllPermissions(),removeAllRules()andremoveAllAssignments()(qiangxue) - Chg: Added
$useras the first parameter ofyii\rbac\Rule::execute()(qiangxue) - Chg:
yii\grid\DataColumn::getDataCellValue()visibility is nowpublicto allow accessing the value from a GridView directly (cebe) - Chg:
yii\data\ActiveDataProvider::$querywill not be modified directly with pagination and sorting anymore so it will be reuseable (cebe)
2.0.0-beta April 13, 2014
- Bug #1265: AssetController does not override ‘js’ and ‘css’ for compressed bundles (klimov-paul)
- Bug #1326: The
visiblesetting forDetailViewdoesn’t work as expected (qiangxue) - Bug #1412:
FileValidatorandImageValidatorstill triggeruploadRequirederror in some case whenskipOnEmptyis true and no upload is provided (qiangxue) - Bug #1446: Logging while logs are processed causes infinite loop (qiangxue)
- Bug #1497: Localized view files are not correctly returned (mintao)
- Bug #1500: Log messages exported to files are not separated by newlines (omnilight, qiangxue)
- Bug #1504: Debug toolbar isn’t loaded successfully in some environments when xdebug is enabled (qiangxue)
- Bug #1509: The SQL for creating Postgres RBAC tables is incorrect (qiangxue)
- Bug #1545: It was not possible to execute db Query twice, params where missing (cebe)
- Bug #1550: fixed the issue that JUI input widgets did not property input IDs.
- Bug #1654: Fixed the issue that a new message source object is generated for every new message being translated (qiangxue)
- Bug #1582: Error messages shown via client-side validation should not be double encoded (qiangxue)
- Bug #1591: StringValidator is accessing undefined property (qiangxue)
- Bug #1597: Added
enableAutoLoginto basic and advanced application templates so “remember me” now works properly (samdark) - Bug #1631: Charset is now explicitly set to UTF-8 when serving JSON (samdark)
- Bug #1635:
yii\jui\SliderInputwasn’t properly initialized (samdark) - Bug #1659: MSSQL doesn’t support limit (Ana1oliy)
- Bug #1686: ActiveForm is creating duplicated messages in error summary (qiangxue)
- Bug #1704: Incorrect regexp is used in
Inflector::camelize()(qiangxue) - Bug #1710: OpenId auth client does not request required attributes correctly (klimov-paul)
- Bug #1798: Fixed label attributes for array fields (zhuravljov)
- Bug #1800: Better check for
$_SERVER['HTTPS']inyii\web\Request::getIsSecureConnection()(ginus, samdark) - Bug #1812: Hide potential warning message due to race condition occurring to
Session::regenerateID()call (qiangxue) - Bug #1827: Debugger toolbar is loaded twice if an action is calling
run()to execute another action (qiangxue) - Bug #1868: Added ability to exclude tables from FixtureController apply/clear actions. (Ragazzo)
- Bug #1869: Fixed tables clearing.
TRUNCATEchanged toDELETEto avoid postgresql tables checks (and truncating all tables) (Ragazzo) - Bug #1870: Validation errors weren’t properly translated when using clientside validation (samdark)
- Bug #1930: Fixed domain based URL matching for website root (samdark)
- Bug #1937: Fixed wrong behavior or advanced app’s
init --envwhen called without parameter actually specified (samdark) - Bug #1959:
Html::activeCheckboxwasn’t respecting custom values for checked/unchecked state (klevron, samdark) - Bug #1965:
Controller::findLayoutFile()returns incorrect file path when layout name starts with a slash (qiangxue) - Bug #1992: In module scenario that use ‘site/captcha’ will get wrong refreshUrl (callmez)
- Bug #1993: afterFind event in AR is now called after relations have been populated (cebe, creocoder)
- Bug #1998: Unchecked required checkbox never pass client validation (klevron)
- Bug #2084: AssetController adjusting CSS URLs declared at same line fixed (klimov-paul)
- Bug #2091:
QueryBuilder::buildInCondition()fails to handle array not starting with index 0 (qiangxue) - Bug #2160: SphinxQL does not support OFFSET (qiangxue, romeo7)
- Bug #2209: When I18N message translation is missing source language is now used for formatting (samdark)
- Bug #2212:
yii\gridview\DataColumngenerates incorrect labels when used with nosql DB and there is no data (qiangxue) - Bug #2298: Fixed the bug that Gii controller generator did not allow digit in the controller ID (qiangxue)
- Bug #2303: Fixed the bug that
yii\base\Theme::pathMapdid not support dynamic update with path aliases (qiangxue) - Bug #2324: Fixed QueryBuilder bug when building a query with “query” option (mintao)
- Bug #2399: Fixed the bug that AssetBundle did not handle relative URLs correctly (qiangxue)
- Bug #2502: Unclear error message when
$_SERVER['DOCUMENT_ROOT']is empty (samdark) - Bug #2519: MessageSource removed translation messages when event handler was bound to
missingTranslation-event (cebe) - Bug #2527: Source language for
appmessage category was alwaysenno matter which applicationsourceLanguagewas used (samdark) - Bug #2559: Going back on browser history breaks GridView filtering with
Pjax(tonydspaniard) - Bug #2571: Fixed the bug that batchInsert will fail for SQLite if the values contain null or boolean false (qiangxue)
- Bug #2607:
yii messagetool wasn’t updatingmessagetable (mitalcoi) - Bug #2624: Html::textArea() should respect “name” option. (qiangxue)
- Bug #2653: Fixed the bug that unsetting an unpopulated AR relation would trigger exception (qiangxue)
- Bug #2681: Fixed the bug of php build-in server https://bugs.php.net/bug.php?id=66606 (dizews)
- Bug #2683: Fixed the bug that batchInsert will fail for MySQL if the values contain boolean false (qiangxue)
- Bug #2695: Fixed the issue that
FileValidator::isEmpty()always returns true for validate multiple files (ZhandosKz) - Bug #2739: Fixed the issue that
CreateAction::run()was using obsoleteController::createAbsoluteUrl()method (tonydspaniard) - Bug #2740: Fixed the issue that
CaptchaAction::run()was using obsoleteController::createUrl()method (tonydspaniard) - Bug #2760: Fixed GridView
filterUrlparameters (qiangxue, AlexGx) - Bug #2834: When overriding i18n translation sources from config using
app*oryii*defaultappandyiisources were not removed (samdark) - Bug #2848: Individual queries should be enclosed within parenthesis in a UNION query (qiangxue)
- Bug #2862: Using
DbCachewhile enabling schema caching may cause infinite loops (qiangxue) - Bug #3052: Fixed the issue that cache dependency data is not reused when
reusableis set true (qiangxue) - Bug: Fixed
Call to a member function registerAssetFiles() on a non-objectin case of wrongsourcePathfor an asset bundle (samdark) - Bug: Fixed incorrect event name for
yii\jui\Spinner(samdark) - Bug: Json::encode() did not handle objects that implement JsonSerializable interface correctly (cebe)
- Bug: Fixed issue with tabular input on ActiveField::radio() and ActiveField::checkbox() (jom)
- Bug: Fixed the issue that query cache returns the same data for the same SQL but different query methods (qiangxue)
- Bug: Fixed URL parsing so it’s now properly giving 404 for URLs like
http://example.com//////site/about(samdark) - Bug: Fixed
HelpController::getModuleCommandsissue where it attempts to scan a module’s controller directory when it doesn’t exist (jom) - Bug: Fixed an issue with FileHelper and not accessible directories which resulted in endless loop (cebe)
- Bug: Fixed
$model->load($data)returnedtrueif$dataandformNamewere empty (samdark) - Bug: Fixed issue with
ActiveRelationTraitpreventingActiveQueryfrom clearing events and behaviors on clone (jom) - Bug:
Query::queryScalarwasn’t makingSELECT DISTINCTqueries subqueries (jom) - Bug: Fixed use
$filesinstead ofself::$_files[$key]to allow inheritance (pgaultier) - Enh #46: Added Image extension based on Imagine library (tonydspaniard)
- Enh #364: Improve Inflector::slug with
intltransliteration. Improved transliteration char map. (tonydspaniard) - Enh #497: Removed
\yii\log\Target::logUserand added\yii\log\Target::prefixto support customizing message prefix (qiangxue) - Enh #499: Decoupled
Rulefrom RBACItem(samdark, qiangxue) - Enh #797: Added support for validating multiple columns by
UniqueValidatorandExistValidator(qiangxue) - Enh #802: Added support for retrieving sub-array element or child object property through
ArrayHelper::getValue()(qiangxue, cebe) - Enh #938: Added
yii\web\View::renderAjax()andyii\web\Controller::renderAjax()(qiangxue) - Enh #1293: Replaced Console::showProgress() with a better approach. See Console::startProgress() for details (cebe)
- Enh #1406: DB Schema support for Oracle Database (p0larbeer, qiangxue)
- Enh #1437: Added ListView::viewParams (qiangxue)
- Enh #1467: Added support for organizing controllers in subdirectories (qiangxue)
- Enh #1469: ActiveRecord::find() now works with default conditions (default scope) applied by createQuery (cebe)
- Enh #1476: Add yii\web\Session::handler property (nineinchnick)
- Enh #1499: Added
ActionColumn::controllerproperty to support customizing the controller for handling GridView actions (qiangxue) - Enh #1523: Query conditions now allow to use the NOT operator (cebe)
- Enh #1535: Improved
yii\web\Userto start session only when needed. Also prepared it for use without session. (qiangxue) - Enh #1562: Added
yii\bootstrap\Tabs::linkOptions(kartik-v) - Enh #1572: Added
yii\web\Controller::createAbsoluteUrl()(samdark) - Enh #1579: throw exception when the given AR relation name does not match in a case sensitive manner (qiangxue)
- Enh #1581: Added
ActiveQuery::joinWith()andActiveQuery::innerJoinWith()to support joining with relations (qiangxue) - Enh #1585: added schema parameter to createAbsoluteUrl() to force ‘http’ or ‘https’ (cebe)
- Enh #1601: Added support for tagName and encodeLabel parameters in ButtonDropdown (omnilight)
- Enh #1611: Added
BaseActiveRecord::markAttributeDirty()(qiangxue) - Enh #1633: Advanced application template now works with MongoDB by default (samdark)
- Enh #1634: Use masked CSRF tokens to prevent BREACH exploits (qiangxue)
- Enh #1641: Added
BaseActiveRecord::updateAttributes()(qiangxue) - Enh #1646: Added postgresql
QueryBuilder::checkIntegrityandQueryBuilder::resetSequence(Ragazzo) - Enh #1645: Added
Connection::$pdoClassproperty (Ragazzo) - Enh #1645: Added support for nested DB transactions (qiangxue)
- Enh #1681: Added support for automatically adjusting the “for” attribute of label generated by
ActiveField::label()(qiangxue) - Enh #1706: Added support for registering a single JS/CSS file with dependency (qiangxue)
- Enh #1773: keyPrefix property of Cache is not restricted to alnum characters anymore, however it is still recommended (cebe)
- Enh #1809: Added support for building “EXISTS” and “NOT EXISTS” query conditions (abdrasulov)
- Enh #1839: Added support for getting file extension and basename from uploaded file (anfrantic)
- Enh #1852: ActiveRecord::tableName() now returns table name using DbConnection::tablePrefix (creocoder)
- Enh #1881: Improved
yii\bootstrap\NavBarwithcontainerOptions,innerContainerOptionsandrenderInnerContainer(creocoder) - Enh #1894: The path aliases
@webrootand@webare now available right after the application is initialized (qiangxue) - Enh #1921: Grid view ActionColumn now allow to name buttons like
{controller/action}(creocoder) - Enh #1973:
yii message/extractis now able to generate.pofiles (SergeiKutanov, samdark) - Enh #1984: ActionFilter will now mark event as handled when action run is aborted (cebe)
- Enh #2002: Added filterWhere() method to yii\db\Query to allow easy addition of search filter conditions by ignoring empty search fields (samdark, cebe)
- Enh #2003: Added
filterproperty toExistValidatorandUniqueValidatorto support adding additional filtering conditions (qiangxue) - Enh #2008:
yii message/extractis now able to save translation strings to database (kate-kate, samdark) - Enh #2043: Added support for custom request body parsers (danschmidt5189, cebe)
- Enh #2051: Do not save null data into database when using RBAC (qiangxue)
- Enh #2054: Added support for using custom application configuration with the console command runner (qiangxue)
- Enh #2079:
- i18n now falls back to
enfromen-USif message translation isn’t found (samdark) - View now falls back to
enfromen-USif file not found (samdark) - Default
sourceLanguageandlanguageare nowen(samdark)
- i18n now falls back to
- Enh #2101: Gii is now using model labels when generating search (thiagotalma)
- Enh #2102: DetailView now allow use
category.nameas attribute name (creocoder) - Enh #2102: DetailView now allow use custom label in string format like
name:format:label(creocoder) - Enh #2103: Renamed AccessDeniedHttpException to ForbiddenHttpException, added new commonly used HTTP exception classes (danschmidt5189)
- Enh #2124: Added support for UNION ALL queries (Ivan Pomortsev, iworker)
- Enh #2132: Allow url of CSS and JS files registered in yii\web\View to be url alias (cebe)
- Enh #2144:
Htmlhelper now supports rendering “data” attributes (qiangxue) - Enh #2156:
yii migratenow automatically createsmigrationsdirectory if it does not exist (samdark) - Enh #2211: Added typecast database types into php types (dizews)
- Enh #2240: Improved
yii\web\AssetManager::publish(),yii\web\AssetManager::getPublishedPath()andyii\web\AssetManager::getPublishedUrl()to support aliases (vova07) - Enh #2325: Adding support for the
X-HTTP-Method-Overrideheader inyii\web\Request::getMethod()(pawzar) - Enh #2364: Take into account current error reporting level in error handler (gureedo)
- Enh #2387: Added support for fetching data from database in batches (nineinchnick, qiangxue)
- Enh #2392: Added
addCssStyle(),removeCssStyle(),cssStyleFromArray()andcssStyleToArray()toHtml(qiangxue, kartik-v, Alex-Code) - Enh #2406: Added support for conditional validation (drenty, cebe, qiangxue)
- Enh #2411: Added Gii extension generator (schmunk42)
- Enh #2415: Added support for inverse relations (qiangxue)
- Enh #2417: Added possibility to set
dataTypefor$.ajaxcall in yii.activeForm.js (Borales) - Enh #2436: Label of the attribute, which looks like
relatedModel.attribute, will be received from the related model if it available (djagya) - Enh #2490:
yii\db\Query::count()and other query scalar methods now properly handle queries with GROUP BY clause (qiangxue) - Enh #2491: Added support for using the same base class name of search model and data model in Gii (qiangxue)
- Enh #2499: Added ability to downgrade migrations by their absolute apply time (resurtm, gorcer)
- Enh #2525: Added support for formatting file sizes with
yii\base\Formatter(VinceG) - Enh #2526: Allow for null values in batchInsert (skotos)
- Enh #2646: Added support for specifying hostinfo in the pattern of a URL rule (qiangxue)
- Enh #2661: Added boolean column type support for SQLite (qiangxue)
- Enh #2670: Changed
console\Controller::globalOptions()tooptions($actionId)to (make it possible to) differentiate options per action (hqx) - Enh #2714: Added support for formatting time intervals relative to the current time with
yii\base\Formatter(drenty) - Enh #2726: Added
yii\db\ActiveRecord::loadDefaultValues()that fills default values from DB schema (samdark) - Enh #2729: Added
FilterValidator::skipOnArrayso that filters liketrimwill not fail for array inputs (qiangxue) - Enh #2735: Added support for
DateTimeInterfaceinFormatter(ivokund) - Enh #2756: Added support for injecting custom
isEmptycheck for all validators (qiangxue) - Enh #2775: Added
yii\base\Application::bootstrapandyii\base\BootstrapInterfaceto support running bootstrap classes when starting an application (qiangxue) - Enh #2892: ActiveRecord dirty attributes are now reset after call to
afterSave()so information about changed attributes is available inafterSave-event (cebe) - Enh #2910: Added
Application::end()(qiangxue) - Enh: Added support for using arrays as option values for console commands (qiangxue)
- Enh: Added
favicon.icoandrobots.txtto default application templates (samdark) - Enh: Added
Widget::autoIdPrefixto support prefixing automatically generated widget IDs (qiangxue) - Enh: Support for file aliases in console command ‘message’ (omnilight)
- Enh: Sort and Pagination can now create absolute URLs (cebe)
- Enh: Added support for using array-typed arguments for console commands (qiangxue)
- Enh: Added support for installing packages conforming to PSR-4 standard (qiangxue)
- Enh: Better exception message when class cannot be loaded (samdark)
- Enh:
initof advanced application now allows to specify answer for overwriting files viainit --overwrite=n(samdark) - Enh: Added
TableSchema::fullNameproperty (qiangxue) - Enh: yii\codeception\TestCase now supports loading and using fixtures via Yii fixture framework (qiangxue)
- Enh: Added ability to get incoming headers (dizews)
- Enh: Added
beforeRun()andafterRun()toyii\base\Action(qiangxue) - Enh: Added support for using timeZone with
yii\base\Formatter(dizews) - Enh: Added
yii\web\View::POS_LOAD(qiangxue) - Enh: Added
yii\web\Response::clearOutputBuffers()(qiangxue) - Enh: Improved
QueryBuilder::buildLimit()to support big numbers (qiangxue) - Enh: Added support for building SQLs with sub-queries (qiangxue)
- Enh: Added
Pagination::getLinks()(qiangxue) - Enh: Added support for reading page size from query parameters by
Pagination(qiangxue) - Enh: LinkPager can now register relational link tags in the html header for prev, next, first and last page (cebe)
- Enh: Added
yii\web\UrlRuleInterfaceandyii\web\CompositeUrlRule(qiangxue) - Enh: Added
yii\web\Request::getAuthUser()andgetAuthPassword()(qiangxue) - Enh: Added summaryOptions and emptyTextOptions to BaseListView (johonunu)
- Enh: Implemented Oracle column comment reading from another schema (gureedo, samdark)
- Enh: Added support to allow an event handler to be inserted at the beginning of the existing event handler list (qiangxue)
- Enh: Improved action filter and action execution flow by supporting installing action filters at controller, module and application levels (qiangxue)
- Enh: Added
isAssociative()andisIndexed()toyii\helpers\ArrayHelper(qiangxue) - Enh: Added
addSelecttoyii\db\Query(Alex-Code) - Enh: Added ODBC support in
yii\db\Connection(nineinchnick, resurtm) - Chg #47: Changed Markdown library to cebe/markdown and adjusted Markdown helper API (cebe)
- Chg #735: Added back
ActiveField::hiddenInput()(qiangxue) - Chg #1186: Changed
Sortto use comma to separate multiple sort fields and use negative sign to indicate descending sort (qiangxue) - Chg #1519:
yii\web\User::loginRequired()now returns theResponseobject instead of exiting the application (qiangxue) - Chg #1564: Removed
yii\web\Session::autoStartand addedhasSessionId. Session will be automatically started when accessing session data (qiangxue) - Chg #1586:
QueryBuilder::buildLikeCondition()will now escape special characters and use percentage characters by default (qiangxue) - Chg #1610:
Html::activeCheckboxList()andHtml::activeRadioList()will submit an empty string if no checkbox/radio is selected (qiangxue) - Chg #1643: Added default value for
Captcha::options(qiangxue) - Chg #1796: Removed
yii\base\Controller::getActionParams()(samdark) - Chg #1835:
CheckboxColumnnow renders checkboxes whose values are the corresponding data key values (qiangxue) - Chg #1821: Changed default values for yii\db\Connection username and password to null (cebe)
- Chg #1844:
Response::sendFile()and other file sending methods will not send the response (qiangxue) - Chg #1852: DbConnection::tablePrefix default value now ‘tbl_’ (creocoder)
- Chg #1958:
beforeSubmitinyii.activeformis now executed after validation and before form submission (6pblcb) - Chg #2025: Removed ability to declare scopes in ActiveRecord (samdark)
- Chg #2043:
- Renamed
yii\web\Request::acceptedLanguagestoacceptableLanguages(qiangxue) - Removed
yii\web\Request::getPost(),getPut(),getDelete(),getPatch()in favor ofgetBodyParam()(cebe) - Renamed
yii\web\Request::get()togetQueryParams()andgetRestParams()togetBodyParams()(cebe) - Added
yii\web\Request::get($name = null, $defaultValue = null)andyii\web\Request::post($name = null, $defaultValue = null)(samdark)
- Renamed
- Chg #2059: Implemented git-flavored file excluding/filtering for
FileHelper(nineinchnick) - Chg #2063: Removed
yii\web\Request::acceptTypesand renamedyii\web\Request::acceptedContentTypestoacceptableContentTypes(qiangxue) - Chg #2103: Renamed AccessDeniedHttpException to ForbiddenHttpException (danschmidt5189)
- Chg #2146: Removed
ActiveRelationclass andActiveRelationInterface, moved the functionality toActiveQuery.All relational queries are now directly served by `ActiveQuery` allowing to use custom scopes in relationsand also to declare arbitrary queries as relations.Also removed `ActiveRecordInterface::createActiveRelation()` (cebe)
- Chg #2157: The ‘*’ category pattern will match all categories that do not match any other patterns listed in
I18N::translations(qiangxue, Ragazzo) - Chg #2161: Added ability to use
returninWidget::run(samdark) - Chg #2173: Removed
StringHelper::diff(), Movedphpspec/php-diffdependency fromyiisoft/yii2toyiisoft/yii2-gii(samdark) - Chg #2175: QueryBuilder will now append UNION statements at the end of the primary SQL (qiangxue)
- Chg #2210: Mysql driver will now treat
tinyint(1)as integer instead of boolean (qiangxue) - Chg #2248: Renamed
yii\base\Model::DEFAULT_SCENARIOtoyii\base\Model::SCENARIO_DEFAULT(samdark) - Chg #2281: Renamed
ActiveRecord::create()topopulateRecord()and changed signature. This method will not call instantiate() anymore (cebe) - Chg #2405: The CSS class of
MaskedInputnow defaults toform-control(qiangxue) - Chg #2426: Changed URL creation method signatures to be consistent (samdark)
- Chg #2516: Moved error handling from application to ErrorHandler class and fixed problems with HTTP Exception response code (cebe)
Yii::$app->exceptionhas now moved toYii::$app->errorHandler->exceptionyii\base\ErrorHandlerwas split intoyii\web\ErrorHandlerandyii\console\ErrorHandler
- Chg #2544: Changed
DetailView‘sname:format:labeltoattribute:format:labelto matchGridView(samdark) - Chg #2603:
yii\base\ErrorExceptionnow extends\ErrorException(samdark) - Chg #2629:
Module::controllerPathis now read only, and all controller classes must be namespaced underModule::controllerNamespace. (qiangxue) - Chg #2630: API changes for URLs generation (samdark, qiangxue, cebe)
- Added
yii\helpers\Url. - Removed
yii\helpers\Html::url, useyii\helpers\Url::toinstead. - Removed
yii\web\Controller::createUrlandyii\web\Controller::createAbsoluteUrl, useyii\helpers\Url::toRouteinstead. - Removed
yii\web\Controller::getCanonicalUrl, useyii\helpers\Url::canonicalinstead.
- Added
- Chg #2691: Null parameters will not be included in the generated URLs by
UrlManager(gonimar, qiangxue) - Chg #2734:
FileCache::keyPrefixdefaults to empty string now (qiangxue) - Chg #2796: Removed
Application::preloadin favor ofApplication::bootstrap(qiangxue) - Chg #2816: Changed default date and time format of
yii\base\FormattertoY-m-dandH:i:s(qiangxue) - Chg #2911: Removed
tbl_default for table prefix (samdark) - Chg #2912: Relative view files will be looked for under the directory containing the view currently being rendered (qiangxue)
- Chg #2955: Changed the signature of ActiveQuery constructors and replaced
ActiveRecord::createQuery()withfind()to simplify customizing ActiveQuery classes (qiangxue) - Chg #2999: Added
findOne()andfindAll()to replace the usage ofActiveRecord::find($condition). (samdark, qiangxue) - Chg: Renamed
yii\jui\Widget::clientEventsMaptoclientEventMap(qiangxue) - Chg: Renamed
ActiveRecord::getPopulatedRelations()togetRelatedRecords()(qiangxue) - Chg: Renamed
attributeNameandclassNametotargetAttributeandtargetClassforUniqueValidatorandExistValidator(qiangxue) - Chg: Added
yii\widgets\InputWidget::options(qiangxue) - Chg: Changed the signature of
urlCreatorand button creators foryii\gridview\ActionColumn(qiangxue) - Chg: Updated HTMLPurified dependency to
4.6.*. - Chg: Changed Yii autoloader to support loading PSR-4 classes only (i.e. PEAR-styled classes not supported anymore) (qiangxue)
- 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)
- Chg: Advanced app template: moved database connection DSN, login and password to
-localconfig not to expose it to VCS (samdark) - Chg: Renamed
yii\web\Request::acceptedLanguagestoacceptableLanguages(qiangxue) - Chg: Removed implementation of
Arrayablefromyii\Object(qiangxue) - Chg: The scripts in asset bundles are now registered in
Viewat the end ofendBody(). It was done inendPage()previously (qiangxue) - Chg: Renamed
csrf-vartocsrf-paramfor CSRF header name (Dilip) - Chg: The directory holding email templates is renamed from
mailstomail(qiangxue) - Chg: Renamed properties
fooVartofooParamfor various classes (qiangxue)- Renamed
ActiveForm::ajaxVartoajaxParam - Renamed
Pagination::pageVartopageParam - Renamed
Sort::sortVartosortParam - Renamed
yii\web\Request::csrfVartocsrfParam - Renamed
yii\web\Request::methodVartomethodParam - Renamed
UrlManager::routeVartorouteParam - Renamed
yii\web\Session::flashVartoflashParam - Renamed
yii\web\User::idVartoidParam - Renamed
yii\web\User::authTimeoutVartoauthTimeoutParam - Renamed
yii\web\User::returnUrlVartoreturnUrlParam
- Renamed
- Chg: Added
View::viewFileand removedViewEvent::viewFile(qiangxue) - Chg: Changed
Controller::afterAction(),Module::afterAction()andActionFilter::afterAction()to pass$resultby value instead of reference (qiangxue) - Chg:
yii\base\Extension::init()is renamed tobootstrap()(qiangxue) - Chg:
getComponent()andsetComponent()inApplicationandModuleare renamed toget()andset()respectively. (qiangxue) - Chg: The signature of
Yii::createObject()is changed. Constructor parameters must be passed as the second parameter. (qiangxue) - Chg:
Yii::$objectConfigis removed. You should useYii::$container->set()to configure default settings of classes. (qiangxue) - Chg: Removed
yii\grid\Column::getDataCellContent()and renamedyii\grid\DataColumn::getDataCellContent()toyii\grid\DataColumn::getDataCellValue()(cebe) - Chg:
yii\log\Loggeris split intoyii\log\Loggerandyii\log\Dispatcher. (qiangxue) - Chg: Moved all filter classes to namespace
yii\filters(qiangxue) - Chg: Re-implemented RBAC by following more closely to the original NIST RBAC model. Dropped
yii\rbac\PhpManager. (qiangxue) - Chg: Renamed
yii\web\User::checkAccess()toyii\web\User::can()(qiangxue) - New #66: Auth client library OpenId, OAuth1, OAuth2 clients (klimov-paul)
- New #303: Added built-in support for REST API (qiangxue)
- New #503: Added
yii\di\Containerandyii\di\ServiceLocator(qiangxue) - New #706: Added
yii\widgets\Pjaxand enhancedGridViewto work withPjaxto support AJAX-update (qiangxue) - New #1393: Codeception testing framework integration (Ragazzo)
- New #1438: MongoDB integration ActiveRecord and Query (klimov-paul)
- New #1956: Implemented test fixture framework (qiangxue)
- New #2034: Added
ContentNegotiatorto support response format and language negotiation (qiangxue) - New #2149: Added
yii\base\DynamicModelto support ad-hoc data validation (qiangxue) - New #2360: Added
AttributeBehaviorandBlameableBehavior, and renamedAutoTimestamptoTimestampBehavior(lucianobaraglia, qiangxue) - New #2932: Added
yii\web\ViewActionthat allow you to render views based on GET parameter (samdark) - New #2998: Added
framework\log\SyslogTargetthat is able to write log to syslog (miramir, samdark) - New #3029: Added
yii\bootstrap\ActiveFormandyii\bootstrap\ActiveField(mikehaertl) - New: Yii framework now comes with core messages translated into 26 languages, many thanks to all our translators!
- New: Added
yii\codeception\DbTestCase(qiangxue) - New: Added
yii\web\GroupUrlRule(qiangxue) - New: Added
yii\filters\RateLimiter(qiangxue) - New: Added various authentication methods, including
HttpBasicAuth,HttpBearerAuth,QueryParamAuth, andCompositeAuth(qiangxue) - New: Added
HtmlResponseFormatterandJsonResponseFormatter(qiangxue)
2.0.0-alpha, December 1, 2013
- Initial release.
Official extensions released in this version:
- Twitter bootstrap 3.0
Elasticsearch integration: ActiveRecord and Query
- Redis integration: ActiveRecord, Cache and Session
Sphinx integration: ActiveRecord and Query
- Twig View Renderer
