4.1.0 (2018-08-29)

Overview of merged pull requests

TASK: Update FontAwesome to version 5.2.0

Updated the font awesome assets to the latest version.

Resolves: #2159

  • Packages: Neos

BUGFIX: Remove accidental space in code migration

Otherwise prototypes won’t get migrated.

  • Packages: Fusion

TASK: Minor fixes in command documentation

Fixes wrong order in documentation and adds missing task name

  • Packages: Browser Neos

BUGFIX: Add null checks to Asset::getAssetProxy()

Fixes: #2153

  • Packages: Media Neos

BUGFIX: Fix NodeTypes.schema.yaml broken by merge

Fixes a merge regression introduced with 0481f5980fa64810178827b9d02a68b88caaf552

  • Packages: Browser Media Neos

BUGFIX: Unable to replace asset from the media browser

This change add a missing use statement for Neos\RedirectHandler\Storage\RedirectStorageInterface in AssetService. With this statement the replacement of an asset from the medialib browser is not possible.

This bug affect user with the RedirectHandler package, without this package the replacement works fine.

  • Packages: Media Neos

BUGFIX: Fix DocTools settings

The settings were defined in the wrong namespace and still used TYPO3 in some places.

  • Packages: Media

Revert “BUGFIX: Respect disabled superTypes when filtering by Node Type”

Reverts neos/neos-development-collection#2139 which fixes invalid behavior but introduced a breaking change.

I will add another PR against the master branch to have this in the next minor release though.

  • Packages: ContentRepository Neos

BUGFIX: Respect disabled superTypes when filtering by Node Type

This fixes NodeType::isOfType() to return false when the given type is explicitly disabled by the corresponding NodeType or one of it’s super types.


‘Acme:HasBonesMixin’: true
‘Acme:Animal’: true ‘Acme:HasBonesMixin’: false

With this NodeTypeManager::getNodeType(‘Acme.Jellyfish’)->isOfType(‘Acme:HasBonesMixin’) should return false but it didn’t. Respectively a FlowQuery like the following should not return any “Jellyfish”-node (or nodes with a sub-type): q(node).find(‘[instanceof Acme:HasBonesMixin]’) but it did.

Fixes: #1983

  • Packages: ContentRepository

BUGFIX: Fix caching of sub node types in NodeTypeManager

The method NodeTypeManager->getSubNodeTypes(…) cached results regardless of the $includeAbstractNodeTypes flag. This causes issues where the first invocation caches results including / not including abstract node types for further invocations with different flag values.

Fixes #2126

  • Packages: ContentRepository Neos

BUGFIX: Add missing support for inline.editorOptions.placeholder i18n

This adds the possibility to use i18n translation text at inline properties generated with the new inline.editorOptions property.

This is a follow on of #2120

FEATURE: Add progress and time to workspace:publish command

What I did Added a timestamp and progress indicator to the publish command of the WorkspaceCommandController How I did it

How to verify it ./flow workspace:publish –workspace foo –verbose Checklist

  • Packages: BaseMixins Browser Neos NodeTypes

BUGFIX: Fix readonly asset source action buttons

This fixes an issue with the action buttons shown in the list view of the media browser. The buttons were not referenced correctly to the respective line if the asset source was a read-only source, which resulted in only one “view” button being shown for the whole list of assets.

  • Packages: BaseMixins Browser Neos NodeTypes

TASK: Corrected description of the slice operation

Resolves issue #1322

Corresponds to PR #2113, but for Neos 2.3

TASK: Un-remove removed auto created child nodes in node repair

When running the createMissingChildNodes in the node:repair command, check if a child node exists but has been removed, and if so un-remove it.

BUGFIX: Fix docs formatting typo

  • Packages: Browser Neos

FEATURE: CacheEntries should respect the workspace they rely on

Resolves #2096

  • [X] CacheHelper should prefix the Workspace correct
  • [X] Use the CachingHelper instead of Hardcoded Tags
  • [x] ContentCacheFlusher should generate correct Tags to flush
  • [x] Update Documentation
  • [x] Check if some code migrations are possible
  • Packages: Neos

TASK: Support –node-type for orphanRemoval in node:repair

The oprhanRemoval in node:repair ignored the –node-type flag, leading to confusion. This adds the needed code to use a given node type flag.

  • Packages: Browser ContentRepository Neos

TASK: Refactor AssetController in the Media Browser

This change is first iteration to refactor the AssetController and make it slimer and easier to work with. The current AssetController as a lots of responsability. This first step extract the relatedNodes action to a specific controller. We need to forward the request from the AssetController, because of how we use the routing in backend module

  • Packages: Browser Neos

TASK: Change all uppercase TRUE and FALSE to lowercase in YAML

This was a thing at some time I remember and I’ve found many leftover uppercase true and false.

  • Packages: ContentRepository Fusion Neos

TASK: Change all uppercase TRUE and FALSE to lowercase in PHP

This was a thing at some time I remember and I’ve found many leftover uppercase true and false.

related to #2098

  • Packages: ContentRepository

TASK: Change all uppercase TRUE and FALSE to lowercase in fusion

This was a thing at some time I remember and I’ve found many leftover uppercase true and false.

related to #2098

  • Packages: Fusion Neos

TASK: Adapt adjusted NodeTypes from UI-package

As the UI package adjusted some NodeTypes and the old UI is deprecated since 4.0 we can put this into the original NodeType configuration

related: https://github.com/neos/neos-ui/pull/1925

  • Packages: Neos

TASK: Remove lastModified as it is not used anywhere

