Laravel 13.25.0 erschien am 11. August 2026 und bringt drei Hauptfeature-Bereiche sowie zahlreiche Fehlerbehebungen.

Warteschlangen-Management: Das Framework erforderte bisher das manuelle Pausieren einzelner Warteschlangen nach Name – ein umständlicher Prozess beim Deployment mit mehreren Workern über benannte Queues. Version 13.25 fügt queue:pause --all und queue:resume --all Kommandos hinzu, sowie entsprechende Queue::pauseAll() und Queue::resumeAll() Facade-Methoden. Diese implementieren einen einzelnen globalen Cache-Schlüssel, den Worker neben Queue-spezifischen Flags prüfen. Beide Pause-Ebenen existieren unabhängig: resumeAll() löscht nur das globale Flag und lässt individuell pausierte Queues unangetastet. Zwei neue Events, QueuesPaused und QueuesResumed, werden neben existierenden Pro-Queue-Equivalenten ausgelöst.

Terminal-Interface: Das artisan dev-Kommando nutzte bisher concurrently, das alle Prozessausgaben in einen scrollbaren Feed vermischte, wodurch relevante Logs schwer zu finden waren. Es läuft nun über @laravel/multiplex mit drei Modi: tabs (Standard, ein Prozess pro Tab mit Suche und prozessabhängigem Neustart), stream (vermischt aber scrollbar und durchsuchbar) und inline (einfache Ausgabe für Non-TTY-Umgebungen). Modi sind pro Ausführung wählbar (php artisan dev --stream) oder projektweit via DevCommands in einem Service Provider konfigurierbar. Windows fällt auf concurrently zurück; multiplex benötigt macOS oder Linux mit Node v22.13+. Gepufferte Logs werden beim Exit in das Hauptterminal gedruckt, Datenverlust wird verhindert.

Image-API: Die Image-Klasse implementiert nun Responsable, weshalb Routen Image-Instanzen direkt zurückgeben können. Das Framework handhabt toResponse() automatisch und gibt eine 200-Antwort mit verarbeiteten Bytes und einem Content-Type zurück, der dem Output-Format entspricht. Zwei Ergänzungen begleiten dies: Image::fromStream() liest Bilddaten aus einer Stream-Ressource (z. B. S3), und toFormat() ist nun öffentlich, akzeptiert einen vom Benutzer bereitgestellten Format-String und wirft ImageException bei nicht unterstützten Formaten.

Queue-Observability: Das neue UniqueJobSkipped-Event wird ausgelöst, wenn ein Job mit einem ShouldBeUnique-Lock nicht erworben werden kann, was das vorherige stille Verhalten ersetzt. JobTimedOut enthält nun eine $timeout-Eigenschaft mit den überschrittenen Sekunden, die Job-Level-Timeouts von Worker-Timeouts unterscheidet. Notifications respektieren fail-on-timeout via eine $failOnTimeout-Eigenschaft oder #[FailOnTimeout]-Attribut, um zu verdeutlichen, ob ein Timeout Third-Party-Zustellung verhindert hat. QueueFake weist nun auch gefälschten Jobs UUIDs zu, was echtes Driver-Verhalten entspricht.

Weitere Verbesserungen: withoutCookies() Methode akzeptiert ein Array von Cookie-Namen oder -Instanzen zum Löschen mehrerer Cookies auf einmal. foreignUlidFor() Schema-Helper erstellt explizit ULID-Foreign-Key-Spalten. Request::all() bevorzugt nun Input gegenüber Dateien, wenn beide denselben Namen verwenden, was die bisherige array_replace_recursive()-Reihenfolge umkehrt. Zahlreiche Fixes behandeln Http-Client-Globalkonfigurationsisolation, gelöschte Modelle in queued Broadcast-Events, Gate::forUser()-Ablehnungsantworten, String-Ersetzungs-Grenzfälle, Mail-Queue-Enum-Verarbeitung, Maintenance-Mode-Cache-Race-Conditions, Container-Build-Stack-Lecks, Cache-Typfehler, HEIC-Dimensionsberichte, LazyCollection-Flipping, asynchrone HTTP-Retry-Callbacks, Schedule-List-Zeitzone-Konvertierung und Typ-Annotationen über mehrere Methoden hinweg.