yiisoft/yii
Yii Web Programming Framework
1.1.32
6.1M downloads/mo
#2516 most downloaded on Packagist
yiisoft/yii
What this package is like to depend on
Last release 8 months ago
23 Dec 2025
Ships fairly regularly
a new release about every 9 months
Nearly every release is documented
notes for 19 of 19 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
20 releases · first in 2013
1 release in the last 12 months
see the full history below
Release timeline
20 releases · Jul 2013 to Dec 2025
2014
2016
2018
2020
2022
2024
2026
Releases
latest 20-
1.1.3223 Dec 2025Release notes
Open source →- Enh #4587: Add socket connection support to
CRedisCache(mateusmetzker) - Bug #4578: PHP 8.4 compatibility: Fix deprecation in session_set_save_handler() (efhsg)
- Bug #4573: PHP 8 compatibility: Fix deprecation warning in CArrayDataProvider (efhsg)
- Bug #4591: Fix deprecation in
CCaptchaActionfor PHP 8.1+ (rob006)
- Enh #4587: Add socket connection support to
-
1.1.3110 Apr 2025Release notes
Open source →- Bug #4579: Fix Czech translation for "not equal to" validation message in CCompareValidator (karelvasicek)
- Bug #4570: Fix regression in jquery-bbq introduced in Yii 1.1.30 (kevin-foster-uk)
- Bug #4584: Fix a hungarian translation (albertborsos)
- Bug: CVE-2025-32027. Prevent XSS in scenarios where fallback error renderer is used (samdark, marcovtwout)
-
1.1.3014 Oct 2024Release notes
Open source →- Bug #4547: PHP 8 compatibility: Fix deprecation in CCaptcha when using Imagick extension (apphp)
- Bug #4541: PHP 8 compatibility: Fix deprecation in MarkdownParser (mdeweerd)
- Bug #4544: PHP 8 compatibility: Fix deprecation in CLocale (apphp)
- Bug #4566: PHP 8 compatibility: Fix passing null to string parameter parameter (apphp)
- Bug #4563: CVE-2021-20086. Prevent prototype pollution in jquert-bbq (kevin-foster-uk)
- Enh #4552: Added support for PHP 8.3 (sandippingle, ThePepster, marcovtwout)
- Enh #4559: Added support for Redis ACL authentication with username for Redis 6+ (arfeen)
- Enh #4568: Add missing hungarian translations (albertborsos)
-
1.1.2914 Nov 2023Release notes
Open source →- Bug #4516: PHP 8 compatibility: Allow union types and intersection types in action declarations (wtommyw)
- Bug #4523: Fixed translated in Greek class messages in framework requirements view, which they should not be translated (lourdas)
- Bug #4534: PHP 8.2 compatibility: Fix deprecated dynamic properties in gii/components/Pear/Text/Diff (mdeweerd, marcovtwout)
- Bug: CVE-2023-47130. Prevent RCE when deserializing untrusted user input (ma4ter222, marcovtwout)
- Enh #4529: Exceptions thrown while loading fixture file rows now contain more details (eduardor2k)
- Enh #4533: Various refactorings applied based on PHAN checks (marcovtwout)
-
1.1.2828 Feb 2023Release notes
Open source →Release notes
Open source →- Bug #4484: Set Last-Modified after sending cache control headers (jannis701, wtommyw)
- Bug #4491: Fixed limit and Offset not working correctly with MSSQL version 11 (2012) and newer (shnoulle, wtommyw)
- Bug #4497: PHP 8.1 compatibility: Fix unserialize null in CRedisCache (kenguest, wtommyw)
- Bug #4499: PHP 8.1 compatibility: Fix deprecation warning in COciSchema (marcovtwout)
- Bug #4500: PHP 8.1 compatibility: Fix deprecation warnings in CMysql classes (csears123)
- Bug #4507: PHP 8.1 compatibility: Fix deprecation warning in CWebUser (marcovtwout, wtommyw)
- Enh #4490: Added support for PostgreSQL 15 (sternix, marcovtwout)
- Enh #4503: Update tests and code for PHP 8.1 compatibility, stop suppressing deprecation warnings in tests (wtommyw)
- Enh #4505: Added support for PHP 8.2 (wtommyw)
-
1.1.2721 Nov 2022Release notes
Open source →- Bug: PHP 8.1 compatibility: Fix CFileCache call of file_get_contents (Bregi)
- Bug: CVE-2022-41922. Prevent RCE when deserializing untrusted user input (fi3wey, marcovtwout)
-
1.1.2630 Sep 2022Release notes
Open source →- Bug #4453: Alpine Linux compatibility: Avoid using
GLOB_BRACEinCFileHelper::removeDirectory(ivany4) - Enh #4386: Added support for PHP 8.1 (marcovtwout, JonathanArgentao, ivany4, csears123)
- Enh #4386: Updated HTMLPurifier to version 4.15.0 for PHP 8.1 support (https://github.com/ezyang/htmlpurifier/blob/v4.15.0/NEWS) (marcovtwout)
- Enh #4392: Added support for SSL to CRedisCache (andres101)
- Bug #4453: Alpine Linux compatibility: Avoid using
-
1.1.2513 Dec 2021Release notes
Open source →- Bug #4226: Fix for Gii diff displaying "reset() expects parameter 1 to be array, integer given" (LeoZandvliet, marcovtwout)
- Bug #4369: PHP 8.0 compatibility: Fix warning "Only the first byte will be assigned to the string offset" when generating code with Gii (marcovtwout)
- Bug #4374: Fix for createUpdateCommand which did not accept just a table name when using MSSQL (c-schmitz)
- Bug #4380: Prevent fatal errors while validating CSRF token of malformed requests (rob006)
- Bug #4382: PHP 8.0 compatibility: Fix CFileLogRoute throwing TypeError when logfile cannot be opened (marcovtwout)
-
1.1.2407 Jun 2021Release notes
Open source →Release notes
Open source →- Bug #4339: "There is no active transaction" when transaction is autocommitted (twisted1919)
- Bug #4343: Fix "driver does not support quoting" when using the driver pdo_odbc (xpohoc69)
- Bug #4355: Fix errorhandler missing backtrace entries (georaldc, marcovtwout)
- Enh #4349: Added CHtml option to omit type attribute from <script> tag (mohamedmalki, marcovtwout)
- Enh #4351: Added CHtml option to omit CDATA wrapper from <script> and <style> contents (marcovtwout)
- Enh #4354: Allow to set log file permissions for CFileLogRoute (jdayamx)
- Chg #4344: Upgraded jQuery to 1.12.4 (marcovtwout)
- Chg #4344: Upgraded jQuery UI to 1.12.1 (marcovtwout)
-
1.1.2302 Dec 2020Release notes
Open source →- Bug #4291: The scheme (protocol) is deleted when validateIDN is enabled after validation (Argevollen)
- Bug #4306: Add PHP 8 support (samdark)
- Bug #4310: Items on memcache won't expire due to memcache difference in internal clock (nikolasr200)
- Bug #4325: Add support for unicode strings beyond the BMP (like emojies) in
CJavaScript::encode()(marcovtwout) - Bug: Fix CFileHelper::findFiles() to use correct directory separator under Windows (samdark)
- Enh #4305: PHP 7.3 compatibility: Support giving cookies a SameSite=None attribute value (tomfotherby)
- Enh #4308: PHP 7.3 compatibility: Add
samesiteas a session cookie option (tomfotherby) - Enh #4314: Exceptions thrown while loading fixtures now contain details about the error location (BBoom)
- Enh #4314: Missing fixture files now throw exceptions (BBoom)
- Enh #4315: Added change triggers to clickable checkbox rows in grid views, allowing other script to react to the changed checkbox states (BBoom)
- Enh #4317: Added special option 'encode' to
$htmlOptionsargument inCHtml::errorSummaryandCHtml::error(shidenko97) - Enh #4323: Add PostgreSQL 12 support (bio, d4rkstar, marcovtwout)
- Chg #4293: Updated HTMLPurifier to version 4.13.0 (https://github.com/ezyang/htmlpurifier/blob/v4.13.0/NEWS) (marcovtwout)
-
1.1.2216 Jan 2020Release notes
Open source →- Bug #4256: PHP 7 compatibility: PHP4 style constructor in Pear/Text/Diff3.php (kenguest)
- Bug #4256: PHP 7 compatibility: Fixed deprecated usage of create_function() in markdown.php (samdark)
- Bug #4261: PHP 7.2 compatibility: INTL_IDNA_VARIANT_2003 has been depreacated (machour)
- Bug #4261: Updated HTMLPurifier to version 4.10.0 (https://github.com/ezyang/htmlpurifier/blob/v4.10.0/NEWS) (machour)
- Bug #4279: PHP 7.4 compatibility: Drop use of accessing string offsets using curly braces (kenguest)
- Enh #4273: PHP 7.3 compatibility: Add "sameSite" support for cookies (thekonz)
-
1.1.2102 Apr 2019Release notes
Open source →- Bug #4220: Fixed PHP 7.2 incompatibility caused by the use of
create_functionin CHttpRequest and CProfileLogRoute (martinpetrasch, freezy-sk) - Bug #4227: Fixed PHPUnit 6 compatibility (gianniszach)
- Bug #4229: Remove deprecation errors from framework/web/js/source/jquery.yiiactiveform.js when using jQuery 3.1.1 (kenguest)
- Bug #4234: CVE-2018-14773. Drop support for HTTP_X_REWRITE_URL (kenguest)
- Bug #4238: Fixed intolerance to nulls in
CJavaScript::quote()(stevoh6, ddziaduch) - Chg #4236: Freeze session before changing ini settings to be compatible with PHP 7.2 (vxk7m)
- Bug #4220: Fixed PHP 7.2 incompatibility caused by the use of
-
1.1.2006 Jul 2018Release notes
Open source →- Bug #4162: Adjusted Zend Escaper to be compatible with PHP <5.3 and fixed usage of non-existing Exceptions (cebe)
- Bug #4167: Fixed PHP 7.2 incompatibility of "count()" in
CActiveFinderand CController::renderDynamic() (softark, ThePepster) - Bug #4168: Fixed
CDbHttpSessionPHP 7.1 compatibility (csears123) - Bug #4179: Fixed MariaDB 10.2 current_timestamp() (yaBliznyk)
- Bug #4182: CSecurityManager requires mcrypt extension to work, and for PHP 7.2 we need to install it from pecl (sergey-dryabzhinsky)
- Bug #4191: Fixed "Headers already sent." error in CHttpSession (daniel1302)
- Bug #4191: Fixed "CHtml::value() behaves differently for objects" for PHP 7.2 (daniel1302)
- Bug #4197: Fixed PHP 7.2 assert with string argument is deprecated warning using Gii (ThePepster)
- Bug #4198: Fixed PHP 7.2 SQLSRV lastInsertId (agusdrs)
- Bug #4203: Fixed
CHttpCacheFilter::sendCacheControlHeaderPHP 7.2 compatibility (b1rdex) - Enh #4191: Added option for filter classes loaded by YiiBase autoloader (daniel1302)
- Chg #4160: Updated HTMLPurifier to version 4.9.3 (takobell)
-
1.1.1908 Jun 2017Release notes
Open source →- Bug #4155: Ignore PHP 7.1 warnings about deprecated mcrypt (samdark)
- Bug #4156: Timeout in checkMxPorts of mail validator is now configurable (kenguest, samdark)
- Enh: Fixed PHPUnit 6 compatibility (samdark)
- Enh: Reworked model error escaping to escape on output rather than in validators directly (Zaffy, samdark)
-
1.1.1819 Apr 2017Release notes
Open source →- Bug #4004: Better fix for PostgreSQL Session storage (GuillaumeSmaha)
- Bug #4015: Fixed bug with missing "disabled" attribute in internally rendered hidden fields (rob006)
- Bug #4020: Fixed PHP 7 related bug in CCacheHttpSession when destroying not cached sessions (dirx)
- Bug #4034: Fixed
CHttpSession::getIsStarted()PHP 7 compatibility (tomotomo) - Bug #4043: Fixed
CJavaScript::quote()to properly escape Unicode characters (samdark) - Bug #4061: Fixed "Fatal Error: Nesting level too deep - recursive dependency" error in
CArrayDataProvider(kf99916, andrewnester) - Bug #4064: Fixed CHtml::beginForm which produced wrong HTML when using an anchor in the action URL of a GET form (Mytskine)
- Bug #4069: Fixed error with
eCRedisCache::executeCommand()when the previous connection timeout exception was catched (taobig) - Bug #4104: Fixed PHP 7 compatibiltiy in Text_Highlighter (samdark)
- Bug #4111: Fixed PHP 7.1 incompatibility with CFileCache when
$embedExpiry=false(cebe) - Bug #4130: Fixed PHP 7 added an interception of the ParseError exception for the eval() usage (devcommiter)
- Bug #4133: Fixed PHP 7 usage of the func_get_args() functions in YiiBase.php (devcommiter)
- Enh #2819: backported masking of CSRF tokens from Yii 2.0 (samdark)
- Enh #4049: Added '//' as a proper beginning of absolute URL in createAbsoluteUrl() method (ksowa)
- Enh #4075: Added CClientScript::hasPackage() (samdark)
- Chg #4033: Updated Pear/Text used by Gii so it's PHP 7 compatible (samdark)
- Chg #4103: Updated HTMLPurifier to version 4.9.2 (samdark)
- Chg: Updated Text_Highlighter to version 0.7.3 (samdark)
- Chg: Fixed PHP 7.1 incompatibility in Text_Highlighter (cebe)
-
1.1.1713 Jan 2016Release notes
Open source →- Bug #1191: Fixed undefined index in CListIterator when data removed in parent CList (steven-hadfield)
- Bug #2881: CGridView was blocking refresh on filter field change event after previous filtering using ENTER key (sivir)
- Bug #2921: Fixed CStatePersister read/write concurrency issue causing state data corruption (matteosistisette, samdark)
- Bug #2993: Fixed MySQL datetime fields can have default CURRENT_TIMESTAMP (tomvdp)
- Bug #3144: Fixed regression introduced in 1.1.16, whitespace before and after attributes in validation rules where not ignored (cebe)
- Bug #3458: Fixed CGridView with enableHistory breaks queries containing '&' characters (nkovacs)
- Bug #3476: Database sessions with Postgres did not work properly (c-schmitz)
- Bug #3497: CErrorHandler messages for HTTP response codes were not matching RFCs (TeMPOraL)
- Bug #3637: Fixed not quoting primary key in count statements (applee)
- Bug #3696: Fixed broken case insensitiveness for Active Record count expressions introduced with fixed #268 (xt99)
- Bug #3700: Undefined variable
$acceptedLanguageinCHttpRequest::getPreferredLanguage()(cebe, ddebin) - Bug #3704: Fixed
CSecurityManagerto work properly is casecryptAlgorithmspecified as array (samdark) - Bug #3715:
CSecurityManager::legacyDecryptin version 1.1.16 was not compatible with 1.1.15 method (DanaLuther) - Bug #3724: Fixed namespace prefix in WSDL generator for arrayType. (ametad)
- Bug #3757: Fixed regression in 1.1.16
CPgsqlSchema::dropIndex()(samdark) - Bug #3764: Fixed regression in 1.1.16,
CEmailValidator::validateValue()should not allow empty values to pass (cebe) - Bug #3833: Fixed
CHttpRequest::sendFile()range support in casembstring.internal_encoding=UTF-8(MonkeyMaster) - Bug #3869: jQuery Yii GridView now doesn't fail when refreshing grid via POST request (a-t)
- Bug #3879: Numeric labels in CBreadCrumbs reindex after using array_merge (AloneCoder)
- Bug #3890: Ensured forward compatibility of
CWebService::getMethodName()(samdark) - Bug #3947: Fix error with
array_diffwhen one of CDbCriteria->select contains "false" (askobara, cebe) - Bug #3974: Fixed warning when request parameter contains array (cmazx)
- Bug #3976: Fixed MSSQL command builderto comply with the DELETE command syntax (odalecne)
- Bug #3980: Fixed CRedisCache error when using
mbstring.func_overloadand UTF-8 asmbstring.internal_encoding(Lexx918) - Enh #2399: It is now possible to use table names containing spaces by introducing alias (devivan)
- Enh #3457: CHttpRequest can now detect content type and decode JSON in REST method bodies. (Sibilino)
- Enh #3686: Wrapper div of hidden fields in CForm now have style
display:noneinstead ofvisibility:hiddento not affect the layout (cebe, alaabadran) - Enh #3738: It is now possible to override the value of 'required' html option in
CHtml::activeLabelEx()(matteosistisette) - Enh #3812: Added 'validateValue' method to 'CBooleanValidator' class (UA2004)
- Enh #3827: Added the $options parameter to be used in stream_socket_client in CRedisCache.
- Enh #3872: Added database-based StatePersister implementation (AloneCoder)
- Enh #3948: Enhanced CHttpRequest path info extraction for compatibility with PHP 7 (dmitrivereshchagin)
- Enh #3949: Added
$overwriteAllargument toCConsoleCommand::copyFiles()which can be set to true in noninteractive commands (dmitrivereshchagin) - Enh #3995: CAuthManager is now able to silence errors when using PHP 7 (samdark)
- Enh #3998: Improved PHP 7 compatibility for CTimestampBehavior and CChoiceFormat, and for Travis CI (softark)
- Enh: CApcCache is now able to handle PHP 7 APCu (samdark)
- Chg #3776: Autoloader now doesn't error in case of non-existing namespaced classes so other autoloaders have chance to handle these (alexandernst)
-
1.1.1621 Dec 2014Release notes
Open source →- Bug #264: Fixed wrong timestamp precision value in postgres schema (nineinchnick)
- Bug #268: Fixed Active Record count error when some field name starting from 'count' (nineinchnick)
- Bug #788: createIndex is not using the recommended way to create unique indexes on Postgres (nineinchnick)
- Bug #1257: CFileValidator is no longer unsafe by default to prevent setting arbitrary values. Instead, when no file is uploaded attribute is set to null (marcovtwout)
- Bug #1635: CDateFormatter::format() with 'ZZZZZ' pattern used to return timezone in RFC 822 format, now returns in ISO 8601 format as it stated in CLDR (resurtm)
- Bug #2235: CPgsqlColumnSchema can't parse default value for numeric field (cebe, pavimus)
- Bug #2376: CHttpSession::regenerateID() now checks if session is started before regenerating session ID (samdark)
- Bug #2378: CActiveRecord::tableName() in namespaced model returned fully qualified class name (velosipedist, cebe)
- Bug #2519: CGridView and CListView fixed to be able handling special characters if history is enabled (klimov-paul)
- Bug #2594: CLogRouter::processLogs() now ensures to clear the Logger messages so nothing is logged twice when method is called multiple times (cebe)
- Bug #2654: Allow CDbCommand to compose queries without 'from' clause (klimov-paul)
- Bug #2658: CBaseListView, CGridView, CListView: added note about $itemsCssClass and $pagerCssClass properties, they must not contain empty string, null or false values (resurtm)
- Bug #2969: CPgsqlSchema::addColumn() converts column type twice (cebe, klimov-paul)
- Bug #2741: Updated CHtml to add maxlength support to all HTML5 fields (ggirtsou)
- Bug #2753: Fixed CErrorHandler::errorAction ignored if error occurs while AJAX request (klimov-paul)
- Bug #2756: Fixed applying condition twice during Active Record relation lazy loading (klimov-paul)
- Bug #2770: Fixed CClientScript renders scripts with different HTML options inside same tag (klimov-paul)
- Bug #2778: Fixed throwing unnecessary exception in CFileValidator when validating MIME types for a file upload that failed (Rupert-RR)
- Bug #2785: Use table name with schema in composeMultipleInsertCommand (nineinchnick)
- Bug #2836: Fixed rendering when try-catching widget Exception while 'captureOutput' is set to true (darkheir)
- Bug #2845: Fixed 1.1.14 regression affecting non-strict comparison in
CRangeValidatorvalidator (samdark) - Bug #2855: Fixed issue with Component::__call() and normal properties holding a Closure (cebe)
- Bug #2862: Fixed array_merge caused renumbering of $data indexes in CHtml::radioButtonList() (ligser)
- Bug #2864: Fixed CGridView ajax calls failing CSRF validation when ajaxType is set to POST (nineinchnick)
- Bug #2874: Fixed duplicate columns selection for HAS_MANY relation with composite primary key (borro)
- Bug #2876: Fixed single quotes in comments column causes syntax error in model code generated by Gii(klimov-paul)
- Bug #2884: Fixed problem with table alias in CActiveRecord that has been introduced in 1.1.14 (cebe)
- Bug #2887: Fixed CFormElement is missing __isset() (bijibox)
- Bug #2912: Add options parameter to CListView beforeAjaxUpdate (spikyjt)
- Bug #2917: Restored ability to overwrite module alias via application config which was broken in 1.1.14 (klimov-paul)
- Bug #2944: Fixed CDbCriteria fails to merge limit when it is 0 (softark)
- Bug #2945: Fixed CUrlRule escapes dot (.) symbol on parsing (qiangxue)
- Bug #2959: Fixed CFileValidator to encode file name, while composing error messages (klimov-paul)
- Bug #2963: CAssetManager::generatePath no longer uses basename for hasing (eirikhm)
- Bug #2970: Fixed Active Record may join same relation twice on eager loading. (klimov-paul)
- Bug #3010: Problem with callables given as values to CDetailView. CDetailView now only allows annonymous functions to be called, all other values will be taken as value (cebe)
- Bug #3064: Fixed problem with array to string converion in CDbMigration methods that accept array parameters (cebe)
- Bug #3055: CAction::runWithParams() now returns consistent result even if called without parameters (cebe)
- Bug #3087: Fixed crash on cookie validation when switching between enabling and disabling validation (cebe)
- Bug #3113: Fixed problems with realpath(false) which can occur in combination with Yii::getPathOfAlias() when alias does not exist (cebe)
- Bug #3134: Fixed the issue that query cache returns the same data for the same SQL but different query methods (qiangxue)
- Bug #3144: It wasn't possible to use attributes with spaces in validation rules (samdark)
- Bug #3179: Fixed a bug with CBreadcrumbs widget and homelink that did not use activeLinkTemplate property (mbdwey, cebe)
- Bug #3206: Quote table names in CDbMessageSource::loadMessagesFromDb (nkovacs)
- Bug #3233: Gii now allows base classes with absolute namespace as well, not only relative ones (etienneq)
- Bug #3242: Removed display:none on form hidden fields (mahadazad)
- Bug #3283: Fixed CEmailValidator to validate empty value (nukkumatti)
- Bug #3288: Check if PHPUnit_Runner_Version exists before requiring (hjellek)
- Bug #3302: CActiveForm::error() fixed to respect 'hideErrorMessage' option on regular render (klimov-paul)
- Bug #3305: COciSchema column comment reading from another schema (gureedo)
- Bug #3321: Clear stat cache after rotating log files so later file size check is not cached (cebe, jjdunn)
- Bug #3327: Gii did not generate empty directories properly (gureedo)
- Bug #3406: Fixed Object of class Imagick could not be converted to string (eXprojects)
- Bug #3410: Fixed wrong translation parameter name in CPhpAuthManager::addItemChild() (klimov-paul)
- Bug #3569: CConsoleCommand::copyFiles() did not replace DIRECTORY_SEPARATOR correctly (jmxhit)
- Bug #3582: make sure
build autoloadproduces the same output on both Windows and Unix platforms (GerHobbelt) - Bug: Fixed the bug that backslashes are not escaped by CDbCommandBuilder::buildSearchCondition() (qiangxue)
- Bug: Fixed URL parsing so it's now properly giving 404 for URLs like "http://example.com//////site/about/////" (samdark)
- Bug: Fixed an issue with CFilehelper and not accessable directories which resulted in endless loop (cebe)
- Bug: CSecurityManager encryption and string comparison were enhanced (sarciszewski, Jan Ewald, tom--, ircmaxell, qiangxue, samdark)
- Enh: Public method CFileHelper::createDirectory() has been added (klimov-paul)
- Enh: Added proper handling and support of the symlinked directories in CFileHelper::removeDirectory(), added $options parameter in CFileHelper::removeDirectory() (resurtm)
- Enh #89: Support for SOAP headers in WSDL generator (nineinchnick)
- Enh #94: Web services: Implement document/literal encoding for WDSL (nineinchnick)
- Enh #106: Added getters to CGridColumn to allow getting cell contents for extended use cases of CGridView (cebe)
- Enh #132: Added ODBC support in CDbConnection (nineinchnick, resurtm)
- Enh #182: CSort: allow arrays in asc/desc keys of virtual attributes (nineinchnick)
- Enh #640: Introduce bigpk and bigint column types in each class extending CDbSchema (nineinchnick)
- Enh #873: CStatRelation (CActiveRecord::STAT) now supports scopes (resurtm, klimov-paul)
- Enh #1372: CDbCommandBuilder::createMultipleInsertCommand() now throws exception if data array is empty (cebe)
- Enh #1515: Post-JOIN operations (use|force|ignore index()) support in relational queries (KonovalovMaxim, resurtm)
- Enh #1593: Allow access to exception currently processed by CErrorHandler (klimov-paul)
- Enh #1893: Added Schema and native connection support for the CUBRID DBMS (https://www.cubrid.org/) (kadishmal)
- Enh #2119: add
ypattern to CDateTimeParser (mrpelle) - Enh #2540: Enable CJSON to use JsonSerializable interface when serializing objects (sammousa)
- Enh #2630: CLinkPager $nextPageLabel, $prevPageLabel, $firstPageLabel and $lastPageLabel can now be false to disable the buttons (index0h)
- Enh #2640: Enable diff on gii generated SQL files (1allen)
- Enh #2664: Added support for HTTP PATCH requests to CHttpRequest (cebe)
- Enh #2683: Application views generated by webapp command are now using HTML5 by default (cebe)
- Enh #2688: CHtml::beginForm() now supports additional HTTP methods, via a hidden
_methodfield. (phpnode) - Enh #2722: CFileHelper::findFiles() accepts absolutePaths in $options and returns absolute paths if true or relative ones otherwise (defaults to true) (pavel-voronin)
- Enh #2734: Request::getPreferredLanguage() is now able to select a best matching between supported and requested languages (zvirusz)
- Enh #2737: CFileCache: added cachePathMode and cacheFileMode options to set modes used by chmod() for cache directory and files (ujovlado)
- Enh #2758: Updated phpdoc in blog demo to match current IDE supported syntax (samdark)
- Enh #2777: Allow Yii::import() and Yii::createComponent() to import classes that are loaded by other autoloaders e.g. composer (cebe)
- Enh #2791: requirements/index.php: added CRYPT_BLOWFISH check for CPasswordHelper (tom--)
- Enh #2799: Add HTML5 input support for color, datetime, datetime-local, week and search to CHtml and CActiveForm (phpnode)
- Enh #2817: Allow specifying $colums and $refColumns arguments as array in various CDbSchema methods (mynameiszanders, samdark)
- Enh #2850: Parameter 'id' added for 'ajaxUpdateError' js function at 'CListView' and 'CGridView' (klimov-paul)
- Enh #2851: Improved Mime-Type detection by using the
mime.typesfile from apache http project to dected mime types by file extension (cebe, pavel-voronin, trejder) - Enh #2852: Refactored ShellCommand to be easier to extend (samdark, mindplay-dk)
- Enh #2908: Add insertMultiple to Migrations (luislobo)
- Enh #3014: Allow changing the database used by ActiveRecord in beforeCount() like it is possible in beforeFind() already (cebe)
- Enh #3023: Added support for formatting DateTime instances to CFormatter (cebe, nitso)
- Enh #3027: Added custom encodeLabel attributes of the CMenu items (hugeval)
- Enh #3048: CApcCache is now compatible with APCu (iobotis, samdark)
- Enh #3049: 'cli' mode detection at CConsoleApplication improved (klimov-paul)
- Enh #3061: 'jquery.yiiGridView' and 'jquery.yiiListView' allows to handle all update options via history state data (klimov-paul)
- Enh #3068: Added CDbCommand::naturalLeftJoin() and CDbCommand::naturalRightJoin() (bunchachis)
- Enh #3115: Updated phpdoc for better code completion in modern IDEs (samdark)
- Enh #3147: Updated Request::getIsSecureConnection() to work with lower and uppercase config values (cebe)
- Enh #3156: It is now possible to override the models PK using primaryKey() method, even if the table defines one (drLev)
- Enh #3182: Added namespace support for controllers in subdirectories (Ekstazi, samdark)
- Enh #3202: Adding support for the
X-HTTP-Method-Overrideheader in CHttpRequest (pawzar) - Enh #3211: Added support for PHPUnit 3.8+ in the bootstrap (JoelMarcey, samdark)
- Enh #3222: 'summaryTagName' and 'emptyCssClass' options added to CBaseListView (klimov-paul)
- Enh #3225: Added CForm::errorSummaryHeader and CForm::errorSummaryFooter, used like in CActiveForm::errorSummary() (rawtaz)
- Enh #3228: Added an ability to migrate to the certain time (gorcer, resurtm)
- Enh #3277: CHtml::checkBoxList and radioButtonList to take into account closeSingleTag for <br> (hwmaier)
- Enh #3307: Adding attribute localeClass to CApplication (pawzar)
- Enh #3314: Removed async from special attribute list enabling async=false for scripts (wilwade)
- Enh #3324: Added syslog log route (miramir, resurtm)
- Enh #3346: Added
fileHeaderoption to MessageCommand (mbdwey) - Enh #3349: Added errorCallback to CActiveForm::$clientOptions (rusalex)
- Enh #3351: Allow array attribute for CFileValidator even if
maxFilesis not > 1 (cebe) - Enh #3359: Added merge parameter to CModule::setModules (KJLJon)
- Enh #3391: Exception and log for not existed ClientScript package (rusalex)
- Enh #3500: Framework now responds with HTTP protocol version requested (samdark)
- Enh #3513: Added 'getExtensionByMimeType' method to CFileHelper class (UA2004)
- Enh #3533: Added Yii and YiiBase classes to composer autoloader (sammousa)
- Enh #3571: Extracted rendering of data cell in CGridView.renderTableRow() to separate method for extensibility (hijarian)
- Enh #3623:
itemscopeattribute is now rendered as HTML5 boolean (vercotux) - Chg #2025: Upgraded jQuery to 1.11.1 (marcovtwout)
- Chg #3042: CPasswordHelper::generateSalt() now returns salt with $2y$ cost (samdark)
- Chg #3137: Upgraded HTMLPurifier to 4.6.0 (samdark)
- Chg #3298: ListView and GridView: Added check for the existence of a href attribute in link pager (dutchakdev)
- Chg #3464: Updated multifile plugin used by CMultiFileUpload to version 1.48 (samdark)
- Chg #3636: Upgraded jQuery UI to 1.11.2 (marcovtwout)
- Chg: Updated the i18n data bundled with the framework to CLDR23.1 https://unicode.org/Public/cldr/23.1/ this adds new locales and has many fixes and additional data for existing ones (cebe, dralshehri)
- New #2955: Added official support for MariaDB (cebe, DaSourcerer)
-
1.1.1530 Jun 2014Release notes
Open source →- Bug (CVE-2014-4672): CDetailView may be exploited to allow executing arbitrary PHP script on the server (cebe, qiangxue)
-
1.1.1412 Aug 2013Release notes
Open source →- Bug: There was unnecessary echo in CRUD views generated by Gii (samdark)
- Bug: CJavaScript::encode was formatting floats in a wrong way during encoding (samdark)
- Bug: Fixed minLength and maxLength range check in CCaptchaAction::generateVerifyCode so values are now always stay in bounds (samdark)
- Bug #101: CActiveFinder::buildJoinTree() no longer uses 'false' for 'select' value (klimov-paul)
- Bug #135: Fixed wrong CActiveRecord rows count with having (klimov-paul)
- Bug #139: Fixed Active Record lazy load through relation with condition (klimov-paul)
- Bug #150: Fixed CWidget was not switching between view paths when using themes (antoncpu)
- Bug #159: CUploadedFile::getInstancesByName() has been fixed allowing correct fetching files, which name is a part of other file name (klimov-paul)
- Bug #196: CActiveForm: models list whose errors should be displayed in error summary is now customizable when using AJAX validation (resurtm)
- Bug #662: Fixed incorrect Active Record lazy loading of relation through BELONGS_TO relation (klimov-paul)
- Bug #1464: Fixed transparent background for ImageMagick in CCaptchaAction (manuel-84, cebe)
- Bug #1669: CNumberValidator used to add wrong error messages in case non-numeric values being validated (resurtm)
- Bug #1692: CWebUser::renewCookie() and CWebUser::restoreFromCookie() now make use of the identityCookie options (f10i)
- Bug #1693: Fixed log file will rotate twice when high performance (monque)
- Bug #1724: Allow CClientScript registering scripts and script files with the HTML options (klimov-paul)
- Bug #1732: CWebLogRoute and CProfileLogRoute with enabled $showInFireBug: fixed bug related to JS
consoleobject in MSIE 8 and 9 (resurtm) - Bug #1763: CSqlDataProvider was appending another ORDER BY string to an existing ORDER BY statement when using fieldname with dot (szako)
- Bug #1827: Gii wasn't properly handling table name with the schema part for PostgreSQL (resurtm)
- Bug #1895: Fixed erroneous language attributes in french views (located at
framework\views\fr) (Ragazzo) - Bug #1909: CGridView::$filterSelector now prevents default action after event has completed by returning false result in event handler function (matih)
- Bug #1911: MigrateCommand does not rely on cached value about migration table existance anymore as this info could be outdated in testing enviroment (cebe)
- Bug #1915: CDataProviderIterator: fixed init in case of disabled pagination (antoncpu)
- Bug #1916: CMssqlSchema::findColumns() issues an "invalid object name" error (resurtm)
- Bug #1924: CLogFilter::$dumper added: this property can be used to get around circular reference issue when using standard
var_exportdumper by changing it toprint_r(resurtm) - Bug #1933: fixed using "multiple" parameter with a value of false in CHtml::activeDropDownList, CHtml::ListBox and CHtml::DropDownList (adminnu)
- Bug #1941: yiiactiveform.js form reset now uses CHtml::errorCss instead of a hardcoded value (mdomba)
- Bug #1942: CActiveForm client/ajax validation will now remove error class from server side validation (mdomba)
- Bug #1945: Reference to undefined variable $column in CDbMigration::dropPrimaryKey (paystey)
- Bug #1955: Some validators used to cause warnings or errors in case non-scalar array typed values being checked (resurtm)
- Bug #1957: Add primary key support for MySQL schema (paystey)
- Bug #1984: CDbMigration: fix of undeclared variable usage in debug information in dropPrimaryKey (papulovskiy)
- Bug #1990: CDateFormatter::formatWeekInMonth(): incorrect result for a week which was last in a previous year and first in a next year simultaneously (resurtm)
- Bug #1996: Using yiic help for commands with parameters with array as default value resulted in PHP error with latest PHP versions (dInGd0nG, samdark)
- Bug #1997: Cache key in CGettextMessageSource::loadMessages wasn't specific enough (odevyatkov)
- Bug #2023: CHttpRequest::stripSlashes() now modifies array keys as well (etienneq)
- Bug #2030: Fixed problem with MySQL 4.x: Undefined Index: Comment in CMysqlSchema (cebe)
- Bug #2048: AR now uses alias from CActiveRecord::getTableAlias instead of always using default "t" (s-larionov)
- Bug #2049: CStatElement relation with join option throw exception when key-field present on joined table (Yiivgeny)
- Bug #2078: Fixed problem with "undefined" parameter in query string when using CListView or CGridView with enableHistory (Parpaing)
- Bug #2086: Fixed .hgignore rule for assets folder (GeXu3, Koduc)
- Bug #2087: CLocale: getLocaleDisplayName() was only returning the language display name, not the full locale display name (brandonkelly)
- Bug #2112: Fixed broken yiic shell CRUD command (mbischof)
- Bug #2121: CMssqlSchema::resetSequence() incorrectly resets sequence (resurtm, joewoodhouse)
- Bug #2122: CActiveRecord, lazy load: 'params' from relations used in 'through' option were not applied to the final SQL statement (resurtm)
- Bug #2123: Fixed error in plural rules handling if locale has no plural rules defined (cebe, stepanselyuk)
- Bug #2146: CEmailValidator fix when fsockopen() can output uncatched error 'Connection refused (61)' (armab)
- Bug #2159: Fixed SQL syntax for delete command with join in MySQL (serebrov)
- Bug #2184: CDbHttpSession now supports MS SQL Server BLOB data type (cheuschober, resurtm)
- Bug #2201: Cannot use "having" with bound params in CActiveRecord::count() (ivokund)
- Bug #2216: CDbCommandBuilder::createInCondition() has been updated, allowing to pass array of values with mixed keys for the single type column (klimov-paul)
- Bug #2223: CActiveForm::error does not respect CHtml::$errorMessageCss (ivokund)
- Bug #2239: Fixed CHtml::refresh() method to use proper syntax (mdomba)
- Bug #2241: COciSchema::resetSequence() now works the same way as the same methods for the other RDMBSes. PHPDocs of the CMssqlSchema::resetSequence(), CMysqlSchema::resetSequence(), CPgsqlSchema::resetSequence(), COciSchema::resetSequence() and CSqliteSchema::resetSequence() methods have been adjusted to fit their real functionality (resurtm)
- Bug #2244: MessageCommand has been updated, allowing to merge string with value '0' correctly (klimov-paul)
- Bug #2258: CJuiSliderInput didn't support string typed 'range' option (bookin)
- Bug #2283: Gii Model Generator's tooltips are not working and always invisible (resurtm)
- Bug #2289: CDbCacheDependency with reuseDependentData did not invalidate cache when getting cache across different requests (marcovtwout)
- Bug #2299: CMssqlSchema: findTableNames(), getTables() and getTableNames() methods used to prepend schema prefix to the table names twice (resurtm)
- Bug #2311: Fixed SQlite default value for timestamp CURRENT_TIMESTAMP (zeeke)
- Bug #2321: CGettextPoFile is now able to parse multiline msgid and msgstr declarations (resurtm)
- Bug #2325: Fixed UTF-8 troubles in CDateTimeParser (error in parsing chinese and thai dates) (s-larionov)
- Bug #2336: PostgreSQL: CDbCommandBuilder used
NULLinstead ofDEFAULTas default value for the primary keys of serial type (resurtm) - Bug #2368: Reset error CSS for ':input', which includes SELECT elements (blueyed)
- Bug #2398: Fixed 'Undefined variable: results' E_NOTICE at CProfileLogRoute (klimov-paul)
- Bug #2402: Fixed clientValidation incorrectly rendered as HTML attribute, when used in CActiveForm::error() (mdomba)
- Bug #2406: CUrlManager::$urlRuleClass now supports path alias value (as it was described in its PHPDoc before this fix) (resurtm)
- Bug #2423: Fixed CHtml::button() enforces "value" attribute for the image buttons (klimov-paul)
- Bug #2426: CDbCriteria::__wakeup() used to issue an error in case SQL containing fields were arrays and criteria parameters were specified (resurtm)
- Bug #2438: CViewAction now checks if requested view is a string to not fail when array was given (cebe)
- Bug #2449: CSqlDataProvider causes an error when CDbCommand with enabled PDO::FETCH_OBJ mode used as SQL source (resurtm)
- Bug #2454: Fix CMysqlColumnSchema::extractLimit for ENUM values containing comma (blueyed)
- Bug #2491: Prevent SQL exception being thrown when inserting a row into the session table whilst regenerating the session ID (mynameiszanders)
- Bug #2502: Fix match controller in access rule, match uniqueId instead id (slavcodev)
- Bug #2508: Fix CHtml::activeLabel() to resolve attribute input name for tabular input with custom 'for' (klimov-paul)
- Bug #2516: Fixed the bug that some $.fn.yiiGridView methods were not working always if a custom CGridView::template was used (buakos)
- Bug #2524: Fixed incorrect HTTPS detection (resurtm)
- Bug #2551: CWebUser::loginRequired() AJAX response now properly sends 403 (creocoder)
- Bug #2554: Fixed CRangeValidator when allowEmpty is false (samdark, creocoder)
- Bug #2565: CCaptchaAction in ImageMagick mode used to issue an exception in case $backColor or $foreColor have had leading zeros (resurtm)
- Bug #2581: Fixed the bug with empty ajaxVar in jquery.yiilistview.js and jquery.yiigridview.js (seregagl)
- Bug #2602: CUrlValidator and CEmailValidator now works correctly with display_errors = on and validateIDN = true (creocoder)
- Bug #2662: CLocale::getTerritory() used to return null value even for proper input values, bug fix #1622 made in 1.1.13 has been reverted (resurtm)
- Bug #2632: Fixed inability import non-build aliases by config on some case (Yiivgeny)
- Bug #2651: CHttpSession was using hardcoded GC probability/divisor values (marcovtwout, cebe, samdark)
- Enh: Better CFileLogRoute performance (Qiang, samdark)
- Enh: Refactored CHttpRequest::getDelete and CHttpRequest::getPut not to use _restParams directly (samdark)
- Enh #100: CLogFilter::$logVars can now be array of arrays intended for designating particular items of the $GLOBALS (resurtm, tomtomsen)
- Enh #129: Proper support of namespaced models in forms (LastDragon-ru, Ekstazi, pgaultier)
- Enh #169: Allow to set AJAX request type for CListView and CGridView (klimov-paul)
- Enh #289: Gii module could be submodule of an another module (resurtm)
- Enh #315: COciSchema::checkIntegrity() method added: allows to toggle integrity check (resurtm)
- Enh #755: Allow to get currently running command from CConsoleApplication (klimov-paul)
- Enh #1065: CJuiSliderInput now supports ranged slider when using it without model (resurtm)
- Enh #1142: CSecurityManager::computeHMAC() has been made public (resurtm)
- Enh #1353: Added onBeforeCount event to CActiveRecord (jakob-stoeck)
- Enh #1391: CDetailView: callables (including anonymous functions for PHP 5.3+) could be used as value generators of the attributes (resurtm)
- Enh #1447: CSqliteSchema: added enabling/disabling integrity check for sqlite (gleb-sternharz, resurtm)
- Enh #1589: Added HTTP range responses support to CHttpRequest::sendFile (Ragazzo, samdark)
- Enh #1604: Added method CDbCommandBuilder::createMultipleInsertCommand() to support multiple insertion (klimov-paul)
- Enh #1725: Added CFileHelper::removeDirectory() static method (resurtm)
- Enh #1743: Added CActiveForm::searchField() and CHtml::activeSearchField() to create HTML input field of type SEARCH (njasm)
- Enh #1794: Added ability to change widget ID via $htmlOptions['id'] array item in: CTabView, CBaseListView, CListView, CGridView, CDetailView, CMenu, and CPortlet (umrs)
- Enh #1796: Separate count criteria has been added to the CActiveDataProvider, it's useful for the counting queries simplification (resurtm)
- Enh #1818: Created a CLocalizedFormatter application component that allows formatting values according to current locale (cebe)
- Enh #1842: Added support for MySQL BIT(M) data type default values (migelsabre, cebe)
- Enh #1847: Added COutputCache::varyByLanguage to generate separate cache for different languages (Obramko)
- Enh #1863: Added CActiveFinder::getModel, added CActiveRecord::getActiveFinder, CExistValidator::getModel, CUniqueValidator::getModel, CActiveDataProvider::getModel, CSort::getModel (denisarius, samdark)
- Enh #1928: Gii is now able to use table columns' comments as the attribute labels of a new generated model (resurtm, tlikai)
- Enh #1948: Tidy up and improve html5 input support in CHtml and CActiveForm (phpnode)
- Enh #1977: CFormatter::normalizeDateValue() now is protected instead of private to enable child classes to override it (etienneq)
- Enh #2003: Gii now allows namespaced base classes to be defined in generators (etienneq)
- Enh #2038: CFormatter::formatNtext() method can replace newlines with
<p></p>not just with<br />as it was before (resurtm) - Enh #2053: CPasswordHelper has been refactored, CSecurityManager has been enhanced and is now able to generate cryptographically strong random bytes and strings (resurtm, tom--, ekerazha, samdark)
- Enh #2062: CWsdlGenerator now supports soap indicators (sequence, choice), injecting of custom WSDL string block and generation of human-friendly documentation for complex types. Added unit test. (lubosdz)
- Enh #2090: Allow passing array of columns to CDbSchema::addPrimaryKey() (paystey)
- Enh #2096: CAPTCHA: non-free Duality.ttf font replaced by open/free SpicyRice.ttf (licensed under SIL OFL v1.1) (resurtm)
- Enh #2131: Added Accept header parsing to CHttpRequest to give an array of accepted types in order of preference (Rupert-RR)
- Enh #2135: MessageCommand can now handles Yii::t() messages with files in subfolders (firsyura)
- Enh #2205: CActiveForm::error() now depends on CHtml::$errorContainerTag (malyshev)
- Enh #2213: Added comment with hint on ajax validaton which may lead to duplicate entries in the database to gii form template (elmig, cebe)
- Enh #2217: Support of the empty option for CHtml::radioButtonList() has been introduced (resurtm)
- Enh #2254: CForm::$showErrors property has been added, it controls whether error elements of the form attributes should be rendered (resurtm)
- Enh #2275: Added primary log rotation by copy and truncate to CFileLogRoute (bdstevens)
- Enh #2415: Cancel current ajax request before create a new one in CGridView and CListView (gusnips)
- Enh #2416: Avoid instantiating HTMLPurifier on each CHtmlPurifier::purify() call. Allow to pass array as argument of CHtmlPurifier::purify() (twisted1919)
- Enh #2435: CFileCache entry expiration time could now be embedded into the cache file instead of changing file's modification time to be in future (resurtm)
- Enh #2459: Absolute session timeout in CWebUser (ivokund)
- Enh #2494: Allow to configure CBaseListView emptyText container tag name (ifdattic)
- Enh #2529: Silenced all chmod calls to prevent "chmod() operation not allowed" error on NTFS (samdark)
- Enh #2602: CEmailValidator and CUrlValidator now uses native PHP
idnextension in case it is available (idn_to_asciiandidn_ to_ utf8functions) and Net_IDNA2 otherwise (resurtm, creocoder) - Enh #2642: Support third party autoloaders when importing classes via Yii::import() (phpnode)
- Chg: Upgraded HTMLPurifier to v4.5.0 (samdark)
- Chg #645: CDbConnection now throws CDbException when failed to open DB connection instead of failing with a warning (kidol, eirikhm, samdark, cebe)
- Chg #895: Add second argument $params to client validation function (slavcodev)
- Chg #1891: Changed order of methods in models generated by Gii and yiic, added better description of search method (hijarian, samdark)
- Chg #2069: Upgraded jQuery BBQ Plugin to 1.4pre to fix jQuery compatibility problems (samdark)
- Chg #2183: Vendors: phlymail's Net_IDNA was replaced by PEAR Net_IDNA2 (resurtm, DaSourcerer)
- Chg #2187: Vendors: punycode.js updated from 1.1.1 (June 27, 2012) to 1.2.0 (October 10, 2012) (resurtm)
- Chg #2461: Upgraded jquery star rating to 4.11 (samdark)
- Chg #2531: Upgraded jquery masked input to 1.3.1 (samdark)
- New: Added CRedisCache which uses redis key value store as cache backend (cebe, maxlun86)
- New #575: Yii registering at Packagist, added composer info file (schmunk42)
- New #1785: Added CPasswordHelper (tom--)
- New #2178: Added Catalan Translation (ArnauAregall)
- New #2370: New template placeholders for CHtml::radioButtonList() and CHtml::checkBoxList() (creocoder)
- New #2530: Added 'through' option to CActiveRecord::BELONGS_TO relation (creocoder)
-
1.1.14-rc14 Jul 2013 pre-releaseNothing published for this version