Saito 8.4.6 "dienstschlüssel"
[8.4.6] - 2026-08-15 "dienstschlüssel"
One migration runs, and it rewrites entries. Not additive like the five
before it: nine columns change type, so the table is rebuilt row by row.
Measured between 70 seconds and four and a half minutes for 680,000 postings,
depending on the server. On MariaDB 11.2 or later the forum stays writable while
it happens; everywhere else the table is readable but not writable until it
finishes. Run it from the command line — PHP's execution limit will cut a
rewrite short through the web updater.
php bin/cake.php migrations migrate
php bin/cake.php schema_cache clearThe key that comes with the office. A forum can now require a second factor of
the people who can change it — and, because a lock without a key is how an
operator loses their own forum, three ways back out.
-
+ Added: a forum can require two-factor authentication of its moderators
and administrators.offby default, so upgrading changes nothing for
anybody; an operator sets it tomodoradminin the admin area. Ordinary
members are never caught by it — the cost of a compromised member account is
one member, the cost of a compromised administrator account is the forum.Every exemption in it is load-bearing. Somebody who switches the setting on
while their authenticator app is on a phone in another room must still be able
to set the second factor up, and to log out; both stay reachable from behind
the gate, and both are tested one by one. For the case that has no interface
left at all there isbin/cake two_factor_reset <username>, which clears the
second factor, the recovery codes, the trusted devices and the passkeys of one
named account without touching the account itself. -
+ Added: the columns postings are written to now outlive 2038.
timestamp
cannot hold an instant after 2038-01-19; nine columns move todatetime,
which has no such limit, anduseronline.time— a Unix timestamp in a signed
INT, the same date by another road — becomesBIGINT.Eleven years off, and worth doing now rather than under pressure: the
conversion has to rebuild the tables either way, and the two ways it can go
wrong quietly are both handled. The session's timezone decides what a
timestampbecomes when it turns into adatetime, so the migration pins it
to UTC rather than trusting the host's clock; and a0000-00-00left over
from an older MySQL would abort the whole chain under that server's default
sql_mode, so those values are let through unchanged instead. -
✓ Fixed: the new setting showed its own translation key where its name and
explanation belong. The admin area reads those from thenondynamiccatalogue
and the strings had been added todefault, so the screen offered
2fa_required_from_role_expas if it were a sentence. A test now renders every
settings label and fails on any key that reaches the page untranslated. -
✓ Fixed: the passkey is mentioned where people look for it. It could only
be found by opening the second-factor screen and reading to the end, which is
not where somebody wonders whether their fingerprint would work here. -
Δ Changed: the upgrade and update documents describe what this migration costs
and which releases need the command line, and the bot-filter section explains
the exemption static files need — a challenged stylesheet arrives as
Content-Type: text/htmland the forum renders unstyled, with nothing in the
log to find.