5.1.6 (2019-01-10)

Overview of merged pull requests

BUGFIX: Lower recursion limit for debugger from 50 to 5

With the previous recursion limit of 50 php often ran into memory-limits when debugging larger data structures.

  • Packages: Flow

BUGFIX: Fix wrong exception message

This fixes an error caused by a wrong format string used to generate an exception message when a private property is annotated for configuration injection.

  • Packages: Flow

TASK: Fix risky unit test

The changed test does contain an expects but did advertise it @doesNotPerformAssertions, leading PhpUnit to consider the test as risky.

  • Packages: Flow

TASK: PHP 7.3 - Use break instead of continue within a switch case

Starting in PHP 7.3, PHP will throw a warning when using continue within a switch to confirm intent. In PHP, within switch, break and continue do the same thing.

  • Packages: Flow

BUGFIX: Make dev collection and neos/flow dependencies match

The dependabot changes done to the dev collections are not good. Why? Because dependabot only changes the top-level composer.json bit leaves the manifests in Neos.Flow untouched.

This makes sure the dependencies in the collection match the neos/flow dependencies again, to avoid breaking things for people.

Related to neos/neos-development-collection#2310

  • Packages: Flow

BUGFIX: Avoid strlen call on null value

The CropViewHelper should gracefully handle null values internally. Otherwise you get Argument 1 passed to Neos\Utility\Unicode\Functions::strlen() must be of the type string, null given errors.

  • Packages: FluidAdaptor

TASK: Add support for DateTimeImmutable classes mapping with doctrine

This change correctly maps DateTimeImmutable property types with doctrine.

Depends on #1442

TASK: Fix duplicate FLOW_VERSION_BRANCH declaration after upmerge

A duplicate declaration of FLOW_VERSION_BRANCH slipped in while upmerging from 4.3

  • Packages: Flow FluidAdaptor ObjectHandling

TASK: Correct documentation for fusionPathPatterns on FusionView

What I did

I have changed the example for configuring the view through Views.yaml. Currently there is an old integration which doesn’t work.

  • Packages: Flow

BUGFIX: Properly parse `DateTimeImmutable` types

Currently, a type string of DateTimeImmutable will be parsed as DateTime. This, for example, leads to any entity properties annotated as @var DateTimeImmutable to be hydrated into a DateTime class instead.

Note that this is a hotfix at most, because the real issue is, that the regex does not check for a type ending character, like whitespace, line end or another non-word character. Therefore, it eagerly parses DateTimeImmutable by matching the DateTime prefix and taking that as the parsed type, which is wrong.

  • Packages: ObjectHandling

BUGFIX: Fix format for json_encoded DateTime conversion

The format for converting from JSON encoded DateTime was wrong. The format doesn’t use the \T separator, but a whitespace and as it seems, v is not a valid format specifier for DateTime::createFromFormat while it is for date().

http://php.net/manual/en/datetime.createfromformat.php > In most cases, the same letters as for the [date()](http://php.net/manual/en/function.date.php) can be used.

Also, this provides a test to actually verify the functionality. Related to #1415

  • Packages: Flow

BUGFIX: Support the parser halt fluid token

This adds the missing template pre-processor to the Neos.FluidAdaptor RenderingContext. Actually, it is not missing but gets removed upon setting the template pre-processors.

Fixes #1449

  • Packages: FluidAdaptor

BUGFIX: Make cache application identifier configurable

In multiple permutations, we tried to fix problems with cache identifier uniqueness in cache backends that are shared like apcu or memcache. In earlier days it included the PHP_SAPI and then in more recent times the context and root path. With the refactoring of caches, these two became the hardcoded applicationIdentifier which can be used by any backend to add more specificity to cache identifiers.

It turns out that the root path doesn’t work well for some environments and can result in bugs when used with eg. the PdoBackend and a deployment that changes the root path (typical Surf or Deployer).

The only backward compatible way to fix this was to make the applicationIdentifier configurable with a default that matches the previously hardcoded values. That way nothing changes in existing installations but if the bug appears it can be easily fixed.

  • Packages: Flow