Laravel 13.25.0 sortie le 11 août 2026 apporte trois domaines de fonctionnalités majeures plus de nombreuses corrections.

Gestion des Files : Le framework exigeait auparavant de mettre en pause les files individuelles par nom — un processus fastidieux lors du déploiement avec plusieurs workers sur des files nommées. La version 13.25 ajoute les commandes queue:pause --all et queue:resume --all, ainsi que les méthodes de facade correspondantes Queue::pauseAll() et Queue::resumeAll(). Celles-ci implémentent une seule clé de cache globale que les workers vérifient aux côtés des flags par file. Les deux niveaux de pause existent indépendamment : resumeAll() efface uniquement le flag global, laissant les files mises en pause individuellement intactes. Deux nouveaux événements, QueuesPaused et QueuesResumed, se déclenchent aux côtés des équivalents existants par file.

Interface Terminal : La commande artisan dev utilisait auparavant concurrently, entrelançant toutes les sorties de processus dans un seul flux à défilement, ce qui rendait difficile de localiser les journaux pertinents. Elle s'exécute désormais via @laravel/multiplex, offrant trois modes : tabs (défaut, un processus par onglet avec recherche et redémarrage par processus), stream (entrelacé mais défilable et recherchable) et inline (sortie simple pour environnements non-TTY). Les modes sont sélectionnables par exécution (php artisan dev --stream) ou configurés à l'échelle du projet via DevCommands dans un fournisseur de services. Windows revient à concurrently ; multiplex nécessite macOS ou Linux avec Node v22.13+. Les journaux mis en mémoire tampon s'impriment dans le terminal principal à la sortie, prévenant la perte de données.

API Image : La classe Image implémente désormais Responsable, permettant aux routes de retourner directement des instances Image. Le framework gère automatiquement toResponse(), renvoyant un 200 avec les octets traités et un Content-Type correspondant au format de sortie. Deux additions l'accompagnent : Image::fromStream() lit les données d'image en lazy depuis une ressource de flux (par ex. S3), et toFormat() est désormais public, acceptant une chaîne de format fournie par l'utilisateur et levant ImageException sur les formats non supportés.

Observabilité des Files : Le nouvel événement UniqueJobSkipped se déclenche quand un job avec verrou ShouldBeUnique ne peut être acquis, remplaçant le comportement silencieux précédent. JobTimedOut inclut désormais une propriété $timeout contenant les secondes dépassées, distinguant les délais au niveau du job de ceux du worker. Les notifications honorent fail-on-timeout via une propriété $failOnTimeout ou un attribut #[FailOnTimeout], clarifiant si un délai a empêché la livraison par un tiers. QueueFake assigne désormais aussi des UUID aux jobs contrefaits, correspondant au comportement du driver réel.

Autres Améliorations : La méthode withoutCookies() accepte un tableau de noms ou d'instances de cookies à expirer. L'helper de schéma foreignUlidFor() crée explicitement des colonnes de clé étrangère ULID. Request::all() préfère désormais l'entrée aux fichiers quand les deux partagent un nom, inversant l'ordre array_replace_recursive() précédent. De nombreuses corrections traitent l'isolation de la configuration globale du client Http, la suppression de modèles dans les événements broadcast en queue, les réponses de refus Gate::forUser(), les cas limites de remplacement de chaîne, la gestion des enums de file mail, les race conditions du mode maintenance en cache, les fuites de pile de build du conteneur, les erreurs de type de cache, les rapports de dimension HEIC, le retournement de LazyCollection, les callbacks de retry HTTP asynchrones, la conversion de fuseau horaire de liste de planification et les annotations de type sur plusieurs méthodes.