Laravel 13.20.0
Laravel 13.20.0 has shipped -- and it is packing first-party image processing, smarter queues, and some serious quality-of-life upgrades. Here is the full rundown.
Image Processing -- First-Party at Last
The headline feature in 13.20.0 is native image processing support, contributed by @nunomaduro. You can now resize, crop, filter, and optimize images directly through Laravel built-in API -- no more wrangling third-party libraries or GD calls by hand. Just install, configure, and go.
Queue Improvements
Two queue-related additions stand out: beforePushing and afterPushing hooks on the QueueFake class let you intercept and inspect jobs during testing. Plus, the WorkerStopping event now includes memory usage data, giving you better visibility into worker health during long-running processes.
Security and Middleware
The new WithoutMiddleware controller middleware attribute (@JurianArie) lets you exclude middleware from specific controller actions -- perfect for testing endpoints or public-facing routes. Laravel also now applies PHP 8.4 #[SensitiveParameter] attribute to parameters carrying secrets, preventing stack traces from leaking credentials.
Storage and Eloquent
The Storage facade gains assertEmpty() for cleaner assertions in tests. Eloquent models get incrementEachQuietly and decrementEachQuietly -- bulk increment/decrement without firing events. Redis session prefixes are now configurable too, making multi-tenant Redis setups much cleaner.
HTTP Client and Fixes
HTTP client request header lookups are now normalized (case-insensitive), eliminating subtle bugs when headers arrive in different casing. The release also fixes an operator-precedence issue in SqsQueue size fallbacks and a namespace collision bug in guessResourceName().
Performance and Housekeeping
Under the hood, the team replaced manual foreach loops with PHP 8.4 array_all/array_any, migrated to PHPUnit rector sets, and optimized contains/doesntContain calls. Small wins that add up across a large codebase.
Upgrade Path
Run composer update laravel/framework to grab 13.20.0. No breaking changes are expected from 13.19.x -- this is a clean drop-in release. As always, run your test suite first.
Laravel 13.20.0 is available now. Update today and give that image processing API a spin.