Phalcon v4.0.4 released

Read time: 3 minutes
Phalcon v4.0.4 released

We are very happy to announce the release of Phalcon v4.0.4, a maintenance release.

Github Tag

This release focused mostly on bug fixes reported by the community, as our testing suite and release tasks.

We have started utilizing more GitHub Actions in order to streamline our release process. At the moment, every release takes between 2-3 hours with a lot of manual checks from the team to ensure that everything is OK.

With this release we have added the foundation to start running our tests with GitHub actions on Linux, MacOS and Windows, ensuring that the release will be problem free on all platforms.

We have also started refactoring all our database related tests, with a goal to run all of them on each RDBMs that we support. At the moment we only have MySQL and Sqlite enabled but Postgresql will be added soon. A new testing suite (database) was created just for that.

Finally, we worked a bit more on v4.1, adding more components as per our roadmap. These components include more HTML helpers under Phalcon\Html\Helper, HTTP/2 preload support from Volt as well as a new Connection class which is the first step for our Data Mapper implementation coming in later versions of v4. The bulk of the work being done in v4.1 comes from the NFR list that the community has voted on.

Huge thanks to our contributors that reported issues, offered input as well as submitted pull requests with additions and corrections!

NOTE: You can always check our roadmap and the status of our active sprint in our project page:


Supported PHP Versions: 7.2, 7.3, 7.4


  • 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 Column ‘notNull’ definition to make possible create nullable (NULL) columns #14804


  • Fixed Phalcon\Db\Adapter\Pdo\Postgresql to correctly identify bool fields instead of treating them as tinyint #14722 @tidytrax
  • Fixed Phalcon\Cli\Console to pass current container to the Phalcon\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 the serializer option as it was clashing with the factory #14828
  • Fixed Phalcon\Http\Request to return the correct host on an UnexpectedValueException #14763
  • Fixed Phalcon\Assets\Collection to initialize position to 0 #14848


The packages in 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.4. 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


Social Media


<3 Phalcon Team

We're a nonprofit organization that creates solutions for web developers. Our products are Phalcon, Zephir and others. If you would like to help us stay free and open, please consider supporting us.