Phalcon v4.0.6 Release Notes

Release Date: 2020-05-16 // 19 days ago
  • 👌 Supported PHP Versions: 7.2, 7.3, 7.4

    🔄 Changed

    • 🔄 Changed Volt::convertEncoding to no longer using iconv for 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 FALSE to Enum::DENY #14974
    • 🔄 Changed the way Phalcon\Http\Response::__construct checks content data type. Now a TypeError will be thrown if incompatible data type was passed #14983
    • 🔄 Changed return type hints of the following Phalcon\Flash\FlashInterface's methods: error, message, notice, success and warning #14994
    • 🔄 Changed return type hint for Phalcon\Mvc\ModelInterface::sum #15000
    • 🔄 Changed return type for Phalcon\Mvc\Model\Criteria::getLimit so that integer, NULL or array will be returned #15004
    • 🔄 Changed return type hint for Phalcon\Mvc\Model\Manager::getCustomEventsManager to return NULL instead of boolean FALSE if there is no special events manager #15008
    • 📇 Changed Phalcon\Mvc\Model\MetaData::getDI so that now it will throw a Phalcon\Mvc\Model\Exception if there is no DiInterface instance #15011
    • 🔄 Changed Phalcon\Http\Request::getJsonRawBody to use json_decode instead of Phalcon\Json::decode #14936
    • 🔄 Changed Phalcon\Factory\AbstractFactory to expose getService which will throw an exception if it does not exist. Removed checkService and adjusted all references in newInstance() calls. #15038
    • 🔄 Changed the visibility of methods and properties in Phalcon\Http\Message\Response, Phalcon\Http\Message\ServerRequest and Phalcon\Http\Message\Uri to work with clone. #15040

    🛠 Fixed

    • 🛠 Fixed Phalcon\Mvc\Model\Query\Builder::getPhql to add single quote between string value on a simple condition #14874
    • 🛠 Fixed recognizing language operators inside Volt's echo mode ({{ ... }}) #14476
    • 🛠 Fixed Tag::friendlyTitle to correctly convert titles under MacOS and Windows #14866
    • 🛠 Fixed the Volt compiler to no longer parse cache fragments and thus searching for the viewCache service (deprecated for v4) #14907
    • 🛠 Fixed IN operator 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, getActiveRole and getActiveComponent #14974
    • 🛠 Fixed default value of the following Phalcon\Annotations\Annotation's properties: $arguments and $exprArguments #14977
    • 🛠 Fixed return type hints of the following Phalcon\Annotations\Annotation's methods: getArgument, getName and getNamedArgument #14977
    • 🛠 Fixed incorrect return type hint for Phalcon\Http\Response\Cookies::setSignKey #14982
    • 🛠 Fixed return type hints for Phalcon\Config\ConfigFactory::load and Phalcon\Config\ConfigFactory::newInstance to explicitly indicate the return type as Phalcon\Config instance #14978
    • 🛠 Fixed return type hints for the following methods #14987:
      • Phalcon\Dispatcher\AbstractDispatcher::dispatch
      • Phalcon\Dispatcher\DispatcherInterface::dispatch
      • Phalcon\Filter::get
      • Phalcon\Http\Message\AbstractCommon::cloneInstance
      • Phalcon\Http\Message\AbstractCommon::processWith
      • Phalcon\Http\Message\AbstractMessage::withAddedHeader
      • Phalcon\Http\Message\AbstractMessage::withBody
      • Phalcon\Http\Message\AbstractMessage::withHeader
      • Phalcon\Http\Message\AbstractMessage::withProtocolVersion
      • Phalcon\Http\Message\AbstractMessage::withoutHeader
      • Phalcon\Http\Message\AbstractRequest::withMethod
      • Phalcon\Http\Message\AbstractRequest::withRequestTarget
      • Phalcon\Http\Message\AbstractRequest::withUri
      • Phalcon\Mvc\Model\Binder::findBoundModel
      • Phalcon\Validation::getEntity
      • Phalcon\Validation\ValidationInterface::getEntity
    • 🛠 Fixed default value of Phalcon\Crypt::$key to 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, success and warning #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::getLimit and Phalcon\Mvc\Model\Criteria::getLimit to follow documentation and original purpose #15004
    • 🛠 Fixed return type hint for Phalcon\Mvc\Model::count and Phalcon\Mvc\ModelInterface::count to reflect original behavior #15006
    • 🛠 Fixed return type hint for Phalcon\Mvc\Model::getEventsManager to reflect original behavior #15008
    • 🛠 Fixed return type hint for Phalcon\Mvc\Model::average and Phalcon\Mvc\ModelInterface::average to reflect original behavior #15013
    • 🛠 Fixed return type hint for Phalcon\Mvc\Model\MetaData::getColumnMap and Phalcon\Mvc\Model\MetaData::getReverseColumnMap to reflect original behavior #15015
    • 🛠 Fixed return type hint for Phalcon\Mvc\Model\MetaDataInterface::getColumnMap and Phalcon\Mvc\Model\MetaDataInterface::getReverseColumnMap to reflect original behavior #15015
    • 🛠 Fixed return type hint for Phalcon\Mvc\Model\CriteriaInterface::getColumns and Phalcon\Mvc\Model\Criteria::getColumns to reflect original behavior #15017
    • 🛠 Fixed return type hint for Phalcon\Db\Column::getSize and Phalcon\Db\ColumnInterface::getSize to reflect original behavior #15019
    • 🛠 Fixed return type hint for Phalcon\Db\Column::getAfterPosition and Phalcon\Db\ColumnInterface::getAfterPosition to reflect original behavior #15021
    • 🛠 Fixed return type hint for Phalcon\Mvc\Model\Manager::executeQuery and Phalcon\Mvc\Model\Manager::ManagerInterface to reflect original behavior #15024
    • 🛠 Fixed return type hint for Phalcon\Mvc\Model\Resultset::getFirst and Phalcon\Mvc\Model\ResultsetInterface::getFirst to reflect original behavior #15027
    • ⏪ Rollback the regression changes for Phalcon\Mvc\Model\Query::_prepareSelect to properly prepare a SQL SELECT statement from a PHQL one #14657
    • 🛠 Fixed SerializerInterface usage for Phalcon\Mvc\Model\Resultset\Complex::unserialize as well as Phalcon\Mvc\Model\Resultset\Complex::unserialize #14942

    ✂ Removed

    • ✂ Removed Phalcon\Translate\InterpolatorFactory::$mapper as well as Phalcon\Translate\InterpolatorFactory::$services in favor of Phalcon\Factory\AbstractFactory ones #15036

Previous changes from v4.0.5

  • 👌 Supported PHP Versions: 7.2, 7.3, 7.4

    ➕ Added

    🔄 Changed

    🛠 Fixed

    • 🛠 Fixed Phalcon\Db::fetchAll to correctly return data when Enum::FETCH_COLUMN is 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