Merry Christmas and Phalcon 5.0.0beta1 Released

Read time: 3 minutes
Merry Christmas and Phalcon 5.0.0beta1 Released

The Phalcon Team wishes all of our friends, contributors, developers and users of the framework a Merry Christmas!. We hope that the new year will bring health and happiness to you and your loved ones!

Very close to the “finish line” we are happy to announce the release of Phalcon v5.0.0 Beta 1 as a small gift to our friends and community for this joyous day.

A huge thank you to all of our contributors and the community!!

This release brings us ever closer to v5 stable, which should be coming in the next month. We really wanted to be in the position to release the stable version today, but unfortunately we run out of time. We had additional things we needed to address so it was better to release the beta today and release a stable version in the weeks to come.

The release tag can be found here: v5.0.0beta1.

There are a couple of issues that need to be addressed before the stable version. The project page that we keep the status of the work we have done and need to do can be found here.

This version has a lot of the classes refactored throughout the framework (a lot of moves so to speak), and some added functionality with helpers and factories. Added to that we have fixed a number of bugs that the community reported.

We still have some issues to address with PHP 8.1 support which will be available when we release the stable version. We had some external dependencies that have not been yet upgraded so as to handle PHP 8.1, therefore we had to adjust our code to address this.

We also started work on the 5.0 documentation, concentrating for now on the upgrade guide, so as to provide a very detailed page on what needs to change when you upgrade to v5. The documentation will be completed before the stable release.

If we do have time, we will upgrade the sample applications (invo, vokuro etc.) before the release, alternatively right after that. Of course, if the community wants to contribute to this upgrade process we will not say no :)

The PECL version as well as Packagist packages will be available later on today or tomorrow.



  • Marked as deprecated:
    • Phalcon\Mvc\Model::existsBelongsTo()
    • Phalcon\Mvc\Model::existsHasMany()
    • Phalcon\Mvc\Model::existsHasOne()
    • Phalcon\Mvc\Model::existsHasOneThrough()
    • Phalcon\Mvc\Model::existsHasManyToMany()
    • Phalcon\Translate\Adapter\Csv::exists()
    • Phalcon\Translate\Adapter\Gettext::exists()
    • Phalcon\Translate\Adapter\NativeArray::exists() #15785
  • Moved Phalcon\Container to Phalcon\Container\Container #15796
  • Changed the Phalcon\Support\Collection::get() to return the default value if the key does not exist or the value is null to mirror the behavior of v3. #15370
  • Moved Phalcon\Registry to Phalcon\Support\Registry #15802
  • Moved Phalcon\Url to Phalcon\Mvc\Url #15798
  • Moved Phalcon\Loader to Phalcon\Autoload\Loader #15797
  • Changes to Phalcon\Autoload\Loader:
    • Renamed registerClasses() to setClasses()
    • Renamed registerDirectories() to setDirectories()
    • Renamed registertExtensions() to setExtensions()
    • Renamed registertFiles() to setFiles()
    • Renamed registertNamespaces() to setNamespaces() #15797
  • Moved Phalcon\Di to Phalcon\Di\Di #15799
  • Removed references to Phalcon\Tag from the framework in favor of Phalcon\Html\TagFactory #15801
  • Phalcon\Forms\Form requires a Phalcon\Html\TagFactory to be set before it can render elements #15801
  • Phalcon\Di\FactoryDefault will now return a Phalcon\Html\TagFactory for the tag service #15801


  • Phalcon\Logger\LoggerFactory::load() to correctly use the key of the adapters array as the name of the adapter #15831


  • Added:
    • Phalcon\Mvc\Model::hasBelongsTo()
    • Phalcon\Mvc\Model::hasHasMany()
    • Phalcon\Mvc\Model::hasHasOne()
    • Phalcon\Mvc\Model::hasHasOneThrough()
    • Phalcon\Mvc\Model::hasHasManyToMany()
    • Phalcon\Translate\Adapter\Csv::has()
    • Phalcon\Translate\Adapter\Gettext::has()
    • Phalcon\Translate\Adapter\NativeArray::has() #15785
  • Added filter, camelize, dynamic and uncamelize in Phalcon\Support\HelperFactory #15805
  • Added Phalcon\Autoload\Loader::getDebug() to collect debugging information from the loader (enabled from the constructor) #15797


  • Fixed Phalcon\Dispatcher\Dispatcher::setParams() not updating local params during dispatch() loop #15603
  • Fixed related records auto-save with belongsTo() relation #15148


  • Removed Phalcon\Exception; replaced by \Exception #15800

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 Discussions page on GitHub.

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.