Automatic image variants generation
Automatically generate variants of an original image based on the newly introduced image variant presets configuration.
In this first version, variants are automatically created as soon as an asset is created – for example, when it has been uploaded by an editor or otherwise been imported. Future versions may defer this generation into a job queue, or provide a way to put conditions of the generation of these variants.
See the included documentation for configuration syntax and further background.
This change also includes a basic view displaying all variants of an asset in the edit view of the Media Browser.
While this new view (implemented as a tab) may be useful already, it is neither especially polished nor does it provide
Therefore it is disabled by a feature switch for now. See the
for details on enabling the tab.
Enable Loops in Fusion AFX without
Fusion AFX uses the
content key by default to render children. Since collections and loops
itemRenderer to define the inner content
@children=itemRenderer had to be declared
in the past. To overcome this, loop and derived prototypes now got a fallback from
to content. This avoids a common error in AFX code.
Native 404 error rendering that can be controlled via Fusion
This change adds the default Fusion path
error that is used to render status messages
for the status codes 403, 404 and 410.
- The matcher receives the context values
referenceCodeand will by default render the previous template.
By extending the
error case you can add custom 404 rendering like in the example below.
Set crop image adjustment by aspect ratio
This change introduces a new property “aspectRatio” for the crop image adjustment. It allows users to set a cropping area simply by providing an aspect ratio, instead of x, y, width and height.
If an aspect ratio is specified, the x, y, width, and height parameters are automatically deactivated. Likewise, if x, y, width or height are specified, a potentially defined aspect ratio value will be reset.
format option for image-prototypes, viewHelpers and presets
format is added to imagePresets, viewHelpers and FusionPrototypes.
The format is passed as string
bmp are supported.
If no format is given the crops will use the format of the original image.
This allows to enforce rendering of crops in jpeg or png but also adds support for rendering of webp-images as alternate sources.
The selected imagine-diver has to support both the source and the target image format for a successful conversion.
Gd driver lacks some features in this regard. So please test your driver if you are using
Additionally the option
convertFormats is added to settings to automatically convert non-web images into
web images. The example shows how to configure Neos to automatically convert tiff images to jpg.
Trigger signal when Thumbnail is persisted
Added a signal
thumbnailPersisted and an ORM lifecycle callback that triggers the signal once the thumbnail is persisted.
target of Neos.Neos.ShortCut depending on targetMode
I added configuration to the shortcut node type definition to hide the target-property in the UI when targetMode is not
selectedTarget Insert a shortcut node. You should not see the target-property until you change
the targetMode to
Potentially breaking changes (unplanned extensibility)
Moved new NodeInterface and TraversableNodeInterface to core
Introduced the event-sourced
TraversableNodeInterface in the core
and made the “old”
TraversableNodeInterface as far as possible.
Also adjusted FlowQuery operations to work on the new
TraversableNodeInterface wherever it makes sense.
This change is necessary to ensure a smooth upgrade later on to the Event Sourced CR so people working with
NodeInterface in their custom code can already start using
Upgraded our internal testing suite to latest neos/behat version
In case you have Behat tests in place but did not set your own Behat version in the dev dependencies in your own, there might be some changes that could break your tests within the Behat version that is now acquired by Flow / Neos.