Phalcon v2.0.4 Release Notes

Release Date: 2015-07-07 // almost 9 years ago
    • ๐Ÿ›  Fixed bug in Phalcon\Mvc\Model::update() that throws an exception when the record does exist
    • ๐Ÿ“„ Now links in Phalcon\Debug point to https://api.phalconphp.com instead of http://docs.phalconphp.com
    • Implemented a more versatile way to assign variables in Volt allowing to assign properties and array indexes
    • ๐Ÿ‘Œ Improved generation of macros in Volt using anonymous functions instead of plain PHP functions This allow to bind the adapter object and inject services within them
    • ๐Ÿ›  Fixed generation and validation of default parameters in Volt's macros
    • โž• Added Phalcon\Assets\Manager::getCollections() to return all collections registered #2488
    • Now Phalcon\Mvc\Url::getStatic() generates URLs from routes
    • Introduced Phalcon\Mvc\EntityInterface to allow parameters receive both Phalcon\Mvc\Model and Phalcon\Mvc\Collection instances
    • โž• Added Phalcon\Session\Adapter::setName() to change the session name
    • โž• Added BIGINT support in Phalcon\Db
    • โž• Added new types Phalcon\Db\Column::BLOB and Phalcon\Db\Column::DOUBLE #10506
    • Automatic binding of Large Object data (LOB) in the ORM
    • ๐Ÿ‘Œ Support for BIT types in MySQL with binding as booleans
    • โž• Added Phalcon\Flash\Direct::output() allowing to place flash messages in a specific place of the view #629
    • โž• Added 'autoescape' option that allows to globally enable autoescape in any Volt template
    • โž• Added readAttribute/writeAttribute to Phalcon\Mvc\Collection\Document
    • โž• Added toArray to Phalcon\Mvc\Collection\Document
    • Global setting db.force_casting now forces casting bound parameters to specified bind types
    • Introduced new placeholders in PHQL enclosed in brackets that allow to set the type: {name:str} or {names:array}
    • Now you can bind arrays in bound parameters in PHQL
    • Global setting orm.cast_on_hydrate allow to cast hydrated attributes to the original types in the mapped tables instead of using strings
    • Values in LIMIT/OFFSET clause are now passed using bound parameters in PHQL
    • ๐Ÿ‘ Allowing late state binding in both Simple/Complex results to allow override Mvc\Model::cloneResultMap
    • โž• Added method distinct() in Phalcon\Mvc\Model\Criteria #10536
    • Added global setting orm.ignore_unknown_columns to ignore unexpected columns when hydrating instances in the ORM This fixes extra auxiliar columns used in Db\Adapter\Pdo\Oracle
    • โž• Added support for afterFetch in Mvc\Collection
    • โž• Added beforeMatch parameter in @Route annotation of Mvc\Router\Annotations
    • โž• Added groupBy/getGroupBy/having/getHaving to Mvc\Model\Criteria
    • Phalcon\Mvc\Model::count() now return values as integer
    • โœ‚ Removed __construct from Phalcon\Mvc\View\EngineInterface
    • โž• Added Phalcon\Debug\Dump::toJson() to return an JSON string of information about a single variable
    • โšก๏ธ Now instances in Phalcon\Di are built using internal optimizers instead of ReflectionClass (PHP 5.6)
    • โž• Added Phalcon\Mvc\Model\Validator\Ip from incubator
    • โž• Added parameter return defaultValue in Phalcon\Mvc\Model\Validator::getOption()
    • ๐Ÿ›  Fixed in Phalcon\Validation\Validator\Identical the name of parameter value to accepted according docs
    • โž• Added method Text:dynamic() generate random text in accordance with the template, see #10571
    • 0๏ธโƒฃ Now Mvc\Router has default routes with unicode support #10544