For many years we've been talking about MODX3, and in the past few months we've been in the final sprint towards getting it released.

Today MODX3 officially enters the release candidate phase with version 3.0.0-rc1. 

Compared to the last beta released at the end of November, a number of issues have been fixed, including PHP 8.1 compatibility. See the changelog for the full list of changes; an announcement on the blog is expected tomorrow.

What does this mean?

While we've been focused on stabilising the code for some time, we've been cautious about recommending its use to anyone but developers. With the release candidate we're entering the phase of the release process where you may want to start using it on new projects.

You'll likely still encounter some minor issues and incompatibility with certain extras (see the up-to-date list on SiteDash), so make sure to report issues on GitHub so we can address them in the next release.

The next release is scheduled for the week of January 31st.

What's new in MODX3?

For developers, some highlights include:

  • modernising a large chunk (though not all) of the codebase
  • finally using namespaces in the core
  • dependencies are (auto-)loaded through Composer
  • a new dependency injection container has been added, including a new standardized HTTP services and more uses being added in future releases no doubt
  • a new way for extras to bootstrap from a namespace
  • with the update to xPDO 3 you can also use namespaces in your custom models and use new CLI tools for model generation

More technical information, including a list of breaking changes, can be found in the upgrading to MODX3 documentation.

For users, MODX3 immediately stands out with a new login page and manager design.

Other cool new features include:

  • passwordless login to login using one-time login tokens sent via email
  • new template picker, which pops up when creating a new resource from the tree, lets you enter the title, page type, parent and template (with image preview) before creating a new resource for a smoother user experience with fewer redirects/reloads
  • new visual breadcrums in the manager provides a clear indication of where in the tree a resource is, and allows quick navigation to parent resources
  • deprecated logs have been moved to a separate tab at Manage > Reports > Error log to quiet down the error log
  • the manager language is now session-specific, allowing easier multilingual use and dynamic switching on both the login screen and in the manager

It's also important to know you can no longer move the core folder in MODX3, so if updating an existing site you'll need to restore that to its original location first. Support for sqlsrv has also been removed.