7.3.10 (2023-02-23)

Overview of merged pull requests

BUGFIX: isNewObject will correctly report object status

With this change PersistenceManager::isNewObject will correctly report object status in all circumstances.

  • Fixes: #2699

  • Packages: Flow

BUGFIX: Reset cache backend iterator state on update

Some cache backends hold an internal state when used as an iterator. This state needs to be reset whenever the source data is updated.

  • Packages: Flow Cache

BUGFIX: Support PHP8 union and intersection types as method return value in reflection service

The change allows to use union types and intersection types in classes which are proxied by the flow framework. Offcourse the php version Flow is running on has to support the used features aswell.

In addition: - true, false and null are added to the list of simple types which are not prefixed by the reflection service - parent, static, never and resource are added to the list of additional types that need no prefix during reflection aswell

Upgrade instructions

Review instructions

  • Packages: Flow

BUGFIX: Fix truncation of cache file when lock not acquired

Previously, SimpleFileBackend would truncate the contents of the cache file if it couldn’t acquire the lock.

To fix this, the c flag is used for fopen, so the file is not truncated if it already exists. This necessitates that we manually truncate the file if the lock is acquired.

I’ve added a test that fails without these changes, and passes with them.

  • Packages: Flow Cache

BUGFIX: Support empty data in SimpleFileBackend

In newer versions of PHP, calling fread with non-positive length raises an error: fread(): Argument ``#2 <https://github.com/neos/flow-development-collection/issues/2>``_($length) must be greater than 0

Since SimpleFileBackend supports saving an empty file, it should also support reading one.

I’ve added a test that fails without these changes.

  • Fixes: #2929

  • Packages: Flow Cache

TASK: Adding labels to PRs

With this task, we add automatically labels to the PRs. That makes the maintaining easier, as we did that manually all the time.

What I did We always add the target branch as label, so we see directly which version the PR targets. And if the Commit message is following our rules, we also add the bugfix, task or feature label.

How I did it I use the runner from https://github.com/actions-ecosystem They use node 12 which leads to a warning as actions are running node 16 but an issue is created and it runs anyways.

How to verify it Checkout how it works in the neos-ui. https://github.com/neos/neos-ui/pull/3387

  • [ ] Reviewer - Breaking Changes are marked with !!! and have upgrade-instructions

  • Packages: Flow .github

TASK: Handle ReflectionUnionType & ReflectionIntersectionType

This adds explicit handling of ReflectionUnionType & ReflectionIntersectionType instead of falling back to the deprecated __toString() method on ReflectionType.

Since we do no longer suppport PHP < 7.1 only the two mentioned types as well as ReflectionNamedType are supported, a “pure” ReflectionType can no longer be present at this point.

  • Packages: Flow

TASK: Add PHP 8.1 & 8.2 to CI build

  • Packages: Flow Cache

Detailed log