Suche

156 Treffer

TYPO3 Version 13.4.28

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 Das neue Maintenance-Release kümmert sich vor allem um Updates von Node und NPM und ewiteren Abhängigkeiten, sowie kleinere Bugfixes. Hervorhebenswert wäre ein Site Configuration Bugfix, der ENV-Variablen für die rootPageId korrekt verarbeitet sowie ein kleiner Performance-Schub bei der Record API. Insgesamt gab es 49 Änderungen . TCA / Schema API / Record API Wissenswert Performance-Steigerung des "GreedyDatabaseBackends" (z.b. bei Content-Blocks viel genutzt) durch runtime Caching Site Settings / Site Sets Wissenswert Dropdown-Werte in der Site-Config (z.b. "rootPageId") können nun mit ENV-Variablen belegt werden ohne dass die Bearbeitungs-GUI diese Werte danach fehlerhaft speichert EXT:form Die Abfrage auf das "stepType"-Attribut innerhalb von variants wird nun korrekt ausgeführt auch wenn eine "SummaryPage" involviert ist Vermeidung von "Löchern" im HTML DOM von Formularen, wenn gewisse Elemente via Variants ausgeblendet wurden. Die Blätterfunktion in Formularen funktioniert wieder korrekt, wenn deaktivierte Seiten enthalten sein können. Der `request` Kontext wird nun bei ArrayFormFactory (für PSR-Events) mitgegeben. EXT:felogin Vermeidung unnötiger doppelter HMAC Berechnung im felogin recovery service TypoScript Wissenswert Das Laden/Darstellen von TypoScript Konfiguration im Backend respektiert nun verschachtelte TypoScript-Roots wie auch im Frontend Backend: UI Vermeidung einer Fehlermeldung, wenn eine Backend-Seite mit falscher Sprachzuordnung im Layout-Modul dargestellt werden soll Der Input-Fokus für den Colorpicker wird nun beim Öffnen der Farbauswahl korrekt hergestellt API: Backend Wissenswert Fehlendes JavaScript im RecordLinkHandler (Link-Popup) wird wieder ausgegeben, damit z.B. das ein/ausklappen von Tabellen wieder funktioniert. Der Log "DatabaseWriter" setzt nun auch "tstamp" als korrektes Zeitstempel-Feld, damit geschriebene Log-Datensätze nicht von den Cleanup-Tasks sofort gelöscht werden (0=1970). Der FAL-Extraction-Scheduler-Task wertet nun keine fehlenden FAL-Objekte (missing=1) mehr aus. HTTP-Header in der ServerRequestFactory werden strikter auf "leer" geprüft, so dass ein "0" Wert nun erlaubt ist Die System Status Fehlerstufe wird nun nicht mehr als Zahl, sondern korrekt als Name dargestellt. Die Methode `GeneralUtility:makeInstance` enthält jetzt einen besseren Code-Kommentar, wann man diese Methode einsetzen sollte Der Test-Runner `runTests.sh` kann PHPStan-Analyse jetzt direkt mit Fortschrittsanzeige ausgeben statt einige Minuten lang keine Ausgabe zu erzeugen. Das Argument "--create-site" im CLI "setup" muss nun zwingend einen Wert erhalten um Fehlerzustände zu vermeiden Die Deserialisierung von Objekten (zur Sicherheit) wurde performancemäßig verbessert Der Hook im ElementInformationController kann nun auf mehr Eigenschaften der Klasse zugreifen Ein SQL-Index für die Spalte "pages.content_from_pid" wurde für bessere Performance angelegt. Korrekte Caching-Kalkulation bei Nutzung der pid=0 Eine DBAL Connection-Konfigurationsoption "serverVersion" kann nun (z.B. für SQL Proxies) genutzt werden um eine SQL-Server-Version vorzugeben PHP-Typfehler Vermeidung eines "null as array offset" Fehlers im PersistedAliasMapper (PHP 8.5) Vermeidung eines "null as array offset" Fehlers in FlexFormFieldValues (PHP 8.5) Vermeidung eines Fehlers für eine undefinierte Variable beim Zugriff auf ContentObjectRenderer ohne TypoScript-Konfiguration (Middleware-Kontext) Vermeidung eines "Undefined Array Key" Fehlers beim Fehlen des "category_perms" Attributs in Benutzergruppen Vermeidung mehrerer "null as array offset" Fehler (PHP 8.5) Backend: FormEngine Das Feld "elementBrowserEnabled" für IRRE "usecombination" Felder wird nun korrekt ausgewertet Backend: EXT:workspaces Der Workspace-Preview-Event nutzt nun den korrekten Event-Kontext, statt auf den BE-User-State zuzugreifen. Relevant für EXT:visual_editor Backend: EXT:scheduler Zwei weitere Checks für PHP.ini-Werte im CLI-Kontext für den SystemStatus-Report können ignoriert werden (max_time_limit, memory_limit). Dependencies Update auf Fluid 4.6.0 (Backports einiger neuer feature-Klassen aus Fluid 5, Bugfixes) Update auf NodeJS 24LTS (für Build-Prozess) Update auf Doctrine 4.4 DBAL Update auf TypeScript v6 Update NPM dependencies PPW Insights: Lassen Sie sich von digitaler Innovation inspirieren! Jetzt anmelden und digital informiert bleiben

Weiterlesen

TYPO3 14.0 - Überblick

Artikelserie zu TYPO3 14.2 Am 31. März 2026 wurde TYPO3 v14.2 als “feature freeze” Release veröffentlicht. Auch im englischsprachigen Changelog-Eintrag finden sich viele schöne Screenshots. Die wesentlichen Änderungen (von insgesamt 441 Änderungen mit 94 Features) im Schnellüberblick: Viele Anpassungen im neuen Backend-Design : Neue Icons , Navigationsleistenanpassung, Workspace-Indikator Neues " Context Panel " im Seitenlayout-Editor, welches von der Seite einfährt und Änderungen direkt ohne Reload speichern kann. Sehr hilfreich in Kombination mit EXT:visual_editor für "Frontend-Editing" im Backend-Kontext. Neuer Wizard für das Anlegen von Seiten FormEngine Tabs haben neues Design und sind accessible QR-Codes für Schnellzugriff auf Datensätze/Seiten Zahlreiche EXT:form Anpassungen: Formular-Definitionen in der Datenbank (statt in fileadmin) speichern. Der Dateispeicher ist nun deprecated. Nutzung von lit Webkomponenten , Entfernung von jQuery Datumsvalidator kann mit relativen Zeitangaben umgehen Unterstützung vom CKEditor in Finishern und Elementen Seitenbaum des Formular-Editors modernisiert, Drag+Drop Unterstützung und Suchfunktion Vereinfachte Registrierung neuer Formularelemente Neues Cleanup- CLI Kommando zum Aufräumen von Upload-Storages Upload von mehreren Dateien gleichzeitig Weitere Fluid 5 Verbesserungen: Templates nutzen nun die " .fluid.html " Datei-Endung, Verbesserungen für Fluid Components und Pfad-Auflösung , Namespace-Registrierung und Auswertung, Cache-Warmup und Fehleranalyse mit besserer Fehlerdarstellung Neue ViewHelper für metadaten-basiertes Rendering (f:render.contentArea, f:render.record, f:render.text) Neuer ViewHelper "f:image.srcset" für unterschiedliche Pixeldichten von Bildern Neues Modul " Content Report " stellt eine Übersicht über alle Content-Elemente und deren Einsatz dar Neues Modul “ Kurz-URLs ” Klein aber fein: Die Live-Suche im Seitenbaum kann nun Seiten direkt anhand der Frontend-URI finden Mehrere Image-Cropping-Varianten können gleichzeitig angepasst werden Neue Extbase-Attribute für RateLimiting von Actions und deren Zugriffssteuerung Mehrere Detailverbesserungen für das Camino-Theme (Mehrsprechigkeit, Record API Nutzung, Indexed Search, Dummy-Inhalte bei Erstimport) Viele Detailverbesserungen im neuen XLIFF-Parsing sowie ICU Pluralform-Support in Sprachlabels, zugehörige JavaScript-API `getLabel()` statt alter `lll()`. Ein neues `TranslatorInterface` regelt die Basis der neuen Übersetzungs-API. Neue Factory ` TemplatedMailFactory ` mit eigenem Site Set zur Konfiguration aller gesendeten Mails (eigene Templates/Partials). Auch im CLI-Kontext kann nun einfach eine FluidMail geschickt werden! Die CSP-API kann nun auch " SRI " Integritätshashing durchführen und anstelle von Nonces einbinden Interne API-Anpassungen: Der PageRenderer wurde stark überarbeitet und deutlich Request-spezifischer gemacht, und wird nur noch als Einweg-Datenspeicher genutzt FormEngine nutzt zun überall die TCA Schema API und keinen Direktzugriff auf `$GLOBALS['TCA']` mehr; stärke Entkoppelung zwischen Datenkompilierung und -Verarbeitung. Entfernung von Bootstrap-Klassen und JS-Events zugunsten von TYPO3-nativen Elementen Die System Resource API kann nun über eine " Publishing API " die Bespielung des "_assets" Ordners steuern und konfigurierbar machen Siehe auch: TYPO3 14.0 TYPO3 14.1 TYPO3 14.2 (31. März 2026) TYPO3 14.3 (21. April 2026) Neue Funktionen und Features Spürbare Verbesserungen im Bereich Content-Erstellung und neue Schnittstellen oder Funktionen. Zum Artikel Bugfixes und Verbesserung der Performance Auch kleinere Bugfixes und Performance-Verbesserungen können eine spürbare Verbesserung auslösen. Zum Artikel Modernisierung des Codes und Entschlackung Notwendige Modernisierung, Umstrukturierungen und neue interne Methoden. Zum Artikel Vorbereitung zur Entfernung von Funktionen und Schnittstellen (Deprecations) Welche Funktionen müssten in der Folgeversion (TYPO3 15) umgestellt werden. Zum Artikel Zurück: TYPO3 14.1 Neue Funktionen von TYPO3 14.2 Mit unserem festangestellten Mitarbeitenden Garvin Hicking unterstützen wir aktiv die TYPO3-Entwicklung. Er arbeitet im Core-Merger Team des OpenSource Projekts mit, und ist daher über die neuesten Entwicklungen bestens informiert. In unseren Artikelserien zu TYPO3-Releases beleuchtet er detailiert (und garantiert ohne KI-Automatik) wichtige Änderungen. Garvin Hicking Senior Developer garvin.hicking(at)ppw.de

