Phalcon v3.2.0 Release Notes

Release Date: 2017-06-19 // almost 7 years ago
    • Phalcon will now trigger E_DEPREACATED by using Phalcon\Mvc\Model\Criteria::addWhere, Phalcon\Debug::getMajorVersion, Phalcon\Dispatcher::setModelBinding, Phalcon\Tag::resetInput, Phalcon\Mvc\Model\Validator::__construct
    • ➕ Added Factory Adapter loaders #11001
    • ➕ Added ability to sanitize URL to Phalcon\Filter
    • ➕ Added missed $type argument to interface Phalcon\Mvc\Model\Query\BuilderInterface::join() to specify type join
    • ➕ Added Phalcon\Mvc\Model::hasUpdated and Phalcon\Mvc\Model:getUpdatedFields, way to check if fields were updated after create/save/update
    • ➕ Added support for having option in Phalcon\Paginator\Adapter\QueryBuilder #12111
    • ➕ Added Phalcon\Config::path to get a value using a dot separated path #12221
    • ➕ Added service provider interface to configure services by context #12783
    • ➕ Added the ability to load services from yaml (Phalcon\Di::loadFromYaml) and php array (Phalcon\Di::loadFromPhp) files, so we can keep the references cleanly separated from code #12784
    • ➕ Added Phalcon\Cache\Backend\Apcu to introduce pure support of APCu #12098, #11934
    • ➕ Added Phalcon\Annotations\Adapter\Apcu to introduce pure support of APCu #12098
    • Added option to disable snapshot update on create/save using Phalcon\Mvc\Model::setup(['updateSnapshotOnSave' => false]) or phalcon.orm.update_snapshot_on_save = 0 in php.ini
    • ➕ Added Phalcon\Mvc\Model\Manager::setModelPrefix and Phalcon\Mvc\Model\Manager::getModelPrefix to introduce tables prefixes #10328
    • ➕ Added methods Phalcon\Mvc\Model\Query\Builder::andHaving, Phalcon\Mvc\Model\Query\Builder::orHaving, Phalcon\Mvc\Model\Query\Builder::betweenHaving, Phalcon\Mvc\Model\Query\Builder::notBetweenHaving, Phalcon\Mvc\Model\Query\Builder::inHaving, Phalcon\Mvc\Model\Query\Builder::notInHaving
    • Added parameters skip_on_insert, skip_on_update and allow_empty_string and fixed a bug for renamed integer columns in Phalcon\Mvc\Model\MetaData\Strategy\Annotations::getMetaData
    • ➕ Added way to disable setters in Phalcon\Mvc\Model::assign by using Phalcon\Mvc\Model::setup or ini option
    • ➕ Added ability to sanitize special characters to Phalcon\Filter
    • ➕ Added a new Phalcon\Mvc\Model\Binder::findBoundModel method. Params fetched from cache are being added to internalCache class property in Phalcon\Mvc\Model\Binder::getParamsFromCache
    • ➕ Added Phalcon\Mvc\Model\Criteria::createBuilder to create a query builder from criteria
    • ➕ Added dispatcher::beforeForward event to allow forwarding request to the separated module #121, #12417
    • ➕ Added Phalcon\Security\Random:base62 to provide the largest value that can safely be used in URLs without needing to take extra characters into consideration #12105
    • ➕ Added Phalcon\Assets\ResourceInterface. So now Phalcon\Assets\Inline and Phalcon\Assets\Resource implements ResourceInterface
    • ➕ Added Phalcon\Assets\Collection::has to checks whether the resource is added to the collection or not
    • ➕ Added Phalcon\Cli\Dispatcher::getOption, Phalcon\Cli\Dispatcher::hasOption and the options as parameter to cli handlers
    • ➕ Added Phalcon\Config\Adapter\Grouped to allow usage of multiple configuration files/adapters in a simple format #12884
    • ➕ Added DISTINCT type for Phalcon\Text::random
    • ➕ Added autopadding feature for Phalcon\Crypt::encryptBase64 and Phalcon\Crypt::decryptBase64 #12490
    • 🛠 Fixed Dispatcher forwarding when handling exception #11819, #12154
    • 🛠 Fixed params view scope for PHP 7 #12648
    • 🛠 Fixed Phalcon\Mvc\Micro::handle to prevent attemps to send response twice #12668
    • 🛠 Fixed Di::set, Di::setShared to allow pass more than 10 arguments #12299
    • 🛠 Fixed Phalcon\Mvc\Model\MetaData\Strategy\Annotations::getColumnMaps where only renamed columns where returned if there was one
    • 🛠 Fixed Phalcon\Mvc\Micro:handle to correctly handle before handlers #10931
    • 🛠 Fixed Phalcon\Mvc\Micro:handle to correctly handle afterBinding handlers
    • 🛠 Fixed Phalcon\Mvc\Model::hasChanged to correctly use it with arrays #12669
    • 🛠 Fixed Phalcon\Mvc\Model\Resultset::delete to return result depending on success #11133
    • 🛠 Fixed Phalcon\Session\Adapter::destroy to correctly clear the $_SESSION superglobal #12326, #12835
    • 🛠 Fixed Phalcon\Assets\Collection:add to avoid duplication of resources #10938, #2008
    • 🛠 Fixed Phalcon\Mvc\View\Engine\Volt::compile to not throw exception in case of absence the file and stat option is true #12849
    • 🛠 Fixed Phalcon\Mvc\Collection::getReservedAttributes to workaround for PHP 7/7.1 bug with static null when extending class phalcon/incubator#762, phalcon/incubator#760
    • Fixed Phalcon\Cache\Backend\Redis::__construct and Phalcon\Cache\Backend\Redis::_connect to correctly handle the Redis auth option #12736
    • 🛠 Fixed Phalcon\Mvc\Collection::getReservedAttributes, added missing properties to reserved attributes phalcon/incubator#762, phalcon/incubator#760
    • 🛠 Fixed Phalcon\Mvc\Router\Annotation::processActionAnnotation to support PATCH request