Neos 7.1
This release of Neos comes with some great new features, bugfixes and a lot of modernisation of the existing code base.
As usual, we worked hard to keep this release as backwards compatible as possible but some of the changes might require manual adjustments. So please make sure to carefully read the upgrade instructions below.
New Features
FEATURE: Add missing translation to flash messages
added translation to all flash messages
added translator and translation units to all flash messages
Related issue: #3334
FEATURE: Show the default asset-collection in the sites listing
The default asset collection for every site is now listed in the site management module.
!`image <https://user-images.githubusercontent.com/642226/113774886-2af33500-9728-11eb-9cfa-3c61f9a4eee3.png>`_
FEATURE: Show information about roles and privileges
This feature improves the policy selection in the account editing by making use of the labels and descriptions added to roles and privileges with Neos 7.0
Before: !`image <https://user-images.githubusercontent.com/642226/112342830-dcbf4a00-8cc2-11eb-8387-429d7e51e60d.png>`_
After: !`image <https://user-images.githubusercontent.com/642226/112342788-d0d38800-8cc2-11eb-95e4-4c374ddf92dc.png>`_
FEATURE: Add node label helper
With this helper it’s easier to define custom node label schemas in nodetypes.
Moved the previously used Eel expression from the main Neos.Neos:Node
nodetype into the NodeHelper.
Similar to the TranslationParameterToken it provides a chainable interface to simplify custom nodetype naming.
All labels in the Neos document and content tree should still be the same.
Override the nodetype label by copying the expression from Neos.Neos:Node
and modifying it.
Examples:
Use properties as label with fallback chain (replaces the previous default) ``` ‘Neos.Neos:Node’:
label: “${Neos.Node.labelForNode(node).properties(‘title’, ‘text’)}”
Show number of elements in a multicolumn next to its label ``` ‘Neos.Demo:Content.Columns.Two’:
label: “${Neos.Node.labelForNode(node).postfix(’ (’ + q(node).children().children().count() + ‘ elements)’)}”
Use override, prefix and postfix: ``` ‘Neos.Demo:Content.Special’:
label: “${Neos.Node.labelForNode(node).prefix(‘The ‘).override(‘child of’).postfix(’ ‘ + q(node).parent().get(0).label)}”
Adjust cropping: ``` ‘Neos.Demo:Content.Cropped’:
label: “${Neos.Node.labelForNode(node).crop(20, ‘ - - -‘)}”
FEATURE: Replace EmberJS based API
Again we plan to remove the mission pieces of the EmberJS based UI. It is an ongoing process since version 5.0.
This PR is based on the webpack 5 upgrade PR (https://github.com/neos/neos-development-collection/pull/3301).
Reimplement the API based on vanilla js. And remove the old ember based JS in the end.
Check the backend modules and the APIs like window.NeosCMS.Notification
and window.NeosCMS.I18n
FEATURE: Add Neos.Fusion:Link.Action and Link.Resource prototypes
This allows to use a single tag in AFX to render links to actions or resources like this:
<Neos.Fusion:Link.Action href.action="show" href.controller="SomeOther" href.arguments={{ object: myObjectValue }}>Link text</Neos.Fusion:Link.Action>
<Neos.Fusion:Link.Resource href.path="resource://Some.Package/Public/Images/SomeImage.png">Download</Neos.Fusion:Link.Action>
FEATURE: Fusion match object
This change adds a new Fusion object to replace many situations where the Case object was used just to return a value based on a string.
The idea is based on the new match method in PHP 8 https://www.php.net/manual/tr/control-structures.match.php.
Related issue: #3318
FEATURE: Fusion debug to browser console
With this new Fusion object it’s possible to debug to the browser console via an inserted script tag instead of showing a big dump that breaks the layout.
It optionally allows setting a title, method and additional arguments.
``` renderer.@process.debug = Neos.Fusion:Debug.Console {
value = ‘%cfoo’ method = ‘table’ color = ‘color: green’
}
Related issue: #3319
FEATURE: Add favicons and app icons for backend modules
Related issue: #3304
FEATURE: Allow http image urls as login wallpapers
Before this change only resource://…
urls were supported.
Set https://source.unsplash.com/random
as background image and enjoy a nice random picture for every login.
TASK: Set text/html as default content type in Fusion
While experimenting with PSR-15 middlewares I found out that no content type is returned from the Fusion rendering step when using the Neos default page prototype. This keeps those middlewares from applying their effects as they do not know what kind of content they get.
This can be easily fixed in custom packages, but it makes sense to just have this as default for the future.
Upgrade Instructions
See https://docs.neos.io/cms/references/upgrade-instructions/upgrade-instructions-7-0-7-1
Note
Additionally all changes in Flow 7.1 apply, see the release notes to further information. See https://flowframework.readthedocs.org/en/7.1/TheDefinitiveGuide/PartV/ReleaseNotes/710.html