5.3.9 (2022-04-05)

Overview of merged pull requests

BUGFIX: Add missing placeholder to sprintf call

In removeBrokenEntityReferences the number of placeholders did not match the number of variables given.

  • Packages: ContentRepository

TASK: Fix Fusion Test And Make Them Test What They Say

currently, when testing this locally: ` NestedOverwritesAndProcessorsTest::applyingProcessorToNonExistingValueWorks `

one gets a:

` Array to string conversion `

this is because the test is lying in our faces.

the fixture NestedOverwritesAndProcessors.fusion is telling us, that Neos.Fusion:Tag uses as attributes Neos.Fusion:Attributes.

but it’s not!

Neos.Fusion:Tag uses Neos.Fusion:DataStructure because the fixtures are all merged together and not namespaced. So someplace this was changed to a DataStructure, and now we have a Tag with a DataStructure.

This was fine until we changed the behaviour of the DataStructure with: https://github.com/neos/neos-development-collection/pull/3645

so when a DataStructure

previously didn’t make nested DataStructures here: ``` nestedOverwritesAndProcessors.deepProcessorAppliesWithNoBaseValue = Neos.Fusion:SpecialTag {

attributes = Neos.Fusion:DataStructure {
coffee { // since #3645 becomes a Neos.Fusion:DataStructure

@process.addProcessed = ${String.trim(value + ‘ harvey’)}

}

}

}

it now does. That leads to coffee being an empty array, what leads to the process trying to append a string to it - what surprisingly always fails.

I agree, that based on the code above It’s not really clear at first glance, that value is an empty array. But then again I would expect it to be null - which surprisingly isn’t it either! Since we magically give @process an empty string, in case there is no value: https://github.com/neos/neos-development-collection/blob/694649dab4f4b8bf9c71c605bb5cf00180396198/Neos.Fusion/Classes/Core/RuntimeConfiguration.php#L161

so either way there stucks the worm in this issue, and I choose know to make the tests do what they say - no more.

we can still think about if a DataStructure should not create nested DataStructures when the only key is a @process.


note this targets master on purpose.

  • Packages: Fusion

BUGFIX: Remove unused nodetype configuration cache

The cache with its current implementation actually hurts performance as it forces loading of all nodetypes instead of lazy loading the required ones. Also the cached data is never used. In development context all nodetypes are reloaded on every request accessing the nodetypemanager.

Therefore its better to remove the cache until there is a proper implementation.

  • Resolves: #3681

  • Packages: ContentRepository

BUGFIX: Initialize assetCollections in ImageVariant

BUGFIX: Use media type of new resource during asset replacement

When the resource of an asset is replaced but the filename kept, the media type of the new asset is replaced by whatever the original filename indicates.

This change fixes that by re-setting the media type from the new resource after the original filename has been set.

  • Fixes: #3365

  • Packages: Media

TASK: Add workspace/parent index to NodeEvent table

null

  • Packages: Neos

Detailed log