Laravel 12 : les nouveautés et pourquoi cette version change peu (et c'est tant mieux)
Sorti le 24 février 2025, Laravel 12 est une version de maintenance : peu de changements cassants, des dépendances à jour et de nouveaux starter kits React, Vue et Livewire. Ce qu'il faut savoir avant de migrer.
par Jérémie Elbaz, Développeur Fullstack Développement & IA
Laravel 12 est disponible depuis le 24 février 2025. Après Laravel 11, qui avait profondément allégé la structure des applications il y a un an, cette nouvelle version majeure prend le contre-pied : l'équipe de Laravel la présente elle-même comme une version de maintenance. Peu de nouveautés spectaculaires côté framework, mais une mise à jour des dépendances, des améliorations de confort et, surtout, de nouveaux kits de démarrage.
Pour un dirigeant dont le logiciel métier ou l'application web repose sur Laravel, c'est plutôt une bonne nouvelle : la montée de version coûte peu et prolonge la durée de support. Voici ce qui change concrètement.
Qu'est-ce qui change dans Laravel 12 ?
Une version « sans casse » pour la plupart des applications
La note de version officielle est claire : Laravel 12 se concentre sur la mise à jour des dépendances en amont et vise un nombre minimal de changements cassants. D'après la documentation, la plupart des applications peuvent passer en version 12 sans modifier leur code. Le guide de mise à jour estime d'ailleurs le temps de migration depuis Laravel 11 à environ cinq minutes pour une application standard.
Les points à surveiller restent peu nombreux :
- Carbon 3 devient obligatoire : le support de Carbon 2 (la librairie de gestion des dates) est retiré. Si votre code ou un paquet tiers dépend encore de Carbon 2, c'est le premier point à vérifier.
- UUID version 7 par défaut : le trait
HasUuidsgénère désormais des UUID v7, ordonnés dans le temps. Un trait dédié permet de conserver les UUID v4 si nécessaire. - Règle de validation
image: elle n'accepte plus les fichiers SVG par défaut (une option permet de les réautoriser). - Disque de stockage local : la racine par défaut passe à
storage/app/private.
Rien de bouleversant, mais chacun de ces points peut produire un effet de bord discret dans une application qui tourne depuis plusieurs années. D'où l'intérêt d'une suite de tests automatisés avant toute migration.
Les nouveaux starter kits : React, Vue et Livewire
La vraie nouveauté visible, ce sont les kits de démarrage, c'est-à-dire la base de code fournie pour lancer un nouveau projet avec l'authentification déjà en place (connexion, inscription, mot de passe oublié, vérification d'e-mail).
| Starter kit | Technologies | Pour quel projet ? |
|---|---|---|
| React | Inertia 2, TypeScript, shadcn/ui, Tailwind | Interfaces riches, équipes à l'aise avec React |
| Vue | Inertia 2, TypeScript, shadcn/ui, Tailwind | Même logique, avec Vue.js |
| Livewire | Flux UI, Laravel Volt | Interfaces dynamiques en restant côté PHP |
Chaque kit existe aussi en variante WorkOS AuthKit, qui ajoute la connexion via réseaux sociaux, les passkeys et le SSO (authentification unique d'entreprise). Laravel indique que ce service est gratuit jusqu'à un million d'utilisateurs actifs mensuels.
En parallèle, Laravel annonce que Breeze et Jetstream, les anciens kits, ne recevront plus de mises à jour. Les applications existantes construites avec eux continuent de fonctionner : le code a été copié dans votre projet au moment de l'installation, il vous appartient.
Quelles versions de PHP pour Laravel 12 ?
Laravel 12 demande PHP 8.2 au minimum et fonctionne avec PHP 8.2, 8.3 et 8.4. Le socle est donc le même que pour Laravel 11.
Attention toutefois au calendrier de PHP lui-même : d'après php.net, PHP 8.2 n'est plus qu'en support de sécurité depuis le 31 décembre 2024, jusqu'à fin 2026. Si vous lancez un projet aujourd'hui, partir directement sur PHP 8.3 ou 8.4 est plus confortable.
Combien de temps Laravel 12 sera-t-il supporté ?
Laravel applique une politique simple : 18 mois de corrections de bugs et 2 ans de correctifs de sécurité par version majeure.
| Version | Sortie | Corrections de bugs jusqu'au | Sécurité jusqu'au |
|---|---|---|---|
| Laravel 10 | 14 février 2023 | 6 août 2024 | 4 février 2025 |
| Laravel 11 | 12 mars 2024 | 3 septembre 2025 | 12 mars 2026 |
| Laravel 12 | 24 février 2025 | 13 août 2026 | 24 février 2027 |
Deux conséquences pratiques :
- Laravel 10 n'est plus supporté du tout depuis le 4 février 2025. Une application encore en version 10 (ou plus ancienne) ne reçoit plus aucun correctif de sécurité.
- Laravel 11 reste couvert, mais ses corrections de bugs s'arrêtent en septembre 2025. Passer en 12 repousse l'échéance d'environ un an.
Faut-il migrer vers Laravel 12 maintenant ?
La réponse dépend de votre point de départ.
Vous êtes en Laravel 11
Migrez sans attendre, dans le cadre d'une maintenance classique. L'effort est faible, le gain en durée de support est réel. Prévoyez simplement :
- la mise à jour de
composer.json(framework, PHPUnit 11 ou Pest 3) ; - la vérification de la compatibilité de vos paquets tiers avec Laravel 12 et Carbon 3 ;
- un passage complet de vos tests, puis une recette sur un environnement de préproduction.
Vous êtes en Laravel 10 ou plus ancien
C'est le cas le plus urgent. Vous êtes hors support, et la migration est plus lourde puisqu'il faut franchir la marche de Laravel 11 (nouvelle structure allégée, PHP 8.2 minimum). Nous avions détaillé ces changements dans notre article sur les nouveautés de Laravel 11. Il est souvent pertinent d'enchaîner 10 → 11 → 12 dans un même chantier, testé étape par étape.
Vous démarrez un nouveau projet
Partez directement sur Laravel 12 avec le starter kit adapté à votre équipe. Si votre projet est un outil interne (gestion commerciale, suivi d'interventions, back-office), le kit Livewire permet d'aller vite en restant sur un seul langage. Pour une application destinée à des clients avec une interface très interactive, React ou Vue sont de bons choix.
Pourquoi une version « sans grande nouveauté » est une bonne nouvelle pour une PME
Un logiciel métier sur mesure est un investissement qui doit durer. Ce qui coûte cher sur la durée, ce n'est pas la version majeure elle-même, c'est la dette de mise à jour : laisser passer trois ou quatre versions, puis devoir tout reprendre d'un coup.
Une version comme Laravel 12, qui se met à jour en quelques heures de travail et de tests, permet d'installer une routine saine : une montée de version par an, planifiée, peu risquée. C'est aussi l'un des arguments que nous développons quand nous comparons logiciel sur mesure et SaaS : le sur-mesure n'est pérenne que s'il est entretenu.
Chez NiceCorp, Laravel est notre framework de référence pour les applications métier, comme l'outil web réalisé pour l'Aéroport Nice Côte d'Azur.
FAQ
Laravel 12 casse-t-il la compatibilité avec Laravel 11 ?
Très peu. La documentation officielle indique que la plupart des applications peuvent migrer sans changement de code. Les points de vigilance sont Carbon 3, les UUID v7 par défaut et quelques ajustements (validation des images SVG, disque local).
Mon application est en Laravel 9 ou 10, est-ce grave ?
Elle ne reçoit plus de correctifs de sécurité. Ce n'est pas une panne, mais le risque augmente à chaque faille découverte dans le framework ou ses dépendances. Il est conseillé de planifier une mise à niveau.
Dois-je remplacer Breeze ou Jetstream dans mon application existante ?
Non. Leur code fait partie de votre projet et continue de fonctionner. Les nouveaux starter kits concernent surtout les nouveaux projets.
Quelle version de PHP choisir avec Laravel 12 ?
PHP 8.2 minimum. Pour un nouveau projet, PHP 8.3 ou 8.4 offre une durée de support plus longue.
En résumé
Laravel 12 est une mise à jour à faible risque, qui prolonge le support de votre application jusqu'en 2027 pour les correctifs de sécurité. Si votre logiciel tourne encore sur une version ancienne de Laravel ou si vous voulez faire le point sur sa maintenance, parlons-en.