Update Symfony to 7.4.23 (12 advisories in 8 packages).
- A form can be sent from /beitraege, /kategorie/... and /schlagwort/...;
it answered 404 before anything was stored or mailed.
- Booleans reach the database as integers, so MySQL in strict mode
accepts form submissions, task switches and plugin states.
- A stepped form with a required multiple choice shows its message
instead of stopping on a TypeError.
- The second update step runs under the update lock; a concurrent
finish no longer rolls a successful update back.
- Accordion entries and gallery images can be selected from the
editor panel again.
- Category and tag names are escaped in the archive heading.
- Restoring a published page from the bin needs the publisher role.
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
A plugin can now bring a plugin.php that registers hooks, scheduled tasks, its own tables, public pages and admin screens. Failures stay contained to the plugin; a form on a plugin page can be submitted.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Wiederkehrende Aufgaben ohne Cronjob (ADR 073): Sicherung, Statistik kuerzen,
geplante Veroeffentlichung, Updatepruefung und Aufraeumen laufen als Plan in
der Tabelle scheduled_task - eine Zeile je Aufgabe mit Faelligkeit, Sperre und
letztem Ergebnis. Auf geteiltem Hosting gibt es oft keinen Cronjob; der Plan
haengt stattdessen an Anfragen und an einem Takt aus dem geoeffneten Backend.
Diese Arbeit entstand in einer parallel laufenden Sitzung und lag bis hierher
unveroeffentlicht im Arbeitsverzeichnis: die Releases 1.5.0 bis 1.5.5 wurden
bewusst aus dem jeweiligen Tag gebaut und enthielten sie deshalb nicht.
Vor der Veroeffentlichung geprueft, nicht bloss eingepackt:
- phpunit 452/452, npm test 28/28, npm run test:editor vollstaendig.
- Die Migration 20260914000100 legt nur die Tabelle scheduled_task an und nimmt
sie beim Zurueckrollen wieder weg. Sie fasst keine bestehenden Daten an.
- Seit einer Stunde keine Schreibzugriffe der anderen Sitzung mehr.
Dabei zwei Fehler behoben:
- config/services.yaml verwendet !tagged_iterator. Das ist gueltiges Symfony,
aber "lint:yaml config" kennt eigene Tags nur mit --parse-tags und gab 1
zurueck - der CI-Lauf waere daran gescheitert. Flag ergaenzt.
- AdminHeadersSubscriber.php (aus 1.5.3) entsprach nicht dem Stil von
php-cs-fixer; composer lint gab 8 zurueck. Behoben.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>