Neue Features in TYPO3 v14 - T3UG München 13.04.2026
221 neue Features!
- · 99 Breaking Changes
- · 70 Deprecations (bis heute)
- · 1.360 commits (bis heute)
Feature-Bereiche
- · Backend-Design + Usability / Wizards
- · FormEngine / TCA
- · TypoScript
- · Extbase
- · EXT:form
- · Fluid 5
- · Neue PSR-14 Events
- · Scheduler
- · System Resource API + Asset publishing
- · Button API, XLIFF API und weitere
- · QR-Codes
- · CLI
- · 🛑 AI / MCP / REST
Disclaimer
Die Auswahl der Features ist subjektiv und entspricht meiner persönlichen Meinung,
und nicht meiner Rolle als Core/Doku-Team Mitglied
Wer alle Changelog-Einträge kurz kommentiert sehen will:
https://www.ppw.de/blog/typo3-14-0-veroeffentlicht/
inklusive Links zu den 14.1 + 14.2 Releases.
... Shotgun Buffet!
Backend-Design
- · Neues "fresh" Theme mit neuen Icons, weniger Bootstrap
- · ... for the faint-hearted:
https://extensions.typo3.org/extension/legacy_icons
https://extensions.typo3.org/package/wdb/be-theme-legacy
- · Neue FormEngine Tabs (a11y)
- · Vereinfachte Sprachwähler bei Elementen und Inhalten, Mehrfachauswahl zum Sprach-Vergleich
- · Neue Module Cards, Modulumstrukturierung und Umbenennungen
- · Neues Popup für Datei-Auswahl
- · Der Dateibaum kann wie der Seitenbaum gestyled/gelabelt werden CL
- · Neue Combobox für TCA ValuePicker,
"Card Groups" (z.B. in Wizards - EXT:styleguide FTW!)
- · Neue Breadcrumb-Design im DocHeader CL
- · Backend-Module können mit einem "schmalen" Layout gerendert werden statt 100%
Theme: Camino
- · Gebundletes Theme Camino
- · Daten-Import (Baumstruktur) und automatische Installation
- · Ohne dependencies, Verzicht auf viel PHP-Code
- · Backend-Layouts
- · Eigene Inhaltselemente (Hero), Sliding Footer
- · Sprachwechsel
- · Nutzung Record API
- · EXT:visual_editor Integration via semantischem Rendering
Backend-Usability
- · Site Settings Details, direkte Site Settings per Kontextmenü
Schneller Wechsel Site Settings / Site Config
- · Benutzergruppen-Detailansicht mit Details einer einzelnen Gruppe
- · "Zuletzt benutzt" Elemente in Wizards (Content-Elemente, EXT:form)
- · Link-Wizard kann Spalten bei Dateien auswählen
- · Seiten-Suchfunktion kann mehrsprachige Seiten finden,
und nach Frontend-URI suchen
- · Backend-Links beim Datensatz bearbeiten können den Seitenbaumzustand wiederherstellen
- · Benutzerverwaltung kann nach "eingeloggten Benutzern" suchen
- · Die Lesezeichen-Verwaltung wurde modernisiert (mehr AJAX)
- · Standardaktionen der Live-Suche können per TSConfig gesteuert werden
Backend-Usability (2)
- · Context Panel für direktes Record-Editing
- · Mehrfach-Cropping möglich mit Checkbox
- · Content Type Report Modul
- · LinkWizard kann nun auch "rel" und "download" Attribute setzen
Backend-Usability: Dashboard Widgets
- · Userspezifisch konfigurierbar
- · Atom Feeds statt nur RSS
- · "Meine Bookmarks"
- · "Offene Dokumente"
- · "Letzte Logins"
FormEngine / TCA / Flexforms
- · Neuer TCA Typ "Country" CL
- · Slug-Konfiguration für reguläre Ausdrücke CL
- · Neue itemsProcessors zur Ablösung von "itemsProcFunc" mit moderner Syntax (Reihenfolge, Typisierung) CL
- · Flexforms können direkt in addPlugin/RegisterPlugin registriert werden CL
- · Ein neuer Seitentyp "Link" ersetzt "Externe Seite" und kann mehr Typen bedienen (Telefon, Mail, ...)
- · Inhaltselemente können auf colPos-Ebene beschränkt werden (EXT:content_defender) CL
- · Neues Format datetimesec mit Datumsangabe inkl. Sekunden (statt nur Minuten)
FormEngine / TCA / Flexforms (2)
- · Die User Settings sind nun komplett TCA FormEngine-gesteuert (einfache Ergänzung möglich!)
- · Neuer PasswordGenerator statt PasswordRules
- · FormEngine nutzt überall TCA Schema API zum lesen
- · Layout/Previews nutzen überall Record API
- · Feldvalidierung direkt beim Tippen
- · TCA Option allowedRecordTypes statt PageDoktypeRegistry CL
- · TCA Option isPreviewable
- · FormEngine versteckt Eingabefelder die nur einen Wert haben können
TypoScript
- · TCADefaults (Werte) wie bei TCEFORM (Felder) nun auch typ-abhängig CL
Extbase
- · Symfony Validators können als Extbase Validatoren genutzt werden CL
- · Validate und IgnoreValidation Attribute können direkt für Methoden-Parameter vergeben werden CL
- · Die Extbase Repository Query-Methoden erlauben nun direkte Methoden für: orderBy, concat, trim und coalesce.
- · RateLimiter CL
- · Authorize Attribut CL
- · QueryBuilder Paginator CL
- · Extbase-Änderungen können sys_history Einträge erzeugen (steuerbar via TCA).
EXT:form
- · SaveToDatabaseFinisher kann nun Datenfelder als Passwörter hashen
- · YAML imports und Placeholder-Processing
- · Hidden/Enable toggle für alle Elemente
- · Entfernung von jQuery
- · Datums-Validator mit relativen Zeitangaben
- · Datenbank-Persistenz
- · Dynamischer Seitenbaum (wie echter Pagetree, Drag and Drop)
- · Leichtere Registrierung von Inhaltselementen CL
- · E-Mail-Finisher mit Variablen-Picker für den Inhalt
- · CKEditor Support (auch für Radio-Labels!)
- · Multi-File-Upload Support
- · Sprachlabels für "defaultValue"
- · Die YAML-Formular-Registrierung wird nun automatisch
erkannt und benötigt keine TypoScript/PHP-Registrierung mehr
Fluid 5
- · Eigene Dateiendung .fluid.html mit Template-Analyse
- · ... und automatischem Cache-Warmup dafür
- · Bessere Typisierungen, Union Types für ViewHelper
- · CDATA Abschnitt mit {{{...}}} Interpolation
- · Eigene Datei Configuration/Fluid/Namespaces.php
- · Fluid Components ("Partials als ViewHelper")
- · ... mit eigener Datei Configuration/Fluid/ComponentCollections.php
- · Exceptions mit Zeile+Datei trotz kompilierter Templates!
Fluid 5 (2)
- · f:comment darf ungültiges Markup enthalten
- · f:contains für Array-Checks
- · f:format.date kann Zeitzonen setzen
- · f:page.title zum direkten Seitentitel-setzen
- · f:page.meta zum direkten Meta-Tag-setzen
- · f:page.headerData und f:page.footerData zum direkten Asset-Einbinden
- · f:render.contentArea, f:render.text, f:render.record für semantisches Rendering
- · f:image.srcset für einfache srcSets
Fluid 5: Vorsicht
- · Keine Variablen mehr mit Unterstrich am Anfang
- · Strikte Typ-Deklaration in render() Methode von ViewHelpern nötig
- · Keine implizite Namespace-Vererbung mehr
- · Keine renderStatic() mehr
Scheduler
- · Jetzt TCA-basiert (FormEngine Rendering)
- · ... keine frickeligen AdditionalFieldProvider mehr, reguläre TCA Erweiterungen
- · Serialisierung mit JSON statt PHP (keine Kompatibilitätsprobleme)
- · Attribut #[AsNonSchedulableCommand]
- · Tasks können eine Priorität setzen
- · BONUS: garvinhicking/ad-hoc-tasks zum
direkten Ausführen von Tasks (nicht nur Commands)
System Resource API
Asset publishing
- · Neue Notationen "FAL:", "URI:" und "PKG:" statt nur "EXT:"
- · Einbau überall im Core für alle Stellen, die URIs/Pfade auslesen. Nutzung von Objekten mit Metadaten statt nur puren Strings.
- · Asset-Publishing kann auch zu CDNs nun durchgeführt werden
- · Strategien: Symlink, Copy
- · Standard-Bildkonvertierungsformate können definiert werden
Button API / Component Factory
- · Vereinfachtes Erzeugen von Buttons im "DocHeader" CL
- · ... kein rohes HTML mehr in zugehörigen Events!
- · ... kein ButtonBar::make mehr nötig
Weitere APIs
- · Mehr Symfony autoconfiguration + PHP Attributes
- · Symmetrische Encryption via XChaCha20-Poly1305 CL
- · TypolinkBuilderInterface ersetzt AbstractTypolinkBuilder CL
- · TCA Typ "uuid" kann einen "guid" Datenbanktypen nun automatisch nutzen (DBAL)
- · Route Enhancer können als Site Sets ausgeliefert werden CL
- · "limitToPages" Routing-Option kann Symfony Expression nutzen CL
- · Fluid TemplatedMailFactory
- · Site Sets für: felogin, seo, email (!)
- · T3D Export / Import hat weniger redundante Metadaten
- · T3D Export kann SiteConfig enthalten
- · CSP: Events zur Speicherung
- · CSP: SRI Hashing (Caching)
- · Backend Module Access Gates CL
CLI
- · "asset:publish"
- · "install:password:set"
- · "language:domain:list" + "language:domain:search"
- · "cache:flushtags"
- · "fluid:cache:warmup"
- · "lint:yaml"
- · "fluid:analyze" (auch deprecated VH's)
- · "fluid:namespaces"
- · "debug:backend:modules" + "debug:backend:routes"
- · "messenger:consume" angeglichen
- · "form:cleanup:uploads" + "form:definition:transfer"
- · "configuration:set/show/remove"
- · Symfony Console auto-completion
QR-Codes
- · API für QR-Code-Erzeugung
- · QR Code Redirects
- · QR Codes für "Share-Links"
- · Auch: Short URL Modul
XLIFF Sprachhandling
- · symfony/translate statt TYPO3-eigen
- · Unterstützung XLIFF 2.0 Format
- · Unterstützung ICU Pluralformen CL
- · Erkennung von "deprecated" Labels
- · Kürzere Labels möglich: Statt
LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf nur noch:
"core.form.tabs"
- · Leichterer Zugriff in JavaScript (auf Label-Domain-Basis)
- · Einige Labels entfernt und konsolidiert
"Neue Seite" + Lokalisierungs-Wizard
- · "Inhalt übersetzen", mit "Finishern" und Handler-Eingriffsmöglichkeiten CL
- · "Neue Seite" (auch Drag+Drop) mit "TCA-Presets"
- · EXT:form Erzeugungswizard nutzt ebenfalls neue API
Goodies
- · DateTime TCA/DataHandler bezieht überall Zeitzonen ein / native DateTime Objekte
- · ExceptionHandler hat jetzt Copy-Buttons für Stacktrace
- · Starke Reduktion der PHPStan Baseline
Gefahrenbereiche
- · System Resource API / Asset Publishing
(CacheBusting, Dateizugriff, Entfernung compression/concatenation)
- · Composer ext_emconf.php Wegfall,
composer.json immer erforderlich
- · XLIFF Labels ("source/target" wichtig!)
- · Wegfall TSFE (request Attribute FTW!)
- · RefIndex noch wichtiger (Bei Extbase nun immer aktiv)
- · /typo3/index.php und /typo3/install.php entfernt
- · FSC "parseFunc" stark vereinfacht
Hausaufgaben
- · Konstruktive Kritik an Design und Umsetzung ist WICHTIG (Slack #cig-ux, forge.typo3.org)
- · Neue Dinge ausprobieren und Meinung bilden
- · Gefundene Bugs bitte reporten (forge.typo3.org)
- · ... gelöste Bugs bitte auch auf review.typo3.org ausprobieren und voten!
- · Auch wenn alles funktionert kann Lob/Feedback SEHR motivieren
- · Regelmäßige TYPO3 Release Notes bei PPW.de
Dankeschön
Danke an das TYPO3-Core Team,
b13 für großflächiges Sponsoring und UI/UX-Arbeiten
und der TYPO3 GmbH für die konstante Arbeit an TYPO3.
Think about what you
put out into the world.
Make it a better place.
-- Jeff Cannata