With Neos 8.4 you can safely upgrade your existing projects and deliver an even better experience to your customers. While doing that you can use the included migration helper to already make a large part of your Fusion code ready for Neos 9 and make the next upgrade much more manageable.
Besides that, we brought an improved users module, many UX improvements in the UI, CLI commands, new extensibility points, and so much more. Read further to learn more about this fantastic release.
Note: Neos 8.4 is a bit of a special LTS release, as it is our first additional LTS in the same version range and has the same end-of-life as Neos 8.3. The lifetime of 8.3 had already been extended in the past, meaning both versions are supported with patches until end of 2026 and with security fixes until end of 2027. Neos 9.3 LTS is still planned for mid/late 2026.
Table of Contents:
Neos 8.4 Release Highlights


As we also introduced the "Neos.Neos:Site" NodeType from Neos 9, we adjusted the site creation wizard to filter invalid NodeTypes that cannot be homepages, and we disabled the site import and package creation in this step as those are very dangerous to use in a production system and are better than via CLI. You can still reenable them for now via settings but those options are gone with Neos 9.
# The extended node helper
node.label -> Neos.Node.label(node)
node.depth -> Neos.Node.depth(node)
node.path -> Neos.Node.path(node)
node.nodeType -> Neos.Node.nodeType(node)
node.hidden -> Neos.Node.isDisabled(node)
# New node getters
node.identifier -> node.aggregateId
node.autoCreated -> node.classification.tethered
node.context.workspaceName -> node.workspaceName
node.nodeType.name -> node.nodeTypeName
# New global variable for the rendering mode
node.context.inBackend -> renderingMode.isEdit
# Generating a cache identifier for a node
node -> Neos.Caching.entryIdentifierForNode(node)
A big focus for Neos 8.4 was also to allow you to write Fusion code which is already compatible with the breaking changes in Neos 9.0. We included a special migration CLI command which you can run during the upgrade to do most of the work necessary. Afterwards many projects should only required minor or even no any additional work in the Fusion code during a later upgrade to Neos 9.
Also a regular core migration takes care of migrating the long deprecated Fusion objects Neos.Fusion:Array and friends.
Exact instructions for the toolings can be found in the upgrade instructions.
Some examples for the mentioned changes:

Until now it was hard to give custom labels to tethered childnodes like columns in a multicolumn element. This is now much easier as you can define a label next to the name of the NodeType in your yaml configuration.
Fun fact: this change has already been started in 2016 and finally been finished by completely different contributors.


The user and site CLI commands have been improved to show more details when listing or showing entities:

The users module now allows you to filter users by their role and the sorting has been made more accessible.
A lot of seemingly small but impactful changes were made to various backend modules and CLI commands to make them more efficient and useful.
Other notable improvements to Neos:
Neos UI 8.4 Highlights
Flow 8.4 Highlights
Every proper software release includes more icons. So we brought you more icons for your NodeTypes and plugins with the update from Font Awesome version 5 to 6. Remember you can also configure your own icons since Neos 8.3.

You have lots of nodes in your page and content tree and lost overview? No problem, the new collapse button in the top right allows you to collapse the tree and start over.

The newly improved dimensions dropdown shows you the status of the various dimensions values for the current dropdown. This way you can see f.e. if you already localised the current page. In addition the values can now be put into groups.

If you run out of space while editing a node in the inspector, the new resize button allows you to adjust the inspector to your needs. The left toolbar with the page and content trees have already been adjustable.

The preview button of the user interface previously redirected to the published content without showing pending changes. With this release the preview shows the same version of content like seen in the backend. A configuration allows to restore the previous behaviour which is removed with Neos 9.
Other notable improvements to the UI:
We backported the streamlined Flow's proxy class building and reflection system from Neos 9, eliminating complex legacy code and removing the outdated package freezing concept. These changes result in more consistent behavior across all application contexts and a leaner, more maintainable code base.
Upgrade instructions
For the full upgrade instructions, please refer to: Upgrade Instructions 8.3 → 8.4
See the release notes for further information: Flow 8.4 Release Notes, Neos 8.4 Release Notes
Contributors
Special thank you to our release team for Neos and Flow 8.4: Markus Günther, Sebastian Helzle and Marc Henry Schultz.
Thank you to all financial supporters of the Neos Project - these contributions made the rewrite possible.
Contributors to the release:
Documentation & Support
Change Logs
For the full list of changes, please refer to the release notes