Passer au contenu principal
Mai 2026 apporte de grosses mises à jour pratiques : Scale-to-Zero full-stack et Managed Queues pour Laravel Cloud, optimisation des polices, pipelines multi-agents, etc. Source : Laravel May Product Updates

Laravel Framework

Directive Blade @fonts

La nouvelle directive @fonts gère automatiquement les balises <link rel="preload">, les styles @font-face et les en-têtes HTTP/2 push nécessaires au chargement des web fonts. Elle lit le manifeste de polices généré par le plugin Vite Font et injecte tous les éléments requis en une seule opération.
{{-- Charger toutes les polices --}}
@fonts

{{-- Une famille de polices spécifique uniquement --}}
@fonts(["sans", "mono"])
@fonts permet de ne contrôler que les polices nécessaires page par page, ce qui évite les préchargements inutiles et optimise les performances.

Interruptible Jobs (jobs sensibles aux signaux)

La nouvelle interface Interruptible permet à un job de réagir lorsqu’un worker de queue reçoit SIGTERM pendant un déploiement. Vous pouvez arrêter une boucle, libérer des verrous, sauvegarder l’état, etc. en toute sécurité avant l’arrêt du worker.
use Illuminate\Contracts\Queue\Interruptible;
use Illuminate\Contracts\Queue\ShouldQueue;

class ProcessLargeReport implements ShouldQueue, Interruptible
{
    public function handle(): void
    {
        foreach ($this->getChunks() as $chunk) {
            if ($this->shouldInterrupt()) {
                $this->saveProgress();
                return;
            }
            $this->processChunk($chunk);
        }
    }
}

Exceptions JSON par défaut pour les routes API

Les routes API renvoient désormais automatiquement les réponses d’erreur au format JSON. Auparavant, certaines conditions pouvaient produire du HTML pour ces routes ; désormais, les routes définies dans api.php sont garanties de recevoir une réponse JSON.

Store de cache storage

Un nouveau store de cache storage a été ajouté. Il utilise le système de fichiers comme backend de cache tout en tirant parti de la configuration de stockage de Laravel.
// config/cache.php
'stores' => [
    'storage' => [
        'driver' => 'storage',
        'disk' => 'local',
        'path' => 'framework/cache',
    ],
],

Sauvegarde sur disque des grosses charges utiles SQS

Une option a été ajoutée pour sauvegarder les charges utiles SQS sur disque lorsqu’elles sont trop volumineuses (> 256 Ko). C’est utile pour traiter de gros volumes de données via la queue.

Filtre d’environnement pour les commandes planifiées

La commande schedule:list accepte désormais un filtre par environnement.
php artisan schedule:list --environment=production

Option Stop When Empty pour les workers

Une option --stop-when-empty a été ajoutée pour arrêter automatiquement le worker lorsque la queue devient vide. Pratique pour les traitements par lots ou les workers en CI qui doivent se terminer une fois la queue vide.
php artisan queue:work --stop-when-empty

Helper de schéma foreignUuidFor

foreignUuidFor() a été ajouté comme équivalent UUID de foreignIdFor().
Schema::table('posts', function (Blueprint $table) {
    $table->foreignUuidFor(User::class)->constrained();
});

Prise en charge des sous-agents IA

Les agents IA Laravel peuvent désormais déléguer à d’autres agents. Si vous renvoyez un agent depuis la méthode tools(), le LLM de l’agent parent l’appelle comme n’importe quel autre outil. Les contextes étant isolés, les historiques de conversation ne se mélangent pas.
class OrchestratorAgent extends Agent
{
    public function tools(): array
    {
        return [
            new AnalysisAgent(),
            new WritingAgent(),
            new SearchTool(),
        ];
    }
}

Inertia 3.x

  • Option mode de router.poll : permet de configurer le mode de fonctionnement du polling
  • Support des données dynamiques dans usePoll : mise à jour dynamique des données pendant le polling
  • Inertia.once : prise en charge d’événements qui ne se déclenchent qu’une fois
  • Slot rescue de <Deferred> : fallback lorsque les props deferred échouent

PAO (PHP Agentic Output)

PAO est désormais intégré par défaut dans les starter kits. De nouvelles fonctionnalités ont été ajoutées :
  • Support de Rector : PAO traite également les sorties JSON de Rector
  • Guidance d’agent pour PHPStan : ajout d’indications pour expliquer à l’agent comment corriger les erreurs
  • Variable d’environnement PAO_FORCE : force l’activation du mode PAO
  • Support Artisan RECTOR : PAO prend en charge les commandes Artisan

Laravel Cloud, Laravel Forge et Nightwatch

ProduitPrincipales mises à jour
Laravel CloudScale-to-Zero full-stack (démarrage en moins de 500 ms, 20× plus rapide), Managed Queues (workers auto-scalés, tableau de bord des jobs échoués), plafonds de dépenses, nouveau plan Starter à 5 $/mois
Laravel ForgeMySQL managé 8.4 (sauvegardes automatiques, réplicas en lecture, alertes), PHP 8.5 par défaut, redémarrage automatique d’Horizon lors du changement de variables d’environnement
NightwatchLe serveur MCP fournit des données de performance : temps d’exécution des routes, durée des requêtes, métriques d’exécution des jobs, etc.
Dernière modification le 13 juillet 2026