5.0.0 (2019-09-19)

Overview of merged pull requests

!!! TASK: Add code migration to rename nodetypes that were extracted from Neos.NodeTypes to subpackages

The NodeTypes that were migrated to subpackage namespace via node migration 20190304111200 are now migrated in yaml and fusion files aswell. So existing code that extended or altered those nodetypes will still work.

In addition a wrong target nodetype for Neos.NodeTypes:Records in node migration 20190304111200 is corrected as this migration was not part of a release yet.

This is a follow up to pr: https://github.com/neos/neos-development-collection/pull/2385

Upgrade instructions: Run code migrations via ./flow flow:core:migrate Package.Key or ./flow flow:core:migrate –version Neos.NodeTypes-20190917101945 Package.Key to apply the migration to your code.

  • Packages: AssetList BaseMixins Browser ColumnLayouts ContentReferences ContentRepository Form Html Navigation Neos NodeTypes

BUGFIX: CropIimageAdjustment::refit only produces int sizes

This is not a direct problem for Neos 3.3 but it becomes a problem as soon as PHP type hints come into play. The ratio divided widths and heights can easily be floats and that is unexpected. Therefore rounding and casting to int makes sense to prevent problems.

In versions of Neos that include type hints this is an actual major bug that prevents refitting to work.

  • Packages: Media

!!! FEATURE: Add getVariant(string, string) to VariantSupportInterface

This adds a new method to the VariantSupportInterface, allowing to fetch a preset-generated variant of an image directly.

public function getVariant(string $presetIdentifier, string $presetVariantName): ?ImageVariant;
  • Packages: Media Neos

!!! FEATURE: Alter ``Neos.Fusion:Tag.attributes`` to ``Neos.Fusion:DataStructure``

In the past integrators often expected to be able to pass data structures to Tag.attributes which was not possible since the Tag implementation expected attributes to be a string that usually was rendered by Neos.Fusion:Attributes.

This change extends the Neos.Fusion:Tag implementation to accept iterables (array and traversables) as attributes and changes the default value to Neos.Fusion:DataStructure. A fallback to cast non-iterable values to string is in place so if anyone uses Neos.Fusion:Attributes explicitly this will still work.

To control the wether or not empty attributes are allowed the key allowEmptyAttributes is added to Neos.Fusion:Tag that mimics the behavior of @allowEmpty on Neos.Fusion:Attributes.

Neos.Fusion:Attributes is marked as deprecated but will stay in there for a while.

How to update: This change is almost 100% backwards compatible. Only if you used attributes.@allowEmpty = false inside a Neos.Fusion:Tag but did not define attributes = Neos.Fusion:Attributes the rendering of empty attributes will change. To fix this replace attributes.@allowEmpty = false with allowEmptyAttributes = false.

  • Packages: Fusion

BUGFIX: Avoid count() call on null

Fixes #2699

  • Packages: Diff

!!! BUGFIX: Fix languages fallback order

The fallback order now corresponds to the order from the dimension “language”.

BUGFIX: Repair language label handling

While the adjusting the emberjs codebase the XliffCacheVersion view helper and the xliffUrl has been removed. So the value was missing in the configuration in the initialisation of the l18n handling never worked out.

To get it running again the check for the initialisation has been removed. This patch now adds the view helper again. So that we can render the configuration in the template and the l18n initialisation works like expected.

Thanks to @Sebobo for helping out and finding the issue.

  • Packages: Neos

TASK: Adapt to Flow base URI change

  • Packages: Browser Neos

BUGFIX: Translate labels when modifying tag and collections

What I did

Allow all media browser controllers to use the modified addFlashMessage method.

How I did it

Use a trait for adding the method to all related controllers.

How to verify it

Add or delete a tag or collection in the media browser.

  • Packages: Browser Neos

TASK: Fix Plugin reference regarding additional arguments, add example

What I did

The documentation regarding internal arguments for controller-based plugins mentions that internal arguments can be accessed by using _key, while __key is correct. Besides fixing this, I added an example on how to access it in the controller.

  • Packages: Neos

