5.12.1 (2026-04-30)
Added
- Added
Phalcon\Db\Column::TYPE_UUIDconstant (value29) and added support for PostgreSQL nativeuuidcolumn type inPhalcon\Db\Adapter\Pdo\PostgresqlandPhalcon\Db\Dialect\Postgresql#16840 - Added support for
Phalcon\Mvc\Urlstatic base URI inPhalcon\Assets\Manager; when a DI container is set and aurlservice is available, local asset paths are now resolved viagetStatic()instead of a bare/prefix #16570
Fixed
- Fixed
Phalcon\Mvc\Model\MetaDataInterface::readMetaDataIndex()andPhalcon\Mvc\Model\MetaData::readMetaDataIndex()declaring return type asarray|nullwhen the method can also return astring(e.g. forMODELS_IDENTITY_COLUMN), causing a PHP fatal error on PHP 8+ #16613 - Fixed
Phalcon\Mvc\View\Engine\Volt\Compiler::statementList()returningnullinstead ofstringwhen processing templates that consist entirely of block-mode statements, causing a PHP fatal error on PHP 8+ #16613 - Fixed
Phalcon\Forms\Element\Select::render()multiselect regression introduced in v5.12.0 (#16894) by reverting toPhalcon\Tag\Select::selectField(); the newHtml\Helper\Input\Selectonly supports a single selected value and does not handle array values required for multiselect #16946 - Fixed
Phalcon\Html\Helper\Input\AbstractInput::setValue()ignoring empty string""as a valid value, causingCheckboxandRadioinputs withvalue=""to never renderchecked="checked"even when thecheckedattribute matched #16648 - Fixed
Phalcon\Http\Response\Cookies::get()throwing an opaque fatal error when no DI container has been set; it now throwsPhalcon\Http\Cookie\Exceptionwith a descriptive message before accessing the container #16650 - Fixed
Phalcon\Mvc\Model\MetaData::writeMetaDataIndex()prematurely initializing a child model's metadata with the parent's source table whenskipAttributes()(orskipAttributesOnCreate()/skipAttributesOnUpdate()) is called inside a parent model'sinitialize()and the child callsparent::initialize()before setting its own source, corrupting the child's attribute list and breaking relationship resolution #16544 - Fixed
Phalcon\Storage\Serializer\Json::serialize()rejecting plain objects (e.g.stdClass) that do not implementJsonSerializable;json_encode()handles such objects natively and the guard was unnecessary #16630 - Fixed
Phalcon\Mvc\Model\Managerretaining a model instance inlastInitializedafter initialization andPhalcon\Mvc\Modelnot clearing the reusable-records cache aftersave(), causing memory to grow unboundedly in long-running processes #16566 - Fixed
Phalcon\Paginator\Adapter\QueryBuilder::paginate()returning wrong total item count when the query usesDISTINCTcolumns; the count now usesCOUNT(DISTINCT ...)for a single column and a subquery for multiple columns #16581 - Fixed
Phalcon\Mvc\Model\Query\Builder::autoescape()incorrectly wrapping function expressions (e.g.DATE_PART(...)) in brackets when used ingroupBy(), causing a"Column does not belong to any of the selected models"exception #16599 - Fixed
Phalcon\Mvc\Model- saving a model with multiple fields relations threw"Not implemented"#16029