Flow 4.1

Upgrade Instructions

This section contains instructions for upgrading your Flow 4.0 based applications to Flow 4.1.

Since the 4.1 Release mainly consists of bugfixes and non-intrusive features, the update process should be straightforward.

In general just make sure to run the command:

./flow flow:cache:flush --force

If you are upgrading from a lower version than 4.0, be sure to read the upgrade instructions from the 4.0 Release Notes first.

What has changed

Allow more flexible Doctrine Entity Manager configuration

Currently we need to add new configuration settings for every feature of Doctrine that is configurable through the entity manager. Now there is a signal that is triggered before the Doctrine Entity Manager is configured to allow changing configuration settings of Doctrine programmatically.

Check for webserver group membership in file permission script

The file permission script now checks if the command line user is a member of the webserver group.

New wordCount Eel string helper

The ${String.wordCount()} eel helper can be used to determine the number of words in a string.

Kickstarter command to create XLIFF translation files

It is now possible to create initial XLIFF translation by running a kickstart command. E.g. call ./flow kickstart:translation --package-key Neos.Demo --language-key de and check the created folders and files at Packages/Sites/Neos.Demo/Resources/Private/Translations.

Unknown properties for ObjectConverter are now skipped

This enables the ObjectConverter (for simple PHP objects) to acknowledge the skipUnknownProperties flag of the property mapping configuration and thus ignore properties from the source which don’t exist in the target. If a source array contains properties “foo” and “bar” and the target class constructor only contains “foo”, the array can now be mapped if skipUnknownProperties is set in the respective property mapping configuration.

Build environment overhaul

For 4.1 our internal build tools have been tweaked when it comes to branching and dependency management. This way it will be less painful for us to provide you with new releases of Flow.

Upgrading your Packages

Upgrading existing code

In case you have been implementing your own PackageManager, there is a breaking change in this release that introduces the method rescanPackages() to the PackageManagerInterface. So in case you really implemented your own Package Management, you should add an implementation for this method. Be aware though that implementing a custom PackageManager was never intended and the support for this will likely be removed in an upcoming version.