Laravel Release Notes
280 release notes curated from 4 sources by the Releasebot Team. Last updated: Jun 5, 2026
Laravel Products
- Jun 4, 2026
- Date parsed from source:Jun 4, 2026
- First seen by Releasebot:Jun 5, 2026
v13.14.0
Laravel releases 13.x updates with HTTP client and queue improvements, JSON schema and payload handling, session and header fixes, cloud logging and mail tweaks, plus GitHub Actions hardening and workflow permission updates for safer automation.
[13.x] Register the lazy refresh hook on all connections by @tontonsb in #60359
[13.x] Cache falsy JSON payloads in HTTP client responses by @Button99 in #60357
[13.x] GitHub Actions hardening by @nunomaduro in #60363
[13.x] Bump the github-actions group with 4 updates by @dependabot[bot] in #60364
[13.x] Fix Request::createFromBase() compatibility with Symfony 8.1 by @irabbi360 in #60354
[13.x] Set default cooldown for GitHub Actions updates by @JurianArie in #60368
[13.x] Fix Message::embed data attachment handling by @miladev95 in #60361
[13.x] Namespace the cloud logging formatter by @timacdonald in #60362
[13.x] Grant contents: read to pull requests workflow by @nunomaduro in #60370
[13.x] Respect child queue properties over inherited attributes by @mattiasgeniar in #60369
[13.x] Grant contents: read and pull-requests: write to issues workflow by @nunomaduro in #60371
[13.x] Use least-privilege permissions for pull requests and issues workflows by @nunomaduro in #60372
[13.x] Pin pull requests and issues workflows to latest laravel/.github by @nunomaduro in #60373
[13.x] Enable Dependabot auto-merge by @nunomaduro in #60383
[13.x] Foundation\Cloud\Events: remove an unused import and fix docblock by @oliverquynh in #60378
[13.x] Fix StartSession docblock by @oliverquynh in #60375
[13.x] Add JSON Schema array deserializer by @pushpak1300 in #60384
[13.x] Add queue to InspectedJob by @jackbayliss in #60374
[13.x] Fix treatment of null headers by @GrahamCampbell in #60386
[13.x] Add units to DebounceFor by @jackbayliss in #60388
Original source - Jun 4, 2026
- Date parsed from source:Jun 4, 2026
- First seen by Releasebot:Jun 5, 2026
v12.61.1
Laravel fixes a set of 12.x edge cases across HTTP attachments, environment parsing, number handling, queue name normalization, filesystem paths, and deprecation logging, improving reliability and consistency in everyday framework behavior.
[12.x] Preserve empty HTTP attach contents by @GrahamCampbell in #60291
Fix @params typo in Fluent and MessageBag toPrettyJson() docblocks by @Amirhf1 in #60313
[12.x] Fix regex typo in Env::addVariableToEnvContents that prevented quotin… by @Amirhf1 in #60312
[12.x] Fix Number::trim() returning null for INF and NAN values by @Amirhf1 in #60322
[12.x] Fix FIFO queue name normalization in Cloud managed queues by @kieranbrown in #60316
[12.x] Fix Number::pairs() infinite loop when $by is zero or negative by @Amirhf1 in #60324
[12.x] Ensure path seperators aren't encoded in LocalFilesystemAdapter by @jackbayliss in #60350
[12.x] Ensure config is bound before trying to log deprecation notice by @crynobone in #60376
Original source All of your release notes in one feed
Join Releasebot and get updates from Laravel and hundreds of other software products.
- Jun 2, 2026
- Date parsed from source:Jun 2, 2026
- First seen by Releasebot:Jun 2, 2026
v13.13.0
Laravel ships a broad 13.x update with new Bus::bulk() support, cache memoization for the Cache attribute, richer notifications and job inspection, and improved HTTP client, queue, scheduler, validation, and database handling across Symfony, Cloudflare, MariaDB, and SQL Server.
[13.x] Add stan ignore for MySqlSchemaState by @jackbayliss in #60284
[13.x] Add attachFromStorage helpers to notification MailMessage by @LucasCavalheri in #60268
Original source
[13.x] Allow Http Client to be used as PSR Client by @willrowe in #60295
[13.x] Normalize HTTP client header values by @GrahamCampbell in #60292
[13.x] Report MultipleRecordsFoundException from sole() by @PeteBishwhip in #60294
[13.x] Hint unit in UniqueFor by @cosmastech in #60289
[13.x] Fix inverted ratio comparison operators in image dimension validation by @Button99 in #60290
[13.x] Allow scheduler to opt out of pause and interrupt cache checks by @jackbayliss in #60226
[13.x] Enhance Cache attribute to support memoization by @jenky in #60309
[13.x] Indicate an event was skipped by @cosmastech in #60311
[13.x] Fix Illuminate\Http\Response compatibility against Symfony 8.1 by @crynobone in #60318
fix: fix isUniqueConstraintError to catch SQL Server error 2627 by @ErfanMomeniii in #60320
[13.x] Fix FIFO queue name normalization in Cloud managed queues by @kieranbrown in #60315
fix: whereDate and whereTime crash when $column is an Expression by @ahawlitschek in #60314
[13.x] Introduce Bus::bulk() by @jackbayliss in #60297
[13.x] Fix time-sensitive flaky test in NotificationDatabaseChannelTest by @KentarouTakeda in #60333
fix: Add content_id to inline attachment handling in CloudflareTransport by @pablo-gonzalez-helpwan in #60330
[13.x] Add payload to InspectedJob by @jackbayliss in #60326
Added MariaDB vector index capability by @michielvaneerd in #60334
Fix @theme directive collision in health check view by @cathrinevaage in #60340
[13.x] Remove unused variables from tests by @oliverquynh in #60338
[13.x] fix: Queue and Connection attributes in Mailable::queue() and later() by @irabbi360 in #60328
[13.x] Fix ValidationImageFileRuleTest by @jackbayliss in #60348
[13.x] schedule:pause command should error when its disabled by @jackbayliss in #60347 - May 31, 2026
- Date parsed from source:May 31, 2026
- First seen by Releasebot:Jun 2, 2026
Laravel Framework 13.x - Add @fonts Blade Directive and Vite Font Optimization Runtime
Laravel adds the @fonts Blade directive to automatically load web fonts from Vite font manifests.
Pull request by @WendellAdriel
Loading web fonts has always involved a bit of ceremony - preload links, @font-face rules, HTTP/2 server push headers. The new @fonts Blade directive handles all of that automatically by reading font manifests generated by the Vite font plugin, injecting the right <link rel="preload"> tags, inline styles, and push headers in one shot.
<!DOCTYPE html> <html> <head> @fonts @vite("resources/js/app.js") </head> </html>Need only a subset of your configured families on a given page? Pass their aliases:
Original source@fonts(["sans", "mono"]) - May 31, 2026
- Date parsed from source:May 31, 2026
- First seen by Releasebot:Jun 2, 2026
Laravel Framework 13.x - Add `storage` Cache Store
Laravel now supports a filesystem-backed cache driver, letting existing disks like S3 serve as key/value cache without extra infrastructure.
Pull request by @taylorotwell
Laravel's cache system now supports a storage driver backed by the filesystem, making it straightforward to use an existing disk - like S3 - as a key/value cache without any additional infrastructure.
Original source - May 31, 2026
- Date parsed from source:May 31, 2026
- First seen by Releasebot:Jun 2, 2026
Laravel Framework 13.x - [13.x] Add Optional Disk Storage for Large SQS Queue Payloads
Laravel adds opt-in SQS payload offloading for large jobs, automatically storing oversized queue messages on a configured filesystem disk like S3 and passing a small pointer through the queue instead. It also supports always-on offloading and cleanup after successful processing.
Pull request by @Orrison
SQS has a 1 MB message size cap, and large job payloads will hit it eventually. This new opt-in feature automatically offloads payloads that exceed the limit to a configured filesystem disk - like S3 - sending a small pointer through the queue instead. Workers pick up the real payload transparently on the other side.
Add an extended_store_options block to your SQS connection config to get started:
'sqs' => [ // ... 'extended_store_options' => [ 'enabled' => env('SQS_STORE_ENABLED', false), 'disk' => env('SQS_STORE_DISK', 's3'), 'prefix' => env('SQS_STORE_PREFIX', ''), 'always' => false, 'cleanup' => true, ], ],Set always to true to route every payload through disk regardless of size. With cleanup enabled, the stored file is removed once the job processes successfully.
Original source - May 31, 2026
- Date parsed from source:May 31, 2026
- First seen by Releasebot:Jun 2, 2026
Laravel Framework 13.x - [13.x] Add Method to Convert a Password Instance to a `passwordrules` String
Laravel adds passwordrules support with a new toPasswordRulesString() method, making it easier for apps to generate browser-friendly passwords that match validation constraints and reduce rejected signups.
Pull request by @imliam
Password managers like 1Password and Safari can read the passwordrules HTML attribute to generate passwords that satisfy your app's policy - no more rejected passwords and frustrated users at registration. The new toPasswordRulesString() method on the Password rule converts your validation constraints into the right format automatically.
<input type="password" autocomplete="new-password" passwordrules="{{ Password::defaults()->toPasswordRulesString() }}" />The method maps directly from your existing validation rules:
Original sourcePassword::min(12)->max(64)->mixedCase()->numbers()->symbols()->toPasswordRulesString() // 'minlength: 12; maxlength: 64; required: lower; required: upper; required: digit; required: special;' - May 31, 2026
- Date parsed from source:May 31, 2026
- First seen by Releasebot:Jun 2, 2026
Laravel Framework 13.x - [13.x] Allow Jobs to React to Worker Signals
Laravel adds an Interruptible queue job interface that lets running jobs react to SIGTERM before a worker shuts down, so they can stop loops, release locks, and save state during deployments.
Pull request by @jackbayliss
When a queue worker receives a SIGTERM during a deployment, any running job normally has no idea it's about to be cut off. The new Interruptible interface lets jobs react - stop loops, release locks, save state - before the worker shuts down.
Original sourceuse Illuminate\Contracts\Queue\Interruptible; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Queue\Queueable; class SignalJob implements ShouldQueue, Interruptible { use Queueable; protected bool $stop = false; public function handle(): void { while (!$this->stop) { sleep(1); // Do work... } } public function interrupted(int $signal): void { $this->stop = true; } } - May 31, 2026
- Date parsed from source:May 31, 2026
- First seen by Releasebot:Jun 2, 2026
Laravel Framework 13.x - [13.x] Add an Environment Filter to the `schedule:list` Command
Laravel adds a schedule:list --environment flag to show only tasks that run in the selected environment.
Pull request by @m-fi
Running
schedule:liston production used to show every registered task - including those that only run locally. A new--environmentflag filters the output to just the tasks that actually run in the specified environment.
Original sourcephp artisan schedule:list --environment=production - May 31, 2026
- Date parsed from source:May 31, 2026
- First seen by Releasebot:Jun 2, 2026
Laravel Framework 13.x - Stop When Empty for Queue Worker Option
Laravel adds a new queue:work --stop-when-empty-for option to stop idle workers after a set time.
Pull request by @taylorotwell
A new
--stop-when-empty-foroption onqueue:workstops the worker after it has been idle for a configurable number of seconds. Useful for auto-scaling setups where workers should wind down rather than sit idle indefinitely.
Original sourcephp artisan queue:work --stop-when-empty-for=60 - May 31, 2026
- Date parsed from source:May 31, 2026
- First seen by Releasebot:Jun 2, 2026
Laravel Framework 13.x - [13.x] Add `foreignUuidFor` Schema Helper
Laravel adds foreignUuidFor migration helper for UUID-backed relationships.
Pull request by @Tresor-Kasenda
A new foreignUuidFor migration helper joins foreignIdFor in the schema builder. It infers the column name, related table, and referenced primary key from the model - the same convenience as foreignIdFor, but explicitly for UUID-backed relationships.
Original source$table->foreignUuidFor(User::class)->constrained(); - May 31, 2026
- Date parsed from source:May 31, 2026
- First seen by Releasebot:Jun 2, 2026
Laravel Framework 13.x - [13.x] Make `ClearCommand` Prohibitable
Laravel adds prohibit() support to cache:clear for hosted environment protection.
Pull request by @jackbayliss
cache:clear
cache:clear now supports prohibit(), the same opt-in protection mechanism available on db:fresh, migrate:fresh, and other commands you'd want to block in hosted environments.
Original sourceClearCommand::prohibit($inHostedEnvironments); - May 31, 2026
- Date parsed from source:May 31, 2026
- First seen by Releasebot:Jun 2, 2026
Laravel Framework 13.x - [13.x] Add `normalize` Parameter to `Str::studly()` and `Str::pascal()`
Laravel adds optional Str::studly normalize support for all-caps strings while preserving existing behavior.
Pull request by @hotmeteor
All-caps strings like CBOR or ALL_CAPS used to pass through Str::studly() unchanged - ucfirst has nothing to do when every letter is already uppercase. An optional normalize: true parameter lowercases all-uppercase word segments before conversion, giving you the expected output.
Str::studly('CBOR', normalize: true) // 'Cbor' Str::studly('ALL_CAPS', normalize: true) // 'AllCaps'Mixed-case strings are left untouched, and the default is false so existing behavior is preserved.
Original source - May 31, 2026
- Date parsed from source:May 31, 2026
- First seen by Releasebot:Jun 2, 2026
Laravel Framework 13.x - [13.x] Render JSON Exceptions for API Routes by Default
Laravel now returns JSON error responses for api/* routes by default in new 13.x apps, improving API client behavior.
Pull request by @LucasCavalheri
New Laravel 13.x applications now return JSON error responses from api/* routes by default - no Accept: application/json header required from the client. Tools like Postman, curl, and API clients get sensible responses right away. The behavior is configured in bootstrap/app.php using the existing shouldRenderJsonWhen() API:
Original source$exceptions->shouldRenderJsonWhen( fn (Request $request) => $request->is('api/*') || $request->expectsJson(), ); - May 31, 2026
- Date parsed from source:May 31, 2026
- First seen by Releasebot:Jun 2, 2026
Inertia - [13.x] Adds `pao` by Default
Laravel adds structured AI agent output to the base skeleton for every new application.
Pull request by @nunomaduro
nunomaduro/pao is now included in the base Laravel skeleton, bringing structured AI agent output to every new application out of the box.
Original source
Curated by the Releasebot team
Releasebot is an aggregator of official release notes from hundreds of software vendors and thousands of sources.
Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.
Similar to Laravel with recent updates:
- xAI release notes81 release notes · Latest Jun 3, 2026
- Anthropic release notes601 release notes · Latest Jun 5, 2026
- Cursor release notes92 release notes · Latest Jun 5, 2026
- Notion release notes130 release notes · Latest May 27, 2026
- OpenAI release notes731 release notes · Latest Jun 4, 2026
- Teamviewer release notes188 release notes · Latest May 26, 2026