Website & Technik23. Oktober 2026 

TYPO3-Upgrade prüfen: Was der Changelog als JSON über deine Extensions verrät

Veröffentlicht:

Lesedauer
min
TYPO3-Upgrade prüfen: Was der Changelog als JSON über deine Extensions verrät

Das Wichtigste in Kürze

  • TYPO3 14 hat laut unserer Auszählung des offiziellen Changelogs (Stand 8. Oktober 2026) 99 Breaking Changes (inkompatible Änderungen, die Drittcode wie Extensions brechen können). Der Extension Scanner findet bei 40 davon ganz oder teilweise Treffer in deinem Code. Bei 59 sucht er gar nicht.
  • Ein Scanner-Lauf ohne Treffer ist deshalb keine Freigabe. Diese 59 Einträge liest du gegen deine Extensions, eine endliche Liste.
  • Seit dem 30. September 2026 liefert TYPO3 den Core-Changelog als JSON-Datei je Hauptversion. Damit filterst du die Liste in einer Zeile.
  • Zeitrahmen: TYPO3 13 bekommt Sicherheitsupdates bis Dezember 2027, TYPO3 14 bis Juni 2029.

Ein Scanner-Lauf ohne Treffer fühlt sich nach Entwarnung an. Bei TYPO3 14 stimmt das nur für einen Teil der Änderungen. Wir haben die Changelog-Datei der Version 14 am 8. Oktober 2026 selbst ausgezählt: 99 Breaking Changes, alle aus Version 14.0. Bei 34 kann der Scanner alle betroffenen Stellen finden, bei 6 einen Teil, bei 59 keine. Wer ein Upgrade freigibt, sollte wissen, welche Einträge in welcher Gruppe stehen.

Was TYPO3 am 30. September veröffentlicht hat

Das Documentation Team von TYPO3 rendert die Dokumentation seit dem 30. September 2026 zusätzlich als Markdown. Jede Seite ist unter derselben Adresse erreichbar, nur mit .md statt .html. Markdown ist ein schlankes Textformat ohne Navigation und Layout. Die API-Übersicht aus dem Handbuch TYPO3 Explained wiegt als HTML 272 KB, als Markdown 73 KB (von uns am 8. Oktober 2026 gemessen).

Für ein Upgrade ist der zweite Teil der Meldung wichtiger. Der Core-Changelog liegt jetzt maschinenlesbar vor:

DateiInhaltWofür du sie brauchst
Changelog-<Hauptversion>.jsonalle Changelog-Einträge einer Hauptversion, seit TYPO3 7Breaking Changes filtern
classes.jsonPHP-Klassen eines Handbuchs mit Fundstellennachsehen, wo eine Klasse vorkommt
toc.jsonInhaltsverzeichnis eines Handbuchs (für TYPO3 Explained 568 KB statt 4,2 MB)gezielt einzelne Seiten laden
llms.txtLesereihenfolge für automatische ClientsProgrammen den Weg weisen

Die Einzelseiten-Ausgabe (SingleHTML) entfällt laut Ankündigung des Documentation Teams mit dem nächsten Rendern jedes Handbuchs. Das Handbuch kommt jetzt seitenweise.

Ein Eintrag in der Changelog-Datei hat unter anderem diese Felder: type (breaking, deprecation, feature oder important), typo3-version, tags und, wenn vorhanden, classes mit den genannten PHP-Klassen. Die Datei für Version 14 steht unter docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog-14.json.

Was in den Dateien steht

Wir haben die Dateien für TYPO3 12, 13 und 14 am 8. Oktober 2026 abgerufen und ausgezählt:

VersionEinträgeBreakingDeprecationFeatureImportant
TYPO3 1252612812821753
TYPO3 133551056314740
TYPO3 14451997522156

Die Typen bedeuten laut TYPO3-Dokumentation: Breaking verschiebt oder entfernt Core-Funktionen und kann Drittcode betreffen. Deprecation markiert eine Funktion für die spätere Entfernung. Feature fügt Neues hinzu. Important sammelt Hinweise, die manuelles Handeln verlangen können. Die Datei für TYPO3 14 wächst mit jedem Release weiter: Am 23. Oktober 2026 hatte sie 458 Einträge, davon 62 Important. Für ein Upgrade auf 14 zählen vor allem die 99 Breaking- und die 75 Deprecation-Einträge.

Wo der Extension Scanner endet

Der Extension Scanner ist ein Werkzeug im TYPO3-Backend. Du findest ihn im Modul System > Upgrade. Es steht nur zur Verfügung, wenn typo3/cms-install installiert ist, und nur für Benutzer mit System-Maintainer-Rechten. Der Scanner durchsucht den Code deiner Extensions nach entfernter oder veralteter Core-API. Er arbeitet mit statischer Codeanalyse, liest den Code also, ohne ihn auszuführen. Dynamisch zusammengesetzte Aufrufe erkennt er laut Dokumentation nur schwach oder gar nicht, und Fehlalarme sowie übersehene Treffer lassen sich nicht ganz vermeiden.

