TYPO3 Release 14.3.10
In der Reihe TYPO3 Release-Notizen beleuchten wir regelmäßig die wichtigsten Bug-Fixes/Security-Issues oder wichtigen Änderungen in einem neuen Patchlevel-Release. Diese Releases sind gemäß Roadmap bereits terminiert und erscheinen grob einmal im Monat.
Bugs haben je nach Projekt unterschiedliche Auswirkungen. Was in einem Projekt kritisch ist, kann in einem anderen kaum eine Rolle spielen. Unsere Gewichtung ist daher subjektiv und soll die Relevanz anderer Fixes nicht herabspielen.
Aktuelles Release
Dieses Security-Release behebt primär Sicherheitslücken in Symfony-Komponenten und der SVG-Sanitizing Bibliothek, und stellt sicher dass “composer install” weiterhin funktioniert. Ansonsten gibt es mehrere Accessibility (a11y) Verbesserungen sowie Bugfixes für Site Sets, EXT:form Honeypots, Mehrsprachige IRRE-Relationen und einige Fluid ViewHelper.
Insgesamt gab es 76 Änderungen.
Sicherheit
- WissenswertSVG-Sanitization von Inline-Elementen wird nun mittels public API durchgeführt und nicht mehr TYPO3-spezifisch integriert. Damit ist der Vorgang auch kompatibel zum Security-Release von enshrined/svg-sanitizer 1.1.1
- Wissenswert Sicherheitsupdates für Symfony-Pakete
TCA / Schema API / Record API
Site Settings / Site Sets
- WissenswertAuch Site Sets, die aktuell nicht verlinkt sind und aber Fehler enthalten werden nun in der Liste fehlerhafter Site Sets aufgeführt
- SiteLanguages mit einer Sprachdefinition wie "da-DK" und Übermittlung eines Locale-Objekts können nun auch die "da" Fallback-Sprache wieder nutzen, wenn LLL-Sprachlabels ausgegeben werden
- SiteSets mit endlosen Dependency-Schleifen werden automatisch deaktiviert
- Performance-Optimierung für Site Settings resolving
EXT:form
- Der `formvh:render` ViewHelper kann nun eine sinnvolle Exception werfen, wenn der Extbase-Request-Kontext fehlt
- Der Name von Honeypot-Feldern wird nun nicht mehr in der Session, sondern der HMAC transportiert, so dass Aufrufe in Cache-Kontext oder ohne Session-Cookie einen Honeypot korrekt auswerten
- Der Honeypot in Formularen wird nun immer ans Ende gesetzt, um Probleme von Firefox zu vermeiden der gespeicherte Formulareingaben positionsabhängig wiederhergestellt hat und so zu Fehlern führte. Die Position des Feldes ist somit nicht mehr zufällig, also im Gegenzug eine leichtere Erkennung durch Bots möglich.
API (Frontend / Extbase)
- WissenswertPlugins die via EXTBASEPLUGIN (TypoScript) aufgerufen werden, aber auch per `configurePlugin` definiert waren können nun defaultController/defaultAction korrekt auswerten
- Das Camino-Theme zeigt nun keine Sprachnavigation für einsprachige Seiten an
EXT:webhooks / EXT:reactions
Fluid
- WissenswertDer f:asset.css ViewHelper ersetzt nun relative Pfade in "import" und "url" statements, wenn die Option "inline" aktiviert ist (wie auch TypoScript includeCss durchführt)
- WissenswertFür f:render.text wurde ein PSR-14 Event eingebaut, mit dem das Rendering beeinflusst werden kann
- Das "fluid:analyze --json" CLI Kommando reported nun einen korrekten EXIT-Fehlercode bei Problemen
- Der f:render.text ViewHelper kann nun backend enum-Werte korrekt durchreichen
- ENUMs in Fluid f:form ViewHelpern können nun als Wert bzw. "checked" Zustand korrekt durchgereicht werden
EXT:adminpanel
EXT:indexed_search
- Das zuletzt gewählte Untermodul im Backend von EXT:indexed_search wird standardmäßig aufgerufen, wenn das Obermodul gewählt wird.
- Die Indizierung von Meta-Tags funktioniert wieder, wenn deren Platzhalter durch MetaTag-Provider ersetzt werden
Backend: UI
- Der "disabled" Zustand vom Sidebar-Toggle wird nun korrekt (v)ererbt
- Der Zustand eines deaktivieren QR-Codes und Preview-URL eines Datensatzes der nicht im Frontend erscheinen kann ist vereinheitlicht worden
- Die Option "showPathAboveMounts" wird nun im Seitenbau für alle Arten von Mounts ausgewertet
- Die Livesuche wertet keine Dateien doppelt aus, die denselben identifier besitzen
- Der Titel von Datensätzen in wird in Bookmarks/Browser-Titel nicht mehr doppelt HTML-enkodiert
- Die Kontrastwerte vom "Clear"-Button wurden erhöht
- Vermeidung von doppelten Labels wenn "label", "label_alt" und "label_alt_force" mit Schwung aufeinandertreffen
- Die TSConfig Übersicht nutzt nun dieselbe Sortierungsreihenfolge für hinterlegte Seiten wie im Seitenbaum auch
- Wenn Datensätze (z.B. redirects, Taskplaner-Jobs) angelegt werden die zu einer Fehlermeldung durch Server-seitige Validierung führen, wurden die defVals in der Folgeseite nicht korrekt ausgewertet und somit war das neu zu erzeugende Element dann nicht mehr erstellbar.
- Der Link-Wizard für Datensätze kann nun den Sprachkontext des Seitenbaums nutzen um auch anderssprachige Elemente in einem Seitenbaum aufrufen zu können
- Bildreferenzen in FlexForms die eine "xx.yy" Notation mit Punkt benutzen können wieder korrekt ein/ausgeblendet werden in FormEngine
- Das Kontextmenü von Icons im Sprachvergleich funktioniert nun
- ARIA-Verbesserung von FlashMessages
- ARIA-Verbesserungen von multi-selection actions
- Besserer Zeilenumbruch für FormEngine-Info-Badge "Keine auswählbaren Elemente vorhanden"
- ARIA-Notifications werden laut vorgelesen in Screenreadern
- Overlay-Icons für nicht-veröffentlichte Datensätze werten etwaige "0/null" Werte von neuen Records nun korrekt aus
- Links in Callouts von Infoboxes werden ausgezeichnet
- Screenreader können Zeichenanzahllimits von Eingabefeldern vorlesen
- Vermeidung eines Fehlers in der Livesuche, wenn keine Page Mounts zugänglich waren
Backend: API / Core
- Sehr wichtigIRRE Relationen (Typ "inline" oder "file") haben Übersetzungen nicht konsistent der Sprache des Eltern-Elements zugeordnet. Nun stellt der DataHandler sicher, dass die Sprachen korrekt zugeordnet werden.
- WissenswertAuch Dateinamen mit Großbuchstaben in der Erweiterung können mit dem FileExtensionValidator nun verarbeitet werden
- Der JavaScript-Zugriff auf das "top level" window Objekt wurde vereinheitlicht auf ein zentrales `TopDocument`
- Der DataHandler überspringt nun das "Translation Source" Feld bei den diffsources der Übersetzungen..........
- Der Referenz-Index wird erst nach allen MM-Relationsauswertungen aktualisiert, nicht zwischendrin
- Datei-Metadaten werdne nun auf die maximale Länge der Datenbanktabellen beschränkt um Fehlermeldungen zu vermeiden
- Das Linkbrowser-Popup kann TCEMAIN und TSConfig für CSS-Klasse und Default-Target für neue Links nun für eigene LinkHandler-Tabs korrekt auswerten
- Performanceverbesserung von `GeneralUtility::intExplode()`
- Der Cache-Key für Backend-User-Filemounts bezieht nun die UID des Backendusers mit ein, damit bei langlebigen Prozessen keine Vermischung mit anderen Backend-Usern auftauchen kann
- Die PHP `idn_to_ascii`-Funktion beim URI-Resolving im Routing kann fehlschlagen, wenn eine URI ohne HTTP Host übergeben wurde. Dies ist nun optional.
- Einsprachige IRRE Relationen erhalten beim Kopieren die richtige "origUid"
- Als "readonly" markierte Datensätze werden auch in IRRE-Relationen als solche im verarbeiteten TCA markiert
Backend: FAL API
- WissenswertKorrekte resize-Anwendung auf Dateien mit Großbuchstaben in der Namenserweiterung
- Das "cleanup:localprocessedfiles" kann Storages überspringen die als "Offline" markiert sind und nicht lesbare Assets beinhalten
Backend: Flexforms
Backend: Extension Manager
Backend: EXT:workspaces / History
- Fehlende Seiten in der Workspace-Liste werden ohne PHP-Fehlermeldungen übersprungen
- Der Cache-Key von Workspaces nutzt nun zusätzlich die Backend-User UID als Kontext (für langlaufende Prozesse oder Authentifikation)
EXT:redirect
- WissenswertRedirects können nun auch bei Datensätzen wieder ohne PHP-Fehlermeldung gelegt werden
- Der CLI Command "redirects:checkintegrity" setzt nun auch den Status zurück von Redirects, die keinen Fehler mehr melden
- Wenn mehrere Redirects für dieselbe Quelle definiert wurden, werden diese nun als "shadowed" markiert
