7.3.5 (2022-05-19)

Overview of merged pull requests

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: Delete apigen.yml

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

Review instructions

TASK: Use type casting instead of intval/floatval

Use type casting instead of slower function calls.

  • Packages: Eel Flow Utility.Arrays

Detailed log