Weiterlesen

TYPO3 14.0 - Überblick

Artikelserie zu TYPO3 14.0 in mehreren Teilen Nach gut 13 Monaten Entwicklungszeit und etwas mehr als 700 Änderungen ist am 25. November 2025 die TYPO3-Version 14.0 erschienen. Gemäß der Roadmap hat sich Version 14.0 folgende Dinge auf die Fahnen geschrieben: Steigerung der User Experience (UX) - Anpassungen an Design und Benutzerführung Themes, Standardisierung und Best Practices Geringere Einstiegshürden (für Entwicklung und Redaktion) Leichtere Migration und Upgrades GenAI Toolbox Abseits von diesen pauschalen Zielen gibt es natürlich immer konstante Weiterentwicklung auch in anderen Bereichen, und es werden in der Community gewünschte Features implementiert und Fehler behoben. Denn auch nach 27 Jahren am Markt gibt es ständig was zu tun. Ziel unserer Artikelserie ist es, für alle Zielgruppen (Projektleitung, Redaktion, Entwicklung) die relevanten Änderungen so knapp wie möglich und vollumfänglich zu beschreiben. Damit wollen wir auch noch so jeden kleinen Beitrag zu TYPO3 würdigen, und jeden in Sicherheit wägen, dass nichts vergessen oder übersprungen wurde. Siehe auch: TYPO3 14.1 TYPO3 14.2 (31. März 2026) TYPO3 14.3 (21. April 2026) Hier beleuchten wir folgende Teilbereiche: Neue Funktionen und Features Spürbare Verbesserungen im Bereich Content-Erstellung und neue Schnittstellen oder Funktionen. Zum Artikel Inkompatible Änderungen Umstellungen in der Architektur und bei Schnittstellen, auch Breaking Changes genannt. Diese Änderungen sind für die Entwicklung und Integration spannend, da die notwendigen Anpassungen Zeitaufwand (=Geld) bedeuten. Zum Artikel Bugfixes und Verbesserung der Performance Auch kleinere Bugfixes und Performance-Verbesserungen können eine spürbare Verbesserung auslösen. Zum Artikel Weitere Informationen Modernisierung des Codes und Entschlackung Unter der Haube ändern sich bei TYPO3 auch regelmäßig die Code-Basis für notwendige Modernisierung, Umstrukturierungen und neue interne Methoden, die nicht direkt Auswirkung auf Erweiterungen oder Implementationen haben müssen. Zum Artikel Vorbereitung zur Entfernung von Funktionen und Schnittstellen (Deprecations) Im Gegensatz zu den Breaking Changes sind Deprecations eine hilfreiche Information, welche Funktionen in der Folgeversion (TYPO3 15) umgestellt werden. Somit kann man sich bei allen Update-Anpassungen auf TYPO3 14 bereits für die Zukunft rüsten. Zum Artikel Ausblick auf TYPO3 14.3 LTS Die 14.0 Version ist der erste Schritt bis zur “Long Term Support” (LTS) Version 14.3 - hier führen wir auf, mit welchen Änderungen gemäß Roadmap die nächsten Verbesserungen und Anpassungen zu rechnen ist. Zum Artikel Weitere Informationen Weiter: Neue Funktionen und Features Mit unserem festangestellten Mitarbeitenden Garvin Hicking unterstützen wir aktiv die TYPO3-Entwicklung. Er arbeitet im Core-Merger Team des OpenSource Projekts mit, und ist daher über die neuesten Entwicklungen bestens informiert. In unseren Artikelserien zu TYPO3-Releases beleuchtet er detailiert (und garantiert ohne KI-Automatik) wichtige Änderungen. Garvin Hicking Senior Developer garvin.hicking(at)ppw.de

Weiterlesen

TYPO3 14.3 - Bugfixes und Verbesserung der Performance

