Symfony 8
Branche sans LTS à ce jour Support actif janv. 2027 Branche ouverte en nov. 2025La branche en cours de construction. Ses mineures sortent en mai et novembre jusqu'à la 8.4, qui deviendra la prochaine LTS. Pour un projet en production, la cible reste la 7.4 tant que la 8.4 n'est pas publiée.
Ce que la branche 8 apporte face à la précédente
- Formulaires multi-étapes natifs : Un parcours en plusieurs écrans avec validation par étape et branchements conditionnels, sans machine à états maison à écrire et à maintenir.
- Quatre composants de moins à chercher ailleurs : JsonStreamer, ObjectMapper, JsonPath et TypeInfo entrent dans le framework : sérialisation en flux, transformation entre objets et lecture de documents JSON sans bibliothèque tierce.
- Assets pré-compressés : Zstandard, Brotli et Gzip appliqués au build : le serveur livre des fichiers déjà compressés, sans coût processeur à chaque requête.
- PHP 8.4 comme socle : Property hooks, visibilité asymétrique et objets lazy natifs deviennent accessibles dans le code applicatif.
Publications de la branche
- 8.0 nov. 2025 plus de correctifs depuis juil. 2026
- La 7.4 sans le code déprécié : Même périmètre fonctionnel que la LTS 7.4, moins 13 202 lignes de code déprécié. Un projet dont les dépréciations 7.4 sont traitées bascule sans réécriture.
- Configuration en array shapes PHP : Le XML et le PHP fluide cèdent la place à des tableaux typés, avec autocomplétion et validation de type dans l'éditeur.
- Commandes invocables : Une commande console se réduit à une classe sans parent, arguments et options déclarés en attributs PHP. Le code de plomberie disparaît.
- Exceptions lisibles en terminal : Les erreurs des commandes et des workers sont rendues en texte brut avec une pile d'appels exploitable, au lieu d'un bloc HTML illisible dans les logs.
- 8.1 mai 2026 support actif jusqu'en janv. 2027
- Attribut #[Serialize] : La valeur retournée par un contrôleur est sérialisée automatiquement dans le format de réponse attendu. Une API expose ses données sans écrire de code de sérialisation.
- Applications sans HTTP : Le conteneur d'injection de dépendances et le système de bundles fonctionnent sans HttpKernel. Les workers, traitements batch et outils en ligne de commande gardent l'architecture Symfony sans embarquer la couche web.
- Mapping de payload étendu : Les DTO de requête acceptent désormais les fichiers uploadés, les arguments variadiques et les groupes de validation dynamiques. Les formulaires de dépôt de documents se codent comme le reste, sans traitement séparé.
- Composant Tui : Construction d'interfaces plein écran en terminal. Utile pour les outils internes d'exploitation, là où une interface web serait disproportionnée.