As @kitsunet figured out this property should be removed completely as it is not used in any way.

  • Packages: Media

TASK: Enhance Code quality

I enhanced code quality with stuff I noticed and grouped them by commit, should be pretty clear (:

  • Packages: Media Neos

TASK: Remove unneeded ternerary operation

I’ve found this while going through the code … I think there is no reason for this operation

  • Packages: ContentRepository

BUGFIX: Fix regression in dimension menu introduced by #1159

This fixes a regression in dimension menu (introduced by #1159) by adding null as default arguments back in.

  • Packages: Neos

TASK: Fix sorting icon


  • Packages: Browser

BUGFIX: Adjust NodeTypes.schema.yaml in Neos.Neos

Allows to omit some keys that are often (correctly) left out.

  • Packages: Browser Neos

TASK: Fix documentation for inline.editorOptions

The former`aloha` things need to go under formatting and have a new format.

  • Packages: Browser Neos

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.

TASK: Improve Fusion debugging experience

This change introduce a DebugStack to store all the debugging message created with Neos.Fusion:Debug, to avoid breaking the rendering when using var_dump before the HTTP request has been send, this change flush the DebugStack at the end of the page rendering. The new Neos.Fusion:DebugDump can be used as a Fusion processor to flush the stack at any point during the rendering.

The DebugMessage is used as a DTO to transport the debugging informations. It contains a currently unused property level. This property can be used in the future to use a logging backend to store debugging informations or integrate with protocols like Chrome Logger to send the debugging informations in the browser directly.

  • Packages: Neos

TASK: Allow DimensionsMenu item label to be overridden in sub class

This change extract the logic to build the menu item label to a dedicated method. With this change applied it’s more easy to change this logic without the needs to override the full buildItems method.

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.

BUGFIX: Avoid duplicate results and respect filter in NodeSearchService

Moves the “search by node id” logic from the NodesController to the NodeSearchService fixing the following regressions:

  • Duplicate results will be filtered
  • Respect $searchableNodeTypeNames argument
  • Don’t execute getNodeByIdentifier() twice for every search

Fixes: #2079 Related: #1894

  • Packages: Browser Neos

BUGFIX: “inCacheEntryPoint” needs to be saved

It is necessary to save and restore the incacheEntryPoint state in the following situation:

  • the dynamic cache segment is evaluated in the preEvaluate step of a fusion path which will set inCacheEntryPoint to null
  • the preEvaluate returns a “cache miss” because not all segments could be replaced
  • Fusion then evaluates the path as usual
  • the runtime content cache then sets currentPathIsEntryPoint to true in enter bc inCacheEntryPoint is still null
  • the postProcess step then processes the cache entry and removes all CONTENT_CACHE markers bc currentPathIsEntryPoint is true

BTW: In this situation, uncached and dynamic segments are evaluated twice. But this is outside the scope of this bugfix.

BUGFIX: Column NodeType should be abstract

The Neos.NodeTypes:Column NodeType was always abstract, the abtract property isn’t inherited down so it must be set again on any inheriting NodeType. So to have Column abstract it must declare so (again).

Fixes: #2071

  • Packages: NodeTypes

BUGFIX: Do not insist on assetSourceOptions to be set

assetSourceOptions are used to configure an asset source, but they are not necessarily needed.

  • Packages: Browser

DOCS: replace outdated Aloha configuration samples

Resolves: https://github.com/neos/neos-ui/issues/1619

The new UI has this format as the default: https://github.com/neos/neos-ui/blob/9219a78b7bb0e96e1caf7d570c18faef9061423f/packages/neos-ui-contentrepository/src/registry/NodeTypesRegistry.js#L192

I think it’s time to start officially using it.

  • Packages: Neos

BUGFIX: Switch to using EntityManagerInterface

This avoids (potential) error caused by two Doctrine UoW instances being in use, one in the EntityManager (of Flow) and one in the ObjectManager injected here.

  • Packages: Browser ContentRepository Media Neos

BUGFIX: Fix pagination for ListView in Media Browser

Use paginatedAssetProxies instead of assetProxies in Neos.Media.Browser ListView to make pagination work again.

DOCS: Document custom background color for editPreviewMode

This PR adds documentation for the newlty introduced backgroundColor option for custom editPreviewModes

related: https://github.com/neos/neos-ui/pull/1864

Tiny documentation typo bugfix

Added a colon to make syntax highlighting work.

  • Packages: Neos

BUGFIX: Fix Node migration without filter

This change test if the migration contains a filter before creating the contrains. Without this change the migration fails with an empty WHERE clause.

This bug impact the migration 20150716212459. This migration is used to define default dimensions on all nodes.

BUGFIX: Fix icons in modules after FA5 change

Resolves: #2054

  • Packages: Browser Neos

TASK: Adjust test to change in Neos.Neos.Ui

The UI package comes with a new image serializer that needs to be configured so the test sees it’s expected result.

This change depends on [1b4562c8b71a595b48fec03fac9cd52b9f8c7a5e](https://github.com/neos/neos-ui/pull/1866/commits/1b4562c8b71a595b48fec03fac9cd52b9f8c7a5e) in the UI package.

  • Packages: Neos

BUGFIX: Use correct cache namespace for redis in documentation

The old namespace was deprecated and is now gone with 4.0

  • Packages: Browser Neos

Updated Icon Documentation to FA5

Old version still referred developers to Fontawesome 3. Update includes information on including icons with prefix- and icon-class.

  • Packages: Neos

TASK: Revert composer changes for master

  • Packages: SiteKickstarter