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.
See: #2830
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