Neos 9.0 - Masterplan

Neos has undergone several major changes during the past 10 years, and the most fundamental one is just on the horizon: Neos 9 - which is all about a new foundation for what lies at the core of the system: Content. How content is stored is a crucial part of our business as a CMS. The old Content Repository (CR) served us well since Neos 1.0, but it has its limits. Therefore, we invested a lot of energy and thought into the new CR which will help us with challenges in the projects of the next 10+ years. Since most of the changes are happening “under the hood”, an editor might not even notice that anything changed at all, whereas integrators and developers might need to adjust to a few changes in the public APIs and get accustomed to the new methods and paradigms.

– Written by


Neos 9 - all the facts


Still there is a lot of work to do - and to keep you updated with our progress, we wanted to provide you with an extensive blog post that will give you a good overview of the next big steps. Since one and a half years, a lot of people have joined the Neos 9 project, which definitely accelerated the development. 
Now that we are very close to an actual release of Neos 9, here are our plans for the rest of the year:

There will be several releases in 2024, each of which brings us closer to Neos 9 - and gives you the opportunity to plan your next steps in the Neos multiverse. 

We will release the next versions of Flow and Neos in the following order until the end of this year:

Flow 8.4
 

  • Backports of non-breaking features from Flow 9
  • Deprecation annotations for code that will not work with Flow 9
  • Improve for modern PHP8.2 and 8.3 features (read-only classes)

Flow 9.0

  • New Flow\Route annotation to simplify custom routes
  • Performance optimized session handling
  • We wish to have support for doctrine/dbal 3 or 4, but we would need help to accomplish this

Neos 8.4

  • Prepare projects for the upgrade to Neos 9.0 with the backport of various helpers
  • Deprecation notices for code that will break
  • PHP 8.2+ requirement as with Flow 8.4
  • Fusion components for custom backend modules to reduce Fluid usage

Neos 9.0 - The new Event Sourced Content Repository 🥳 

  • Bi-directional references
  • Conflict resolution dialog when publishing to prevent overwriting other changes
  • The first building blocks for a real history module
  • Deprecate Fluid in the Neos codebase (keep support via Flow)
  • A new workspace management module (based on Shel.Neos.WorkspaceModule)
  • More features to be announced

Version support

  • Flow/Neos 8.3 LTS until the release of 9.3 LTS + 10 months (~ until end of 2026)
    • Supports PHP 8.3 already, just not with all features
  • Flow/Neos 8.4 LTS with the same lifetime as 8.3 (~ until end of 2026)
  • Rolling release schedule every 4 months again after the Neos 9.0 release
Check the release roadmap


We hope that you like our roadmap! As you can see, there will be an upgrade path for you - since content will be stored differently in the future, you will have to migrate your database. Certain parts of your code will need to be migrated as well. In case you start a new Neos project, there are some approaches that we can suggest.

Please check our FAQs for any questions you might have. And as always, you can ask your specific questions in slack. We will be happy to answer them.

FAQ

I want to start a Flow or Neos project, which version should I use?

  • You can start with your Flow project right now and upgrade to Flow 8.4 as soon as it is released. Probably you won’t experience many issues when finally upgrading to Flow 9. Or use Flow 9 already, as its beta release is very stable and is already used in production.
  • You can also start already with Neos 8.3 which will be easily upgradable to Neos 8.4. Depending on the features you have in your project you will encounter only a few issues when finally upgrading to 9.x. We are going to provide upgrade helpers, automatic migrations and guides on how to do all of this.
  • Of course you can also already start with the latest Neos 9 beta in case you want to help us find issues and accelerate the development. Some amazing members of our community already have smaller projects running with it and deliver us invaluable feedback.

I would like to plan and budget the upgrade to Neos 9, what should I do?

  • Compared to previous upgrades: An upgrade to 9.0 won't be as easy as 5 → 8
  • Depending on the complexity, projects with standard requirements could be fairly easy to upgrade, whereas a complex project will be some task to tackle.

Will I have to start from scratch with Neos 9?

  • No because we will provide a migration path that will suit most projects
  • You can help us improve the migration path even more by testing Neos 9 and providing your own insights and contributions
  • You can get help from the Neos core team and related service providers with your projects

Which are the parts of my Neos project that will most likely need to be reimplemented when upgrading?

  • Custom importers or other code which create nodes in the Content Repository
  • Anything that touches the write-side of the CR
  • Custom frontend routing
  • Relying on low-level / internal parts like the NodeDataRepository and NodeData doctrine entity
  • Signal-Slot pattern usage
  • Custom CR Security Privileges

Will I have to learn a lot to use Neos 9?

  • As an editor everything will basically be the same
  • As an integrator you will encounter some changes on how you work with node objects in Fusion, for this we will already provide some additional new helpers in Neos 8.4
  • As a backend developer you will need to learn about the new concepts we introduced with the Event Sourced Content Repository (https://docs.neos.io/guide/contributing-to-neos/event-sourced-content-repository)

What is planned after Neos 9?

  • Work on 9.1 :)
  • Implement new review process for workspace changes
  • Overhaul of backend modules like user management and settings

How can I help?

Now that you know all the important details about Neos 9, you should be able to see it on the horizon as well - and we hope that you will be loving it as much as we do already. Of course, we will share more details and keep you informed while we get closer to the releases.