<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/pause-all-queues-and-a-new-artisan-dev-ui-in-laravel-13-25-dlfvmamy1" -->

---
title: Pause All Queues and a New artisan dev UI in Laravel 13.25
description: Laravel 13.25.0, released August 11, 2026, adds a global queue:pause --all / queue:resume --all switch (with matching Queue facade methods) that stops every...
canonical: https://daily.dev/posts/pause-all-queues-and-a-new-artisan-dev-ui-in-laravel-13-25-dlfvmamy1
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Pause All Queues and a New artisan dev UI in Laravel 13.25 | daily.dev
og:description: Laravel 13.25.0, released August 11, 2026, adds a global queue:pause --all / queue:resume --all switch (with matching Queue facade methods) that stops every...
og:url: https://daily.dev/posts/pause-all-queues-and-a-new-artisan-dev-ui-in-laravel-13-25-dlfvmamy1
og:image: https://api.daily.dev/og/posts/dLfVMamY1.png
og:image:alt: Pause All Queues and a New artisan dev UI in Laravel 13.25
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Pause All Queues and a New artisan dev UI in Laravel 13.25

**[Laravel News](https://daily.dev/sources/ln)** · 8 min read · 2 upvotes · 0 comments

## Summary

Laravel 13.25.0, released August 11, 2026, adds a global queue:pause --all / queue:resume --all switch (with matching Queue facade methods) that stops every queue on every connection at once, independent of per-queue pauses. The artisan dev command now runs through a new @laravel/multiplex terminal UI with tabbed, stream, and inline modes, replacing concurrently on macOS and Linux (Node 22.13+ required; Windows still uses concurrently). Image instances can now be returned directly from routes via Responsable, plus Image::fromStream() and a public toFormat(). Other additions include a UniqueJobSkipped event, a $timeout property on JobTimedOut, fail-on-timeout support for notifications, withoutCookies() for expiring multiple cookies, a foreignUlidFor() schema helper, and a change making Request::all() prefer input values over files when field names collide. Numerous bug fixes round out the release.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://laravel-news.com/laravel-13-25-0>

## Questions this post answers

### How do I pause all Laravel queues across every connection at once instead of one at a time?

Laravel 13.25 adds a queue:pause --all flag (and matching queue:resume --all), plus Queue::pauseAll() and Queue::resumeAll() on the facade. It works as a single global cache key that workers check alongside per-queue pause keys, so isPaused() reports paused if either switch is on. The two states are independent: resumeAll() only clears the global flag and leaves individually paused queues untouched.

_daily.dev surfaces framework release details like this for teams tuning their deployment and queue workflows._

### How can I return a processed image directly from a Laravel route without calling toBytes() manually?

As of Laravel 13.25, the Image class implements Responsable, so returning an Image instance from a route handles the HTTP response automatically. Calling something like Image::fromStorage($path)->cover(200,200)->toWebp()->quality(80) returns a 200 response with the processed bytes and a Content-Type header matching the output format. Image::fromStream() and a now-public toFormat() method were added alongside it.

_Developers wiring up image pipelines in Laravel can track framework changes like this via daily.dev._

### Why does Request::all() in Laravel now return the input value instead of the uploaded file when both share the same field name?

Laravel 13.25 reversed the merge order in Request::all() so input values now take precedence over files when a name collides, whereas previously array_replace_recursive() applied files last and the UploadedFile object won. Request::file() is unaffected and still returns the uploaded file; nested keys like profile.avatar and profile.name still both appear when they do not collide.

_Teams upgrading Laravel apps can check breaking behavior changes like this on daily.dev before deploying._

## Similar posts on daily.dev

- [Queue-Wide Inspection Methods in Laravel 13.8.0](https://daily.dev/posts/queue-wide-inspection-methods-in-laravel-13-8-0-hgzecxgmv) · Laravel News · 19 upvotes · 0 comments
- [The artisan dev Command in Laravel 13.16.0](https://daily.dev/posts/the-artisan-dev-command-in-laravel-13-16-0-rxo2woyat) · Laravel News · 38 upvotes · 2 comments

---

Tags: [#php](https://daily.dev/tags/php), [#laravel](https://daily.dev/tags/laravel), [#image-processing](https://daily.dev/tags/image-processing)

[View this post on daily.dev](https://daily.dev/posts/pause-all-queues-and-a-new-artisan-dev-ui-in-laravel-13-25-dlfvmamy1)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Pause All Queues and a New artisan dev UI in Laravel 13.25","url":"https://daily.dev/posts/pause-all-queues-and-a-new-artisan-dev-ui-in-laravel-13-25-dlfvmamy1","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/pause-all-queues-and-a-new-artisan-dev-ui-in-laravel-13-25-dlfvmamy1"},"datePublished":"2026-08-12T13:26:59.480Z","dateModified":"2026-09-13T20:45:24.973Z","description":"Laravel 13.25.0, released August 11, 2026, adds a global queue:pause --all / queue:resume --all switch (with matching Queue facade methods) that stops every...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/ee40e2048594e45913dd31bd66f36e1c?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/ee40e2048594e45913dd31bd66f36e1c?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Laravel News","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Laravel News","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ln","url":"https://daily.dev/sources/ln"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/pause-all-queues-and-a-new-artisan-dev-ui-in-laravel-13-25-dlfvmamy1","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"php,laravel,image-processing","timeRequired":"PT8M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Laravel News","item":"https://daily.dev/sources/ln"},{"@type":"ListItem","position":3,"name":"Pause All Queues and a New artisan dev UI in Laravel 13.25"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/pause-all-queues-and-a-new-artisan-dev-ui-in-laravel-13-25-dlfvmamy1#faq","mainEntity":[{"@type":"Question","name":"How do I pause all Laravel queues across every connection at once instead of one at a time?","acceptedAnswer":{"@type":"Answer","text":"Laravel 13.25 adds a queue:pause --all flag (and matching queue:resume --all), plus Queue::pauseAll() and Queue::resumeAll() on the facade. It works as a single global cache key that workers check alongside per-queue pause keys, so isPaused() reports paused if either switch is on. The two states are independent: resumeAll() only clears the global flag and leaves individually paused queues untouched. daily.dev surfaces framework release details like this for teams tuning their deployment and queue workflows."}},{"@type":"Question","name":"How can I return a processed image directly from a Laravel route without calling toBytes() manually?","acceptedAnswer":{"@type":"Answer","text":"As of Laravel 13.25, the Image class implements Responsable, so returning an Image instance from a route handles the HTTP response automatically. Calling something like Image::fromStorage($path)->cover(200,200)->toWebp()->quality(80) returns a 200 response with the processed bytes and a Content-Type header matching the output format. Image::fromStream() and a now-public toFormat() method were added alongside it. Developers wiring up image pipelines in Laravel can track framework changes like this via daily.dev."}},{"@type":"Question","name":"Why does Request::all() in Laravel now return the input value instead of the uploaded file when both share the same field name?","acceptedAnswer":{"@type":"Answer","text":"Laravel 13.25 reversed the merge order in Request::all() so input values now take precedence over files when a name collides, whereas previously array_replace_recursive() applied files last and the UploadedFile object won. Request::file() is unaffected and still returns the uploaded file; nested keys like profile.avatar and profile.name still both appear when they do not collide. Teams upgrading Laravel apps can check breaking behavior changes like this on daily.dev before deploying."}}]}
```

