Skip to main content
En juin 2026, Laravel Cloud prend en charge les applications Symfony et Forge ajoute un cache Valkey managé ainsi que du stockage objet. Côté framework, on retrouve un lot conséquent de mises à jour : dispatch de jobs en masse, pooler Postgres, client/serveur MCP, etc. Source : Laravel June Product Updates

Laravel Framework

Bus::bulk() — dispatch de jobs en masse

Il est maintenant possible d’enregistrer un grand nombre de jobs avec un seul INSERT en base. L’INSERT en masse est effectué par connexion/queue, ce qui évite le coût d’un INSERT par job.

Prise en charge du pooler de transactions Postgres

Les poolers de connexions Postgres en mode transaction — PgBouncer, AWS RDS Proxy, Neon, etc. — sont désormais pris en charge au niveau du framework.
Pour les opérations de schéma ou les instructions DDL qui nécessitent une connexion directe, ajoutez ::direct au nom de la connexion pour contourner le pooler. DB::connection('pgsql::direct')->statement('CREATE INDEX ...')
Le framework gère automatiquement les emulated prepares, les binding booléens et tous les traitements nécessaires au pooler.

Prise en charge des outils client et serveur MCP

Les agents IA Laravel peuvent désormais utiliser les outils de serveurs MCP distants (via HTTP) et de classes de serveurs MCP locales. La conversion de schéma, l’encapsulation et l’appel sont entièrement automatisés.

Commande artisan dev

artisan dev permet de démarrer tous les processus de développement avec une seule commande. Serveur, worker de queue, tailing des logs et Vite tournent simultanément, chacun avec une sortie en couleur distincte.
Détecte automatiquement le gestionnaire de paquets Node.js (npm, yarn, pnpm, bun). C’est la convention officielle Artisan qui remplace l’ancien script composer dev.

Prise en charge des métadonnées de routes

La méthode ->metadata() permet d’associer des métadonnées arbitraires à une route. Elle est totalement compatible avec le cache de routes, et les métadonnées définies sur un groupe sont fusionnées avec les routes enfants.

Gestionnaire d’exceptions sans réessai

Il est désormais possible d’empêcher les nouvelles tentatives pour les exceptions qu’il est inutile de relancer (entrée invalide, panne externe persistante, etc.).

Flag —without-migration-data pour schema:dump

schema:dump peut désormais produire un dump de structure pur, en omettant les lignes de la table de migrations.

Correction du fuseau horaire de between()/unlessBetween()

between() et unlessBetween() fonctionnent désormais avec le bon fuseau horaire quel que soit l’ordre par rapport à timezone().

Autres modifications du framework

  • Support des traits pour Bus::bulk() : possibilité de définir des attributs de queue dans un trait
  • Index vectoriels MariaDB : prise en charge des index vectoriels sur MariaDB
  • Helper attachFromStorage() : ajouter une pièce jointe depuis le stockage à un MailMessage de notification
  • Cache::rememberWithState() : cache avec support d’un état
  • Driver de mode maintenance pour tests parallèles : le driver array permet à chaque processus d’avoir son propre état de maintenance
  • whenFilledEnum() : traitement conditionnel d’un champ à l’aide d’une Enum
  • Support anyOf pour JSON Schema : possibilité d’utiliser anyOf de JSON Schema dans la validation

Inertia

  • Client\Request::uri() : récupération de l’URI d’une requête client
  • Attribut target des ancres : le composant <Link> prend en charge target="_blank" et similaires
  • Option async des formulaires : le composant Form prend en charge l’envoi asynchrone
  • Info de page dans titleCallback : les données de page sont passées au callback de titre

Laravel Cloud et Laravel Forge

Dernière modification le 13 juillet 2026