5.0.0rc2 (2022-06-09)
- Changed the
StringVal
filter to now usehtmlspecialchars()
#15978
- Fixed
Phalcon\Http\Response::getQualityHeader()
to check if the server variable isnull
before performingpreg_split
#15984
- Added
StringValLegacy
filter usingfilter_var()
for PHP < 8.1 #15978
5.0.0rc1 (2022-05-31)
- Changed
Phalcon\Session\Bag::__construct()
to accept aPhalcon\Session\Manager
as the first parameter andname
as the second one #15904 - Changed
Phalcon\Logger\Logger
to no longer depend on PSR interfaces #15925 - Changed
Phalcon\Cache\Cache
to no longer depend on PSR interfaces #15927 - Changed
Phalcon\Html\Link
to no longer depend on PSR interfaces #15930
- Fixed
Phalcon\Html\Helper\Input\Numeric
to produce correct elements #15896 - Fixed
Phalcon\Storage\Adapter\*
to correctly storenull
values #15904
- Added
Phalcon\Encryption\Crypt::isValidDecryptLength($input)
to allow checking for the length of the decryption string #15879 - Added
Phalcon\Di\InitializationAwareInterface
to allow auto calling theinitialize
method when accessing service through DIC #15916 - Added
Phalcon\Storage\Serializer\MemcachedIgbinary
Phalcon\Storage\Serializer\MemcachedJson
Phalcon\Storage\Serializer\MemcachedPhp
Phalcon\Storage\Serializer\RedisIgbinary
Phalcon\Storage\Serializer\RedisJson
Phalcon\Storage\Serializer\RedisMsgpack
Phalcon\Storage\Serializer\RedisNone
Phalcon\Storage\Serializer\RedisPhp
to be used if adapter serialization is required #15904
- Added
Phalcon\Logger\LoggerInterface
Phalcon\Logger\AbstractLogger
to be used in the logger class but also the proxy-psr3 repo #15925
- Added
Phalcon\Cache\CacheInterface
Phalcon\Cache\AbstractCache
to be used in the cache class but also the proxy-psr16 repo #15927
- Added
- EvolvableLinkInterface.zep
Phalcon\Html\Link\Interfaces\EvolvableLinkProviderInterface
Phalcon\Html\Link\Interfaces\LinkInterface
Phalcon\Html\Link\Interfaces\LinkProviderInterface
Phalcon\Html\Link\AbstractLink
Phalcon\Html\Link\AbstractLinkProvider
to 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
Phalcon\Container\Container
and moved its contents to theproxy-psr11
repo #15928 - Removed
Phalcon\Http\Message\*
andPhalcon\Http\Server\*
classes. This removes PSR from Phalcon. PSR-7 available in v6 #15929
5.0.0beta3 (2022-02-06)
- Renamed
Phalcon\Db\Result\Pdo
toPhalcon\Db\Result\PdoResult
to avoid collisions with\PDO
#15874 - Moved
Phalcon\Validation
toPhalcon\Filter\Validation
- Fixed
Phalcon\Logger\AbstractAdapter::getFormattedItem()
to not addPHP_EOL
at the end of the message and added it to thePhalcon\Logger\Adapter\Stream
#14547 - Fixed
Phalcon\Html\Helper\Title:__invoke()
to not use the$separator
as parameter - no need to redefine it in a view #15866 - Fixed the delimiters for
Phalcon\Support\Helper\SnakeCase
andPhalcon\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 returnmixed
ornull
#15883 - Fixed
Phalcon\Mvc\Model::belongsTo()
parameteroptions
array by default #15971 - Fixed
Phalcon\Mvc\Model::hasMany()
parameteroptions
array by default #15971 - Fixed
Phalcon\Mvc\Model::hasOne()
parameteroptions
array by default #15971 - Fixed
Phalcon\Mvc\Model::hasOneThrough()
parameteroptions
array by default #15971 - Fixed
Phalcon\Mvc\Model\Manager::addHasMany()
parameteroptions
array by default #15971 - Fixed
Phalcon\Mvc\Model\Manager::addHasManyToMany()
parameteroptions
array by default #15971 - Fixed
Phalcon\Mvc\Model\Manager::addHasOne()
parameteroptions
array by default #15971 - Fixed
Phalcon\Mvc\Model\Manager::addHasOneThrough()
parameteroptions
array by default #15971 - Fixed
Phalcon\Mvc\Model\Manager::addBelongsTo()
parameteroptions
array by default #15971
- Added
Phalcon\Html\Helper\Title:setSeparator
to allow setting the separator independently #15866
5.0.0beta2 (2022-01-06)
Phalcon\Mvc\View\Engine\Volt\Compiler::functionCall()
to check for container presence before checking thetag
service #15842Phalcon\Di\FactoryDefault()
to setassets
andtag
as 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
sha1
withhash("sha256", $data)
to ensure that there are no collisions from the hashing algorithm #15844 - Changed
Phalcon\Support\Helper\Str\Camelize
to accept a third boolean parameter indicating whether the result will have the first letter capitalized or not #15850
- Added
Phalcon\Support\Helper\Str\KebabCase
,Phalcon\Support\Helper\Str\PascalCase
andPhalcon\Support\Helper\Str\SnakeCase
helpers #15850
5.0.0beta1 (2021-12-24)
- 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\Container
toPhalcon\Container\Container
#15796 - Changed the
Phalcon\Support\Collection::get()
to return the default value if the key does not exist or the value isnull
to mirror the behavior of v3. #15370 - Moved
Phalcon\Registry
toPhalcon\Support\Registry
#15802 - Moved
Phalcon\Url
toPhalcon\Mvc\Url
#15798 - Moved
Phalcon\Loader
toPhalcon\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\Di
toPhalcon\Di\Di
#15799 - Removed references to
Phalcon\Tag
from the framework in favor ofPhalcon\Html\TagFactory
#15801 Phalcon\Forms\Form
requires aPhalcon\Html\TagFactory
to be set before it can render elements #15801Phalcon\Di\FactoryDefault
will now return aPhalcon\Html\TagFactory
for thetag
service #15801
Phalcon\Logger\LoggerFactory::load()
to correctly use the key of the adapters array as the name of the adapter #15831
- 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
,dynamic
anduncamelize
inPhalcon\Support\HelperFactory
#15805 - Added
Phalcon\Autoload\Loader::getDebug()
to collect debugging information from the loader (enabled from the constructor) #15797
- Fixed
Phalcon\Dispatcher\Dispatcher::setParams()
not updating local params duringdispatch()
loop #15603 - Fixed related records auto-save with
belongsTo()
relation #15148
- Removed
Phalcon\Exception
; replaced by\Exception
#15800
5.0.0alpha7 (2021-11-16)
- Changes to the
Phalcon\Acl
:- Renamed
Phalcon\Acl\ComponentAware
toPhalcon\Acl\ComponentAwareInterface
- Renamed
Phalcon\Acl\RoleAware
toPhalcon\Acl\RoleAwareInterface
#15691
- Renamed
- Changed
require
torequire_once
inPhalcon\Loader
to avoid conflicts with other loaders #15489 - Changed
require
torequire_once
inPhalcon\Cli\Console
andPhalcon\Mvc\Application
for a bit of extra performance #15489 Phalcon\Collection
has been moved under theSupport
namespace:- Renamed
Phalcon\Collection
toPhalcon\Support\Collection
- Renamed
Phalcon\Collection\Exception
toPhalcon\Support\Collection\Exception
- Renamed
Phalcon\Collection\ReadOnly
toPhalcon\Support\Collection\ReadOnly
- Renamed
Phalcon\Collection
toPhalcon\Support\Collection
#15700
- Renamed
- Changes to
Phalcon\Session\Bag
:- Changed
Phalcon\Session\Bag::construct
to accept a container instead of internally calling the default - Changed
Phalcon\Session\Bag::construct
to throw an exception if the container is not specified - Changed
Phalcon\Session\Bag::init
to store the data in the session #15494
- Changed
- Changed
Phalcon\Events\Event::construct()
to allowsource
to be nullable #15133 - Changes to
Phalcon\Crypt
- Moved
Phalcon\Crypt\Exception
toPhalcon\Crypt\Exception\Exception
- Moved
Phalcon\Crypt\Mismatch
toPhalcon\Crypt\Exception\Mismatch
- Changed the ccm/gcm modes to store the
authTag
with the encryption string and process it with the decryption string #15717
- Moved
- Created new namespace
Phalcon\Encryption
- Moved
Phalcon\Crypt
toPhalcon\Encryption\Crypt
- Moved
Phalcon\Security
toPhalcon\Encryption\Security
- Moved the whole
Security
namespace underEncryption
Security\JWT\Exceptions\UnsupportedAlgorithmException
toEncryption\Security\JWT\Exceptions\UnsupportedAlgorithmException
Security\JWT\Exceptions\ValidatorException
toEncryption\Security\JWT\Exceptions\ValidatorException
Security\JWT\Signer\AbstractSigner
toEncryption\Security\JWT\Signer\AbstractSigner
Security\JWT\Signer\Hmac
toEncryption\Security\JWT\Signer\Hmac
Security\JWT\Signer\None
toEncryption\Security\JWT\Signer\None
Security\JWT\Signer\SignerInterface
toEncryption\Security\JWT\Signer\SignerInterface
Security\JWT\Token\AbstractItem
toEncryption\Security\JWT\Token\AbstractItem
Security\JWT\Token\Enum
toEncryption\Security\JWT\Token\Enum
Security\JWT\Token\Item
toEncryption\Security\JWT\Token\Item
Security\JWT\Token\Parser
toEncryption\Security\JWT\Token\Parser
Security\JWT\Token\Signature
toEncryption\Security\JWT\Token\Signature
Security\JWT\Token\Token
toEncryption\Security\JWT\Token\Token
Security\JWT\Builder
toEncryption\Security\JWT\Builder
Security\JWT\Validator
toEncryption\Security\JWT\Validator
Security\JWT\Validator
toEncryption\Security\JWT\Validator
Security\Exception
toEncryption\Security\Exception
Security\Random
toEncryption\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 haveuseSigning
set totrue
by default #15717 - Changes to
Phalcon\Config
- Moved
Phalcon\Config
toPhalcon\Config\Config
- Changed
Phalcon\Config\Config::path
by making thedelimiter
parameter astring
- Changed
Phalcon\Config\Adapter\Ini::__construct
to not acceptnull
as 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 returnvar
instead of\PDO
for custom adapters with different engines #15119 - Moved
Phalcon\Filter
toPhalcon\Filter\Filter
; added more tests #15726 - Changed
Phalcon\Mvc\Model::getPreparedQuery()
to returnQueryInterface
instead ofQuery
#15562 - Moved
Phalcon\Cache
toPhalcon\Cache\Cache
#15728 - Changed
Phalcon\Factory\AdapterFactory
to 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\Logger
toPhalcon\Logger\Logger
#15727 - Changes to
Phalcon\Escaper
- Moved
Phalcon\Escaper
toPhalcon\Html\Escaper
- Moved
Phalcon\Escaper\EscaperInterface
toPhalcon\Html\Escaper\EscaperInterface
- Moved
Phalcon\Escaper\Exception
toPhalcon\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
realClassName
inPhalcon\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 fromdata
if not found inentity
. #14203 - Changed
Phalcon\Forms\Form::isValid()
signature: addedwhitelist
argument. #14203 - Changed
Phalcon\Support\Collection\ReadOnly
toPhalcon\Support\Collection\ReadOnlyCollection
to 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/phalcon
thus increasing coverage #15776 - Changed
Phalcon\Assets\Manager
to require aPhalcon\Html\TagFactory
in its constructor #15776
- Added more tests in the suite for additional code coverage #15691
- Added
Phalcon\Events\AbstractEventsAware
class 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\PadInteface
and padding adaptersPhalcon\Crypt\Padding\Ansi
Phalcon\Crypt\Padding\Iso10126
Phalcon\Crypt\Padding\IsoIek
Phalcon\Crypt\Padding\Noop
Phalcon\Crypt\Padding\PadInterface
Phalcon\Crypt\Padding\Pkcs7
Phalcon\Crypt\Padding\Space
Phalcon\Crypt\Padding\Zero
- Added
Phalcon\Crypt\PadFactory
to 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\Security::getHashInformation()
to return information for a hash #15731 - Added constants
Phalcon\Encryption\Security::CRYPT_ARGON2I
andPhalcon\Encryption\Security::CRYPT_ARGON2ID
#15731 - Added
allowEmpty
checks to common validators #15515 - Added
Phalcon\Forms\Form::getFilteredValue()
to get filtered value without providing entity #15438 - Added
Phalcon\Forms\Form::setWhitelist()
andPhalcon\Forms\Form::getWhitelist()
#14203 - Added
dirtyState
serialization inPhalcon\Mvc\Model
#15571 - Added short versions of helpers for
Phalcon\Html\TagFactory
(call service as a method) #15776 - Added short versions of helpers for
Phalcon\Support\HelperFactory
(call service as a method) #15776 - Added
Phalcon\Html\Helper\Doctype
helper fordoctype
generation #15776 - Added
style
orlink
tag option forPhalcon\Html\Helper\Style
#15776
- Fixed
Query::getExpression()
return type #15553 - Fixed
Phalcon\Mvc\Model::getRelated()
to correctly return relationships (cached or not) when the foreign key has changed #15649 - Fixed
Phalcon\Db\Adapter\Pdo\*
,Phalcon\Mvc\Model
andPhalcon\Mvc\Model\MetaData\Strategy\Annotations
to treatBIGINT
numbers as string #15632 - Fixed
Phalcon\Crypt\Crypt::decrypt()
to correctly calculate the hash when using signed mode #15717 - Fixed
Phalcon\Mvc\Model\Manager::isVisibleModelProperty()
to correctly check if setting property is visible #15276 - Fixed
Phalcon\Config\Config::merge
to retain numeric indexes in deep merges #14705 - Fixed globals (Zephir change) to correctly display string values for global settings in
phpinfo()
#15269 - Fixed
Phalcon\Storage\Adapter\Redis::getAdapter()
andPhalcon\Cache\Adapter\Redis::getAdapter()
to accept the connection timeout in the constructoroptions
#15744 - Fixed
Phalcon\Db\Adapter\AbstractAdapter::getSQLVariables()
to return an empty array when initialized #15637 - Fixed
Phalcon\Cache\Adapter\*
andPhalcon\Storage\Adapter\*
to delete a key whenset()
is called with a zero or negative TTL #15485 - Fixed
Phalcon\Db\Adapter\Pdo\Mysql
to not usePDO::ATTR_EMULATE_PREPARES
andPDO::ATTR_STRINGIFY_FETCHES
by default. This allows numbers to be returned with resultsets instead of strings for numeric fields #15361 - Fixed
Phalcon\Validation\Validator\File
to usemessageFileEmpty
#14928 - Fixed
Phalcon\Db\RawValue
usage bugs inPhalcon\Mvc\Model::doLowUpdate()
#15413 - Fixed
type
attribute for stylesheet links #15776 - Fixed
Phalcon\Debug
to not throw an exception if a URL service is not present #15381
- Removed
Phalcon\Kernel
- obsolete #15776
5.0.0alpha6 (2021-09-16)
- Adjusted the constructor for
Phalcon\Storage\Adapter\*
andPhalcon\Cache\Adapter\*
to allow an empty key prefix to be set if needed. #15480 - Changed:
Phalcon\Db\Adapter\AdapterInterface:lastInsertId()
to be identical asPdo:lastInsertId()
Phalcon\Db\Adapter\AdapterInterface:close()
now returnsvoid
instead ofbool
Phalcon\Db\Adapter\AdapterInterface:connect()
now returnsvoid
instead ofbool
and 1st argument default value is emptyarray
instead ofnull
#15659
- Added
Phalcon\Security\JWT\Builder::addClaim
for custom JWT claims. #15656 - Added
Phalcon\Support\Helper
namespace:- Added
Phalcon\Support\HelperFactory
, a handy factory to help with string, array and other manipulations - Added
helper
service inPhalon\Di\FactoryDefault
andPhalcon\Di\FactoryDefault\Cli
to point to thePhalcon\Support\HelperFactory
- Added array manipulation classes:
Phalcon\Support\Helper\Arr\Blacklist
Phalcon\Support\Helper\Arr\Chunk
Phalcon\Support\Helper\Arr\First
Phalcon\Support\Helper\Arr\FirstKey
Phalcon\Support\Helper\Arr\Flatten
Phalcon\Support\Helper\Arr\Get
Phalcon\Support\Helper\Arr\Group
Phalcon\Support\Helper\Arr\Has
Phalcon\Support\Helper\Arr\IsUnique
Phalcon\Support\Helper\Arr\Last
Phalcon\Support\Helper\Arr\LastKey
Phalcon\Support\Helper\Arr\Order
Phalcon\Support\Helper\Arr\Pluck
Phalcon\Support\Helper\Arr\Set
Phalcon\Support\Helper\Arr\SliceLeft
Phalcon\Support\Helper\Arr\SliceRight
Phalcon\Support\Helper\Arr\Split
Phalcon\Support\Helper\Arr\ToObject
Phalcon\Support\Helper\Arr\ValidateAll
Phalcon\Support\Helper\Arr\ValidateAny
Phalcon\Support\Helper\Arr\Whitelist
- Added file manipulation classes:
Phalcon\Support\Helper\File\Basename
- Added JSON manipulation classes:
Phalcon\Support\Helper\Json\Encode
Phalcon\Support\Helper\Json\Decode
- Added number manipulation classes:
Phalcon\Support\Helper\Number\IsBetween
- Added array manipulation classes:
Phalcon\Support\Helper\Str\Camelize
Phalcon\Support\Helper\Str\Concat
Phalcon\Support\Helper\Str\CountVowels
Phalcon\Support\Helper\Str\Decapitalize
Phalcon\Support\Helper\Str\Decrement
Phalcon\Support\Helper\Str\DirFromFile
Phalcon\Support\Helper\Str\DirSeparator
Phalcon\Support\Helper\Str\Dynamic
Phalcon\Support\Helper\Str\EndsWith
Phalcon\Support\Helper\Str\FirstBetween
Phalcon\Support\Helper\Str\Friendly
Phalcon\Support\Helper\Str\Humanize
Phalcon\Support\Helper\Str\Includes
Phalcon\Support\Helper\Str\Increment
Phalcon\Support\Helper\Str\Interpolate
Phalcon\Support\Helper\Str\IsAnagram
Phalcon\Support\Helper\Str\IsLower
Phalcon\Support\Helper\Str\IsPalindrome
Phalcon\Support\Helper\Str\IsUpper
Phalcon\Support\Helper\Str\Len
Phalcon\Support\Helper\Str\Lower
Phalcon\Support\Helper\Str\Prefix
Phalcon\Support\Helper\Str\Random
Phalcon\Support\Helper\Str\ReduceSlashes
Phalcon\Support\Helper\Str\StartsWith
Phalcon\Support\Helper\Str\Suffix
Phalcon\Support\Helper\Str\Ucwords
Phalcon\Support\Helper\Str\Uncamelize
Phalcon\Support\Helper\Str\Underscore
Phalcon\Support\Helper\Str\Upper
#15738
- Added
5.0.0alpha5 (2021-09-09)
- Merged all architectures (
build/phalcon/32bits
,build/phalcon/64bits
andbuild/phalcon/safe
) into single universal insidebuild/phalcon
#15647
- Fixed C code in
build/
directory #15647
5.0.0alpha4 (2021-09-05)
- Changed
composer.json
to use PSR 1.1.x #15504 - Changed
Phalcon\Di\Injectable:getDI()
to set default DI when no DI is set #15629
- Added
Phalcon\Flash\Direct::setCssIconClasses
andPhalcon\Flash\Session::setCssIconClasses
to allow setting icons in the flash messages (bootstrap related) #15292 - Added
Phalcon\Http\Message\RequestMethodInterface
andPhalcon\Http\Message\ResponseStatusCodeInterface
that contain constants to be used for any HTTP implementations (see PHP-FIG) #15615
- Fixed
Phalcon\Container
interface to abide withPsr\Container\ContainerInterface
after the upgrade to PSR 1.1.x #15504 - Fixed
Phalcon\Forms\Form
when no entity is passed with isValid(), it uses the entity set in the form #15567 - Fixed
Phalcon\Logger\Adapter\*
to not allow serialization of the object. Added an exception when destroying the object while in transaction mode #15638
5.0.0alpha3 (2021-06-30)
- Changed version format to allow alpha/beta/RC releases on PECL.
- Changed:
Phalcon\Mvc\Model\Resultset\Complex::__construct
now acceptsPsr\SimpleCache\CacheInterface
for the cachePhalcon\Mvc\Model\Resultset\Simple::__construct
now acceptsPsr\SimpleCache\CacheInterface
for the cachePhalcon\Mvc\Model\Resultset::__construct
now acceptsPsr\SimpleCache\CacheInterface
for the cachePhalcon\Mvc\Model\Resultset::getCache
now returnsPsr\SimpleCache\CacheInterface
#15471
- Changed
Phalcon\Db\Adapter\AbstractAdapter:delete()
signature of optional parameters. #15363 - Changed
bindCounts
argument to array type in:Phalcon\Db\Dialect:getColumnList()
Phalcon\Db\Dialect:getSqlColumn()
Phalcon\Db\Dialect:getSqlExpression()
Phalcon\Db\Dialect:getSqlExpressionBinaryOperations()
Phalcon\Db\Dialect:getSqlExpressionCase()
Phalcon\Db\Dialect:getSqlExpressionCastValue()
Phalcon\Db\Dialect:getSqlExpressionConvertValue()
Phalcon\Db\Dialect:getSqlExpressionFunctionCall()
Phalcon\Db\Dialect:getSqlExpressionGroupBy()
Phalcon\Db\Dialect:getSqlExpressionHaving()
Phalcon\Db\Dialect:getSqlExpressionJoins()
Phalcon\Db\Dialect:getSqlExpressionLimit()
Phalcon\Db\Dialect:getSqlExpressionList()
Phalcon\Db\Dialect:getSqlExpressionObject()
Phalcon\Db\Dialect:getSqlExpressionOrderBy()
Phalcon\Db\Dialect:getSqlExpressionScalar()
Phalcon\Db\Dialect:getSqlExpressionUnaryOperations()
Phalcon\Db\Dialect:getSqlExpressionWhere()
Phalcon\Db\DialectInterface:getSqlExpression()
- Fixed
Phalcon\Db\Adapter\AbstractAdapter:delete()
whenbindTypes
argument is passed. #15363 - Fixed
Phalcon\Storage\Adapter\Redis::getAdapter
to use passedconnectionTimeout
,retryInterval
andreadTimeout
options for the connection #15484 - Fixed
Phalcon\Mvc\View\Engine\Volt\Compiler
for a use case when a block will return null vs an array forstatementList
in PHP 8 #15556
5.0.0-alpha.2 (2021-05-05)
- Changed
Phalcon\Translate\Adapter\Gettext::setLocale
signature to allow the category and an array of locales #14764 Phalcon\Version
is now moved toPhalcon\Support\Version
_getSpecialVersion
and_getVersion
have been removed (marked deprecated in v4)- The class is no longer static; it has to be instantiated first
- References to
Phalcon\Debug
and the Volt compiler have been adjusted #15422
Phalcon\Debug
is now moved toPhalcon\Support\Debug
; CSS/JS references updated #14817- Changed the logging names types to uppercase #15375
- Changes to the
Phalcon\Logger
:- Renamed
Phalcon\Logger\Item::getName
toPhalcon\Logger\Item::getLevelName
- Renamed
Phalcon\Logger\Item::getType
toPhalcon\Logger\Item::getLevel
- Changed the logger timestamp to be
DateTimeImmutable
on a per item basis - more accurate timing - Changed
Phalcon\Logger
to accept aDateTimeZone
in the constructor - Changed placeholder
%type%
to%level%
to align with the variables #15411
- Renamed
- Changed
Phalcon\Mvc\Model::getSchema()
,Phalcon\Mvc\ModelInterface::getSchema()
,Phalcon\Mvc\Model\Manager::getModelSchema()
Phalcon\Mvc\Model\ManagerInterface::getModelSchema()
to returnstring | null
so as to abide with the latest Zephir #15411 - Changed the interpolation for the formatters to use the
Phalcon\Support\Helper\Str\Interpolate
#15411 - Changed the exceptions thrown from factories to be more specific to their namespaces vs. the Factory generic one #15411
- Changed
Phalcon\Mvc\Model\ManagerInterface:getRelationByAlias()
return type fromRelation|bool
toRelationInterface|bool
#15343 - Changed
Phalcon\Paginator\Repository:getItems()
return type fromarray
toResultsetInterface
#15074
- Added
BINARY
andVARBINARY
support for Phalcon\Db\Adapter\Mysql #14927 - Added
Phalcon\Db\Profiler\Item::getTotalElapsedNanoseconds()
andPhalcon\Db\Profiler\Item::getTotalElapsedMilliseconds()
for more precision #15249 - Added
Phalcon\Http\Response\Cookies::isSent()
andPhalcon\Http\Response\Headers::isSent()
; Added logic to not send the headers or cookies twice. #15334 - Added
Phalcon\Validation\Validator\File\AbstractFile::checkIsUploadedFile()
method to allow overriding when adding files to the$_FILES
array directly (not uploading). #15051 - Added
Phalcon\Support\Helper\Str\Interpolate
to be used throughout the code for interpolation (Logger/Translator)%type%
to%level%
to align with the variables #15411 - Added
Phalcon\Support\HelperFactory
for an easier creation/access of helpers #15411
- Corrected the
Phalcon\Db\Profiler\Item
calculation for seconds #15249 - Corrected
Phalcon\Http\Message\ServerRequestFactory
to populate with superglobals #15286 - Corrected
Phalcon\Mvc\Model\Query\BuilderInterface::orderBy
to usevar
instead ofstring
#15415 - Corrected
Phalcon\Db\Adapter\Pdo\AbstractPdo::connect
to take into account thepersistent
option for relevant connections #15241 - Corrected
Phalcon\Image\Adapter\Gd::processText
to correctly callimagettfbbox
when a font is specified #15188 - Corrected
Phalcon\Cache
to cast keys as strings before sending them to adapters #15249 - Binding form values with specified whitelist #15070
5.0.0-alpha.1 (2021-03-31)
- Support for PHP 7.4 and PHP 8.0
- Fixed
Logger\Log::log()
log
to recognize all log levels #15214 - Changed
setClaims
to be protected so that thePhalcon\Security\JWT\Builder
class can be properly extended. #15322 - Fixed
Phalcon\Mvc\Model::average()
to returnfloat
value when isstring
#15287 - Fixed
Phalcon\Storage\Serializer\Igbinary
to storeis_numeric
andbool
values properly #15240 - Fixed
Phalcon\Validation\Validator\Confirmation
was failing to compare cases such as 000123 = 123 #15347 - Fixed
Phalcon\Storage\Adapter
failing to retrieve empty like stored data (such as [], 0, false) 15125 - Fixed declarations for
function getEventsManager()
to allow null return 15010 - Removed underscore from method names (starting) to abide with PSR-12 15345
- Fixed
Phalcon\Flash\Session::has()
to properly check if any messages are existing 15204 - Fixed signature of
Phalcon\Forms\Element\Select::__construct()
- Fixed signature of
Phalcon\Assets\Manager::addCss()
- Fixed signature of
Phalcon\Assets\Manager::addJs()
- Fixed signature of
Phalcon\Db\Adapter\AdapterInterface::execute()
,Phalcon\Db\Adapter\AdapterInterface::fetchOne()
andPhalcon\Db\Adapter\AdapterInterface::query()
- Fixed
Phalcon\Annotations\Reader::parse()
to return constants annotations #15919 - Added
Phalcon\Annotations\Reflection::getConstantsAnnotations()
method that returns constants annotations #15919 - Changes to the
Phalcon\Annotations\Adapter\AdapterInterface
:- Added
getConstant()
method that returns class constant annotations collection - Added
getConstants()
method that returns class constants annotations array list
- Added