Dieser Artikel besteht aus mehreren Unterseiten:
Einführung
Neue Funktionen
Breaking Changes
Deprecations
Die größte Furcht bei TYPO3-Updates besteht in den "Breaking Changes". Zum Glück versucht das TYPO3-Team diese so gering wie möglich zu halten, aber in einem lebenden und sich stets verbessernden System ist es unumgänglich, alte Zöpfe auch abschneiden zu müssen und konzeptionelle Irrläufer zu beseitigen.
Breaking Changes dürfen nur in der ".0" Version stattfinden. Wenn man also bei der TYPO3-Entwicklung am Ball bleibt, hat man im Idealfall rund ein Jahr Zeit, sich auf entschiedene Breaking Changes vorzubereiten. Meist werden diese auch sowieso in Form von "Deprecations" in der Vorversion bereits eingeläutet (siehe Folgekapitel).
An dieser Stelle kann man sich darüber freuen, wenn man im vorigen Update alle Deprecations schon behandelt hat, denn ansonsten gilt: Alles was man in der Vorversion nicht bereits angegangen ist, fällt einem nun als "Breaking Change" in den Schoß und ist eine aufzruräumende Altlast.
Breaking Changes sind vom TYPO3 Code-Scanner und auch TYPO3-Rector relativ gut abgedeckt.
Kurzform, die 💣aufwändigsten Änderungen sind:
Legende:
⚠️ - Unbedingt beachten
💣 - Sehr großer Aufwand
🕳️ - Für diese Änderung gibt es keinen (dokumentierten) Migrationspfad
🪄 - Upgrade Wizard oder automatische DB Compare Lösung steht zur Verfügung
⚪️ - Not Scanned, bedeutet: Die Prüfung muss "von Hand" erfolgen. Eigene Automatisierung oder Rector-Regeln potenziell möglich.
🌓 - PartiallyScanned, bedeutet: Der TYPO3 Code-Scanner schlägt nur teilweise an, manuelle Prüfung notwendig
🌝 - FullyScanned, bedeutet: Der TYPO3 Code-Scanner sollte allen anzupassenden Code anmäkeln. Automatisierung/Rector-Regeln mit hoher Wahrscheinlichkeit möglich.
💣 Bereits im 13.0 release wurden alle Deprecations der Vorversion nun als Breaking Change tatsächlich entfernt. Der Changelog-Eintrag enthält eine sehr große Liste von entfernten Klassen/Methoden/Interfaces oder weiteren notwendigen Anpassungen, vor allem:
$GLOBALS['TYPO3_CONF_VARS']['BE']['flexformForceCDATA']
wurde entfernt, da CDATA Verarbeitung intern darauf nicht mehr angewiesen ist - [Changelog]Migration zu PSR-14 Events, falls noch genutzt.
\TYPO3\CMS\Core\Authentication\LoginType::LOGIN
und \TYPO3\CMS\Core\Authentication\LoginType::LOGOUT
sind nun auch native ENUMs. [Changelog1, Changelog2, Changelog3, Changelog4]Den Abschluss bildet die nächste Seite mit den gefürchteten Deprecations.
Unsere Agentur, die Faktor E GmbH, ist an der TYPO3-Fortentwicklung involviert und mit Garvin Hicking beschäftigen wir einen Mitarbeiter, der im Core-Team als Framework-Merger aktiv mitarbeitet und uns einen zeitnahen Einblick in das Entwicklungsgeschehen gibt. Unser gesamtes erfahrenes Team mit mehreren zertifizierten Personen (Consultant/Integrator/ Developer/Editor) führt für Sie gerne TYPO3-Updates oder neue Projekte durch: Kontaktieren Sie uns!