6.3.13 (2021-10-12)

Overview of merged pull requests

BUGFIX: Validate schema only for flow packages

getAvailablePackages() fetches all packages extending Neos\Flow\Package\GenericPackage. But GenericPackage does not implement Neos\Flow\Package\FlowPackageInterface which provides getResourcesPath().

So the command fails, if generic packages are loaded with Call to undefined method Neos\Flow\Package\GenericPackage::getResourcesPath().

getFlowPackages() filters the packages if the have implemented Neos\Flow\Package\FlowPackageInterface, which ensures getResourcesPath() is defined and implemented.

  • Packages: Flow

BUGFIX: Don’t rely on doctrine using spl_object_hash

Doctrine 2.10 switched spl_object_hash for spl_object_id which breaks the deduplication listener. Thanks @dlubitz. We should use scheduleForDelete instead of manually unsetting the to be inserted entity via the object hash.

See https://github.com/doctrine/orm/commit/84ad007de39bc0947be838c8efcf1455513cbdca

BUGFIX: Fix missing initialization for tags and missing imports

New pull request with new base on 6.3 for pull request #2589.

  • Packages: Flow

Apply fixes from StyleCI

This pull request applies code style fixes from an analysis carried out by StyleCI.

For more information, click here.

  • Packages: Flow

BUGFIX: Reset next check for allowed object if no changes exist

null

  • Packages: Flow

BUGFIX: Do not pass signal information to persistAll

With PR #2448 the shouldCheck() was added, having a return type declaration of bool. The value returned is set only by the argument given to persistAll(), so having Behat tests fail when the value was a string seemed strange.

The actual value was even stranger:

Neos\Flow\Cli\SlaveRequestHandler::dispatchedCommandLineSlaveRequest

Reason: The Package class in Neos.Flow connects a signal to the persistAll() method, and the “signal information” is passed as an argument…

This change fixes that.

  • Packages: Flow

BUGFIX: Correctly set up TestingProvider for Behat tests

The “same fix” as in #2567, see #2386.

  • Packages: Flow

BUGFIX: Correctly set up TestingProvider for “testable security”

As of https://github.com/neos/flow-development-collection/pull/1213 the authentication providers are created using a factory method, this breaks the assumption the TestingProvider is a singleton.

The result is that e.g. ´authenticateRoles([])` no longer works as expected in functional tests.

This fixes the issue by fetching the provider from the factory instead of the object manager.

  • Fixes: #2386

  • Packages: Flow

BUGFIX: Prevent proxies for classes with unsupported interfaces

Adjusts the proxy building for classes such that it throws a more helpful exception when trying to generate proxies for classes implementing an interface with constructor and parameters.

Apply fixes from StyleCI

This pull request applies code style fixes from an analysis carried out by StyleCI.

For more information, click here.

  • Packages: Flow

TASK: improve request information in exception logfiles

According to https://github.com/neos/flow-development-collection/issues/2548 this is my suggestion for better request information in the exception dump files.

The goal is better readability of the request information for humans and the chance to parse them with scripts:

  • Add the name of the request headers

  • Separate each header (name: value) into an own line

  • Add the request target (requested url)

TASK: Update psalm to 4.9

This updates psalm to 4.9 and also updates the baseline. The new ParamNameMismatch error is lowered to info level.

Related to https://github.com/neos/flow-development-distribution/issues/74 * Resolves: #2515 * Packages: Flow

BUGFIX: NullBackend ignores configured properties

What I did

The NullBackend just return’s true in setProperty() for all configured properties.

What does this solve

I’m using split sources Objects.local.yaml to disable caches in my local setup where I only change the backend: configuration to Neos\Cache\Backend\NullBackend.

The problem I have is, that the Objects.yaml merge strategy also includes the backendOptions and thus by just using ``` Neos_Fusion_Content:

backend: Neos\Cache\Backend\NullBackend

``` in my Objects.local.yaml I get an Exception, thrown by AbstractBackend, that the NullBackend doesn’t accept the backendOption hostname - from my default redis configuration.

  • Packages: Cache Flow

Detailed log