Neue Features in TYPO3 v14 - T3UG München 13.04.2026


Garvin Hicking        garvin@hick.ing        @supergarv@phpc.social

· 23 Jahre TYPO3.
· weiteres FOSS: Serendipity (s9y), phpMyAdmin.
· macht mit als Core Merger + Doku Team seit 2023.

> Serie: TYPO3 Release Notes bei PPW.de

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