NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #1127 most downloaded on Packagist
Yii PHP Framework Version 2
Last release 4 months ago
09 May 2026
Ships fairly regularly
a new release about every 4 months
Nearly every release is documented
notes for 54 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
80 releases · first in 2013
Nothing published for this version
Bug #19925: Improved PHP version check when handling MIME types (schmunk42)
Bug #19950: Fix Query::groupBy(null) causes error for PHP 8.1: trim(): Passing null to parameter #1 ($string) of type string is deprecated (uaoleg)
Query::groupBy(null) causes error for PHP 8.1: trim(): Passing null to parameter #1 ($string) of type string is deprecated (uaoleg)One column per quarter.
Bug #19847: Fix regression introduced in #15376 that caused DbManager::getRolesByUser() to return stale data (michaelarnauts)
DbManager::getRolesByUser() to return stale data (michaelarnauts)Bug #18634: Fix yii\db\BaseActiveRecord::unlink() and unlinkAll() to omit condition for on property when it doesn't exist (bizley)
yii\db\BaseActiveRecord::unlink() and unlinkAll() to omit condition for on property when it doesn't exist (bizley)Bug #18545: Reversed changes made to the yii\db\Query::all() and indexBy handling (bizley)
yii\db\Query::all() and indexBy handling (bizley)Bug #18396: Fix not throw InvalidConfigException when failed to instantiate class via DI container in some cases (vjik)
InvalidConfigException when failed to instantiate class via DI container in some cases (vjik)maxlength attribute by default to the input text when it is an active field within a yii\grid\DataColumn (rad8329)Bug #18378: Fix not taking default value when unable to resolve abstract class via DI container (vjik)
Bug #18373: Fix not taking default value when unable to resolve non-existing class via DI container (vjik)
null value in yii\data\DataFilter (bizley)Bug #17089: Fixed caching of related records when via() using with callable (rugabarbo)
via() using with callable (rugabarbo)yii\helpers\BaseInflector::camel2words() splitting ALLCAPS words on each letter (brandonkelly)DataProvider::totalCount (samdark)Bug #15931: yii\db\ActiveRecord::findOne() now accepts column names prefixed with table name (cebe)
yii\db\ActiveRecord::findOne() now accepts column names prefixed with table name (cebe)Bug #15817: Fixed support of deprecated array format type casting in yii\db\Command::bindValues() (silverfire)
yii\db\QueryBuilder::conditionClasses setter (silverfire)has-error CSS class assignment in yii\widgets\ActiveField when attribute name is prefixed with tabular index (FabrizioCaldarelli)null values handling for PostgresSQL arrays (silverfire)yii\db\Command::bindValues() (silverfire)yii\base\Component::off() not to throw an exception when handler does not exist (silverfire)yii\db\ArrayExpression, yii\db\JsonExpression (silverfire)yii\db\mysql\JsonExpressionBuilder to cast JSON explicitly (silverfire)Undefined offset error calling yii\helpers\Html::errorSummary() with the same error messages for different model attributes (FabrizioCaldarelli, silverfire)null attribute value for JSON and Array columns in MySQL and PostgreSQL (silverfire)yii\db\ArrayExpression for PostgreSQL (silverfire)Bug #15318: Fixed session_name(): Cannot change session name when session is active errors (bscheshirwork, samdark)
session_name(): Cannot change session name when session is active errors (bscheshirwork, samdark)resetForm() method in yii.activeForm.js which used an undefined variable (Izumi-kun)yii\validators\ExistValidator to respect filter when targetRelation is used (developeruz)yii\filters\auth\HttpHeaderAuth to work correctly when pattern is set but was not matched (bboure)yii\db\ActiveRecord (developeruz)yii\db\Command::upsert() for Cubrid/MSSQL/Oracle (sergeymakinen)yii\console\controllers\BaseMigrateController for comment option from -c to -C due to conflict (Izumi-kun)Query::select() method (silverfire)yii\helpers\BaseHtml::setActivePlaceholder() to be consistent with activeLabel() (edwards-sj)disableJsonSupport to MySQL and PgSQL ColumnSchema, disableArraySupport and deserializeArrayColumnToArrayExpression to PgSQL ColumnSchema (silverfire)\Traversable in yii\db\ArrayExpression (silverfire)ArrayAccess support as validated value in yii\validators\EachValidator (silverfire)Nothing published for this version
Nothing published for this version
Bug #15081: Fixed "Undefined offset: 1" in log Target (ischenko)
yii\db\Schema::getSchemaNames() for MSSQL and added tests for all DBMSes (sergeymakinen)Nothing published for this version
Nothing published for this version
Bug #13501: Fixed yii\rbac\DbManager::getRule() and yii\rbac\DbManager::getRules() to properly handle resource data came from Rule table when using Po
yii\rbac\DbManager::getRule() and yii\rbac\DbManager::getRules() to properly handle resource data came from Rule table when using PostgreSQL (StalkAlex)yii\validators\ExistValidator::$targetAttribute (developeruz)Bug #11502: Fixed yii\console\controllers\MessageController to properly populate missing languages in case of extraction with "db" format (bizley)
yii\console\controllers\MessageController to properly populate missing languages in case of extraction with "db" format (bizley)Yii::t() tags and restored missing translations for el, fa, ja, ru, and sk (cebe, softark)Your coding agent can read these notes before it upgrades. Set up the MCP server →