Auch kleinere Bugfixes und Performance-Verbesserungen können eine spürbare Verbesserung auslösen. Die meisten relevanten Bugfixes von TYPO3 14 wurden auch immer in die Version 13 (und teilweise auch 12) zurückportiert. In diesem Bereich sind primär Bugfixes für TYPO3 14.0-14.2 enthalten. Bugfixes und kleinere Anpassungen Backend: API Die neue Inahltselementvorschau in der Seitenlayout-Ansicht wirft keinen Typfehler mehr, wenn ein Record-Objekt keine Daten liefert. Zielgruppe: Integration Relevante Commits (GitHub) [BUGFIX] Prevent TypeError on NULL in RecordFieldPreviewProcessor | [BUGFIX] Prevent Exception in StandardContentPreview Processor Im JWT (JSON Web Token, benutzt für Authentifikations-Cookies) wird nun anstelle von SHA256 das HKDF-Verfahren genutzt. Zielgruppe: Entwicklung Relevante Commits (GitHub) [TASK] Use HKDF for JWT key derivation Wissenswert Die Site Setting Detailansicht kann nun mit dem Typen "stringlist" (z.b. E-Mail Site Settings Templatefade) korrekt umgehen. Zielgruppe: Integration Relevante Commits (GitHub) [BUGFIX] Handle non-scalar site settings in detail view Wissenswert Die ummodelierten User Settings können nun die MFA-Konfiguration wieder korrekt darstellen. Zielgruppe: Redaktion Relevante Commits (GitHub) [BUGFIX] Use proper mfa provider label in user settings | [BUGFIX] Bring back accidentally removed MFA setup in user settings Anpassungen nach der "ext_emconfig.php" Deprecation: Respektierung des "suggest" Attribut, klarere Deprecation-Meldung, Versionsanpassungen können in composer.json besser deklariert werden. Classic Mode braucht keine vollständigen "providesPackages" Listen mehr, dank besserer "auto-detection" ("feature"). Zielgruppe: Integration Relevante Commits (GitHub) [BUGFIX] Respect suggests package constraints | [TASK] Improve ext_emconf.php deprecation message | [TASK] Allow extension version declaration in extra.version | [BUGFIX] Avoid Undefined property: stdClass::$version warning | [BUGFIX] Migrate ext_emconf.php "state" to package metadata | [FEATURE] Improve providesPackages handling in classic mode | Details | [BUGFIX] Dispatch AfterPackageActivationEvent on package activation again | [TASK] Use multiline for PackageInitializationEvent Wissenswert Vermeidung einer Fehlermeldung in der Dateiliste, wenn EXT:filemetadata nicht installiert ist. Zielgruppe: Entwicklung Relevante Commits (GitHub) Details | [BUGFIX] Allow sys_file_metadata fields in file list column selection Korrekte Nutzung von ArrayStrukturen in RecordsXmlSitemapDataProvider. Zielgruppe: Integration Relevante Commits (GitHub) [BUGFIX] Fix queryParameters structure in RecordsXmlSitemapDataProvider Fehlerbehebungen in der System Resource API (URL Rewriting für Inline CSS). Zielgruppe: Integration Relevante Commits (GitHub) [BUGFIX] Restore URL rewriting for inline CSS in PageRenderer Wissenswert Vermeidung von Fehlern bei der IRRE-Übersetzung von Kindelementen, die nur einsprachig sind (DataHandler). Zielgruppe: Integration Relevante Commits (GitHub) [BUGFIX] Skip localization of children for non-language-aware tables URL Parameter für Clipboard-Parameter im ContextMenu werden korrekt ausgewertet. Zielgruppe: Redaktion Relevante Commits (GitHub) [BUGFIX] Ensure clipboard keys are decoded in ContextMenuController Der sys_registry Migrationswizard kann nun gewisse Datensätze fehlertoleranter verarbeiten. Zielgruppe: Integration Relevante Commits (GitHub) [BUGFIX] Undefined array key in registry migration wizard Das ENUM-Handling in Site Settings wertet leere Felder besser aus. Zielgruppe: Integration Relevante Commits (GitHub) [BUGFIX] Fix enum handling in settings editor Upgrade Wizards die noch alte Klassen aus "EXT:install" benutzen können nun PreRequisites wieder korrekt auflösen (v14-Bug). Zielgruppe: Entwicklung Relevante Commits (GitHub) [BUGFIX] Enable DI for deprecated EXT:install update classes Der SchemaMigrator dedupliziert nun wieder Array-Werte um eine PHP-Fehlermeldung zu vermeiden (Regression durch PHPStan Code-Cleanup, nur in v14.2). Zielgruppe: Entwicklung Relevante Commits (GitHub) [BUGFIX] Re-add array_values() in SchemaMigrator Sehr wichtig Security-Bugfix: In den neu aufgeteilten User Settings wurden Klartext-Passwörter im serialisierten JSON gespeichert. Dies wird nun verhindert und bestehende Einträge per Upgrade-Wizard entfernt. Dies trat nur in TYPO3 14.2 auf. Zielgruppe: Redaktion Weiterführende Dokumentation Serialized Credential Data in be_users settings Relevante Commits (GitHub) [SECURITY] Do not store password in serialized user settings Backend: User-Interface / Darstellung (UI) Die Backend-Content-Element-Vorschau kann nun HTML-Formatierung korrekter verarbeiten. Zielgruppe: Redaktion Relevante Commits (GitHub) [BUGFIX] Avoid stripping input field preview values Kleinere Detailanpassungen in Context Panel/Modal für Elementbearbeitung sowie dynamisch bearbeitbare Seitentitel im Seitenmodul und der Sprachwahl, Arragenment der Icons in der Topleiste. Zielgruppe: Entwicklung Relevante Commits (GitHub) [TASK] Ensure consistent width in editable-page-title | [TASK] Improve language comparison header in page module | [TASK] Improve language selector labels for root-level records | [BUGFIX] Refresh page module after contextual edit of records without title | [TASK] Add accent color harmonization | [BUGFIX] Fix dropdown position opened from modal | [TASK] Reorder backend toolbar items | [BUGFIX] Prevent error when opening record history from log module | [BUGFIX] Fix exception for fields without label in column selector | [BUGFIX] Fix missing padding in CSP reports on small screens Sehr wichtig Das Anzeigen/Verstecken von Inhaltselementen löst nun keine Seitenreload mehr aus. Zielgruppe: Redaktion Relevante Commits (GitHub) [TASK] Avoid reloading on visibility-toggle of content element Fehlerbehebung in der URL-Ausgabe im LinkBrowser (Fluid-Variablenkollision). Zielgruppe: Redaktion Relevante Commits (GitHub) [BUGFIX] Pass current link url to fluid template instead of current url Der "Neue Seite" Wizard kann Kalenderpopups nun richtig platzieren innerhalb des Wizards, Positionspfeile beim Einfügen werden korrekt ausgewertet. Zielgruppe: Redaktion Relevante Commits (GitHub) [BUGFIX] Allow datetime field usage in page creation wizard | [BUGFIX] Restore position arrows in new page wizard after filtering Camino-Theme Goodie Bei einer frischen Installation kann das Camino-Theme nun direkt mitsamt Inhaltsimport angeboten werden. Zielgruppe: Integration Relevante Commits (GitHub) [TASK] Offer to import bundled distributions during installation process Wissenswert RTE Listenelemente werden ohne "falsche" Paragraph-Tags dargestellt. Zielgruppe: Integration Relevante Commits (GitHub) [BUGFIX] Fix RTE list rendering in Camino theme Verbessertes XSS-Scrubbing von Inhaltselementen in der Backend-Vorschau. Zielgruppe: Entwicklung Relevante Commits (GitHub) [BUGFIX] Sanitize HTML attributes in camino content previews EXT:form (Formularverwaltung) Wissenswert Fehlerbehebung im Mehrfach-Dateiupload beim Wechsel zwischen Schritten. Zielgruppe: Integration Relevante Commits (GitHub) [BUGFIX] Fix exception on multi-upload form resubmission Sehr wichtig Bugfix der neue datenbankbasierte Formulare im Frontend nur mit Backend-User-Login darstellen konnte. Zielgruppe: Redaktion Relevante Commits (GitHub) [BUGFIX] Render database forms in frontend without BE user requirement Wiederherstellung der Button-Funktion "Neues Formular anlegen" wenn noch keine Formulare existierten (jquery-Refactoring). Zielgruppe: Redaktion Relevante Commits (GitHub) [BUGFIX] Fix "Create new form" button in empty-state infobox Das Schließen eines Formulars im Backend führt korrekt zur vorherigen Formularauswahl inkl. Wiederherstellung von Filtersettings. Zielgruppe: Redaktion Relevante Commits (GitHub) [BUGFIX] Restore form list position after closing the editor Problembehebung für RTE/HTML-Formatierung bei Checkbox labeln. Zielgruppe: Integration Relevante Commits (GitHub) [BUGFIX] Strip block-level tags from RTE checkbox label in ext:form Kleinere visuelle Anpassungen im Formular-Manager (Icons, Sortierung) und JavaScript-Timing-Probleme. Zielgruppe: Redaktion Relevante Commits (GitHub) [TASK] Improve form manager list visual indicators and sorting | [BUGFIX] Fix crash when deleting unselected form element in Form Editor Nutzung des korrekten Backend-Routingnamens für Formular-Vorschau von Inhaltselementen. Zielgruppe: Redaktion Relevante Commits (GitHub) [BUGFIX] Use correct route name in form preview Wissenswert EXT:form Template-Pfade können nun in einem von der Extension gelieferten Site Set definiert werden (statt nur via YAML). Zielgruppe: Integration Relevante Commits (GitHub) [TASK] Add site set settings for EXT:form template paths EXT:linkvalidator Anpassung der Linkvalidator-Ergebnisliste (UI der Filterung). Zielgruppe: Redaktion Relevante Commits (GitHub) [TASK] Use selectbox to filter link types in broken links result table EXT:reports Anpassung des neuen "Content Statistik"-Moduls für eine bessere Darstellung des "excluded" Attributs von Content-Elementen. Zielgruppe: Integration Relevante Commits (GitHub) [TASK] Reverse view logic for "Excluded" column in Content Statistics EXT:scheduler (Task-Planer) Der "Neuer Task"-Wizard für den Taskplaner zeigt nun keine Tasks mehr doppelt an, die Aliase besitzen. Zielgruppe: Redaktion Relevante Commits (GitHub) [BUGFIX] Filter duplicates (aliases) of scheduler tasks EXT:workspace Workspace-IconOverlays in der Datensatzliste werden besser ausgewertet. Zielgruppe: Redaktion Relevante Commits (GitHub) [BUGFIX] Apply workspace overlay before record list row resolution Extbase Wissenswert Die Nutzung von Extbase-Routing-Argumenten wertet nun drei statt zwei Unterstriche für Argumenttrennung aus. Zielgruppe: Integration Relevante Commits (GitHub) [BUGFIX] Prevent collision of extbase parameters with level delimiter Fluid Korrekte Auswertung verschachtelter fluid-Komponenten in der XSD-Schema-Erzeugung. Zielgruppe: Integration Relevante Commits (GitHub) [BUGFIX] Return correct available nested Fluid components | [BUGFIX] Correctly merge components and viewhelper XSD Goodie Das "fluid:analyze" Kommando kann jetzt auch Template-Strings per CLI direkt analysieren, und Ausgaben als JSON formatieren. Auch deprecated ViewHelpers können erkannt werden. Zielgruppe: Integration Relevante Commits (GitHub) [TASK] Make fluid:analyze more flexible | [TASK] Detect deprecated ViewHelpers with fluid:analyze Goodie Update auf Fluid 5.3.0 (CLI Verbesserungen). Zielgruppe: Integration Relevante Commits (GitHub) [TASK] Update Fluid Standalone to 5.3.0 Wissenswert Nutzung des f:render.text ViewHelpers mit neuem Argument "optional" um auch leere Felder ohne Fehler auswerten zu können. Zielgruppe: Integration Relevante Commits (GitHub) [BUGFIX] Avoid errors for optional values in f:render.text FormEngine Das Speichern der neuen TCA-basierten UserSettings wertet das "Avatar"-Feld in den Einstellungen auch bei Mehrfachsubmits korrekt aus. Eine stärkere Trennung von "User Settings" (be_users_settings) und "Benutzern" (be_users) in der Datenspeicherung vermeidet Duplikation im uc bzw. user_settings Datenspeicher. Doppeltes JSON-Encoding wird vermieden. Zielgruppe: Redaktion Relevante Commits (GitHub) [BUGFIX] Preserve beuser avatar after saving twice | [BUGFIX] Fix persistent update for checkbox fields in user settings | [BUGFIX] Address multiple flaws in form-engine based setup module | [TASK] Update User Settings terminology used | [BUGFIX] Fix double JSON encoding of backend user settings Wenn das colorPicker-Element deaktiviert wird, kann die Transparenz nun korrekt ausgewertet werden. Zielgruppe: Redaktion Relevante Commits (GitHub) [BUGFIX] Omit opacity attribute on color picker when disabled System Resource API Beschreibungen von Extensions, die aus der composer.json bezogen werden, zeigen jetzt keine doppelten "description" Teile mehr an. Zielgruppe: Redaktion Relevante Commits (GitHub) [BUGFIX] Strip title from package description if extracted Zurück: Neue Funktionen und Features Weiter: Modernisierung des Codes Mit unserem festangestellten Mitarbeiter Garvin Hicking unterstützen wir aktiv die TYPO3-Entwicklung. Er arbeitet im Core-Merger Team des OpenSource Projekts mit, und ist daher über die neuesten Entwicklungen bestens informiert. In unseren Artikelserien zu TYPO3-Releases beleuchtet er detailiert (und garantiert ohne KI-Automatik) wichtige Änderungen. Garvin Hicking Senior Developer garvin.hicking(at)ppw.de

