Releases: phalcon/cphalcon
Releases · phalcon/cphalcon
v5.0.0alpha3
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.0-alpha.2
All notable changes to this version has been documented in the CHANGELOG-5.0.md file.
v4.1.2
v4.1.1
v5.0.0-alpha.1
Supported PHP Versions: 7.4, 8.0
Fixed
- Support for PHP 7.4 and PHP 8.0
- Fixed
Logger\Log::log()logto recognize all log levels #15214 - Changed
setClaimsto be protected so that thePhalcon\Security\JWT\Builderclass can be properly extended. #15322 - Fixed
Phalcon\Mvc\Model::average()to returnfloatvalue when isstring#15287 - Fixed
Phalcon\Storage\Serializer\Igbinaryto storeis_numericandboolvalues properly #15240 - Fixed
Phalcon\Validation\Validator\Confirmationwas failing to compare cases such as 000123 = 123 #15347 - Fixed
Phalcon\Storage\Adapterfailing 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
v4.1.0
Supported PHP Versions: 7.2, 7.3, 7.4
Added
- Added JWT (JSON Web Tokens) support under
Phalcon\Security\JWT. Offers support for:- Token
- Parser
- Builder
- Validator
- Signers (None, HMAC)
- Base64 encode/decodeUrl helper class
#13856
- Added additional HTML helpers under
Phalcon\Html\Helper:Anchor,Base,Body,Button,Close,Element,Form,Img,Input\Color,Input\Date,Input\DateTime,Input\DateTimeLocal,Input\Email,Input\File,Input\Hidden,Input\Image,Input\Input,Input\Month,Input\Numeric,Input\Password,Input\Range,Input\Select,Input\Search,Input\Submit,Input\Tel,Input\Text,Input\Textarea,Input\Time,Input\Url,Input\Week,Label,Link,Meta,Ol,Script,Style,Title,Ul
#14696 - Added
Phalcon\Http\Request::getPreferredIsoLocaleVariant()to return the base language if this is a specific one (envsen-US) #3135 - Added
preloadfor Volt, which will send a HTTP/2 preload header #13128 - Added
Phalcon\Helper\Arr::blackList()to exclude elements of an array by the keys obtained from the elements of a blacklist #14801 @TimurFlush - Added
Phalcon\Debug::renderHtml()to get a HTML representation of the exception #14794 @TimurFlush - Added
Phalcon\Mvc\Router\Annotations->setActionPreformatCallback($callback)to set a callback which pre-formats actions to custom pattern #14819 - Added new PDO wrapper for the Data Mapper implementation, with decorated instance, locator and profiler
Phalcon\DataMapper\Pdo\ConnectionPhalcon\DataMapper\Pdo\Connection\DecoratedPhalcon\DataMapper\Pdo\Profiler\ProfilerPhalcon\DataMapper\Pdo\Profiler\MemoryLoggerPhalcon\DataMapper\Pdo\ConnectionLocator
This component will be used in the Data Mapper implementation but can be used as a stand alone component for PDO connections. #14733
- Added new Query Builder, as well as a factory, for the Data Mapper implementation supporting CRUD with bound parameters
Phalcon\DataMapper\Query\BindPhalcon\DataMapper\Query\DeletePhalcon\DataMapper\Query\InsertPhalcon\DataMapper\Query\SelectPhalcon\DataMapper\Query\UpdatePhalcon\DataMapper\Query\QueryFactory
This component can be used to create SQL statements using a fluent interface. Optionally the statements can be executed from the builder itself using theDataMapper\Pdoconnection. #14734
- Added
Phalcon\Mvc\Micro\LazyLoader::getHandler()to return real handler when using lazy loaded controllers forPhalcon\Mvc\Micro#14871 @Jurigag - Added
Phalcon\Collection\CollectionInterfaceandPhalcon\Config\ConfigInterfaceto use as typehints when extending or implementing custom classes #15106 @BeMySlaveDarlin - Added
Phalcon\Db\Adapter\AdapterInterface::getDefaultValue()andsupportsDefaultValue()methods to properly support theDEFAULTkeyword #15180 - Added
Phalcon\Db\Adapter\AbstractAdapter::supportsDefaultValue()method to properly support theDEFAULTkeyword #15180
Changed
- Added service checks for the session. Now cookies will be saved in the session only when the
sessionservice is defined #11770, #14649 - Changed
Phalcon\Db\Adapter\*::getRawSQLStatement()to return the full SQL query with parameters #12196 - Changed
Phalcon\Filter::sanitizeto throw aE_USER_NOTICEwhen a filter does not exist. #14679 - PHQL now supports the use of any printable characters from the extended ASCII table for escaped identifiers. The exception characters are
[and]. To use[and]escape they (\[,\]) #14535 - Removed UTF-8 charset when using
Phalcon\Http\Response::setJsonContentto apply with rfc7159 - Changed the visibility of properties in
Phalcon\Http\Message\Urito work withclone. #15040 - Change
Phalcon\Validation\AbstractValidator::__construct. Save custom validator message in options. #15053 @ivan-zolotavin - Add proxy methods without
_prefix in methods names:getRelatedRecords(),groupResult(),exists(),preSaveRelatedRecords(),preSave(),doLowUpdate(),postSaveRelatedRecords(),postSave(),cancelOperation(),doLowInsert(),getConnection(),getConnectionService(),getVersion(),getSpecial()#14971 - Modified
Phalcon\Mvc\Model\Relationto accept callable params for model relations. #15158
Fixed
- Fixed
Phalcon\Db\Dialect\Mysql::getColumnDefinitionto recognizesizeforDATETIME,TIMEandTIMESTAMPcolumns #13297 - Fixed
Phalcon\Events\Managerto provide callable support #13322, #15045 - Fixed
Phalcon\Validation\Validator\Uniquenessfixed except query #15084 - Fixed
Phalcon\Mvc\Modelto also check the params option in cascade relations when deleting #15098 - Fixed
Phalcon\Mvc\Modelto also check the params option in restricted relations when deleting #15172 - Fixed
Phalcon\Mvc\Model::findFirst()to return correct value #15077 - Fixed
Phalcon\Mvc\Model\CriteriaInterface::where()parameters #15144 - Fixed
Phalcon\Http\Response\Cookies::set()to utilize the options parameter correctly #15129 - Fixed
Phalcon\Http\Cookie::send()to defineoptionsparameter #15142 - Fixed
Phalcon\Cryptperformance issues. #15118 - Fixed
Phalcon\Mvc\Router\Routeunicode support in patterns #15102 - Fixed fatal error in
Phalcon\Mvc\Model::cloneResultMap()when column map is used withorm.cast_on_hydrateturned on. #14617 - Fixed
Phalcon\Mvc\Model::sum(),average(),minimum(),maxmium(),count()to utilize the transaction parameter. #15113 - Fixed
Phalcon\Mvc\Model::__set()to cleardirtyRelatedwhen empty array is set. #14822 - Fixed
Phalcon\Mvc\Modelto skip columns with default values when theDEFAULTkeyword is not supported by the database adapter (SQLite) #15180 - Fixed
Phalcon\Mvc\Routerto handle numeric routes properly #14926 - Fixed
Phalcon\Session\Adapter\RedisandPhalcon\Session\Adapter\Libmemcachedto utilize the prefix option #15184 - Fixed
Phalcon\Mvc\Modelto save the modified properties of previously queried single related records. #15148
Removed
v4.0.6
Supported PHP Versions: 7.2, 7.3, 7.4
Changed
- Changed
Volt::convertEncodingto no longer usingiconvfor a fallback since it causes issues with macOS #14912 - Changed schema manipulation in
Phalcon\Db\Dialect\Mysql- unquote numerical defaults #14888, #14974 - Changed the default ACL access level from boolean
FALSEtoEnum::DENY#14974 - Changed the way
Phalcon\Http\Response::__constructcheckscontentdata type. Now aTypeErrorwill be thrown if incompatible data type was passed #14983 - Changed return type hints of the following
Phalcon\Flash\FlashInterface's methods:error,message,notice,successandwarning#14994 - Changed return type hint for
Phalcon\Mvc\ModelInterface::sum#15000 - Changed return type for
Phalcon\Mvc\Model\Criteria::getLimitso that integer, NULL or array will be returned #15004 - Changed return type hint for
Phalcon\Mvc\Model\Manager::getCustomEventsManagerto return NULL instead of boolean FALSE if there is no special events manager #15008 - Changed
Phalcon\Mvc\Model\MetaData::getDIso that now it will throw aPhalcon\Mvc\Model\Exceptionif there is noDiInterfaceinstance #15011 - Changed
Phalcon\Http\Request::getJsonRawBodyto usejson_decodeinstead ofPhalcon\Json::decode#14936 - Changed
Phalcon\Factory\AbstractFactoryto exposegetServicewhich will throw an exception if it does not exist. RemovedcheckServiceand adjusted all references innewInstance()calls. #15038 - Changed the visibility of methods and properties in
Phalcon\Http\Message\Response,Phalcon\Http\Message\ServerRequestandPhalcon\Http\Message\Urito work withclone. #15040
Fixed
- Fixed
Phalcon\Mvc\Model\Query\Builder::getPhqlto add single quote between string value on a simple condition #14874 - Fixed recognizing language operators inside Volt's echo mode (
{{ ... }}) #14476 - Fixed
Tag::friendlyTitleto correctly convert titles under MacOS and Windows #14866 - Fixed the Volt compiler to no longer parse
cachefragments and thus searching for theviewCacheservice (deprecated for v4) #14907 - Fixed
INoperator precedence in Volt #14816 - Fixed testing suite to work with PHPUnit 9 when we upgrade #14837
- Fixed return type hints of the following
Phalcon\Acl\AbstractAdapter's methods:getActiveAccess,getActiveRoleandgetActiveComponent#14974 - Fixed default value of the following
Phalcon\Annotations\Annotation's properties:$argumentsand$exprArguments#14977 - Fixed return type hints of the following
Phalcon\Annotations\Annotation's methods:getArgument,getNameandgetNamedArgument#14977 - Fixed incorrect return type hint for
Phalcon\Http\Response\Cookies::setSignKey#14982 - Fixed return type hints for
Phalcon\Config\ConfigFactory::loadandPhalcon\Config\ConfigFactory::newInstanceto explicitly indicate the return type asPhalcon\Configinstance #14978 - Fixed return type hints for the following methods #14987:
Phalcon\Dispatcher\AbstractDispatcher::dispatchPhalcon\Dispatcher\DispatcherInterface::dispatchPhalcon\Filter::getPhalcon\Http\Message\AbstractCommon::cloneInstancePhalcon\Http\Message\AbstractCommon::processWithPhalcon\Http\Message\AbstractMessage::withAddedHeaderPhalcon\Http\Message\AbstractMessage::withBodyPhalcon\Http\Message\AbstractMessage::withHeaderPhalcon\Http\Message\AbstractMessage::withProtocolVersionPhalcon\Http\Message\AbstractMessage::withoutHeaderPhalcon\Http\Message\AbstractRequest::withMethodPhalcon\Http\Message\AbstractRequest::withRequestTargetPhalcon\Http\Message\AbstractRequest::withUriPhalcon\Mvc\Model\Binder::findBoundModelPhalcon\Validation::getEntityPhalcon\Validation\ValidationInterface::getEntity
- Fixed default value of
Phalcon\Crypt::$keyto satisfy the interface #14989 - Fixed return type hint for
Phalcon\Di::getInternalEventsManager#14992 - Fixed return type hints of the following
Phalcon\Flash\AbstractFlash's methods:error,notice,successandwarning#14994 - Fixed return type hint for
Phalcon\Translate\InterpolatorFactory::newInstance#14996 - Fixed return type hint for
Phalcon\Mvc\Model::sum#15000 - Fixed return type hint for
Phalcon\Mvc\Model\CriteriaInterface::getLimitandPhalcon\Mvc\Model\Criteria::getLimitto follow documentation and original purpose #15004 - Fixed return type hint for
Phalcon\Mvc\Model::countandPhalcon\Mvc\ModelInterface::countto reflect original behavior #15006 - Fixed return type hint for
Phalcon\Mvc\Model::getEventsManagerto reflect original behavior #15008 - Fixed return type hint for
Phalcon\Mvc\Model::averageandPhalcon\Mvc\ModelInterface::averageto reflect original behavior #15013 - Fixed return type hint for
Phalcon\Mvc\Model\MetaData::getColumnMapandPhalcon\Mvc\Model\MetaData::getReverseColumnMapto reflect original behavior #15015 - Fixed return type hint for
Phalcon\Mvc\Model\MetaDataInterface::getColumnMapandPhalcon\Mvc\Model\MetaDataInterface::getReverseColumnMapto reflect original behavior #15015 - Fixed return type hint for
Phalcon\Mvc\Model\CriteriaInterface::getColumnsandPhalcon\Mvc\Model\Criteria::getColumnsto reflect original behavior #15017 - Fixed return type hint for
Phalcon\Db\Column::getSizeandPhalcon\Db\ColumnInterface::getSizeto reflect original behavior #15019 - Fixed return type hint for
Phalcon\Db\Column::getAfterPositionandPhalcon\Db\ColumnInterface::getAfterPositionto reflect original behavior #15021 - Fixed return type hint for
Phalcon\Mvc\Model\Manager::executeQueryandPhalcon\Mvc\Model\Manager::ManagerInterfaceto reflect original behavior #15024 - Fixed return type hint for
Phalcon\Mvc\Model\Resultset::getFirstandPhalcon\Mvc\Model\ResultsetInterface::getFirstto reflect original behavior #15027 - Rollback the regression changes for
Phalcon\Mvc\Model\Query::_prepareSelectto properly prepare a SQLSELECTstatement from a PHQL one #14657 - Fixed
SerializerInterfaceusage forPhalcon\Mvc\Model\Resultset\Complex::unserializeas well asPhalcon\Mvc\Model\Resultset\Complex::unserialize#14942
Removed
- Removed
Phalcon\Translate\InterpolatorFactory::$mapperas well asPhalcon\Translate\InterpolatorFactory::$servicesin favor ofPhalcon\Factory\AbstractFactoryones #15036
v4.0.5
Supported PHP Versions: 7.2, 7.3, 7.4
Added
Changed
Fixed
- Fixed
Phalcon\Db::fetchAllto correctly return data whenEnum::FETCH_COLUMNis supplied. #13321 - Fixed Postgres NULL values to not be required during model update. #14862
- Fixed MySQL alter column when default value contains not only CURRENT_TIMESTAMP #14880
- Fixed MySQL default value with ON UPDATE expression #14887
- Fixed
Str::dirFromFile()to replace.with-to avoid issues with Windows environments #14858
v4.0.4
Supported PHP Versions: 7.2, 7.3, 7.4
Added
- Added a way to utilize GitHub actions to run database tests against each RDBMS and reworked the testing suite. #14779
- Added the latest version of Codeception (v4) and utilized the phalcon4 module. #14779
Changed
- Changed Column 'notNull' definition to make possible create nullable (NULL) columns #14804
Fixed
- Fixed
Phalcon\Db\Adapter\Pdo\Postgresqlto correctly identifyboolfields instead of treating them astinyint#14722 @tidytrax - Fixed
Phalcon\Cli\Consoleto pass current container to thePhalcon\Mvc\ModuleDefinitionInterface::registerAutoloaders()#14787 @TimurFlush - Fixed
Phalcon\Db\Dialect\Mysql::createTable()to create default value with CURRENT_TIMESTAMP ON UPDATE/DELETE [#14797] - Fixed
Phalcon\Storage\Adapter\*to no longer accept theserializeroption as it was clashing with the factory #14828 - Fixed
Phalcon\Http\Requestto return the correct host on anUnexpectedValueException#14763 - Fixed
Phalcon\Assets\Collectionto initializepositionto 0 #14848
v4.0.3
Supported PHP Versions: 7.2, 7.3, 7.4
Fixed
- Fixed
Phalcon\Db\Adapter\Pdo\MysqlTinyint(1) is handled as boolean under MySql #14708 - Fixed
Phalcon\Mvc\View\Engine\Voltto produce the correct order of variables for thejoinfilter #14771 - Fixed
Phalcon\Storage\Adapter\Stream::getKeys()bug in the absence of a directory with a prefix name #14725, #14721 - Fixed
Phalcon\Debug::onUncaughtExceptionShould accept\Throwableinstead of\Exceptionas an argument #14738 - Fixed
Phalcon\Validation\ValidatorFactoryShould return Phalcon\Validation\ValidatorInterface 14749 - Fixed
Phalcon\Mvc\Model\Binderto now correctly callhasandseton the cache object #14743 - Fixed
Phalcon\Session\Adapter\StreamandPhalcon\Storage\Adapter\Streamto correctly handle simultaneous read/write #14694 - Fixed
Phalcon\Config\ConfigFactoryto always add the correct extension #14756