jobsphp

ActualitéOpen Source & Outils

Symfony #1021 : focus sur la stabilité et la compatibilité PHP 8.6

Voilà le bilan chiffré brut de la semaine Symfony #1021, publié par le blog officiel Symfony.

Symfony #1021 : focus sur la stabilité et la compatibilité PHP 8.6

73 PR mergées. 49 issues fermées. 36 contributeurs. Voilà le bilan chiffré brut de la semaine Symfony #1021, publié par le blog officiel Symfony. Activité dense, orientée stabilité: ajout du support Twig 4.0, et surtout correctifs de compatibilité pour la future PHP 8.6.

Ce qui change sous le capot

L'essentiel du travail ne se voit pas dans les changelogs marketing. Sur les 73 PR mergées, 65 concernent le code, 8 la documentation. Ratio ≈ 8:1. Pour un dev en prod, la lecture utile: passer en revue les PR taguées BC-break ou deprecation liées au moteur PHP, pas seulement les annonces de features. Une semaine de durcissement, pas d'expansion.

PHP 8.6 n'est pas encore stable. Les correctifs mergés cette semaine ajustent les chemins internes du framework pour suivre l'évolution du moteur. Réflexe immédiat sur une app en prod: verrouiller la version de Twig dans composer.lock et router la prochaine mise à jour vers un staging dédié, pas la CI générique. Le upgrade guide Symfony 7.x → 8.x devra digérer ces patchs. Les premiers talks de la SymfonyCon Warsaw 2026 sont également publiés — agenda à scanner si vous maintenez du code qui sera présenté sur scène.

Le signal Laravel 13.23.0

Sortie le 27 juillet, la 13.23.0 aligne plusieurs détails contractuels. Le transport SES v2 lit désormais un header X-SES-TENANT-NAME par message, là où le tenant était global à l'application. Pattern déjà appliqué pour X-SES-LIST-MANAGEMENT-OPTIONS. Pour les architectures multi-tenant qui isolent la réputation d'envoi par client: point d'intégration à valider en pre-prod.

Le pilote de log mensuel complète le daily. Rétention par défaut: 3 fichiers (vs 14 pour daily), implémenté via FILE_PER_MONTH côté Monolog. À calibrer selon le volume réel. À noter aussi: la clause using sur les définitions de colonnes PostgreSQL, qui manquait au schema builder et faisait échouer les migrations écrites pour MySQL ou SQLite. Ignorée par les autres grammars.

Enfin, le bypass du mode maintenance passe désormais par hash_equals partout (=== supprimé dans le middleware et le stub de bootstrap). Changement defense-in-depth, pas fix d'un bug exploitable: comportement identique pour un input valide, mais plus de TypeError possible sur un cookie non-string.

Verdict

À tester en staging cette semaine. Pas en prod avant audit des points de contact avec PHP 8.6: typage strict, hooks de sérialisation custom, comportement du GC sur certains cycles. Symfony #1021 corrige, n'étend pas. C'est exactement ce qu'on demande à un framework mature avant une montée de version majeure du moteur.