Hinzu kommt, was der Scanner gar nicht erst sucht. Jeder Breaking- und Deprecation-Eintrag trägt einen von drei Tags: FullyScanned (der Scanner findet alle betroffenen Nutzungen), PartiallyScanned (er findet einen Teil) oder NotScanned (der Eintrag ist vom Scanner überhaupt nicht abgedeckt). In Version 14 verteilen sich die Einträge so:

Scan-TagBreakingDeprecation
FullyScanned3434
PartiallyScanned67
NotScanned5934
Summe9975

Bei den Breaking Changes sind das knapp 60 Prozent ohne Scanner-Abdeckung. Zwei Beispiele aus der NotScanned-Liste: Eintrag 108310 verlangt in der klassischen Installation eine composer.json, Eintrag 108148 entfernt CDATA-Abschnitte in Fluid-Templates nicht mehr. Das sind Änderungen an Struktur und Verhalten, nicht an einem Methodenaufruf, den eine Codesuche findet. Der Scanner meldet dazu nichts, und das ist kein Fehler des Scanners, sondern seine Grenze.

Aus unserer Praxis: Bei einem Industriekunden haben wir im Frühjahr 2026 auf TYPO3 12 aktualisiert. Der Core lief sauber durch. Gebrochen ist eine Produktverwaltungs-Extension eines Drittanbieters: Im Kundentest brach das Bearbeiten eines Produkts im Backend mit Fehler 503 ab. Es waren zwei Ursachen. Erstens war der Code der Extension mit Version 12 nicht kompatibel und warf beim Laden der Produktattribute eine PHP-Warnung; das haben wir gepatcht. Zweitens schickt das Produktformular mehr Felder, als der Server annahm; dafür haben wir den PHP-Wert max_input_vars von 1.000 auf 10.000 angehoben. Keines der beiden Probleme stand vorab in einem Prüfbericht, sichtbar wurden sie erst im Test mit echten Daten. Das Serverlimit ist kein Eintrag im Changelog, zeigt aber dieselbe Grenze wie die NotScanned-Einträge: Fehler im Verhalten zur Laufzeit findet nur ein Test. Deshalb gehört zu jedem Upgrade ein Testlauf, in dem dein Team die typischen Arbeiten im Backend selbst durchklickt.

So gehst du vor

Die Schritte sind für den Dienstleister gedacht, der dein Upgrade ausführt. Als Verantwortlicher fragst du nach den Ergebnissen, nicht nach den Befehlen.

  1. Extension-Liste anlegen. Name, Version, Bezugsquelle und Betreuung jeder Extension. Wie diese Liste aussieht, beschreiben wir in unserem Beitrag zum Ende des TYPO3-Bug-Bounty-Programms.
  2. Extension Scanner laufen lassen. Im Backend unter System > Upgrade alle Extensions scannen. Strong Matches (der Scanner erkennt Klasse und Methode sicher) kommen zuerst, Weak Matches (nur der Methodenname passt) danach.
  3. NotScanned-Liste ziehen und von Hand lesen. Die Changelog-Datei lässt sich so filtern, dass nur die Breaking Changes ohne Scanner-Abdeckung übrig bleiben. Das Ergebnis sind 59 Zeilen, Stand 8. Oktober 2026. Lies jeden Titel gegen die Funktionen deiner Seite: Formulare, Mehrsprachigkeit, eigene Templates, Backend-Module. Den Befehl dafür findest du unten im Abschnitt zum Weitergeben an deinen Entwickler.
  4. Upgrade Wizards und Changelog abhaken. Upgrade Wizards sind Hilfsprogramme, die Daten und Einstellungen auf die neue Version umstellen. Die Dokumentation empfiehlt, offene Wizards vor einem Major-Upgrade zu erledigen. Per Konsole zeigt upgrade:list die offenen, upgrade:run führt sie aus. Im Modul System > Upgrade lassen sich Changelog-Einträge als gelesen markieren, dann verschwinden sie aus der Liste.

Danach testest du auf einer Kopie der Seite die Abläufe, an denen Anfragen hängen: Kontaktformular, E-Mail-Versand, Suche, Sprachversionen.

Was das für die Planung bedeutet

Die Zahlen sind kein Anlass zur Eile, aber ein Grund, die Prüfung früh einzuplanen. Laut get.typo3.org (gelesen am 8. Oktober 2026) bekommt TYPO3 14 LTS kostenlose Bugfixes bis Dezember 2027 und Sicherheitsupdates bis Juni 2029. TYPO3 13 erhält Sicherheitsupdates bis Dezember 2027. Der kostenlose Support für TYPO3 12 endete am 30. April 2026. Wer noch auf 12 läuft, findet die Optionen in unserem Beitrag Upgrade oder ELTS bei TYPO3 12.