Weiterlesen

TYPO3 14.3 - Modernisierung des Codes und Entschlackung

Unter der Haube ändern sich bei TYPO3 auch regelmäßig die Code-Basis für notwendige Modernisierung, Umstrukturierungen und neue interne Methoden, die nicht direkt Auswirkung auf Erweiterungen oder Implementationen haben müssen. Aufräumarbeiten im Code und Modernisierung Backend: API Das Backend-Modulrouting kann nun einen internen Event zum Decoupling an den BackendRouter nutzen, und HTTP 405 Header setzen. Zielgruppe: Entwicklung Relevante Commits (GitHub) [TASK] Decouple module route initialization | [TASK] Add Allow header in 405 responses in backend routes In der Settings API wurde das JSON-Encoding-Handling überarbeitet. Zielgruppe: Entwicklung Relevante Commits (GitHub) [TASK] Avoid json_encode() workarounds in Settings API Neues TranslatorInterface ermöglicht eine abstraktere Nutzung der Sprachhandling-Services. Zielgruppe: Entwicklung Relevante Commits (GitHub) [TASK] Use TranslatorInterface in ResultRenderingTrait Wissenswert Anpassung der PackageSetup (Extensioninstallation) Routinen, Streamlining für weniger Redundanz und klarere Reihenfolgen. Zielgruppe: Entwicklung Relevante Commits (GitHub) Details Das LoggerAwareTrait in finalen Klassen wird vermieden, und injiziert den Logger nun direkt. Zielgruppe: Entwicklung Relevante Commits (GitHub) [TASK] Avoid LoggerAwareTrait with final classes Neuer Event BeforeRemoveNonCopyableFieldsEvent (intern) der beim DataHandler gefeuert wird wenn ein Datensatz kopiert/lokalisiert wird. Zielgruppe: Entwicklung Relevante Commits (GitHub) [TASK] Add internal BeforeRemoveNonCopyableFieldsEvent to DataHandler Backend: User-Interface / Darstellung (UI) Einheitlicheres Nesting von Tabellen, Alerts und Formularen in Panels. Zielgruppe: Entwicklung Relevante Commits (GitHub) [BUGFIX] Correct nesting of tables, alerts and forms in panels | [BUGFIX] First install: display password-toggle icon within field | [BUGFIX] Remove CSS attr() usage for primary color token Camino Entfernung unnötiger PSR autoload-Informationen in der composer.json. Zielgruppe: Entwicklung Relevante Commits (GitHub) [TASK] Remove unused PSR-4 information from camino Code-Cleanup Goodie Überarbeitung der ContentObjectRenderer Klasse für weiteres Refactoring. request wird nun als Variablenkontext übermittelt und nicht mehr als "state" in der Klasse geführt. Zielgruppe: Entwicklung Relevante Commits (GitHub) [TASK] Prepare ContentObjectRenderer for v15 refactoring Abhängigkeiten (Dependencies) Update von DEV-Dependencies wie PHPStan, npm etc., Vereinheitlichung Code-Style. Update auf Fluid 5.3.1 und Symfony 7.4.8. Zielgruppe: Entwicklung Relevante Commits (GitHub) Details | [TASK] Streamline code formatting in PHP-CS-Fixer config file | [TASK] Harmonize native function call style | [TASK] Use rawMessage in PHPStan baseline | [TASK] Raise dev dependencies | [TASK] Update finediff and bacon-qr-code | [TASK] Update to firebase/php-jwt 7.0.5 | [TASK] Update friendsofphp/php-cs-fixer to 3.95.1 | [TASK] Update Fluid Standalone to 5.3.1 | [TASK] Update symfony/* packages to latest patch releases | [TASK] Remove doctrine/event-manager dependency | [TASK] Raise phpdocumentor | [TASK] Raise guzzlehttp/psr7 | [BUGFIX] Raise typo3/class-alias-loader to ^2.0.1 | [TASK] Raise composer/class-map-generator Dependency Injection Nutzung von DI in mehr Modulen/Klassen (Richtext, DirectiveHashCollection, PageProvider). Zielgruppe: Entwicklung Relevante Commits (GitHub) [TASK] Use DI in ext:core Configuration/Richtext | [BUGFIX] Provide failsafe DI fallback for DirectiveHashCollection | [TASK] Use DI in context menu PageProvider EXT:form (Formularverwaltung) Es werden nun keine unnötigen Deprecations geworfen wenn der "alte" Datei-Adapter genutzt wird. Zielgruppe: Integration Relevante Commits (GitHub) [TASK] Remove trigger_error() from FileMountStorageAdapter deprecation Die dokumentation zum Frontend-Rendering und Hooks/Events von EXT:form wurde überarbeitet. Zielgruppe: Integration Relevante Commits (GitHub) [DOCS] Rewrite ext:form frontend rendering documentation | [DOCS] Overhaul events & hooks section in ext:form EXT:impexp Veralteter Code im Import-Modul für "nicht-FAL"-Dateien wurde entfernt, da nicht mehr benötigt. Zielgruppe: Entwicklung Relevante Commits (GitHub) [TASK] Remove leftover internal_type=file parts in impexp EXT:workspace Die Workspace-Preview-Ansicht nutzt nun ein eigenständiges minimales Modulframework (JS). Zielgruppe: Entwicklung Relevante Commits (GitHub) [TASK] Make workspace preview a standalone view Fluid Das "fluid:analyse" Command heißt intern nun "fluid:analyze", und gibt einen Hinweis aus dass nur *.fluid.html Dateien gescannt werden. Zielgruppe: Integration Relevante Commits (GitHub) [TASK] Clarify Fluid analyze command PHP Typsicherheit Absicherung gegen problematische Array/Null-Zugriffe (PHP 8.5) und Shell-Exec Rückgaben. Zielgruppe: Entwicklung Relevante Commits (GitHub) [BUGFIX] Avoid TypeError in SystemInformationToolbarItem when exec fails Sprachanpassung Anpassungen von Wording und Labels. Zielgruppe: Redaktion Relevante Commits (GitHub) [TASK] Use correct module name for disabling context editing | [TASK] Use translation domain in ext:felogin templates | [TASK] Improve wording in user settings (max title lenth, doc upload) | [TASK] Improve writing styles of "Configuration Presets" descriptions | [TASK] Uniform writing style of "Short URLs" description | [BUGFIX] Translate backend layout labels in Status module Stateless Services Wissenswert Reduzierung von State in Services (Content Object Renderer, LinkResultService, DataHandler, TranslationStatusController, DataMapProcessor, EmptyRestrictionContainer, PageRenderer, FlexForm traverser) sowie Deklaration von mehr readonly Klassen/Properties. Öffnung vom Extbase DomainObject auf non-internal Deklarationen. Zielgruppe: Entwicklung Relevante Commits (GitHub) [TASK] Ensure ContentObjectRenderer state contains only scalar values | [TASK] Avoid DataHandler FlexForm traverser in ext:import | [TASK] Clean up TranslationStatusController | [TASK] Clean up DataMapProcessor and helpers | [BUGFIX] Enforce EmptyRestrictionContainer during database comparison | [TASK] Avoid GU::getIndpEnv() in ext:install SecurityStatus | [TASK] Separate frontend from backend PageRenderer::render() | [TASK] Declare more classes readonly | [TASK] Declare more classes readonly in ext:core | [TASK] Dissolve DataHandler FlexForm traverser callback methods Tests Bessere Testabdeckung vom EXT:form Frontend-Workflow. Zielgruppe: Entwicklung Relevante Commits (GitHub) [TASK] Add test for database-stored form rendering in frontend | [TASK] Add functional tests for DatabaseStorageAdapter Zurück: Bugfixes und Verbesserungen Weiter: Künftige Entfernung (Deprecations) Mit unserem festangestellten Mitarbeiter Garvin Hicking unterstützen wir aktiv die TYPO3-Entwicklung. Er arbeitet im Core-Merger Team des OpenSource Projekts mit, und ist daher über die neuesten Entwicklungen bestens informiert. In unseren Artikelserien zu TYPO3-Releases beleuchtet er detailiert (und garantiert ohne KI-Automatik) wichtige Änderungen. Garvin Hicking Senior Developer garvin.hicking(at)ppw.de

Weiterlesen

TYPO3 Version 13.4.29

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 Das neue Maintenance-Release beinhaltet kleinere Bugfixes, und vor allem ein aus v14 zurückportiertes Feature mit dem neuen “f:render.text” ViewHelper, um eine Migration und Nutzung der EXT:visual_editor Extension zu vereinfachen, und Projekte bereits jetzt mit “semantischem Rendering” auszustatten. Zudem wurde nun im Layout-Modul ein automatisches Randscrolling (browserunabhängig) eingefügt bei Drag+Drop-Operationen. Insgesamt gab es 38 Änderungen . TypoScript TypoScript-Variablennamen können jetzt auch mit UTF-8 Sonderzeichen geparst werden. Nicht, dass ich das empfehlen würde. API (Frontend / Extbase) Wissenswert Das Rendering von Submenüs mit "Link"-Datensatztypen wird nun wieder korrekt gecacht Wissenswert Der ContentObjectRenderer kann nun beim Leeren von referenzierten Objekten (via TypoScript) und dem nachfolgenden neuen Setzen von Werten diese wieder korrekt verarbeiten Anpassung in ImageMagickExec für korrekte Ausführung der "+matte" Option von ImageMagick Fluid Sehr wichtig Der ViewHelper "f:render.text" wurde für die Nutzung in TYPO3 v13 portiert, um so die EXT:visual_editor Erweiterung einfacher und zukunftssicherer nutzen zu können, und Fluid-Templates mit semantischem Rendering auszustatten EXT:indexed_search Eine Exception wird vermieden für eine spezielle Konfiguration (Nicht-Volltextsuche und doppelte Indexe) beim Indizieren der Suche im Frontend Backend: UI Sehr wichtig Das Deaktivieren von Inline-Elementen (IRRE) funktioniert nun wieder korrekt, auch wenn innerhalb des IRRE-Elements eine Checkbox für den Sichtbarkeitszustand enthalten ist. Langjähriger und vielbeachteter Bug mit einem Fix, der hoffentlich Freude bereitet. Wissenswert Scrolling bei Drag and Drop im Layoutmodul kann nun am Rand automatisch scrollen (browserunabhängig) Die Layout-Ansicht von Inhaltselementen nutzt nun eine korrekte Spaltenbreite (relevant für EXT:container Nutzung für z.b. 50%/50% Container) Backend: API Wissenswert Vermeidung von Problemen im Database-Compare (Schema Migration) in Zusammenhang mit Dependency Injection und eigenen Query Restrictions Wissenswert Der "RotatingFileWriter" löscht nun keine Logfiles mehr wenn die Anzahl auf `0` konfiguriert wurde. Wissenswert Modul-Aliase werden beim cache-Warmup nicht mehr "verschluckt" und fehlen dann im Routing (relevant für "Legacy"-Module in der TYPO3 v14 Modulumbenennung) Der Aufruf von `PreviewUriBuilder::withRootline` gibt nun das korrekte modifizierte Objekt aus Der PageLayoutController wertet `returnUrl` nun mit XSS-Scrubbing korrekt aus Das TypoScript-Attribut von Site Sets kann nun auch mit einem technisch möglichen "NULL"-Wert umgehen und keine Fehrlemdlung mehr werfen (wie auch für Page TSConfig) Das LoggerInterface kann nun auch über `inject` Methoden für Dependency Injection genutzt werden. Hierdurch kann man besser auf das `LoggerAwareInterface` Trait verzichten. Der PackageManager verhindert nun eine Race-Condition im Erstellen der PackageStates-Datei In der Backend-Datensatzliste kann der RecordListcontroller beim Ausführen von Suchfunktionen nun in der SQL-Abfrage Tabellenaliase korrekt nutzen und Ambiguitäten vermeiden, wenn dies erweitert wird. TCA itemGroup Elemente die reine Zahlenwerte als Identifikator benutzen werden korrekt ausgewertet Die ZipService:verify Methode normalisiert nun Back- und Forward-Slashes für korrekte Verwendung bzw. Fehlermeldungen auf Windows-Systemen Das Routing von Instanzen wo der Site-Root nochmal im Slug einer Unterseite vorkam (z.b. "/ppw/ppw") wertet nun den SiteRoot korrekt aus Backend: EXT:workspaces Das Verändern von bereits versionierten Datensätzen via DataHandler (inklusive regulärer FormEngine Methoden) konnte eine Fehlermeldung auslösen, weil Datensätze fälschlich als "muss versioniert werden" eingestuft wurden (und abgewiesen), obwohl es den original-versionierten Datensatz betreffen könnte. Dependencies Update von der Dev-Dependency "composer" auf eine sichere Version Update auf Fluid 4.6.1 Dokumentation Das Extbase DomainObjectInterface ist nicht mehr "@internal" deklariert um klar zu machen dass es Teil der offiziellen API ist Bessere Code-Dokumentation um klarzustellen dass eigene Klassen niemals direkt das `AbstractDomainObject` implementieren sollen, sondern immer nur `AbstractEntity` oder `AbstractValueObject`. Die "PageInformation"-Klasse ist nun nicht mehr "@internal" Die Empfehlung für RAM-Limit wurde von 256MB auf 512MB angehoben PPW Insights: Lassen Sie sich von digitaler Innovation inspirieren! Jetzt anmelden und digital informiert bleiben

Weiterlesen

TYPO3 Version 13.4.18

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 Das aktuelle Release hat vor allem kritische Sicherheits-Fixes, siehe auch Security Advisories: https://typo3.org/help/security-advisories Abseits davon gab es in den 52 Änderungen vor allem eine Anpassung im Extbase-Datei-Upload, wo ein neuer verpflichtender MIME-Validator sicherstellt, dass Fehler in MIME-Typ-Zuordnungen korrekt ausgegeben werden (statt eine PHP Exception zu werfen). Zudem gab es kleinere Backend-GUI Anpassungen, bessere Rechte-Auswertung (vor allem bei pid=0 Datensätzen) und Fluid-Anpassungen zur Vorbereitung auf das nächste Major-Release. Grundsätzlich ist TYPO3 auch mit der aktuellen PHP 8.5-Version kompatibel. (Die Änderungen in TYPO3 13.4.17 sind in diesem Artikel ebenfalls aufgeführt, welches als kleines Release primär für eine Sicherheitslücke der SVG-Bibliothek eingeschoben wurde.) Sicherheit Sehr wichtig (13.4.17) Einbindung der neuen Version von "enshrined/svg-sanitize", die Sicherheits-Fixes enthält für die Einbindung von Inline-SVG-Grafiken mit JavaScript-Code. Diese konnte entstehen bei Tags in SVG-Dateien mit unterschiedlicher Groß/kleinschreibung von XML-Attributen. Es kommt nur zum Tragen, wenn ein Projekt keine CSP-Regeln für Inline-JavaScript-Verbote definiert und dennoch SVG-Grafiken inline (!) in HTML eingebettet sind. Links auf SVGs als Grafik-Datei sind nicht betroffen. Wissenswert TYPO3-CORE-SA-2025-017: Open Redirect in TYPO3 CMS: Bei Nutzung der Methode `GeneralUtility::sanitizeLocalUrl` war es möglich dass URLs, die an diese Methode übertragen wurden, nach der Verarbeitung eine Weiterleitung auf bösartige URLs durchführen konnte. TYPO3-CORE-SA-2025-018: Denial of Service in TYPO3 Bookmark Toolbar: Durch Admin-Aktionen im TYPO3-Backend könnten Bookmarks für andere User fehlerhaft gespeichert werden und dadurch das System für den Eigentümer desLesezeichens unnutzbar machen, bis diese Bookmarks durch Administratoren wieder gelöscht wurden. TYPO3-CORE-SA-2025-019: Insufficient Entropy in Password Generation: Die Erzeugung von Passwörtern mit der TYPO3-Crypto-API kann unter gewissen Regel-Umständen eine geringere Entropie als gewünscht besitzen. Das bedeutet, dass ein neu erstelltes (!) Passwort leichter zu raten sein könnte als vorgesehen. TYPO3-CORE-SA-2025-020: Information Disclosure via File Abstraction Layer: Einige Datei-Operationen (Upload, Umbenennung) in der Datei-Liste kann bei gewissen manipulierten Dateinamen dafür sorgen dass Pfad-Informationen des TYPO3-Backends "verraten" werden (Redakteursaccount notwendig). Sehr wichtig TYPO3-CORE-SA-2025-021: Broken Access Control in Backend AJAX Routes: Admin-Aktionen im Backend konnten aufgerufen werden, wenn man deren URLs und Parameter kannte. Hierdurch konnten ggf. Daten ausgelesen oder manipuliert werden. Hierfür war dennoch ein TYPO3-Backendzugang notwendig. TYPO3-Core-Module nutzen ein neues Attribut "inheritAccessFromModule", welche auch für eigene Backend-Extensions für korrekte Rechte-Checks nun genutzt werden sollte. Sehr wichtig TYPO3-CORE-SA-2025-022: Information Disclosure in Workspaces Module: Bei Nutzung der Workspace-Extension kann das Workspace-Modul über die Sicherheitslücke der defekten Acess Control via AJAX dazu genutzt werden um beliebige Inhalte in den Datenbanktabellen auszulesen. Hierfür war ein Backend-Redakteurszugang notwendig. Sehr wichtig TYPO3-CORE-SA-2025-023: Information Disclosure via CSV Download: Bei Nutzung des CSV-Datensatzdownload-Features können die Datenbankspalten (nicht Inhalte) von Tabellen ohne Zugriffsrechte ausgelesen werden. Hierfür war ein Backend-Redakteurszugang notwendig. Regression-Bugfixes Signaturänderungen (durch Typ-Casting) der Methode "processCmdmap_postProcess" wurden zurückgenommen (pass-by-reference) um etwaige Breaking Changes (EXT:flux) zu vermeiden. TCA / Schema API / Record API Erweiterung der Schema Field API zum Auslesen von Soft Reference Keys Site Settings / Site Sets (13.4.17) Site Config-Felder vom Typ "selectMultipleSideBySide" zeigen erlaubte Werte korrekt an EXT:form (13.4.17) Das autocomplete-Attribut der honeypot-Felder nutzt nun W3C-konformes Markup Die Option "shouldShowPreselectedValueColumn" wurde entfernt, da sie funktional nie implementiert wurde Das Attribut "fluidAdditionalAttribues" wird nicht mehr als "null" sondern als leeres Array interpretiert um Fehler zu vermeiden, wenn es in einem Element nicht gesetzt wurde API (Frontend / Extbase) Sehr wichtig Wenn im Extbase-Dateiupload der optionale MimeTyp-Validator nicht eingesetzt wurde, konnten ungültige Dateiuploads bei unerlaubten MIME-Typen (Sicherheitspatch, "Mime-Typ-Konsistenz") zu einer Exception führen. Dieser Patch stellt durch den neuen (forcierte) Validator "FileExtensionMimeTypeConsistencyValidator" immer sicher, dass unerlaubte Mime-Typen stets als übliche Extbase-Fehlermeldung dargestellt werden können. Zusätzlich kann der neue "FileExtensionValidator" genutzt werden um beim File-Upload komfortabel gewisse Datei-Endungen (statt nur der MIME-Typen) zu definieren. Wissenswert Die Berechnung der Cache-Zeit im HTTP-Cache-Header wertet nun die Cache-Dauern der vorhandenen Inhaltsobjekte (statt nur des Seitenobjekts) korrekt aus Das Admin-Panel (Debugging-Leiste im Frontend) kann simulierte Frontend-Benutzergruppen nun auch im Falle von Untergruppen korrekt auswerten Fluid (13.4.17) Die Nutzung von "ViewHelperResolverDelegates" zum Überschreiben von Fluid-Namespaces (seit Fluid 4.3) ist nun korrekt in der Service-Auto-Configuration vorgesehen. Wissenswert (13.4.17) Einfügung eines Functional Tests zur Demonstration, dass theoretisch der Austausch von Fluid zu anderen Templating-Systemen im Core grundsätzlich möglich ist (dank ViewFactoryInterface, neu mit TYPO3 v13). Dieser Test kann von Entwickler:innen gut genutzt werden, um einen solchen Austausch tatsächlich durchzuführen. Als Vorbereitung auf Fluid 5 (in Entwicklung) wird nun sichergestellt, dass eingesetzte Fluid-Namespaces für ViewHelper-Aufrufe auch bei vererbten Templates immer definiert sein müssen. Der TYPO3-Core hat dies in zwei kleineren Partial-Fällen nicht berücksichtigt. Pflicht-Argumente bei ViewHelpern sollten keinen "default" definieren, weil sich dies gegenseitig ausschließt. Vorbereitung der TYPO3-Core-ViewHelper um beim Update auf Fluid 5 (in Entwicklung) keine Fehlermeldungen zu erzeugen. Content Security Policy (CSP) Bei Nutzung der SourceKeyword::strictDynamic CSP-API Anpassung konnte es vorkommen, dass Regeln hierfür nicht korrekt angewendet wurden (nur wenn man manuell ein 'purge' vorher ausgelöst hatte). Backend: UI (13.4.17) Eine Info-Box bei der Verwaltung von Backend-Benutzergruppen wird angezeigt, wenn keine Backend-Usergruppen vorhanden sind (13.4.17) Der Bestätigungsdialog beim Wechseln von Datensatz-Typen (doktyp) wurde inhaltlich präzisiert Im Popup für die Auswahl von Dateien ("File Selector Browser") fehlte die korrekte Überschrift Bei der Darstellung des Verlaufsprotokolls (History) von Elementen wird die Zeitzone bei der Uhrzeit korrekt berücksichtigt Wissenswert Die Änderung der Sortierreihenfolge in der Dateiliste wird nun korrekt igespeichert und wiederhergestellt, so dass die Sortierung wieder korrekt "gemerkt" wird. Das Parsing der Zeichentrenner für das "TextTableElement" wurde verbessert um beim erstmaligen Speichern eines solchen Objekts keine fehlerhaften Tabellendaten im GUI auszugeben. Backend: API (13.4.17) Anpassung vom PageRepository für optimierten Codefluss (early returns, weniger Verschachtelung) (13.4.17) Einfache Code-Aufräumarbeiten im DataMapProcessor in Bezug auf Relation-Handling (13.4.17) Die Anzeige des Clipboards in der Listenansicht wertet nun die TypoScript-Konfiguration `mod.web_list.enableClipBoard=activated` in Verbindung mit `allowClipboard` korrekt aus. (13.4.17) Der Exception-Fehlertext von InvalidActionNameException wurde verbessert, wenn eine Extbase-Action als Backend-Modul nicht aufgerufen werden konnte. Sicherstellung, dass die Referrer-Weiterleitung in der TYPO3-Backend-Sicherheitsschicht den Parameter "referrer-refresh" korrekt (und nicht mehrfach) anhängen kann Einfache Code-Aufräumarbeiten im DatebaseRecordList Objekt Korrekte Auswertung von Platzhaltern in der "TypeConverterException" Korrektur eines Tippfehlers in der Benennung der internen "cache-timeout" Middleware Wissenswert Beim Upload von Dateireferenzen in einem neuen Objekt was noch nie gespeichert wurde, konnten diese Referenzen auf PID=0 gespeichert werden, wonach diese nur noch von Administratoren gelöscht werden konnten. Nun werden die Referenzen korrekt der PID des angelegten Objekts (z.b. einer Seite) zugeordnet. Wissenswert Die Speicherung von FAL-Metadaten-Datensätzen auf der pid=0 Ebene führt im Popup des Änderungsprotokoll-Popups nicht mehr zu falscher Rechte-Auswertung, so dass Redakteure keine Fehlermeldung mehr erhalten beim Anpassen von Datei-Metadaten. Wissenswert Vermeidung eines falschen Seitenbaum-Kontextwechsels beim Aufruf von Objekt-Infos z.B. in der Datei-Listenansicht und dann zurück zur Seitenansicht. Durch die Nutzung einer Datei-ID anstelle der Seiten-ID wurde versucht auf eine nicht existierende bzw. falsche Seite zuzugreifen und erforderte einen neuen Klick auf den Seitenbaum. Zwei seit PHP 8.0 als NO-OP definierte Funktionsaufrufe wurden entfernt um Deprecation-Warnungen für PHP 8.5.0 zu vermeiden. Wissenswert Seitenübersetzungen sind nicht mehr möglich, wenn ein Redakteur keine Unterseiten anlegen darf. Das Event "ModifyNewContentElementWizardItemsEvent" erhält nun auch den Request als Kontext, um darauf leichter zuzugreifen Weitere MIME-Typ-Aliase (für exe/json/srt-Dateien), um wie gewohnt Dateien im Backend hochladen zu können nach dem Security-Patch für MIME-Typ-Konsistenz. PHP-Typfehler Vermeidung von Exceptions falls die URL-Variablen type/cHash/__RequestToken als arrays übertragen werden Backend: FormEngine Der "Preview"-Button wird in der Datensatzensicht nur noch angezeigt wenn auch eine Preview-URL ausgewertet werden konnte Backend: Flexforms Vermeidung einer falschen Wertzuweisung (Leerzeichen) im Falle von Flexform-Selects mit leerer config.items Konfiguration Backend: EXT:workspaces Wissenswert Diverse Modernisierung und Anpassungen im Workspace Backend-Modul, Refactoring über klarere Strukturen. Die Übertragung dieser Änderungen auf TYPO3 v13 Instanzen soll sicherstellen, dass weitere Workspace-Änderungen im Core für v14 einheitlich sein können. Strukturelles (13.4.17) Code-Cleanup: PHPStan-Fehlermeldungen zu "nullsafe.neverNull" behoben um bessere Code-Qualität zu erreichen (13.4.17) Typ-Inferenz von EventDispatcher->dispatch() wird so deklariert dass z.B. PHPStorm für Entwickler dessen Return-Typen korrekt auswerten kann für Auto-Completion. Wissenswert Für PHP 8.5 Kompatibilität werden für die Nutzung der "SplObjectStorage" Methoden nicht mehr die alten Namen (contains / attach / detach) genutzt, sondern die nun bevorzugten Namen (offsetExists / offsetSet / offsetUnset) Diverse PHPUnit Testmethoden werden für künftige Kompatibilität nicht mehr statisch aufgerufen sondern via `$this->...`. Dependencies Wissenswert Update Fluid 4.4.3: NULL-Werte für component defaults sind nun möglich Update der phpunit Abhängigkeiten für PHP 8.5.0-Support Dokumentation Korrektur eines falschen Beispiel-Codes für die Nutzung von "linktypesConfig" im Linkvalidator PPW Insights: Lassen Sie sich von digitaler Innovation inspirieren! Jetzt anmelden und digital informiert bleiben

Weiterlesen

TYPO3 Version 14.3.1

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 Das neue Maintenance-Release kümmert sich um die Stabilisierung der v14 LTS Version: Bugfixes für die getrennten User Settings, dem neuen Task-Planer und Fehldarstellung im Datums-Picker wurde behoben. Auch die neuen Wizards (Neue Seite, Lokalisierung, LiveSuche) haben ein höhenoptimiertes Layout und einige kleinere Bugfixes erfahren. Der CLI “asset:publish” Befehl ist nun fehlertoleranter. Im Layout-Modul wurde ein neues Rand-Scrolling für Inhaltselemente eingefügt, die man per Drag and Drop verschiebt. Insgesamt gab es 90 Änderungen . TCA / Schema API / Record API Wissenswert Die Vorschau von Inhaltselementen im Layout-Modul kann nun auch nicht in der TCA-Schema bekannte Werte ohne Fehler übergehen EXT:form Wissenswert Das "required"-Attribut von Formular-Elementen in der GUI wird nun beim an/aushaken korrekt ausgewertet und persistiert Entfernung einer redundanten Definition für die RTE-Konfiguration des "br" Tags Verbesserung der Meldung beim Löschen von Formularen (GUI-Backend) TypoScript TypoScript-Variablennamen können jetzt auch mit UTF-8 Sonderzeichen geparst werden. Nicht, dass ich das empfehlen würde. Die "if"-Abfrage-Logik für den (Language)MenuProcessor wird wieder korrekt ausgelesen Die Variable "tree" für TypoScript Conditions steht nun immer bereit (und ist sonst mit "null" gefüllt wenn leer), so dass keine Abfragen hierauf mehr scheitern sollten (CLI-Kontext). API (Frontend / Extbase) Wissenswert Der ContentObjectRenderer kann nun beim Leeren von referenzierten Objekten (via TypoScript) und dem nachfolgenden neuen Setzen von Werten diese wieder korrekt verarbeiten Der DatabaseRecordLinkBuilder wertet nun Links wieder korrekt aus, die nicht erzeugt werden dürfen weil deren Ziel nicht verfügbar sein könnte, anstelle diese einer Fallback-Seite zuzuordnen (und falsche Links zu erzeugen). EXT:indexed_search Eine Exception wird vermieden für eine spezielle Konfiguration (Nicht-Volltextsuche und doppelte Indexe) beim Indizieren der Suche im Frontend Backend: UI Sehr wichtig Das Deaktivieren von Inline-Elementen (IRRE) funktioniert nun wieder korrekt, auch wenn innerhalb des IRRE-Elements eine Checkbox für den Sichtbarkeitszustand enthalten ist. Langjähriger und vielbeachteter Bug mit einem Fix, der hoffentlich Freude bereitet. Sehr wichtig Die Datums-Picker in FormEngine werden wieder richtig dargestellt (und nicht mit einer fehlerhaften "schmalen Leiste") Wissenswert Der "Neuer Datensatz"-Wizard leitet nun bei Inhaltstypen die "type"-Untertypen besitzen nicht mehr auf eine fehlerhafte URL weiter, wenn nur ein einzelner Typ möglich ist. Wissenswert Scrolling bei Drag and Drop im Layoutmodul kann nun am Rand automatisch scrollen (browserunabhängig) Die Bootstrap-CSS-Styles für Button-Gruppen werden nun von TYPO3-eigenem Styling abgedeckt Das "title" Attribut von Thumbnail-Bildern wurde entfernt um bei Screenreader keine Dopplungen zu erzeugen Klarere Beschriftung für die "fallbackType" Einstellung der Site Configuration Sprachen Klarere Beschriftungen für das "Maintenance" Modul Der "Zurück"-Button im neuen Content-Statistik-Report war überflüssig und wurde entfernt Bessere Accessibility für Labels in TCA FormEngine selectMultipleSideBySide Das "kbd" Element für Shortcut-Tipps (z.B. LiveSearch) wird visuell besser dargestellt Verbesserung der ContentAreaCollection (EXT:visual_editor / f:render.text) für bessere Iteration Der "Speichern"-Button der Extension-Konfiguration wird besser hervorgehoben Darstellung von vertikal zentrierten Button-Gruppen (z.b. Clipboard-Ansicht) erscheint wieder korrekt Die Höhe des Modal-Popups für Live-Suche und "Neue Seite"-Wizards ist nun größer Korrekte Label-Nutzung vom neuen Modul-Label "Records" statt "List" Korrekte Darstellung des "Kalenderstart-Tages", wenn noch keiner in den User-Settings festgelegt wurde Backend: API Sehr wichtig Die deprected Legacy-Option zur Definition von USER_SETTINGS funktioniert nun wieder und stellt zusätzliche Felder in den Benutzereinstellungen dar. Wissenswert Wenn ein Useraccount die Option "bei Login per E-Mail benachrichtigen" aktiviert hat und ins Install-Tool einloggen will, führte dies zu einer PHP-Fehlermeldung. Wissenswert Der CachetimeCalculator hat als Default nun 1 Jahr Cachedauer statt 24 Stunden; der Page-Cache in TYPO3 nutzt weiterhin 24 Stunden, aber höhere Cache-Tags sind nun möglich. Wissenswert Der Avatar-Upload von Benutzereinstellungen funktioniert wieder korrekt Wissenswert Der neue "asset:publish" CLI Befehl ist etwas fehlertoleranter, z.b. in Initial-Setups ohne fertigen TYPO3-Bootstrap Wissenswert Vermeidung von fehlerhaften XLIFF-Labelauswertungen in zwei Legacy-Dateien (Lowlevel Datenbankintegrität und Core-Suchfunktion) Wissenswert Der PageLinkBuilder nutzt nun wieder den korrekten Default-Typ "PAGE" Wissenswert Modul-Aliase werden beim cache-Warmup nicht mehr "verschluckt" und fehlen dann im Routing (relevant für "Legacy"-Module in der TYPO3 v14 Modulumbenennung) Cache-Backend Optionen werden nun wie früher bei "1"-Werten in "true" automatisch umgewandelt und genutzt. Auch die TYPO3 "Classic" Installation kann nun besser mit dem "public"-Verzeichnis (Projekt-Root) umgehen Wenn sich bei einem Deployment der Projekt-Pfad ändert (z.b. ein Timestamp in den Namen von Release-Verzeichnissen) werden alle Caches nun mit dem Projektpfad indiziert, um diese auch gesammelt neu bauen zu können. Namen von TCA-Farben (Typ "color") können nun lokalisiert werden (LLL-Syntax oder Domain Label Syntax) In der Backend-Datensatzliste kann der RecordListcontroller beim Ausführen von Suchfunktionen nun in der SQL-Abfrage Tabellenaliase korrekt nutzen und Ambiguitäten vermeiden, wenn dies erweitert wird. TCA itemGroup Elemente die reine Zahlenwerte als Identifikator benutzen werden korrekt ausgewertet Die ZipService:verify Methode normalisiert nun Back- und Forward-Slashes für korrekte Verwendung bzw. Fehlermeldungen auf Windows-Systemen Das Routing von Instanzen wo der Site-Root nochmal im Slug einer Unterseite vorkam (z.b. "/ppw/ppw") wertet nun den SiteRoot korrekt aus Vermeidung von Fehlermeldungen von composer.json Dateien einer Extension nicht den "typo3-cms-extension"-Plugintyp nutzen (sondern "typo3-cms-framework", z.B. für Fixture-Extensions genutzt) Backend: CLI Wissenswert Bei Nutzung des "install:password:set" Commands wurden einige Sonderzeichen (Backslashes) bei der automatischen Passworterzeugung nicht ausgegeben und erzeugten so einen Passwort-Mismatch. Backend: FormEngine - Page Wizard Wissenswert Die Einfüge-Position einer neuen Seite im "Neue Seite"-Wizard kann nun "Nach Seite XXX" korrekt auswerten, statt es als "Innerhalb Seite XXX" zu interpretieren. Backend: Flexforms Wissenswert Flexform-Sektionsnamen mit einem Punkt (z.b. "settings.somesection") werden im Backend wieder richtig ausgewertet und korrekt ein/ausgeklappt Backend: EXT:workspaces Das Verändern von bereits versionierten Datensätzen via DataHandler (inklusive regulärer FormEngine Methoden) konnte eine Fehlermeldung auslösen, weil Datensätze fälschlich als "muss versioniert werden" eingestuft wurden (und abgewiesen), obwohl es den original-versionierten Datensatz betreffen könnte. Backend: EXT:scheduler Sehr wichtig Fehlermeldung aufgrund fehlenden Backend-User-Kontext beim Speichern von "Next Execution" Task-Informationen werden vermieden Wenn keine Task-Gruppen existieren werden keine PHP-Warnungen mehr ausgegeben in der Taskverwaltung Die Task-Gruppen für Planer-Tasks können jetzt per TCA Typ "select" statt "group" leichter zugeordnet werden. Die Ausführungen von Planer-Tasks werden nun nicht mehr (doppelt) via DataHandler geloggt Backend EXT:impexp Der Datenexport überspringt nun keine doch relevanten internen Felder mehr, die sonst beim Import potentiell für falsche Darstellung sorgen könnten (hidden, recordtype, ...) Strukturelles Der Encrpytion-Key bei einer Erstinstallation wird auch in der runtime gesetzt, so dass bei Nutzung von EXT:impexp zum Distributions-Laden (Camino) keine Fehler auftauchen Die Camino-Installation / Distribution führt das "Package Setup" nun mit einem neu geladenen DI-Container für bessere Kompatibilität durch Dokumentation Die "PageInformation"-Klasse ist nun nicht mehr "@internal" Die Empfehlung für RAM-Limit wurde von 256MB auf 512MB angehoben PPW Insights: Lassen Sie sich von digitaler Innovation inspirieren! Jetzt anmelden und digital informiert bleiben

Weiterlesen

TYPO3 14.3 - Vorbereitung zur Entfernung von Funktionen und Schnittstellen (Deprecations)

Deprecations sind eine hilfreiche Information, welche Funktionen in der Folgeversion (TYPO3 15) umgestellt werden. Somit kann man sich bei allen Update-Anpassungen auf TYPO3 14 bereits für die Zukunft rüsten. Veraltete Funktionen und Schnittstellen ("Deprecations") für die nächste TYPO3-Version 15 Backend: API Sehr wichtig Die Datei ext_tables.php in Extensions (NICHT ext_localconf.php ) wird nicht mehr benötigt; die Inhalte hiervon kommen überwiegend in TCA Overrides (siehe ChangeLog). Zielgruppe: Integration Weiterführende Dokumentation ext_tables.php in extensions Relevante Commits (GitHub) [TASK] Deprecate ext_tables.php in extensions Wissenswert Deprecation von mehreren Klassen, die nun ein Request-Objekt als Parameter benötigen: GeneralUtility::locationHeaderUrl() , GeneralUtility::sanitizeLocalUrl() , GeneralUtility::isOnCurrentHost() , GeneralUtility::getIndpEnv() . Zielgruppe: Integration Weiterführende Dokumentation GeneralUtility::locationHeaderUrl() without PSR-7 request | GeneralUtility::sanitizeLocalUrl() needs PSR-7 request | GeneralUtility::isOnCurrentHost() without PSR-7 request | GeneralUtility::getIndpEnv() Relevante Commits (GitHub) [TASK] Deprecate GU::locationHeaderUrl() without request | [TASK] Deprecate GU::sanitizeLocalUrl() without request | [TASK] Deprecate GeneralUtility::isOnCurrentHost() without request | [TASK] Avoid GU::getIndpEnv() in PublicUrlPrefixer | [TASK] Avoid more GeneralUtility::getIndpEnv() | [TASK] Deprecate GeneralUtility::getIndpEnv() Die Extension "EXT:setup" wurde aufgelöst und mit "EXT:backend" verschmolzen. Alias-Namespaces sind intakt, aber sollen in Zukunft nicht mehr genutzt werden. Zielgruppe: Entwicklung Weiterführende Dokumentation PSR-14 event :php:TYPO3\CMS\Setup\Event\AddJavaScriptModulesEvent | Setup extension merged into backend extension Relevante Commits (GitHub) [TASK] Move EXT:setup into backend extension | [TASK] Move EXT:setup into backend extension Sehr wichtig Die beiden PSR-14 Events BeforeSectionMarkupGeneratedEvent und AfterSectionMarkupGeneratedEvent sowie AbstractSectionMarkupGeneratedEvent wurden deprecated, da sie im PageLayoutView Refactoring blockieren. Eine Migration ist nicht vorgesehen. Zielgruppe: Integration Weiterführende Dokumentation Page module section markup events Relevante Commits (GitHub) [TASK] Deprecate page module section markup events DatabaseIntegrityCheck wurde von EXT:lowlevel in EXT:reports verschoben. Zielgruppe: Integration Weiterführende Dokumentation Lowlevel DatabaseIntegrityCheck class Relevante Commits (GitHub) [BUGFIX] Move DatabaseIntegrityCheck from EXT:lowlevel to EXT:reports Wissenswert Einige BackendUtility Methodne zur Erzeugung von Item List Labels wurden deprecated ( getLabelFromItemlist , getLabelFromItemListMerged , getLabelsFromItemsList ). Zielgruppe: Integration Weiterführende Dokumentation BackendUtility item list label methods Relevante Commits (GitHub) [TASK] Deprecate BackendUtility item list label methods Wissenswert Der Event ClearCacheToolbarItem nutzt nun einen Backend-Modul-Endpoint statt einem rohen "href". Zielgruppe: Integration Weiterführende Dokumentation CacheAction key "href" | Cache action endpoints should return JSON response Relevante Commits (GitHub) [BUGFIX] Migrate old href cache actions to endpoint | [BUGFIX] Migrate old href cache actions to endpoint Code-Cleanup Goodie Überarbeitung der ContentObjectRenderer Klasse für weiteres Refactoring. request wird nun als Variablenkontext übermittelt und nicht mehr als "state" in der Klasse geführt. Einige Methoden und Properties wurden deprecated, z.b. $lastTypoLinkResult und readFlexformIntoConf() . Auch TypoScript cobj:parentRecordNumber wurde deprecated. Zielgruppe: Entwicklung Weiterführende Dokumentation Various ContentObjectRenderer properties/methods Relevante Commits (GitHub) [TASK] Prepare ContentObjectRenderer for v15 refactoring Zurück: Modernisierung des Codes Mit unserem festangestellten Mitarbeiter Garvin Hicking unterstützen wir aktiv die TYPO3-Entwicklung. Er arbeitet im Core-Merger Team des OpenSource Projekts mit, und ist daher über die neuesten Entwicklungen bestens informiert. In unseren Artikelserien zu TYPO3-Releases beleuchtet er detailiert (und garantiert ohne KI-Automatik) wichtige Änderungen. Garvin Hicking Senior Developer garvin.hicking(at)ppw.de

Weiterlesen

TYPO3 14.0 - Überblick

Artikelserie zu TYPO3 14.3 LTS Nach unseren Detail-Artikeln Neues Release: Neue Features und Änderungen in TYPO3 14.0 , TYPO3 14.1 und TYPO3 14.2 bringen wir heute die Artikelreihe zu TYPO3 v14 mit der LTS-Version 14.3 zum Abschluss. Im Vergleich zu TYPO3 14.2 wurden Stabilitätsverbesserungen vor allem in der System Resource API und Composer/Classic-Mode Paketverwaltung (composer.json und ext_emconf.php) durchgeführt. Zudem Bugfixes für die neu aufgeteilten Backend-User-Settings und ein Fix in den neuen datenbankbasierten EXT:form Formularen , die nur mit gültigem Backend-Benutzerlogin funktionierten. Es gab noch einige “Last-Minute” Deprecations für die nächste Version TYPO3 v15: Stateless Services sind ein erklärtes Ziel, somit benötigen einige GeneralUtility und ContentObjectRenderer-Methoden nun das $request -Objekt als Parameter und Verzicht auf $_GET/$_POST/$_SERVER markiert nun auch das Ende von “getIndpEnv()”. In TYPO3 14.2 wurden die User Settings in FormEngine integriert, und dabei auch die Serialisierung in JSON eingeführt. Hierbei hat sich ein sicherheitsrelevanter Bug eingeschlichen, der bei Passwortänderungen diese Passwörter als Klartext im JSON serialisiert hat. Hierfür gibt es nun einen Sicherheitspatch und Upgradewizard, der dies verhindert und die Daten bereinigt. Hier nochmal die Highlights von TYPO3 v14 LTS, wie ich auch letzte Woche in der Münchener TYPO3 Usergroup in diesem Vortrag vorgestellt habe. Dieser war zugegeben eher trocken mit vielen Bulletpoints; die visuelle Präsentation überlasse ich herzlich gerne dem fleißigen TYPO3 Marketing-Team: https://news.typo3.com/article/typo3-v14-lts-the-next-generation 221 Features rund 1.400 commits Änderungen in Backend-Design , Usability vor allem mit Wizards (Lokalisierung, neue Seite) und Context Panel Verbesserungen der Live-Suche QR Codes Camino Frontend-Theme System Resource API / Asset Publishing Fluid 5 , semantisches Rendering, Components, Template-Analyse, TemplatedMailFactory Zahlreiche EXT:form Verbesserungen (überarbeitete GUI, RTE, Mehrfach-Datei-Upload, leichtere Integration, relative Datumsvalidatoren) Extbase : History-Tracking, Access Control, RateLimiting, Symfony Validators XLIFF Sprachlabels Viele FormEngine/TCA Features , überarbeitete User-Settings und Task-Planer, Inhaltselementbeschränkung TCA Typ " Country ", neuer Seitentyp " Link ", neue itemsProcessors , leichtere FlexForms-Registrierung Neue Dashboard-Widgets, Lesezeichenverwaltung Button API / Component Factory im Backend Content-Type Report CSP: SRI Hashing Technisch mehr Symfony autoconfiguration + attributes, CLI debugging, Copy+Paste Exceptionhandler Zum detailierten Artikel “Überblick TYPO3 14.3 LTS” Bugfixes und Verbesserung der Performance Auch kleinere Bugfixes und Performance-Verbesserungen können eine spürbare Verbesserung auslösen. Zum Artikel Modernisierung des Codes und Entschlackung Notwendige Modernisierung, Umstrukturierungen und neue interne Methoden. Zum Artikel Vorbereitung zur Entfernung von Funktionen und Schnittstellen (Deprecations) Welche Funktionen müssten in der Folgeversion (TYPO3 15) umgestellt werden. Zum Artikel Zurück: TYPO3 14.2 Bugfixes in TYPO3 14.3 LTS Mit unserem festangestellten Mitarbeitenden Garvin Hicking unterstützen wir aktiv die TYPO3-Entwicklung. Er arbeitet im Core-Merger Team des OpenSource Projekts mit, und ist daher über die neuesten Entwicklungen bestens informiert. In unseren Artikelserien zu TYPO3-Releases beleuchtet er detailiert (und garantiert ohne KI-Automatik) wichtige Änderungen. Garvin Hicking Senior Developer garvin.hicking(at)ppw.de

Weiterlesen

BITV Check - Wir prüfen Ihre Website oder Ihr digitales Produkt.

Wir setzen die Projekte unsere Kunden nicht nur BITV-konform um, wir prüfen auch Websites, Apps und digitale Produkte hinsichtlich der gesetzlichen Anforderungen. Buchen Sie unser 30-Minten-Erstgespräch - unverbindlich, klar und kompetent. Denn digitale Barriefreiheit ist Pflicht.