-
Bug #1265: AssetController does not override 'js' and 'css' for compressed bundles (klimov-paul)
-
Bug #1326: The
visible
setting forDetailView
doesn't work as expected (qiangxue) -
Bug #1412:
FileValidator
andImageValidator
still triggeruploadRequired
error in some case whenskipOnEmpty
is 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
enableAutoLogin
to 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\SliderInput
wasn'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.
TRUNCATE
changed toDELETE
to 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 --env
when called without parameter actually specified (samdark) -
Bug #1959:
Html::activeCheckbox
wasn'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\DataColumn
generates 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::pathMap
did 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: Fixed
Call to a member function registerAssetFiles() on a non-object
in case of wrongsourcePath
for 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::getModuleCommands
issue where it attempts to scan a module's controller directory when it doesn't exist (jom) -
Bug: Fixed an issue with Filehelper and not accessable directories which resulted in endless loop (cebe)
-
Bug: Fixed
$model->load($data)
returnedtrue
if$data
andformName
were empty (samdark) -
Enh #46: Added Image extension based on Imagine library (tonydspaniard)
-
Enh #364: Improve Inflector::slug with
intl
transliteration. Improved transliteration char map. (tonydspaniard) -
Enh #797: Added support for validating multiple columns by
UniqueValidator
andExistValidator
(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 #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::controller
property to support customizing the controller for handling GridView actions (qiangxue) -
Enh #1523: Query conditions now allow to use the NOT operator (cebe)
-
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::checkIntegrity
andQueryBuilder::resetSequence
(Ragazzo) -
Enh #1645: Added
Connection::$pdoClass
property (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\NavBar
withcontainerOptions
,innerContainerOptions
andrenderInnerContainer
(creocoder) -
Enh #1894: The path aliases
@webroot
and@web
are 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/extract
is now able to generate.po
files (SergeiKutanov, samdark) -
Enh #1984: ActionFilter will now mark event as handled when action run is aborted (cebe)
-
Enh #2003: Added
filter
property toExistValidator
andUniqueValidator
to support adding additional filtering conditions (qiangxue) -
Enh #2008:
yii message/extract
is 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
en
fromen-US
if message translation isn't found (samdark) - View now falls back to
en
fromen-US
if file not found (samdark) - Default
sourceLanguage
andlanguage
are 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.name
as 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:
Html
helper now supports rendering "data" attributes (qiangxue) -
Enh #2156:
yii migrate
now automatically createsmigrations
directory 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-Override
header 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 #2417: Added possibility to set
dataType
for$.ajax
call 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: Added support for using arrays as option values for console commands (qiangxue)
-
Enh: Added
favicon.ico
androbots.txt
to default application templates (samdark) -
Enh: Added
Widget::autoIdPrefix
to 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:
init
of advanced application now allows to specify answer for overwriting files viainit --overwrite=n
(samdark) -
Enh: Added
TableSchema::fullName
property (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)
-
Chg #1186: Changed
Sort
to use comma to separate multiple sort fields and use negative sign to indicate descending sort (qiangxue) -
Chg #1519:
yii\web\User::loginRequired()
now returns theResponse
object instead of exiting the application (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:
CheckboxColumn
now 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:
beforeSubmit
inyii.activeform
is 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::acceptedLanguages
toacceptableLanguages
(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 #2057: AutoTimestamp attributes defaults changed from
create_time
andupdate_time
tocreated_at
andupdated_at
(creocoder) -
Chg #2059: Implemented git-flavored file excluding/filtering for
FileHelper
(nineinchnick) -
Chg #2063: Removed
yii\web\Request::acceptTypes
and renamedyii\web\Request::acceptedContentTypes
toacceptableContentTypes
(qiangxue) -
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
return
inWidget::run
(samdark) -
Chg #2173: Removed
StringHelper::diff()
, Movedphpspec/php-diff
dependency fromyiisoft/yii2
toyiisoft/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_SCENARIO
toyii\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
MaskedInput
now defaults toform-control
(qiangxue) -
Chg: Renamed
yii\jui\Widget::clientEventsMap
toclientEventMap
(qiangxue) -
Chg: Renamed
ActiveRecord::getPopulatedRelations()
togetRelatedRecords()
(qiangxue) -
Chg: Renamed
attributeName
andclassName
totargetAttribute
andtargetClass
forUniqueValidator
andExistValidator
(qiangxue) -
Chg: Added
yii\widgets\InputWidget::options
(qiangxue) -
Chg: Changed the signature of
urlCreator
and 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
andyii
files to point to the new location ofYii.php
(qiangxue, cebe) -
Chg: Advanced app template: moved database connection DSN, login and password to
-local
config not to expose it to VCS (samdark) -
Chg: Renamed
yii\web\Request::acceptedLanguages
toacceptableLanguages
(qiangxue) -
Chg: Removed implementation of
Arrayable
fromyii\Object
(qiangxue) -
Chg: Renamed
ActiveRecordInterface::createActiveRelation()
tocreateRelation()
(qiangxue) -
Chg: The scripts in asset bundles are now registered in
View
at the end ofendBody()
. It was done inendPage()
previously (qiangxue) -
Chg: Renamed
csrf-var
tocsrf-param
for CSRF header name (Dilip) -
Chg: The directory holding email templates is renamed from
mails
tomail
(qiangxue) -
Chg: Renamed properties
fooVar
tofooParam
for various classes (qiangxue)- Renamed
ActiveForm::ajaxVar
toajaxParam
- Renamed
Pagination::pageVar
topageParam
- Renamed
Sort::sortVar
tosortParam
- Renamed
yii\web\Request::csrfVar
tocsrfParam
- Renamed
yii\web\Request::methodVar
tomethodParam
- Renamed
UrlManager::routeVar
torouteParam
- Renamed
yii\web\Session::flashVar
toflashParam
- Renamed
yii\web\User::idVar
toidParam
- Renamed
yii\web\User::authTimeoutVar
toauthTimeoutParam
- Renamed
yii\web\User::returnUrlVar
toreturnUrlParam
- Renamed
-
New #66: Auth client library OpenId, OAuth1, OAuth2 clients (klimov-paul)
-
New #706: Added
yii\widgets\Pjax
and enhancedGridView
to work withPjax
to 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 #2149: Added
yii\base\DynamicModel
to support ad-hoc data validation (qiangxue) -
New: Yii framework now comes with core messages in multiple languages
-
New: Added yii\codeception\DbTestCase (qiangxue)
- Initial release.
- Official extensions released in this version:
-
Elasticsearch integration: ActiveRecord and Query
-
Redis integration: ActiveRecord, Cache and Session
-
Sphinx integration: ActiveRecord and Query