Die 59 NotScanned-Einträge sind der Teil, den kein Werkzeug dir abnimmt. Sie sind aber auch der Teil, den du vorab kennst: Die Liste steht fest, sie ist öffentlich, und du kannst sie vor dem Angebot lesen.

Extension-Liste fürs Upgrade prüfen lassen

Du willst wissen, welche dieser Einträge deine Website treffen, bevor du ein Upgrade beauftragst? Im kostenlosen 15-Minuten-Erstgespräch klären wir, welche Extensions du einsetzt und ob sich eine Prüfung gegen den Changelog lohnt. Zur laufenden Betreuung gehört das auch bei unserer TYPO3-Wartung.

Extension-Liste fürs TYPO3-Upgrade prüfen lassen

Zum Weitergeben an deinen Entwickler oder deine Agentur

Diese Befehle und die Klassenliste brauchst du nicht selbst. Sie sind für den Dienstleister gedacht, der dein Upgrade ausführt. Leite ihm den Abschnitt weiter.

Die NotScanned-Liste für TYPO3 14 zieht das Kommandozeilenwerkzeug jq, das JSON filtert, in einer Zeile:

curl -s https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog-14.json \
  | jq -r '.entries[] | select(.type=="breaking" and (.tags | index("NotScanned"))) | .title'

Welche Klassen im Changelog am häufigsten genannt werden

Nach unserer Auszählung der Datei Changelog-14.json (Stand 23. Oktober 2026) nennen 122 der 174 Breaking- und Deprecation-Einträge mindestens eine PHP-Klasse. Das Feld classes macht daraus eine Suchliste für deine Extensions. Am häufigsten kommen diese vor:

KlasseEinträge (Breaking und Deprecation)
GeneralUtility25
ExtensionManagementUtility9
ServerRequestInterface8
PageRenderer7
ContentObjectRenderer6
TypoScriptFrontendController6

Eine Nennung heißt nicht, dass deine Extension betroffen ist. Sie heißt: Hier lohnt der Blick in den Eintrag. Ein konkretes Beispiel ist der Breaking-Eintrag 107831, der den TypoScriptFrontendController entfernt. Eine Extension, die diese Klasse nutzt, braucht vor dem Upgrade eine Anpassung. Mit jq zeigst du alle Einträge zu einer Klasse:

curl -s https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog-14.json \
  | jq -r '.entries[] | select(.classes["\\TYPO3\\CMS\\Frontend\\Controller\\TypoScriptFrontendController"]) | .title'

Häufige Fragen

Was ist ein Breaking Change in TYPO3?

Ein Breaking Change verschiebt oder entfernt eine Funktion im TYPO3-Core und kann dadurch Drittcode betreffen, etwa eigene Extensions. TYPO3 dokumentiert jede solche Änderung als Eintrag im Core-Changelog.

Reicht der Extension Scanner für die Upgrade-Freigabe?

Nein. Er arbeitet mit statischer Codeanalyse und deckt nicht jeden Changelog-Eintrag ab. In Version 14 tragen 59 der 99 Breaking Changes das Tag NotScanned, der Scanner sucht dort nicht. Diese Einträge brauchen eine manuelle Prüfung.

Wo finde ich den TYPO3-Changelog als JSON?

Unter docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog-14.json. Für andere Hauptversionen ersetzt du die 14 durch die gewünschte Zahl. TYPO3 stellt die Dateien seit dem 30. September 2026 je Hauptversion seit TYPO3 7 bereit.

Brauche ich die Kommandozeile für die Changelog-Prüfung?

Nein. Das Backend-Modul System > Upgrade zeigt die Changelog-Einträge der aktuellen Core-Version und lässt dich Einträge als gelesen markieren. Die JSON-Datei hilft vor allem dem Dienstleister, die Liste schnell zu filtern.

Bis wann bekommt TYPO3 13 Sicherheitsupdates?

Laut get.typo3.org bis Dezember 2027. TYPO3 14 LTS erhält Sicherheitsupdates bis Juni 2029. ## Quellen : TYPO3 Documentation Now Renders to Markdown, news.typo3.com, 30.09.2026. Dazu: llms.txt der TYPO3-Dokumentation, abgerufen am 08.10.2026 : Core Changelog, Changelog-14.json (sowie Changelog-12.json und Changelog-13.json), docs.typo3.org, abgerufen am 08.10.2026; Documenting Changes (Changelog-Typen und Scan-Tags), abgerufen am 08.10.2026 : Module "Upgrade" (System), TYPO3 Explained 14.3, abgerufen am 08.10.2026 : Extension Scanner, TYPO3 Explained, abgerufen am 08.10.2026 : TYPO3 Versionen und Support, get.typo3.org, abgerufen am 08.10.2026

Quellen