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.
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: 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