1. Symfony 7.4 und 8.0: Doppel-Release räumt Codebasis auf

Mit Symfony 7.4 und 8.0 hat das Symfony-Core-Team gleich zwei Versionen gleichzeitig veröffentlicht, die denselben Funktionsumfang teilen, sich aber in ihrer Struktur unterscheiden. 7.4 enthält sämtliche, als veraltet markierte Features (Deprecations) der 7.x-Reihe, 8.0 kommt ohne diese aus. Das erleichtert den Umstieg, sobald Anwendungen keine veralteten Schnittstellen mehr verwenden.

Weiterlesen nach der Anzeige

Der Doppel-Release markiert den Abschluss der vorangegangenen Entwicklungsphase und eröffnet einen neuen Zyklus. Entwicklerinnen und Entwickler können zwischen einer langfristig gepflegten LTS-Version und einer regulären Hauptversion wählen, die ohne Altlasten auskommt.

Modernisierung der Konfiguration

Eine der auffälligsten Änderungen in Symfony 7.4 betrifft das Konfigurationssystem. Das XML-Format gilt ab sofort offiziell als veraltet, sodass Symfony 8.0 es nicht mehr kennt. Bereits in jüngeren Versionen war XML standardmäßig deaktiviert, konnte aber manuell aktiviert werden. YAML bleibt Standardformat, alternativ kann die Konfiguration auch vollständig in PHP erfolgen.

Für auf XML basierende Bundles steht ein Werkzeug bereit, das die Konfiguration automatisch in PHP umwandelt. Parallel dazu führt Symfony neue JSON-Schemata für YAML-Dateien ein. Sie ermöglichen laut Blogbeitrag verbessertes Autovervollständigen und Validierung in modernen Entwicklungsumgebungen (IDEs).

PHP als alternatives Konfigurationsformat

Im Zuge der Modernisierung hat das Entwicklerteam die PHP-Konfiguration in Symfony 7.4 überarbeitet. Die seit Version 5.3 genutzten Config-Builder-Klassen ersetzt das Team durch ein arraybasiertes Format. Dieser Ansatz nutzt Array Shapes, die von Tools wie PHPStan oder PhpStorm erkannte werden. Ziel ist, eine bessere statische Analyse, Typprüfung und Autovervollständigung zu ermöglichen.

Weiterlesen nach der Anzeige

Das neue Format ähnelt YAML in seiner Struktur, wird aber direkt in PHP geschrieben. Laut Blogbeitrag ist es einfacher zu warten und soll langfristig die Integration in PHP-basierte Workflows erleichtern. Obwohl YAML weiterhin empfohlen wird, gilt die Neuerung als Schritt in Richtung einer stärkeren Annäherung zwischen Framework und Sprache. Passend dazu ist kürzlich PHP 8.5 erschienen – mit neuen Möglichkeiten für Typisierung und Analyse –, was die Richtung der Symfony‑Änderungen unterstützt: Beide Entwicklungen zielen darauf, Konfigurationen besser überprüfbar und Entwicklungswerkzeuge stärker in den Codefluss zu integrieren.

Deprecations und Upgrade-Strategie

Das Symfony-Kernteam empfiehlt, Projekte zunächst auf Version 7.4 zu aktualisieren und alle Deprecations zu bereinigen, bevor der Wechsel zu Version 8.0 erfolgt. Der Blogbeitrag nennt als beste Methode, um als veraltet markierte Stellen zu erkennen, das Ausführen der eigenen Test-Suite:

$ php bin/phpunit –display-deprecations

Die Ausgabe listet Deprecations auf – sowohl direkte durch den eigenen Code als auch indirekte über Bundles oder Bibliotheken. Wer keine umfangreiche Testabdeckung besitzt, kann einfache Smoke-Tests einsetzen, um betroffene Bereiche zu identifizieren. Auch Drittanbieter-Bundles gilt es zu prüfen und entsprechend anzupassen. Besonders ältere Projekte, die noch auf XML- oder die frühere PHP‑Konfigurationssyntax setzen, sind von den Änderungen betroffen und sollten ihre Abhängigkeiten frühzeitig anpassen.

Langfristig oder agil?

Symfony 7.4 ist eine LTS-Version (Long-term Support) mit Bugfixes bis November 2028 und Sicherheitsupdates bis November 2029. Version 8.0 erhält regulären Support für acht Monate, erlaubt aber schnelle Upgrades auf 8.1, 8.2 und nachfolgende Versionen. Das Symfony-Team empfiehlt für die meisten Projekte, dem regulären Zyklus zu folgen, um schrittweise an neue Funktionen und PHP-Versionen anzuschließen.

Weitere Informationen bietet der Blogbeitrag zum Doppel-Release: Symfony 7.4 und Version 8.0.

(mdo)

Dieser Link ist leider nicht mehr gültig.

Links zu verschenkten Artikeln werden ungültig,
wenn diese älter als 7 Tage sind oder zu oft aufgerufen wurden.

Sie benötigen ein heise+ Paket, um diesen Artikel zu lesen. Jetzt eine Woche unverbindlich testen – ohne Verpflichtung!