Releases: phalcon/cphalcon
Releases · phalcon/cphalcon
v5.0.0RC2
v5.0.0RC1
Changed
- Changed
Phalcon\Session\Bag::__construct()to accept aPhalcon\Session\Manageras the first parameter andnameas the second one #15904 - Changed
Phalcon\Logger\Loggerto no longer depend on PSR interfaces #15925 - Changed
Phalcon\Cache\Cacheto no longer depend on PSR interfaces #15927 - Changed
Phalcon\Html\Linkto no longer depend on PSR interfaces #15930
Fixed
- Fixed
Phalcon\Html\Helper\Input\Numericto produce correct elements #15896 - Fixed
Phalcon\Storage\Adapter\*to correctly storenullvalues #15904
Added
- Added
Phalcon\Encryption\Crypt::isValidDecryptLength($input)to allow checking for the length of the decryption string #15879 - Added
Phalcon\Di\InitializationAwareInterfaceto allow auto calling theinitializemethod when accessing service through DIC #15916 - Added
Phalcon\Storage\Serializer\MemcachedIgbinaryPhalcon\Storage\Serializer\MemcachedJsonPhalcon\Storage\Serializer\MemcachedPhpPhalcon\Storage\Serializer\RedisIgbinaryPhalcon\Storage\Serializer\RedisJsonPhalcon\Storage\Serializer\RedisMsgpackPhalcon\Storage\Serializer\RedisNonePhalcon\Storage\Serializer\RedisPhpto be used if adapter serialization is required #15904
- Added
Phalcon\Logger\LoggerInterfacePhalcon\Logger\AbstractLoggerto be used in the logger class but also the proxy-psr3 repo #15925
- Added
Phalcon\Cache\CacheInterfacePhalcon\Cache\AbstractCacheto be used in the cache class but also the proxy-psr16 repo #15927
- Added
- EvolvableLinkInterface.zep
Phalcon\Html\Link\Interfaces\EvolvableLinkProviderInterfacePhalcon\Html\Link\Interfaces\LinkInterfacePhalcon\Html\Link\Interfaces\LinkProviderInterfacePhalcon\Html\Link\AbstractLinkPhalcon\Html\Link\AbstractLinkProviderto be used in the link class but also the proxy-psr13 repo #15930
- Added
Phalcon\Translate\Adapter\Csv::toArray()andPhalcon\Translate\Adapter\NativeArray::toArray()to return the translation array back #15902
Removed
v5.0.0beta3
Changed
- Renamed
Phalcon\Db\Result\PdotoPhalcon\Db\Result\PdoResultto avoid collisions with\PDO#15874
Fixed
- Fixed
Phalcon\Logger\AbstractAdapter::getFormattedItem()to not addPHP_EOLat the end of the message and added it to thePhalcon\Logger\Adapter\Stream#14547 - Fixed
Phalcon\Html\Helper\Title:__invoke()to not use the$separatoras parameter - no need to redefine it in a view #15866 - Fixed the delimiters for
Phalcon\Support\Helper\SnakeCaseandPhalcon\Support\Helper\KamelCase#15850 - Fixed
Phalcon\Mvc\Router\Route::getName()andPhalcon\Mvc\Router\Route::getHostname()to also returnnull#15880 - Fixed
Phalcon\Mvc\Router\RouteInterface::getName()andPhalcon\Mvc\Router\RouteInterface::getHostname()to also returnnull#15880 - Fixed
Phalcon\Mvc\Model::findFirst()to returnmixedornull#15883
Added
- Added
Phalcon\Html\Helper\Title:setSeparatorto allow setting the separator independently #15866
v5.0.0beta2
Fixed
Phalcon\Mvc\View\Engine\Volt\Compiler::functionCall()to check for container presence before checking thetagservice #15842Phalcon\Di\FactoryDefault()to setassetsandtagas shared services #15847Phalcon\Forms\Element\AbstractElement::getLocalTagFactory()to return the tagFactory from itself, the form, the DI or a new instance #15847- Changed references to
sha1withhash("sha256", $data)to ensure that there are no collisions from the hashing algorithm #15844 - Changed
Phalcon\Support\Helper\Str\Camelizeto accept a third boolean parameter indicating whether the result will have the first letter capitalized or not #15850
Added
- Added
Phalcon\Support\Helper\Str\KebabCase,Phalcon\Support\Helper\Str\PascalCaseandPhalcon\Support\Helper\Str\SnakeCasehelpers #15850
v4.1.3
v5.0.0beta1
Changed
- Marked as deprecated:
Phalcon\Mvc\Model::existsBelongsTo()Phalcon\Mvc\Model::existsHasMany()Phalcon\Mvc\Model::existsHasOne()Phalcon\Mvc\Model::existsHasOneThrough()Phalcon\Mvc\Model::existsHasManyToMany()Phalcon\Translate\Adapter\Csv::exists()Phalcon\Translate\Adapter\Gettext::exists()Phalcon\Translate\Adapter\NativeArray::exists()#15785
- Moved
Phalcon\ContainertoPhalcon\Container\Container#15796 - Changed the
Phalcon\Support\Collection::get()to return the default value if the key does not exist or the value isnullto mirror the behavior of v3. #15370 - Moved
Phalcon\RegistrytoPhalcon\Support\Registry#15802 - Moved
Phalcon\UrltoPhalcon\Mvc\Url#15798 - Moved
Phalcon\LoadertoPhalcon\Autoload\Loader#15797 - Changes to
Phalcon\Autoload\Loader:- Renamed
registerClasses()tosetClasses() - Renamed
registerDirectories()tosetDirectories() - Renamed
registertExtensions()tosetExtensions() - Renamed
registertFiles()tosetFiles() - Renamed
registertNamespaces()tosetNamespaces()#15797
- Renamed
- Moved
Phalcon\DitoPhalcon\Di\Di#15799 - Removed references to
Phalcon\Tagfrom the framework in favor ofPhalcon\Html\TagFactory#15801 Phalcon\Forms\Formrequires aPhalcon\Html\TagFactoryto be set before it can render elements #15801Phalcon\Di\FactoryDefaultwill now return aPhalcon\Html\TagFactoryfor thetagservice #15801
Fixed
Phalcon\Logger\LoggerFactory::load()to correctly use the key of the adapters array as the name of the adapter #15831
Added
- Added:
Phalcon\Mvc\Model::hasBelongsTo()Phalcon\Mvc\Model::hasHasMany()Phalcon\Mvc\Model::hasHasOne()Phalcon\Mvc\Model::hasHasOneThrough()Phalcon\Mvc\Model::hasHasManyToMany()Phalcon\Translate\Adapter\Csv::has()Phalcon\Translate\Adapter\Gettext::has()Phalcon\Translate\Adapter\NativeArray::has()#15785
- Added
filter,camelize,dynamicanduncamelizeinPhalcon\Support\HelperFactory#15805 - Added
Phalcon\Autoload\Loader::getDebug()to collect debugging information from the loader (enabled from the constructor) #15797
Fixed
- Fixed
Phalcon\Dispatcher\Dispatcher::setParams()not updating local params duringdispatch()loop #15603 - Fixed related records auto-save with
belongsTo()relation #15148
Removed
- Removed
Phalcon\Exception; replaced by\Exception#15800
v5.0.0alpha7
Changed
- Changes to the
Phalcon\Acl:- Renamed
Phalcon\Acl\ComponentAwaretoPhalcon\Acl\ComponentAwareInterface - Renamed
Phalcon\Acl\RoleAwaretoPhalcon\Acl\RoleAwareInterface#15691
- Renamed
- Changed
requiretorequire_onceinPhalcon\Loaderto avoid conflicts with other loaders #15489 - Changed
requiretorequire_onceinPhalcon\Cli\ConsoleandPhalcon\Mvc\Applicationfor a bit of extra performance #15489 Phalcon\Collectionhas been moved under theSupportnamespace:- Renamed
Phalcon\CollectiontoPhalcon\Support\Collection - Renamed
Phalcon\Collection\ExceptiontoPhalcon\Support\Collection\Exception - Renamed
Phalcon\Collection\ReadOnlytoPhalcon\Support\Collection\ReadOnly - Renamed
Phalcon\CollectiontoPhalcon\Support\Collection#15700
- Renamed
- Changes to
Phalcon\Session\Bag:- Changed
Phalcon\Session\Bag::constructto accept a container instead of internally calling the default - Changed
Phalcon\Session\Bag::constructto throw an exception if the container is not specified - Changed
Phalcon\Session\Bag::initto store the data in the session #15494
- Changed
- Changed
Phalcon\Events\Event::construct()to allowsourceto be nullable #15133 - Changes to
Phalcon\Crypt- Moved
Phalcon\Crypt\ExceptiontoPhalcon\Crypt\Exception\Exception - Moved
Phalcon\Crypt\MismatchtoPhalcon\Crypt\Exception\Mismatch - Changed the ccm/gcm modes to store the
authTagwith the encryption string and process it with the decryption string #15717
- Moved
- Created new namespace
Phalcon\Encryption- Moved
Phalcon\CrypttoPhalcon\Encryption\Crypt - Moved
Phalcon\SecuritytoPhalcon\Encryption\Security - Moved the whole
Securitynamespace underEncryptionSecurity\JWT\Exceptions\UnsupportedAlgorithmExceptiontoEncryption\Security\JWT\Exceptions\UnsupportedAlgorithmExceptionSecurity\JWT\Exceptions\ValidatorExceptiontoEncryption\Security\JWT\Exceptions\ValidatorExceptionSecurity\JWT\Signer\AbstractSignertoEncryption\Security\JWT\Signer\AbstractSignerSecurity\JWT\Signer\HmactoEncryption\Security\JWT\Signer\HmacSecurity\JWT\Signer\NonetoEncryption\Security\JWT\Signer\NoneSecurity\JWT\Signer\SignerInterfacetoEncryption\Security\JWT\Signer\SignerInterfaceSecurity\JWT\Token\AbstractItemtoEncryption\Security\JWT\Token\AbstractItemSecurity\JWT\Token\EnumtoEncryption\Security\JWT\Token\EnumSecurity\JWT\Token\ItemtoEncryption\Security\JWT\Token\ItemSecurity\JWT\Token\ParsertoEncryption\Security\JWT\Token\ParserSecurity\JWT\Token\SignaturetoEncryption\Security\JWT\Token\SignatureSecurity\JWT\Token\TokentoEncryption\Security\JWT\Token\TokenSecurity\JWT\BuildertoEncryption\Security\JWT\BuilderSecurity\JWT\ValidatortoEncryption\Security\JWT\ValidatorSecurity\JWT\ValidatortoEncryption\Security\JWT\ValidatorSecurity\ExceptiontoEncryption\Security\ExceptionSecurity\RandomtoEncryption\Security\Random#15729
- Moved
- Renamed
Phalcon\Crypt\Crypt::getHashAlgo()toPhalcon\Crypt\Crypt::getHashAlgorithm()Phalcon\Crypt\Crypt::getAvailableHashAlgos()toPhalcon\Crypt\Crypt::getAvailableHashAlgorithms()Phalcon\Crypt\Crypt::setHashAlgo()toPhalcon\Crypt\Crypt::setHashAlgorithm()#15717
- Renamed
Phalcon\Factory\AdapterFactory::getAdapters()toPhalcon\Factory\AdapterFactory::getServices()#15717 - Changed
Phalcon\Crypt\Crypt::__construct()to haveuseSigningset totrueby default #15717 - Changes to
Phalcon\Config- Moved
Phalcon\ConfigtoPhalcon\Config\Config - Changed
Phalcon\Config\Config::pathby making thedelimiterparameter astring - Changed
Phalcon\Config\Adapter\Ini::__constructto not acceptnullas the mode. The default is nowINI_SCANNER_NORMAL(2) - Refactored the code for more efficiency and speed #15720
- Moved
- Changed
Phalcon\Db\Adapter\AdapterInterface::getInternalHandler()andPhalcon\Db\Adapter\Pdo\AbstractPdo::getInternalHandler()to returnvarinstead of\PDOfor custom adapters with different engines #15119 - Moved
Phalcon\FiltertoPhalcon\Filter\Filter; added more tests #15726 - Changed
Phalcon\Mvc\Model::getPreparedQuery()to returnQueryInterfaceinstead ofQuery#15562 - Moved
Phalcon\CachetoPhalcon\Cache\Cache#15728 - Changed
Phalcon\Factory\AdapterFactoryto define the factory exception ingetExceptionClass()instead of a property. #15728 - Renamed
Phalcon\Db\Adapter\AbstractAdapter::getSqlVariables()toPhalcon\Db\Adapter\AbstractAdapter::getSQLVariables()to align with the rest of thegetSQL*methods #15637 - Moved
Phalcon\LoggertoPhalcon\Logger\Logger#15727 - Changes to
Phalcon\Escaper- Moved
Phalcon\EscapertoPhalcon\Html\Escaper - Moved
Phalcon\Escaper\EscaperInterfacetoPhalcon\Html\Escaper\EscaperInterface - Moved
Phalcon\Escaper\ExceptiontoPhalcon\Html\Escaper\Exception - Deprecated methods (to be removed at a future version)
escapeCss()becomescss()escapeJs(), becomesjs()escapeHtml()becomeshtml()escapeHtmlAttr()becomesattributes()escapeUrl()becomesurl()setHtmlQuoteType()becomessetFlags()#15757
- Moved
- Changed
Phalcon\Encryption\Security::hash()to also usepassword_hash()and acceptARGON2*algorithms #15731 - Removed uncamelize of
realClassNameinPhalcon\Mvc\Router\Route::getRoutePaths()if definition is string to make processing same as if array definition #15067 - Changed
Phalcon\Validation::getValue()behavior to get value fromdataif not found inentity. #14203 - Changed
Phalcon\Forms\Form::isValid()signature: addedwhitelistargument. #14203 - Changed
Phalcon\Support\Collection\ReadOnlytoPhalcon\Support\Collection\ReadOnlyCollectionto avoid conflicts with the read-only feature in PHP 8.1 #15767 - Removed
Phalcon\Text- replaced byPhalcon\Support\Helper\Str\*#15776 - Removed
Phalcon\Helper\Arr- replaced byPhalcon\Support\Helper\Arr\*#15776 - Removed
Phalcon\Helper\File- replaced byPhalcon\Support\Helper\File\*#15776 - Removed
Phalcon\Helper\Json- replaced byPhalcon\Support\Helper\Json\*#15776 - Removed
Phalcon\Helper\Number- replaced byPhalcon\Support\Helper\Number\*#15776 - Removed
Phalcon\Helper\Str- replaced byPhalcon\Support\Helper\Str\*#15776 - Removed references to
Phalcon\Text,Phacon\Helper\*from the code replacing it withPhalcon\Support\Helper\*#15776 - Synchronized tests with
phalcon/phalconthus increasing coverage #15776 - Changed
Phalcon\Assets\Managerto require aPhalcon\Html\TagFactoryin its constructor #15776
Added
- Added more tests in the suite for additional code coverage #15691
- Added
Phalcon\Events\AbstractEventsAwareclass to handle the Events Manager when necessary #15691 - Added
Phalcon\Acl\Adapter\AdapterInterface::getInheritedRoles()andPhalcon\Acl\Adapter\Memory::getInheritedRoles()that returns the inherited roles based on a passed role name (or all if no parameter supplied) #15154 - Changes to
Phalcon\Crypt- Added
Phalcon\Crypt\Padding\PadIntefaceand padding adaptersPhalcon\Crypt\Padding\AnsiPhalcon\Crypt\Padding\Iso10126Phalcon\Crypt\Padding\IsoIekPhalcon\Crypt\Padding\NoopPhalcon\Crypt\Padding\PadInterfacePhalcon\Crypt\Padding\Pkcs7Phalcon\Crypt\Padding\SpacePhalcon\Crypt\Padding\Zero
- Added
Phalcon\Crypt\PadFactoryto easily create padding adapters - Added more tests increasing coverage #15717
- Added
- Added
Phalcon\Cache\Adapter\*::setForever()andPhalcon\Storage\Adapter\*::setForever()to allow storing a key forever #15485 - Added `Phalcon\Encryption\Secur...
v5.0.0alpha6
All notable changes to this version has been documented in the CHANGELOG-5.0.md file.
Supported PHP versions: 7.4, 8.0
v5.0.0alpha5
All notable changes to this version has been documented in the CHANGELOG-5.0.md file.
Supported PHP versions: 7.4, 8.0
v5.0.0alpha4
All notable changes to this version has been documented in the CHANGELOG-5.0.md file.
Supported PHP versions: 7.4, 8.0