This LTS release is a great milestone for the Neos Project! We deliver on our promised release cycle and put another cornerstone in Neos' longterm foundation.
This release is the product of a great community! Join the conversation at discuss.neos.io or on Slack and be part of our community and help us build the next release of Neos. If you are considering Neos for your organization, but have some unanswered questions, please get in touch with the Neos Team. We would be glad to help you get started on your Neos journey!
Note: In accordance with our release roadmap the following Neos release will be version 3.0 due at the end of the year. Neos 3.0 will come with PHP 7 support only, removing PHP 5 support.
New in Neos 2.3 LTS
As we focused on stability and bugfixes for the LTS release, the new features focus on developers.
We have improved the asset management for editors to make asset replacement easier and allow editors to check where an asset is used:
- Replace an asset by uploading a new version
- Check where an asset is used, e.g. to review cropping after an image replacement
- Keep the filename of an updated asset to not break links - alternatively use the RedirectHandler package to automatically generate redirections from the old URI to the new one
Dynamic cached segments
This new cache configuration allows segments to be cached. It allows multiple version of the cache, based on the 'entryDiscriminator'. A dynamic segment is easier to configure than a cached one, because the segment above the dynamic segment does not need any special configuration. Finally, a dynamic cache segment is faster than an ‘uncached’ segment and a bit slower than an cached segment. As the discrimination needs to be evaluated on each request, take care of the performance of your discrimination expression!
Allow relation between arbitrary entities and nodes
Link your node with doctrine entities or other nodes much more flexibly.
"sort()" FlowQuery operation
Sort nodes in your EEL query.
Warning: this is done in memory and not in the database. If your query returns a lot of nodes this operation can have a performance impact.
This TypoScript helper allows you to configure an inline editable property directly in TypoScript to keep your Fluid template as simple as possible.
- UX: Replace document stylesheets after loading a page
- Make it your own: the Neos login-screen image is now configurable
- Documentation improvements:
- multiple EEL filter usages
- documentation for default TypoScript context variables
- "TYPO3.TypoScript:Debug" TypoScript-Object
New in Flow 3.3 LTS
Replacement of configuration with environment-variables
We now support the configuration of Flow by setting environment variables. Docker and platform.sh users profit greatly as they use environment variables to e.g. set the database hostname or discover services like mysql, redis or elasticsearch hostnames.
Add "Trusted Proxies" as a HTTP component compatibility
When you work behind a proxy the real IP address of your visitor can be accessible over specific HTTP headers, like X-Forwarded-For. But those headers can be faked (also called X-Forwarded-For spoofing). With this new feature your can whitelist your proxies HTTP address or range. Only behind those whitelisted proxies Flow will correctly determine the remote IP address. The change is IPV4 and IPV6 compatible.
Update Flow to use Doctrine ORM 2.5
We have updated Flow to use the latest version 2.5 of Doctrine ORM which brings the following improvements:
- Embeddable objects are the key feature. They allow embedding objects into entities schemas for better separation of concerns without polluting the database schema and enable us to provide a better implementation of value object semantics.
- Second-level cache can be used to improve performance of relation queries beyond what the result query cache can do already.
- Many improvements of extra-lazy loading in combination with one-to-many and many-to-many relations
Support PHP 7.0 type declarations on parameters and return types
You can now use AOP on classes that use the function parameter and return type casting. This makes this release 100% compatible with PHP7.
Update used Symfony components to 2.8
We update the Symfony component version to 2.8 which is also an LTS release that matches our support timeline.