We are very happy to announce the release of v4.0.0 Release Candidate (RC) 3!.
We streamed this release live! https://youtu.be/iAGWIW9A4Mc
This release fixed quite a few bugs (thanks community!). We have also introduced support for PSR-13, ability to build Hypermedia Links
We are nearly there. 5 documents left to rewrite, a bit of work on DevTools and fixing a few bugs that were found in the previous iteration.
You can see the remaining cards for v4 in our project page.
Regarding the documents, you can check our progress in this issue:
https://github.com/phalcon/docs/issues/2322
Changelog
Added
- Added support for PSR-13 links and evolvable links #14507
- Added
Phalcon\Html\Link\Link - Added
Phalcon\Html\Link\LinkProvider - Added
Phalcon\Html\Link\EvolvableLink - Added
Phalcon\Html\Link\EvolvableLinkProvider - Added
Phalcon\Html\Link\Serializer\Header - Added
Phalcon\Html\Link\Serializer\SerializerInterface
- Added
- Added
Phalcon\Collection:getKeysandPhalcon\Collection\getValuesfor getting data from the collection #14507 - Added has-one-through relations to
Phalcon\Mvc\ModelandPhalcon\Mvc\Model\Manager#14511 - Added
Phalcon\Mvc\Model::hasOneThrough() - Added
Phalcon\Mvc\Model\Manager::addHasOneThrough() - Added
Phalcon\Mvc\Model\Manager::existsHasOneThrough() - Added
Phalcon\Mvc\Model\Manager::getHasOneThrough() - Added
Phalcon\Mvc\Model\ManagerInterface::addHasOneThrough() - Added
Phalcon\Mvc\Model\ManagerInterface::existsHasOneThrough() - Added
Phalcon\Mvc\Model\ManagerInterface::getHasOneThrough() - Added
Phalcon\Http\Request::numFilesto return the number of files in the request #14519
Changed
- Changed
Phalcon\Paginator\Adapter\Model- Removed the
dataparameter - Added
modelparameter to pass model class - Added optional parameter
parameterswhich is used as the parameterModel::find()
- Removed the
Fixed
- Fixed
Phalcon\Annotations\AnnotationsFactory:newInstanceto return the correct object back #14494 - Fixed return types:
-
Phalcon\Db\Adapter\PdoFactory::load()now returnsPhalcon\Db\Adapter\AdapterInterface -
Phalcon\Db\Adapter\PdoFactory::newInstance()now returnsPhalcon\Db\Adapter\AdapterInterface -
Phalcon\Logger\LoggerFactory::load()now returnsPhalcon\Logger -
Phalcon\Validation\ValidatorFactory::newInstancenow returnsPhalcon\Factory\ValidatorInterface
-
- Fixed
Phalcon\Container:getto usegetSharedtransparently #14502 - Fixed
Phalcon\Mvc\Modelto include correct model instances in messages metadata #14510 - Fixed
Phalcon\Di\Injectable::__get()to return shared instance by default #14491 - Fixed
Phalcon\Mvc\View::loadTemplateEngines()to not share engine with other views by default #14491 - Fixed
Phalcon\Mvc\Model\Manager::getRelations()andgetRelationsBetween()to return many-to-many relations correctly #14509 - Fixed
Phalcon\Loggerto correctly allow transactional logging #14514 - Fixed
Phalcon\Annotations\Adapter\Stream::readandPhalcon\Annotations\Adapter\Stream::writeto useserialize/unserializevs.var_export#14515 - Fixed
Phalcon\Http\Request::hasFilesto return boolean andtrueif files are present #14519 - Fixed
Phalcon\Logger\Adapter\Syslogto correctly log Syslog messages #14522 - Fixed
Phalcon\Mvc\Model\MetaDataInterface::getIdentityFieldandPhalcon\Mvc\Model\MetaData::getIdentityFieldto also returnnullif the identity field is not present #14523 - Fixed
Phalcon\Storage\Serializer\Jsonto serialize objects that implement theJsonSerializableinterface #14528 - Fixed
Phalcon\Collectionto correctly return one level nested objects that implementJsonSerializable#14528 - Fixed
Phalcon\Mvc\Viewto only include first found instance of view when using multiple view directories #12977
Removed
- Removed
Phalcon\Logger\Formatter\Syslog- really did not do much #14523
Installation/Upgrade
The packages in packagecloud.io are being updated (at the time of this post) and will be ready soon. You will need to use the mainline repository to install v4.0.0-rc2. You can also download the zip file, as well as DLLs for Windows, from our release page here.
You can also clone the repository and checkout the tag, and then run
zephir fullclean
zephir build
to install the new extension. Detailed installation instructions can be found in our documentation page.
Note: It might take a bit of time for the DEB and RPM packages to be built from when this blog post is published.
Thank you
Once again a huge thank you to all of our contributors! You guys have helped us a lot. You can help us even more by installing this version and testing it. If you find bugs, please report them in our Github Issues page. Alternatively you can always join us in our Discord server or our Forum.
Chat - Q&A
Support
Social Media
Videos

Top comments (0)