BUGFIX: Synchronize react-ui menu state with vanilla js

The new vanilla js menu did use the session storage to save the states and it turns out that the react-ui uses the local storage. This patch synchronizes the states and takes care that when you change a menu state in the content module (react-ui) the state is also available in the user module for instance.

What I did Use also the local storage in the vanilla js based menu and adopt the data structure to behave like the react-ui.

How to verify it Change menu states in the content module an check then if the state is also in the user module. And vice versa.

Fixes: #2682

  • Packages: Neos

BUGFIX: Add the last visited node handler

While the refactoring of the javascript code in the Neos.Neos package the LastVisitedNode.js file has been deleted. Sadly this is used by the react-ui and the removal leads to errors in the console.

Thanks to @Sebobo for reporting that :)

  • Packages: Fusion Neos

Apply fixes from StyleCI

This pull request applies code style fixes from an analysis carried out by [StyleCI](https://github.styleci.io).

For more information, click [here](https://github.styleci.io/analyses/XZwxER).

  • Packages: Neos

!!!TASK: Migrate extracted NodeTypes from Neos.NodeTypes to subpackage namespace

Currently Neos.NodeTypes defines many nodes of subpackages abstract and extends them in its own namespace. This makes it hard to support setups with Neos.NodeTypes or only the subpackages from a single site-package.

This is especially problematic since we are not recommending Neos.NodeTypes anymore but still have it in the development collection.

This changes adds a migration to convert all NodeTypes that were extracted from Neos.NodeTypes into the namespace of the respective subpackage.

To apply the migration run ./flow node:migrate 20190304111200

Note: With this change we can remove the dependency to Neos.NodeTypes from Neos.Demo and only require the subpackages we really need.

  • Packages: NodeTypes

!!! TASK: Remove ember-js based content module

Removes old emberjs ContentModule Code and replaces the top navigation bar with plain ES6. For the new Codebase we use Webpack as toolchain.

  • Packages: Neos

BUGFIX: Site imports with cropped images

Aspect ratio is stored as a string and there’s no TypeConverter available to reconstruct the AspectRatio object from a string

Fixes #2538

Replaces https://github.com/neos/neos-development-collection/pull/2598

  • Packages: Browser Media

BUGFIX: HTML augmenter preserves multibyte characters in attributes

The html augmenter uses the loadHml method of php which assumes the html content being iso encoded. This caused attributes with umlauts being broken once on the outermost tag. The previous declaration of the UTF-8 charset has no effect on the loadHtml behavior.

The change applies the mb_convert_encoding method to the html which allows to properly read unicode characters as suggested on https://www.php.net/manual/en/domdocument.loadhtml.php

In addition this change adds a duck-emoji to the neos test codebase which is an important improvement.

Fixes: #2677

  • Packages: Fusion Neos

BUGFIX: Add missing controller to edit forms

The Media Browser has at the moment the issue that you get an exception when you change the tag name or the collection name.

What I did I just added the correct controllers to the fluid forms.

How I did it 1. Go to media browser module 2. click the pencil for tags for instance 3. Choose a tag and click the edit button 4. Change the name and click save

How to verify it ![Bildschirmfoto 2019-09-02 um 16 19 52](https://user-images.githubusercontent.com/1014126/64121136-405eeb00-cd9e-11e9-8c76-fe2c3ae3e55a.png)

Checklist

  • Packages: Browser

BUGFIX: Fix PluginImplementation unit test

This adjusts the test to the PSR-7 changes.

  • Packages: Neos

BUGFIX: Updating an asset throws an exception due to unavailable translation

How to verify it

  1. Replace an asset
  • Packages: Browser

TASK: Further cleanup tests

  • Packages: Browser

TASK: Exchange login wallpaper for Neos 5.0

Autumn sunrise in Saxon Switzerland by Fabian Tschök

  • Packages: Neos

!!! BUGFIX: Neos\Eel\Utility::evaluateEelExpression may contain null

Node::getLabel() has a return type set to string while the interface hasn’t. The label is built by the ExpressionBasedNodeLabelGenerator which may return null. Added an explicit string cast to get an empty string in that case.

  • Packages: ContentRepository

TASK: Fixed Typo in ContentCache.rst

What I did fixed typo

  • Packages: Neos

TASK: Fix documentation about f:widget.uri

its <f:widget.uri> / <f:widget.link> and not <f:uri.widget> / <f:link.widget>

  • Packages: Neos

TASK: Postpone deprecation of NodeInterface

The nodeinterface is marked as deprecated with the announcement to be replaced in Neos 5.0. This will not happen though.

The deprecation of the interface should be announced together with replacement in the Neos core with one of the next minor versions.

  • Packages: ContentRepository Fusion

BUGFIX: Avoid inheritance on unset Fusion pathes

When Fusion pathes are unset with the > operator the operations was previously handled by the parser. The drawback was that the parser unset could not affect inherited pathes which were merged into the prototype by the runtime.

This change adds the internal-key __stopInheritanceChain to the fusion ast whenever a value is unset. The fusion runtime will stop merging parent prototypes for the pathes where this key is set.

As a common example the following code does not render an empty body but a will render the keys site and node from the Neos.Neos:Page prototype which is totally unexpected and against the intention. ``` prototype(Vendor.Site:ExampleDocument) < prototype(Neos.Neos:Page) {

body > body = Neos.Fusion:Array {

@position = ‘after bodyTag’ message = “hello world”

}

}

!!! While this is a clear bug this change might break code that relied on the old inconsitent behavior. It is also important that this also avoids inheriting of @position keys so if you rely on the ordering you have to add the @position keys again after unsetting like in the example above.

Fixes: #2213, #1109

  • Packages: Browser Fusion

BUGFIX: Prevent deleting or rebasing the live workspace

Doing so would completely break Neos when resolving the content of a workspace that is based on live.

Resolves: #2631

  • Packages: Neos

TASK: Add more doc for Eel Translation.translate

What I did

Add more information for Eel Translation helper: - existence of I18n alias - add more doc for Translation.translate’s source argument - add an example

How to verify it

Check that the doc is accurate

  • Packages: Neos

TASK: Fix option name for NodeName filter

What I did

Fix option name for NodeName filter in the documentation

How to verify it

Check that the doc is accurate with the source code of the Filter

  • Packages: Neos

BUGFIX: Fix broken JS require implementation in Backend Modules

With resolution of #2479 javascript blocks were put into CDATA sections in order to prevent them to break the Fluid parser.

This introduced a regression that prevents Backend Modules to work properly when loadMinifiedJavascript is disabled.

Background:

The string resource://… is replaced by the ResourceInterceptor but that behavior is skipped for CDATA sections.

Related: #2479

  • Packages: Neos

TASK: Refactor unit tests to static assert calls

The assert* methods are static methods in recent versions of PHPUnit. As calling static methods via $this-> feels odd, I replaced the method calls with static calls. * Packages: Browser ContentRepository Media Neos

Moved documentation

Our big effort to move the documentation away from RTD to our own Neos instance is finally almost finished. Therefore this pull request will remove all (often outdated) documentation and only keep the references and deprecated Ember documentation in RTD.

Checklist

  • [x] All documentation is migrated to docs.neos.io and updated
  • [x] All HowTos are migrated to docs.neos.io and updated
  • [x] For all removed pages I create redirects at https://readthedocs.org/dashboard/neos/redirects/
  • [x] All RTD docs indexes are updated

Related issues

  • Packages: Neos

FEATURE: Make Neos independent from Setup package

Removes the neos/setup composer dependency from the neos/neos package and adds a root dependency to the new neos/neos-setup package that now contains configuration and custom “setup step” implementations.

Resolves: #2618

Apply fixes from StyleCI

This pull request applies code style fixes from an analysis carried out by [StyleCI](https://github.styleci.io).

For more information, click [here](https://github.styleci.io/analyses/qJwPwk).

  • Packages: ContentRepository Media Neos

FEATURE: Add PropertyValue node migration filter

Adds a new filter to match against property values in node migrations.

  • Packages: ContentRepository

TASK: Removes duplicate condition

What I did Removed a elseif condition that was exactly the same than the if condition before.

  • Packages: Neos

BUGFIX: Don’t render exception message in Production Context

Synchronizes the behavior of the Fusion rendering exception handing with the one from Flow to only render the exception message in Development Context.

Fixes: #2602

  • Packages: AssetList BaseMixins Browser ColumnLayouts ContentReferences Form Fusion Navigation Neos NodeTypes

TASK: Safelist branches for travis builds

This prevents builds from running doubly on branches created on this repository for PRs, e.g. through the StyleCI bot or by github inline PRs.

See https://docs.travis-ci.com/user/customizing-the-build/#safelisting-or-blocklisting-branches See also https://github.com/neos/flow-development-collection/pull/1660

Retargeted replacement for #2593

Apply fixes from StyleCI

This pull request applies code style fixes from an analysis carried out by [StyleCI](https://github.styleci.io).

For more information, click [here](https://github.styleci.io/analyses/q1QdDL).

  • Packages: Browser ContentRepository Media Neos

BUGFIX: Skip nodes if they cannot be resolved in ContentCacheFlusher

If a node cannot be resolved in the content cache flusher skip this node instead of throwing an exception.

Resolves: #2594

  • Packages: Browser Neos

!!! FEATURE Improve standalone FusionView

  • The fallbackView and related options are removed as it only caused confusion and made debugging harder
  • The fusionPathPatterns are now expected to point to a single fusion file instead of parsing all files in the while directory. If the path points to a directory the Root.fusion is loaded as starting point.
  • Below the Root.fusion all other fusion files have to be included explicitly!
  • The cache Neos_Fusion_ObjectTree is added and connected to the FusionView via aspect. The cache is enabled only for production via Setting Neos.Fusion.enableObjectTreeCache

Upgrade Instructions: If you use the standalone FusionView make sure that a Root.fusion exist in your fusionPathPatterns and that all other fusion files are included from there.

  • Packages: Browser Fusion Neos

TASK: Add sites default ordering

If you have many sites inside a Neos instance it is difficult to find a specific site, because they are ordered by creation date. I added default ordering by name and nodeName to SitesRepository.

  • Packages: Neos

Apply fixes from StyleCI

This pull request applies code style fixes from an analysis carried out by [StyleCI](https://github.styleci.io).

For more information, click [here](https://github.styleci.io/analyses/zDEWyy).

  • Packages: Browser ContentRepository Media Neos

!!!TASK: Remove static robots.txt file for fresh installations

Since the base distribution contains ´´neos/seo´´ 3.x which does a much better job at providing a more valuable and accurate robots.txt file.

When the default robots.txt still remains in the projects Web folder, this can cause a lot of confusion. To make matters worse, it’s recreated whenever the composer install scripts are executed.

In case a custom distribution does not install the neos/seo package, we now have the meta tag within the Neos login page as a fallback, so even then status quo remains without the standard robots.txt from a SEO perspective.

Closes: #2533

  • Packages: AssetList Browser ContentReferences Form Navigation Neos

TASK: Create FUNDING.yml

  • Packages: github

BUGFIX: Flush affected document node on asset change

When an asset is replaced, the content cache is flushed, but in most cases this does not have an effect. As most content nodes do not have a cache entry, the cache entry higher in the chain needs to be flushed.

This is now done by fetching the affected node for an asset usage and passing that to registerNodeChange(…) in the ContentCacheFlusher.

Fixes #2061

  • Packages: BaseMixins Navigation Neos

BUGFIX: Correctly pass current node to menu templates

<!– Thanks for your contribution, we appreciate it!

Please read through our pull request guidelines, there are some interesting things there: https://discuss.neos.io/t/creating-a-pull-request/506

And one more thing… Don’t forget about the tests! –>

What I did Correctly pass the current node to menu templates in a way that does not cause an infinite loop

See also: #2532

How I did it - Revert back to behaviour removed in https://github.com/neos/neos-development-collection/commit/`6f302f19d2d6dcf4293223d801d867d9fd1d208e <https://github.com/neos/neos-development-collection/commit/6f302f19d2d6dcf4293223d801d867d9fd1d208e>`_#diff-033bf88345978204633d4a60db6f410cL5

How to verify it See #2532

  • Packages: Neos

BUGFIX: The copyright notice of assets is lost when exporting to Sites.xml

see also #2503

<!– Thanks for your contribution, we appreciate it!

Please read through our pull request guidelines, there are some interesting things there: https://discuss.neos.io/t/creating-a-pull-request/506

And one more thing… Don’t forget about the tests! –>

What I did

Included the copyright notice of assets in exports to Sites.xml.

How I did it

Added copyrightNotice in ArrayConverter.php the same way as title.

How to verify it

  1. Add a copyright notice to an asset.
  2. Export to Sites.xml.
  3. Do a clean import.
  4. Check that the copyright notice is preserved.
  • Packages: Media Neos

BUGFIX: The caption of assets is lost when exporting to Sites.xml

Notes: 1. I could not find tests covering this part of the code. If you point me to it, I will also add a test case for caption. 2. The copyright notice is also missing from the export, but afaik this was added in Neos 4.2, so I will open a separate PR. 3. Relations to tags and collections are also missing from the export, but they seem more complicated, so I will open separate PRs.

<!– Thanks for your contribution, we appreciate it!

Please read through our pull request guidelines, there are some interesting things there: https://discuss.neos.io/t/creating-a-pull-request/506

And one more thing… Don’t forget about the tests! –>

What I did

Included the caption of assets in exports to Sites.xml.

How I did it

Added caption in ArrayConverter.php the same way as title.

How to verify it

  1. Add a caption to an asset.
  2. Export to Sites.xml.
  3. Do a clean import.
  4. Check that the caption is preserved.
  • Packages: Media

!!!TASK: Disable and deprecate plugin and content prototype generators

The prototype generator classes are deprecated and removed from the nodeType configuration. This helps to make the fusion-code more explict and understand the connection between nodeType and fusion prototype much simpler. The previously assigned base types were not recommended anymore and thus usually are overwritten anyways.

A very welcome effect is that the error message for missing node rendering prototypes will say just that and not any more that a template file is missing.

In addition this removes the documentPrototypeGenerator that was deprecated already for Neos 5.

Upgrade instructions:

To upgrade you have to make sure that content and plugin nodetypes have a matching fusion prototype that looks like the following examples:

``` prototype(Vendor.Site:ContentExample) < prototype(Neos.Fusion:Template) {

templatePath = “resource://Vendor.Site/Private/Templates/NodeTypes/EContentExamplexample.html” /* for all properties needed for rendering */ title = ${q(node).property(‘title’)}

}

prototype(Vendor.Site:PluginExample) < prototype(Neos.Neos:Plugin) {
package = “Vendor.Site” subpackage = “” controller = “Example” action = “index”

}

Note: Neos.Fusion:Template is not considered best practice anymore in favor of fusion-afx.

  • Packages: NodeTypes

BUGFIX: Changed Domains by UriConstraints will not no longer get destroyed by the LinkingService

With UriConstraints we have the ability to modify the Host but there is a problem with the LinkingService in combination with UriConstraints. If you ask the LinkingService for a absolut Uri then it add the current base to the Url.

Fixes #2398

  • Packages: Neos

BUGFIX: node label sanitizing regex strips characters

What I did [[^:print:]] resulted in the characters print: followed by ] being removed from the node label. Non-printable characters should be matched with [^[:print:]].

Resolves neos/neos-ui#2496

How to verify it Output node labels normally including n], i] etc. e.g. in the document tree.

This PR replaces and closes #2515 which was targeting master.

  • Packages: Neos

!!! TASK: Remove discardall & publishall CLI commands

They were deprecated since Neos 1.2 (!). Use publish and discard instead.

  • Packages: Neos

!!! TASK: Remove ConvertNodeUrisImplementation

Use the ConvertUrisImplementation instead.

This was deprecated since 2014(!) already…

  • Packages: Neos

!!! TASK: Correct method signature of DataSourceInterface

This adjusts the getData method signature of the DataSourceInterface, because if the first parameter is optional, the following should also be optional.

The new signature has a default for $arguments:

public function getData(NodeInterface $node = null, array $arguments = []);
  • Packages: Form Neos

TASK: Use PackageManager, not PackageManagerInterface

The PackageManagerInterface is deprecated and will be removed with Flow 6.0, so avoid it and use PackageManager directly.

  • Packages: Browser ContentRepository Fusion Media Neos SiteKickstarter

TASK: Remove arguments from VH render methods

This removes the arguments from render() in Fluid ViewHelpers, and registers them using registerArgument instead.

Arguments to render() were deprecated as of Flow 4.0 and support is removed with Flow 6.0.

  • Packages: Neos

FEATURE: Implement pager, ordering and search in user management module

This orders the results in the backend user management module by username and introduces a pager. Furthermore I implemented a search field to search in usernames and full names

  • Packages: Fusion Neos

BUGFIX: Adjust warning text in setup

Fixes Issue #2488 In this PR I adjusted the somewhat missleading warning text, which is displayed in the image driver setup step, if none of the requiered drivers is installed. Additionaly I added some javascript to the image driver and the database configuration step in the setup package to disable the next button, if an error message is shown. See the PR https://github.com/neos/setup/pull/53

  • Packages: Neos

BUGFIX: Use countAll of AssetRepository to get count of all assets

To get count of all assets, we should use the AssetRepository. Solves #2358

  • Packages: Browser Neos

BUGFIX: Workspace review module no longer shows target dimension

Fix the behaviour Workspace review module don’t shows target dimension

Fixes #2423

  • Packages: BaseMixins Browser Neos

BUGFIX: Assigned asset collections cannot be unassigned

Fix the behaviour when the asset can’t be unassigned from collections

Fixes #2473

TASK: Add flowQuery `q` helper to the Eel configuration

Once the magic q method is removed FlowQuery has to be registered in the configuration to have q in the defaultContext for Fusion and CR label generation. This makes FlowQuery work as before from an integration perspective.

  • Packages: Fusion Neos

BUGFIX: Make exception for non renderable fusion path more helpful

The existing exception for non renderable fusion pathes was not very helpful hard to read and missed mentioning likely reasons like a typo in the prototype name. It also suggested a solution that is unlikely to fix the problem.

With this change the prototype name is moved to the front of the error message as it is the most important information.

The path is removed from the message-body as the fusion exception handler will render it anyway.

The most likely reasons typo + missing prototype are mentioned first and other possible reasons like missing parent-protopype, missing @class and missing include: later.

The proposed solution to inherit from Neos.Fusion:Template is removed as it was misleading

  • Packages: Browser Fusion Neos

TASK: Updated fontawesome to 5.8 for old UI

This updates FontAwesome to 5.8 for the old UI backendModules (e.g. UserManagement)

  • Packages: Neos

Show hidden in index nodes in dimensions menu

Re-add renderHiddenInIndex with default true, to show also hidden in index nodes in dimensions menu as before.

  • Packages: Neos

TASK: Exchange injection of PsrSystemLoggerInterface to LoggerInterface

With Flow 6.0 PsrSystemLoggerInterface gets deprecated, so we exchange the PsrSystemLoggerInterface with LoggerInterface.

  • Packages: ContentRepository Fusion Media Neos

BUGFIX: Remove usage of getproviders from UserController

Remove the usage of the deprecated and removed `AuthenticationProviderManager::getProviders()`method.

You find this change in https://github.com/neos/neos-development-collection/pull/2501/commits/4492c3d3b2295e2ea01f3a69ad760ba7502da3f1 - a second commit improves the method typing and code style of that class.

  • Packages: Neos

TASK: Raise PHP version by one minor version in travis.yaml

Raise PHP versions from 7.1 to 7.2 and 7.2 to 7.3 in the travis test matrix.

[TASK] Create .codeclimate.yml

Adds a codeclimate configuration excluding Migrations, Tests and JavaScript libraries.

  • Packages: Browser Neos

!!! FEATURE: Refactor tests to phpunit v8.1

Resolves #2367

Needs https://github.com/neos/flow-development-collection/pull/1565 to be merged before

  • Packages: ContentRepository

TASK: Separate NodeTypes.yaml according to best practices

In this PR, I attempted to follow the best practice “Each NodeType SHOULD be defined in a dedicated yaml-file and the file-name MUST represent the namespace of the contained NodeType/s.”

In order to achieve this, I separated the NodeTypes.yaml into individual yaml files.

  • Packages: Neos

BUGFIX: Avoid PHP exception in NamespaceDetectionTemplateProcessor

Related to neos/neos-development-collection#2479

  • Packages: Browser Neos

Bugfix: Do access objects by key 0 in canEvaluate() of sort-operation

For the current use of the sort operation, the element with key 0 must be present in $context. But this is not necessary for the sort itself. Consequently, the sort operation does not work using arrays without key 0.

Access via pointer avoids this problem in this PR.

  • Packages: Neos

TASK: Limit parentpath index length through annotation

As of Doctrine DBAL 2.9.0 this is actually possible, so we can finally do it right.

See #2475

  • Packages: ContentRepository Neos

Remove wrong property from component wiring property list

The property node is not a wired property

  • Packages: Neos

TASK: Correct syntax

  • Packages: ContentRepository Neos

BUGFIX: Fix `parents` flowQuery operation accidentally returning the `/sites` and `/` node

The test that should verify this behavior failed to mock the root and sites node and thus the exclusion of /sites was not verified correctly.

Resolves: #2459

  • Packages: Neos

BUGFIX: Filtering by nodeType that has subtypes causes a php_error

When calculating constraints for nodeType filter the nodeDataRepository currently puts the nodeType that was given as filter-argument directly as string to the returned constraint-object but all superTypes as NodeType-objects. This later causes trouble once the types are passed to the isOfType method that expects (but not enforces) strings.

The problem exists since ages but is exposed in Neos 4.2 by the altered handling of removed NodeTypes. Before that isOfType implicitly accepted a NodeType as argument. The added checks for declaredSuperTypes that are null (removed by subtype) broke this implication.

Resolves: https://github.com/neos/neos-development-collection/issues/2460

  • Packages: ContentRepository

TASK: Remove deprecated signals

Remove deprecated signals Asset::emitAssetCreated and Thumbnail:: emitThumbnailCreated which were moved to the according service classes.

  • Packages: Browser Media

BUGFIX: Fix return type annotation

The return type annotation for getParent() was wrong

  • Packages: ContentRepository Neos

Apply fixes from StyleCI

This pull request applies code style fixes from an analysis carried out by [StyleCI](https://github.styleci.io).

For more information, click [here](https://github.styleci.io/analyses/q5w93B).

  • Packages: Browser Neos

DOCS: Fix code blocks

  • Packages: Neos

TASK: Contain dimension changes in tests to test case only

The reset to empty array was technically wrong because dimensions were configured. While this is not an issue at this time, it can be one when other tests rely on the integrity of configured dimensions and the repository.

  • Packages: Neos

BUGFIX: Allow translation of the textareaeditor placeholder

This additionally requires a fix in the ui which will be done in the neos-ui package.

What I did

Add the textarea editor for configuration enrichment.

How to verify it

When using i18n in the placeholder it should show the full translation path in the textarea editor instead of just i18n.

  • Packages: Neos

BUGFIX: No redirect with status 201

Sending a redirect code of 201 does not cause the browser to redirect and leads to a blank page.

Fixes: #2414

  • Packages: Browser Neos

TASK: Translate Site Management

The Site Management uses labels both from Main.xlf and Modules.xlf. For the labels from Module.xlf, the source attribute must be set. Apart from that, some labels didn’t have a translation at all. This change makes the Site Management fully localizable.

Fixes #2394

  • Packages: Neos

BUGFIX: Testing Policy has a working expression

The policy expression was wrong and leads to initialize*Action functions being included in the AllControllerActions privilege. That is wrong and can lead to errors in tests. Compared to the (non testing) policy the new expression now works as expected.

  • Packages: Neos