Hello everyone and Happy Father’s day!
For our Father’s day present, we are extremely happy to announce the release of our newest Phalcon version: 3.2.0.
Our Github issues page has well over 600 issues. However those are mostly New Feature Requests (NFRs), so we started clearing up more and more bugs as well as introducing suggested NFRs. Of course all this would not be feasible without the help of our amazing community: Thank you!
Documentation
Also as part of our goals for Q2, we are releasing our new documentation. We have been working hard to convert all the rst files (reStructuredText) to md (Markdown) and also have a first pass on identifying inconsistencies and enhancing the documentation. Of course a lot more is needed on that, but it will come in future versions.
We are now using Crowdin to help contributors translate our documents. The docs website has been updated but still needs a little bit of love with the stylesheet (coming very soon). Also you will note that the site mentions version 3.1; we will fix that this week coming to ensure that every document is properly versioned in Crowdin.
Our new documentation needs admittedly a little bit of fine tuning in terms of the CSS and the menus. This will be done in the upcoming week. Also, we are going through all the documents and ensuring the content is correct and accurate throughout. Examples and new functionality of new releases will also be added from now on, before we release so that the documents are up to date always.
NOTE: The documentation for previous versions is located here: https://olddocs.phalcon.io.
Release
The release tag can be found here: 3.2.0. The Windows DLLs are in the releases Github page.
Changelog
- Phalcon will now trigger
E_DEPREACATEDby usingPhalcon\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
$typeargument to interfacePhalcon\Mvc\Model\Query\BuilderInterface::join()to specify type join - Added
Phalcon\Mvc\Model::hasUpdatedandPhalcon\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::pathto 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\Apcuto introduce pure support of APCu #12098, #11934 - Added
Phalcon\Annotations\Adapter\Apcuto introduce pure support of APCu #12098 - Added option to disable snapshot update on create/save using
Phalcon\Mvc\Model::setup(['updateSnapshotOnSave' => false])orphalcon.orm.update_snapshot_on_save = 0inphp.ini - Added
Phalcon\Mvc\Model\Manager::setModelPrefixandPhalcon\Mvc\Model\Manager::getModelPrefixto 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_updateandallow_empty_stringand fixed a bug for renamed integer columns inPhalcon\Mvc\Model\MetaData\Strategy\Annotations::getMetaData - Added way to disable setters in
Phalcon\Mvc\Model::assignby usingPhalcon\Mvc\Model::setupor ini option - Added ability to sanitize special characters to
Phalcon\Filter - Added a new
Phalcon\Mvc\Model\Binder::findBoundModelmethod. Params fetched from cache are being added tointernalCacheclass property inPhalcon\Mvc\Model\Binder::getParamsFromCache - Added
Phalcon\Mvc\Model\Criteria::createBuilderto create a query builder from criteria - Added
dispatcher::beforeForwardevent to allow forwarding request to the separated module #121, #12417 - Added
Phalcon\Security\Random:base62to 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 nowPhalcon\Assets\InlineandPhalcon\Assets\ResourceimplementsResourceInterface - Added
Phalcon\Assets\Collection::hasto checks whether the resource is added to the collection or not - Added
Phalcon\Cli\Dispatcher::getOption,Phalcon\Cli\Dispatcher::hasOptionand the options as parameter to cli handlers - Added
Phalcon\Config\Adapter\Groupedto allow usage of multiple configuration files/adapters in a simple format #12884 - Added
DISTINCTtype forPhalcon\Text::random - Added autopadding feature for
Phalcon\Crypt::encryptBase64andPhalcon\Crypt::decryptBase64#12490 - Fixed Dispatcher forwarding when handling exception #11819, #12154
- Fixed params view scope for PHP 7 #12648
- Fixed
Phalcon\Mvc\Micro::handleto prevent attempts to send response twice #12668 - Fixed
Di::set,Di::setSharedto allow pass more than 10 arguments #12299 - Fixed
Phalcon\Mvc\Model\MetaData\Strategy\Annotations::getColumnMapswhere only renamed columns where returned if there was one - Fixed
Phalcon\Mvc\Micro:handleto correctly handlebeforehandlers #10931 - Fixed
Phalcon\Mvc\Micro:handleto correctly handleafterBindinghandlers - Fixed
Phalcon\Mvc\Model::hasChangedto correctly use it with arrays #12669 - Fixed
Phalcon\Mvc\Model\Resultset::deleteto return result depending on success #11133 - Fixed
Phalcon\Session\Adapter::destroyto correctly clear the$_SESSIONsuperglobal #12326, #12835 - Fixed
Phalcon\Assets\Collection:addto avoid duplication of resources #10938, #2008 - Fixed
Phalcon\Mvc\View\Engine\Volt::compileto not throw exception in case of absence the file andstatoption is true #12849 - Fixed
Phalcon\Mvc\Collection::getReservedAttributesto workaround for PHP 7/7.1 bug with static null when extending class phalcon/incubator#762, phalcon/incubator#760 - Fixed
Phalcon\Cache\Backend\Redis::__constructandPhalcon\Cache\Backend\Redis::_connectto 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::processActionAnnotationto support PATCH request
Update/Upgrade
Phalcon 3.2.0 can be installed from the master branch, if you don’t have Zephir installed follow these instructions:
git clone https://github.com/phalcon/cphalcon
cd cphalcon/build
sudo ./install
Note that running the installation script will replace any version of Phalcon installed before.
PackageCloud.io has been updated to allow your package manager (for Linux machines) to upgrade to the new version seamlessly.
NOTE: Windows DLLs are now available in our Github Release page.
PackageCloud will be updated shortly.
We encourage existing Phalcon 3 users to update to this version.
<3 Phalcon Team
Chat - Q&A
Support
Social Media
Videos
<3 Phalcon Team