Releases: phalcon/cphalcon
Releases · phalcon/cphalcon
v5.11.1
5.11.1 (2026-04-04)
Changed
Added
- Added
Phalcon\Storage\Adapter\RedisClusteradapter to support Redis Cluster connections #16867 - Added
Phalcon\Support\Settingsto be used for ini settings throughout the framework #16873
Fixed
- Fixed
Phalcon\Encryption\Security::computeHmac()to catch\ValueErrorthrown by PHP 8.1+ when an unknown hashing algorithm is passed #16893
Removed
v5.11.0
5.12.0 (2026-04-03)
Changed
- Changed
Phalcon\Filter\Sanitize\IPto optimize the sanatization of IP address #16838 - Changed
Phalcon\Encryption\Security\JWT\Builder::setPassphrase()to require digits and special characters #16847 - Changed
Phalcon\Encryption\Security\JWT\Builder::getAudience()to return an empty array if not set #16846 - Changed
Phalcon\Encryption\Security\Random::base()to use 16 bits by default #16845 - Changed
Phalcon\Logger\Loggerto use lowercase when reporting log levels (previously uppercase) #16852 - Changed
Phalcon\Logger\Adapter\Streamto use a more efficient way to write messages in the logger instead of opening and closing the stream per message #16852 - Changed
Phalcon\Logger\Adapter\Syslogto use theEnuminstead ofLoggerconstants #16852 - Changed the whole testing suite to run on phpunit only #16860 #16861 #16862
Added
- Added PIE (PHP Installer for Extensions) support #16832
- Added the ability to specify aliases for
Phalcon\Di\Diservices.#13042 - Added
Phalcon\Encryption\Security\JWT\Validator::validateClaim()to validate custom claims #16843
Fixed
- Fixed
Phalcon\Forms\Form::isValid()to apply field filters even when no validators are specified #16936 - Fixed
Phalcon\Http\RequestmethodgetClientAddress()when usingtrustForwardedHeader#16836 - Fixed
Phalcon\Acl\Adapter\Memory::isAllowed()andPhalcon\Mvc\Model\Binderto handle PHP 8.1+ union and intersection types by checking forReflectionNamedTypebefore callinggetName()#16261 - Fixed memory leak in PHQL parser (phql_internal_parse_phql()) during repeated query execution. #16854
- Fixed a deadlock issue when running the db suite #16862
Removed
v5.10.0
5.10.0 (2025-12-25)
Changed
- Changed
bind()andvalidate()method inPhalcon\Filter\ValidationandPhalcon\Filter\Validation\ValidationInterfaceto accept$whitelistarray of only allowed fields to be mutated when using entity #16800 - Changed
Phalcon\Storage\Adapters\Libmemcached::getAdapter()to use 50ms for\Memcached::OPT_CONNECT_TIMEOUT#16818 - Changed
Phalcon\Html\Helper\Input\*to honorDocblocdirectives #16778
Added
- Added
fails()method helper toPhalcon\Filter\Validationuseful for standalone validation #16798
Fixed
- Fixed
Phalcon\Config\Adapter\Yamlconstructor to handlenullreturn values fromyaml_parse_file(), ensuring empty configuration files are treated as empty arrays instead of throwing errors. - Fixed
Phalcon\Http\RequestmethodgetClientAddress(true)to return correct IP address from trusted forwarded proxy. #16777 - Fixed
Phalcon\Http\RequestmethodgetPost()to correctly return json data as well and unified bothgetPut()andgetPatch()to go through the same parsing method. #16792 - Fixed
Phalcon\Filter\Validationmethodbind()andvalidate()to correctly bind data when using entity as well as skip binding of fields not included in$whitelist#16800 - Fixed
Phalcon\Http\RequestmethodgetPostData()whenContent-Typeheader is not set #16804 - Fixed
Phalcon\Events\ManagerInterfaceadding priority property #16817 - Fixed
Phalcon\Storage\Adapters\Libmemcached::getAdapter()to correctly merge adapter options #16818 - Fixed
Phalcon\Encryption\CryptmethodcheckCipherHashIsAvailable(string $cipher, string $type)to correctly check thecipherorhashtype #16822 - Fixed
Phalcon\Mvc\Modeldocblocks #16825
v5.9.3
5.9.3 (2025-04-19)
Changed
- Added Multi-Stage Dockerfile and Github action for release Docker images to ghcr.io and Docker Hub. #16752
Added
- Added
Phalcon\Mvc\Router::setUriSource()to allow URI processing from$_GET['url']or$_SERVER['REQUEST_URI']as it was in v3 #16741
Fixed
- Fixed
Phalcon\Mvc\Routerto correctly handle numeric URI parts as it was in v3 #16741 - Fixed
Phalcon\Mvc\Model\Binderto use ReflectionParameter::getType() instead of deprecated method, PHP 8.0 or higher issue. #16742 - Fixed
Phalcon\Mvc\Model\Queryto check if cache entry exists. #16747 - Fixed
Phalcon\Mvc\Routerto correctly match route when using query string URIs. #16749 - Fixed
Phalcon\Mvc\Model::cloneResultsetto properly parse fields that do not acceptnullvalues #16736
Removed
v5.9.2
v5.9.1
5.9.1 (2025-03-31)
Changed
- Changed
Phalcon\Storage\Adapter\AbstractAdapterand droppedhas()check before receiving the value. #16705
Added
- Added
Phalcon\Html\Helper\Breadcrumbscomponent to replace the oldPhalcon\Html\Breadcrumbscomponent. #16727
Fixed
- Fixed
Phalcon\Mvc\Micro\LazyLoader::callMethodto preventUnknown named parametererror #16724
Removed
v5.9.0
5.9.0 (2025-03-08)
Changed
- Changed
Phalcon\Filter\Validation\Validator\Emailto allow UTF8 in local part. #16637 - Changed
Phalcon\Cache\Cache::getMultiple()to usemget()when thePhalcon\Cache\Adapter\Redisis used. #16689 - Changed
Storage\Adapter\Redisto acceptsslin the options for secure connections. #16711
Added
- Added
dispatch:beforeCallActionanddispatch:afterCallActionto last-minute modifications to handler and method (mostly for debugging).
Fixed
- Fixed
Phalcon\Forms\FormandPhalcon\Filter\Validationto correctly handle thevalidate()response when using validation classbeforeValidate()#16702 - Fixed
Phalcon\Support\Debugto use correct passed arguments inset_error_handlercallback. PHP v7.2.0 deprecatederrcontextand has been removed since php v8.0.0 #16649 - Fixed
Phalcon\Http\Response\Cookies,Phalcon\Http\Response\CookiesInterfaceandPhalcon\Http\Cookieto use correct cookie default arguments, avoid deprecated null assign warning when trying to assign the same cookie twice #16649 - Fixed
Phalcon\Encryption\Cryptto usestrleninstead ofmb_strlenfor padding calculations #16642 - Fixed
Phalcon\Filter\Validation\Validator\File\MimeType::validateto close the handle when usingfinfo#16647 - Fixed
Phalcon\Mvc\Model\Manager::getRelationRecordsto explicitly set thereferencedModelin the conditions along with thereferencedFields#16655 - Fixed
Phalcon\Image\Adapters\AbstractAdapter::watermarkto correctly calculate the Y offset #16658 - Fixed
Phalcon\Dispatcher\AbstractDispatcherwhen calling action methods that do not define parameters to preventUnknown named parametererror. - Fixed
Phalcon\Di\Injectableto reference the correct instance ofPhalcon\Di\Diin the docblock property #16634 - Fixed
Phalcon\Filter\Filterto have the correct docblock for IDE completion - Fixed
Phalcon\Mvc\Model\Queryto use the lifetime in the "cache" service if none has been supplied by the options #16696 - Fixed
Phalcon\Session\Adapter\Stream::gc()to throw an exception if something is wrong withglob()#16713 - Fixed
Phalcon\Http\Request::getBasicAuth()to return anullpassword if not defined on the server #16668
v5.8.0
5.8.0 (2024-07-09)
Changed
- Changed
Phalcon\Mvc\Model,Phalcon\Support\CollectionandPhalcon\Support\Registryto correctly implement\Serializableinterface. #16591 - Changed the
Phalcon\Mvc\Router\Group::getHostname()to returnnullalso. #16601 - Changed
Phalcon\Mvc\View\Engine\Volt\Compiler::compileSourceto also returnarray#16608
Added
- Added events and
Phalcon\Events\ManagerforPhalcon\Storage\Adapter\Apcu,
Phalcon\Storage\Adapter\Redis,
Phalcon\Storage\Adapter\Memory,
Phalcon\Storage\Adapter\Libmemcached,
Phalcon\Storage\Adapter\Stream,
Phalcon\Storage\Adapter\Weak,
Phalcon\Cache\Adapter\Apcu,
Phalcon\Cache\Adapter\Redis,
Phalcon\Cache\Adapter\Memory,
Phalcon\Cache\Adapter\Libmemcached,
Phalcon\Cache\Adapter\Stream,
Phalcon\Cache\Adapter\Weak
Phalcon\Cache\AbstractCache. #16606
Fixed
- Fixed
Phalcon\Support\Helper\PascalCasecausing memory leak by anonymous function #16593 - Fixed
Phalcon\Mvc\Model\Queryto rollback failed transactions and re-throw exception for data consistency #16604
Removed
v5.7.0
5.7.0 (2024-05-17)
Changed
- Changed
Phalcon\Support\HelperFactoryto use the internal mapper for better memory management #16571
Added
- New ini setting
phalcon.form.strict_entity_property_checkforPhalcon\Forms\Formto enable strict entity property checking. #16567
Fixed
- Fixed
Phalcon\Mvc\Cli\Routerto extend thePhalcon\Mvc\Cli\RouterInterface#16551 - Fixed
Phalcon\Filter\Validation\Validator\StringLength::validate()to correctly use theincludeparameter #16560 - Fixed
Phalcon\Db\Column::TYPE_BINARYandPhalcon\Db\Column::TYPE_TINYINTEGERto have unique values #16532 - Fixed
Phalcon\Forms\Formto bind only existing properties on entities, based onphalcon.form.strict_entity_property_checksetting. #16567 - Fixed
Phalcon\Filter\Sanitize\BoolValto correctly handle integers. #16582