8.0.3 (2022-05-19)

Overview of merged pull requests

FEATURE: Support object serialization without var annotation

This change introduces support for PHP 7.4 style class property type declarations for objects to be serialized by Flow. Previously, a @var annotation had to be specified for each class property, in order to communicate the type to Flow’s serialization mechanism.

  • Resolves: #2843

  • Packages: Flow

BUGFIX: Store cache content in BLOB field with PdoBackend

The cache PdoBackend used a MEDIUMTEXT column for the content, with some special handling for PostgreSQL to fix null bytes in the content.

When using igbinary, even with MariadDB problems can occur, since the written content is garbled when fetched back and cannot be unserialized anymore, leading to cache misses / read errors.

This change fixes it by using a MEDIUMBLOB (BYTEA on PostgreSQL) field for the content.

Upgrade instructions

To make use of the new field, drop the cache table and run the cache setup again.

Another option is to switch the column type manually using a DB management tool of your choice.

If you keep the old DB structure, aside from not having the fixed bug fixed:

  • MariaDB doesn’t care at all, the new code with the old DB structure works just fine.

  • PostgreSQL will “work” but need a cache flush, as previously cached content shows wrong.

Review instructions

Hard to say, but you definitely need igbinary to run into the issue. Probably also a specific kind of data that cannot be stored in MariaDB MEDIUMTEXT.

For PostgreSQL some code that used to do bin2hex/hex2bin on the data has been removed, so if things still work as before, this is good.

  • Packages: Cache

TASK: Fix setup error handling in PdoBackendTest

If the database setup fails, catching a Throwable is needed to skip correctly.

Review instructions

The tests should pass, as opposed to https://github.com/neos/flow-development-collection/actions/runs/2346671349

See https://github.com/neos/flow-development-collection/pull/2838 for the “source” of this.

  • Packages: Cache Eel Flow

TASK: Delete apigen.yml

The API documentation is discontinued, the tooling is outdated and no one cares for static documentation anymore.

Review instructions

TASK: Adjust issue and pr templates

the templates now mention that the texts are used in change logs and explain the informations we need during review

Should be merged together with: - https://github.com/neos/BuildEssentials/pull/61 - https://github.com/neos/neos-development-collection/pull/3708

  • Packages: Flow .github

TASK: Use type casting instead of intval/floatval

Use type casting instead of slower function calls.

  • Packages: Eel Flow Utility.Arrays

Detailed log