3.3.12 (2018-06-26)

Overview of merged pull requests

BUGFIX: Make sure to materialize as few nodes as possible

For property changes there is no necessity to materialize auto-created child nodes as well. In projects with deeply nested auto-created node structures this behaviour could quickly generate huge amounts of changed nodes therefore we should only materialize child nodes for structural changes.

All of this is only valid for workspace materializations though, in case dimensions need to be materialized as well, we need to materialize all child nodes as well for consistency.

BUGFIX: On asset change flush entries tagged with AssetDynamicTag

When using registerAssetChange() provided by ContentCacheFlusher not all affected cache entries would always be flushed. This adds flushing of entries tagged AssetDynamicTag_* as done through ConvertUrisImplementationRuntimeRuntimeContentCache to solve this.

BUGFIX: Prevent stale object references in user runtime cache

Holding a reference to an doctrine object can be dangerous if something happens to the UOW during that time, so that a new instance of the entity is produced, resulting in a stale entity reference that must be considered detached. We therefore should only cache the persistence identifier of a user for easier retrieval. If said user was already loaded by doctrine it will be available in the identity map and should not trigger another query, making this not less efficient than the original solution.

Additionally refactored so that the cache is flat.