Flow 4.2

Allow for dynamic label overrides

This replaces the previous physical file model with the file model defined by the XLIFF standard. Files IDs are no longer defined by their location in the file system but by their _product-name_ and _orginal_ XLIFF attributes. The location serves as a fallback to prevent this from being a breaking change. The XLIFF file provider therefore parses all registered packages and in addition the Data/Translations folder in search of file entries in .xlf files.

The translation file monitor is now also registered for said Data/Translations folder to enable automatic cache clearing. In preparation for support of XLIFF version 2, the XLIFF parser has been created in a v12 namespace and the class for holding the file data is modeled as an adapter that should be able to handle both formats. Overriding labels is now be as easy as putting a valid XLIFF file with defined _product-name_ (Package) and _orginal_ (Source) in any translation folder.

Add PSR-7 compatibility to HTTP stack

This adds all missing methods and implementations to make our HTTP implementation PSR-7 compatible. Further adjustments to Flow are not included yet.

Add Date.formatCldr helper

This change adds CLDR formatting capability to the Date Eel helper, to match the functionality of the format.date Fluid ViewHelper.

Introduce ObjectAccess::instantiate

This static method allows instantiating a given class with and array of arguments in an efficient way.

Most of this method was previously hidden in the ObjectManager of Flow but as the same code is replicated in other packages it makes sense to open it as generic method for re-use.

Add Eel String helper pregMatchAll

This pull request add the Eel String helper String.pregMatchAll

Allow Nullable action params to be annotated

This change allows action arguments to be annotated “|null” or “null|” when they are optional with default value null. Before the type conversion would fail because no matching type converter would be found.

Add range method to Eel Array-helper

The range method is a wrapper around the php range function that creates a sequence of integers or characters as array. This is especially helpful to create paginations in pure fusion.

Allow setting the package type when kickstarting a package

You can now do ./flow kickstart:package Foo.Bar –packageType neos-plugin, like in the PackageCommandController. A question regarding the docs: Is the “Command Reference” part of the documentation autogenerated? If so, it seems to be outdated, because there are still some mentions of typo3 in there.

ViewHelper compilation for increased speed

Adds compilation and static rendering to a couple of ViewHelpers that were either easy to change or used quite a lot. The modified ViewHelpers should all render faster in all scenarios.