Laravel Updates & Release Notes
105 updates curated from 1 source by the Releasebot Team. Last updated: Sep 8, 2026
- Sep 8, 2026
- Date parsed from source:Sep 8, 2026
- First seen by Releasebot:Sep 8, 2026
v13.31.0
Laravel ships 13.x and 12.x fixes and improvements across queues, Redis, Eloquent, Vite, routing, HTTP client, mail, sessions, and testing, including new chaperone support, better type handling, cluster-safe Redis queues, and several bug fixes.
[12.x]
Ensure password hash matches stored cookie before authenticating the user by @crynobone in #61386
Fix TypeError in userFromRecaller() when the recaller matches no user by @lazerg in #61397
[13.x]
Add totalSize method to Queue by @jackbayliss in #61373
Merge branch '12.x' into 13.x by @crynobone in #61399
Restore the container instance after route:cache boots a fresh application by @lazerg in #61405
Include connection and queue on WorkerStopping when worker is killed by @jackbayliss in #61408
Fix lazy() and lazyById() ignoring limit() and offset() by @xurshudyan in #61402
JobInterrupted event by @jackbayliss in #61412
Make the Redis queue driver cluster-safe (bulk() node-less MULTI; allQueueNames() uses KEYS) by @Orrison in #61198
feat: add chaperone support for BelongsToMany pivot models by @calebdw in #61152
Dedupe common test fixtures by @jasonmccreary in #61422
feat: improve higher order proxy generic types by @calebdw in #61418
Apply fixes from StyleCI by @taylorotwell in #61427
Add once assertions to the mail and notification fakes by @talaridisTh in #61415
Let Monolog handle deprecation exceptions by @sysdev34-wq in #61414
Default memoryExceededExitCode for Cloud by @jackbayliss in #61430
Fix context not being propagated to concurrent processes by @newtonjob in #61419
Remove the unused Request import from the JSON:API resource stub by @Bosun18 in #61434
Memory leak fix in Http Client by @skr4dan in #61438
Fix SelfBuilding build stack cleanup after exceptions by @emrebalasar in #61454
defer all logic to the dedicated rule by @browner12 in #61445
Wrap the closure return type in withFreshQueryLog() by @SanderMuller in #61444
Fix assertJsonMissingPath() ignoring wildcards by @xurshudyan in #61441
Resolve the UsePolicy attribute from parent classes by @xurshudyan in #61439
Resolve the UseEloquentBuilder attribute from parent classes by @xurshudyan in #61440
Fix parameter docblocks that contradict the native signature by @dfinchenko in #61457
Bump softprops/action-gh-release from 3.0.2 to 3.0.3 in the github-actions group by @dependabot[bot] in #61468
Fix RateLimited job middleware hitting limits that did not block the job by @xurshudyan in #61449
Add devServerUrl() to Vite by @ramonmalcolm10 in #61465
Retry phpredis commands when a connection reset surfaces as a warning by @Orrison in #61462
Fix callbacks deferred from within a deferred callback by @newtonjob in #61431
Propagate command_retries to phpredis cluster connections by @Orrison in #61460
Qualify soft delete column with the query's table alias by @arunarw in #61456
Keep Eloquent on the direct connection during migrations by @danielebarbaro in #61435
Apply fixes from StyleCI by @taylorotwell in #61470
Fix Class Illuminate\Session\ArraySessionHandler implementing SessionHandlerInterface is missing the create_sid() method which will be required in PHP 9.0 by @crynobone in #61469
Fix route url generation under certain circumstances by @taylorotwell in #61475
Fix message ID and header persistence on ResendTransport by @saurabhsharma2u in #61476
Fix wherePivot() closure scope being ignored in pivot table operations by @iz-ahmad in #61488
Original source - Sep 8, 2026
- Date parsed from source:Sep 8, 2026
- First seen by Releasebot:Sep 8, 2026
v12.69.2
Laravel updates Cloud default memoryExceededExitCode and tightens return types in withFreshQueryLog and askWithCompletion.
[12.x] Default memoryExceededExitCode for Cloud by @jackbayliss in #61432
Wrap the closure return type in withFreshQueryLog() by @SanderMuller in #61458
Wrap the autocompleter callback return type in askWithCompletion() by @SanderMuller in #61487
Original source All of your release notes in one feed
Join Releasebot and get updates from Laravel and hundreds of other software products.
- Sep 1, 2026
- Date parsed from source:Sep 1, 2026
- First seen by Releasebot:Sep 2, 2026
v13.30.1
Laravel adds WorkerStopping connection and queue, Eloquent insertOrIgnoreReturning, vector index drops, and an SQL Server fix.
[13.x] Add connection and queue to WorkerStopping by @jackbayliss in #61387
[13.x] Add insertOrIgnoreReturning() to the Eloquent builder passthru by @xurshudyan in #61393
[13.x] Add dropVectorIndex() to the schema blueprint by @xurshudyan in #61391
[13.x] Fix limit() being ignored on update() for SQL Server by @xurshudyan in #61394
[13.x] Prevent orphaned Redis tagged cache entries by @drewmt in #61385
Original source - Sep 1, 2026
- Date parsed from source:Sep 1, 2026
- First seen by Releasebot:Sep 2, 2026
v12.69.1
Laravel fixes a TypeError in userFromRecaller() when the recaller matches no user.
[12.x] Fix TypeError in userFromRecaller() when the recaller matches no user by @lazerg in #61397
Original source - Sep 1, 2026
- Date parsed from source:Sep 1, 2026
- First seen by Releasebot:Sep 1, 2026
v13.30.0
Laravel ships a broad framework update with new queue, database, storage, cloud, and collection improvements, plus fixes for resource loading, route caching, exception page behavior, and command handling. It also adds Microsoft SQL Server DSN support and several developer-focused refinements.
[12.x] Backport #60908: Avoid quadratic wildcard rule expansion by @matteo-palazzo in #61232
Fix resource loading by @taylorotwell in #61323
[13.x] Output the worker stop reason in queue:work by @jackbayliss in #61339
Fix incorrect $startTime type in Worker::stopIfNecessary docblock by @il-m-tomita in #61347
[13.x] Ability to opt out of vendor/default commands in DevCommands by @jackbayliss in #61344
[13.x] Confine Storage::path() to the configured disk root by @KIKOmanasijev in #61343
[13.x] Support Microsoft SQL Server DSN connection strings by @HenkPoley in #61341
[13.x] Restore the facade application after route:cache boots a fresh application by @reiarseni in #61346
[13.x] Gracefully handle missing param value or strings with request clamps by @kylemilloy in #61355
[13.x] Restore default database connection when seeding fails by @sayful1411 in #61354
[13.x] Cloud enhancements by @timacdonald in #61360
[13.x] Allow retrieving command by name without resolving all commands by @timacdonald in #61361
[13.x] Expose methods by @timacdonald in #61362
[13.x] Add basic test for query explain by @imanghafoori1 in #61363
[13.x] Add totalXSize methods to Cloud Queue by @jackbayliss in #61352
[13.x] Add chunkBy to collections by @JosephSilber in #61357
[13.x] spl_object_id over hash by @jackbayliss in #61372
[13.x] Add createPayloadUsing directly to the queue manager by @jackbayliss in #61367
[13.x] Set visibility on files that only exist on a read-through disk's fallback by @sulimanbenhalim in #61375
[12.x] Disable html by default on Laravel exception page tooltip by @crynobone in #61381
Original source Similar to Laravel with recent updates:
- Gemini updates414 release notes · Latest Sep 10, 2026
- Claude Code updates442 release notes · Latest Sep 11, 2026
- Claude updates137 release notes · Latest Sep 10, 2026
- Codex updates229 release notes · Latest Sep 11, 2026
- Gemini CLI updates164 release notes · Latest Sep 1, 2026
- Antigravity updates50 release notes · Latest Sep 3, 2026
- Sep 1, 2026
- Date parsed from source:Sep 1, 2026
- First seen by Releasebot:Sep 1, 2026
v12.69.0
Laravel disables HTML in exception page tooltips and verifies password hash matches stored cookies before authentication.
[12.x] Disable html by default on Laravel exception page tooltip by @crynobone in #61381
[12.x] Ensure password hash matches stored cookie before authenticating the user by @crynobone in #61386
Original source - Aug 25, 2026
- Date parsed from source:Aug 25, 2026
- First seen by Releasebot:Aug 26, 2026
v13.28.0
Laravel fixes MariaDB vector distance SQL and adds an AsVector Eloquent cast.
[13.x] Fix MariaDB vector distance SQL and add AsVector Eloquent cast…
Original source - Aug 25, 2026
- Date parsed from source:Aug 25, 2026
- First seen by Releasebot:Aug 25, 2026
v13.27.0
Laravel releases updates across Eloquent, queues, database, and validation, adding refreshForUpdate(), whereBinary(), MariaDB vector distance queries, a new Cloud facade, and queue totalXSize methods while hardening input handling, image loading, and comparison rules.
[13.x]
- Prevent duplicate scoped instance registrations by @jordanhavard in #61251
- Add refreshForUpdate() method to Eloquent models by @stevebauman in #61247
- Fix PHPUnit and Mockery deprecations in tests by @lucasmichot in #61244
- Throw on unsuccessful responses when creating images from URLs by @Button99 in #61254
- Apply fixes from StyleCI by @taylorotwell in #61256
- Skip scheduled workflows on forks by @MrPunyapal in #61239
- Consolidate tearDown boilerplate into AfterEachTestSubscriber by @lucasmichot in #61245
- Pin rector version by @lucasmichot in #61257
- Re-introduce orWhereKey() and orWhereKeyNot() without breaking Builder subclasses by @kevariable in #61242
- Don't force release a unique lock the job never acquired by @sulimanbenhalim in #61234
- Convert foreach-loop tests to data providers by @lucasmichot in #61258
- Simplify testImageBmp by @lucasmichot in #61259
- Add missing test coverage for Str and Stringable by @lucasmichot in #61260
- Add Queue totalXSize methods by @jackbayliss in #61231
- Add MariaDB support for vector distance queries by @Rhaima96 in #61250
- Add whereBinary() to the query builder by @xiCO2k in #61261
- Fix quietly() making throw() unreachable on process results by @xurshudyan in #61227
- Revert "[13.x] Consolidate tearDown boilerplate into AfterEachTestSubscriber (#61245)" by @crynobone in #61262
- Use nick-fields/retry to verify clustered redis ports are available by @crynobone in #61263
- Guard against false returns in PhpRedisConnection::mget() and hmget() by @matthewfarrugia in #61267
- Add stop() and ensureNotTimedOut() to FakeInvokedProcess by @xurshudyan in #61266
- Make eager-load constraint closures static to break Builder reference cycle by @mspasov in #61264
- Move and copy files that only exist on a read-through disk's fallback by @sulimanbenhalim in #61272
- Adjust QueueTest by @jackbayliss in #61284
- Introduce InteractsWithTestCaseLifecycle::flushState() by @cosmastech in #61288
- Fix route name lost when RouteRegistrar action is not callable by @KalimeroMK in #61285
- Start a new max wait window after a debounced job runs by @sulimanbenhalim in #61281
- Fix nested includes not being limited when maxRelationshipDepth is zero by @martinsoenen in #61297
- Give each Redis Cluster node its own data directory in CI by @cyppe in #61294
- Ensure test namespaces are correct by @jackbayliss in #61304
- Fix flaky memcached touch test by pinning time by @mspasov in #61301
- Adjust database.yml timeout to 10 minutes by @jackbayliss in #61299
- Add Postgres keepalive DSN options by @tgivslife in #61307
- Introduce a Cloud facade by @jackbayliss in #61275
- Normalize test fixtures by @jasonmccreary in #61315
- Treat asterisks as literal keys when merging request input by @KIKOmanasijev in #61309
- Guard against non-string mac in maintenance bypass cookie by @KIKOmanasijev in #61314
- Treat asterisks as literal keys when merging URI query parameters by @KIKOmanasijev in #61312
- Prevent loose comparison bypass in in_array validation rule by @KIKOmanasijev in #61319
- Prevent loose comparison bypass in contains validation rule by @KIKOmanasijev in #61320
- Prevent loose comparisons in doesnt_contain validation rule by @KIKOmanasijev in #61318
- Fix resource loading by @taylorotwell in #61322
- Treat literal dots in input keys correctly when rejecting unknown fields by @KIKOmanasijev in #61313
- Revert "[13.x] Prevent loose comparison bypass in contains validation rule" by @taylorotwell in #61330
- Allow masking query bindings in exception messages by @LauJosefsen in #61326
- Share cached AWS credentials across processes for SQS queue connections by @DGarbs51 in #61321
- Fix images created from a stream failing on the second read by @Chy-Zaber-Bin-Zahid in #61305
- Fix uncaught Brick MathException escaping the numeric comparison rules by @gcotcheza in #61332
- Aug 25, 2026
- Date parsed from source:Aug 25, 2026
- First seen by Releasebot:Aug 25, 2026
v12.68.0
Laravel fixes resource loading in a new update.
Fix resource loading by @taylorotwell in #61323
Original source - Aug 18, 2026
- Date parsed from source:Aug 18, 2026
- First seen by Releasebot:Aug 19, 2026
v13.26.1
Laravel reverts the orWhereKey and orWhereKeyNot additions to Eloquent Builder.
Revert "[13.x] feat: add orWhereKey and orWhereKeyNot to Eloquent Builder" by @taylorotwell in #61236
Original source - Aug 18, 2026
- Date parsed from source:Aug 18, 2026
- First seen by Releasebot:Aug 18, 2026
v13.26.0
Laravel adds queue, Redis, Eloquent, testing, and cloud workflow improvements, with new worker events, managed queues, debounceable queued listeners, safer Redis cluster handling, expanded builder helpers, and a range of fixes across validation, requests, and process tools.
[13.x] Add JobReleased event to Worker by @jackbayliss in #61108
[13.x] Fix QueueWorkerTest by @jackbayliss in #61134
[13.x] Avoid cross-slot reads when checking paused queues by @lazerg in #61139
[13.x] Add managedQueues() to the Cloud queue by @jackbayliss in #61149
[13.x] Accept enums in inOrderOf() by @ziadoz in #61147
[13.x] Surface paused queues in the queue worker output by @jackbayliss in #61142
[13.x] Respect readonly=false in Microsoft SQL Server configuration by @HenkPoley in #61141
[12.x] Stricten upload to be fetch only from request's query string for temporary upload urls by @crynobone in #61145
Read-through filesystem by @taylorotwell in #61140
[13.x] Pass a connector to PhpRedisClusterConnection so it can rebuild its client by @tgivslife in #61161
[13.x] Only register pail dev command when installed by @jackbayliss in #61157
[13.x] feat: add closure support to wherePivot and orWherePivot by @calebdw in #61150
[13.x] feat: add orWhereKey and orWhereKeyNot to Eloquent Builder by @calebdw in #61154
[13.x] allow read through filesystems to optionally not copy by @jimbojsb in #61155
[13.x] Fix constantly asking to install multiplex & starting vite on project without vite by @nunomaduro in #61167
[13.x] Add debounceable queued listeners by @stevebauman in #61169
[13.x] Add test to ensure pail is ignored if not installed by @jackbayliss in #61168
Allow some Redis commands to retry on transient failures by @taylorotwell in #61175
Fix Redis pipeline facade annotation by @MNazikk in #61173
[13.x] Remove the pinned @laravel/multiplex version by @joetannenbaum in #61171
[13.x] Fix FoundationDevCommandsTest by @jackbayliss in #61170
[12.x] Improves in validation rule from getting bypass via loose comparison by @crynobone in #61146
[13.x] Retry timed-out cloud agent long-polls by @kieranbrown in #61177
[12.x] Retry timed-out cloud agent long-polls by @kieranbrown in #61178
[13.x] Scan every master node in phpredis cluster connections by @tgivslife in #61174
[13.x] Fix uncaptured setTestNow now() reuse in tests by @lucasmichot in #61190
[13.x] Make process pools iterable by @xurshudyan in #61184
[13.x] Report seeder progress in db:seed command - when a specific class is specified by @iz-ahmad in #61186
[13.x] Fix infinite scan loop when pruning stale cache tags on a Redis cluster by @tgivslife in #61181
[13.x] Add a dedicated exception for idle process timeouts by @xurshudyan in #61182
[13.x] Keep the Redis connection usable when a pipeline or transaction fails by @tgivslife in #61183
[12.x] Escape single quotes in Postgres JSON path attributes by @crynobone in #61192
[13.x] Support Guzzle 8 by @GrahamCampbell in #60321
[13.x] Add process fake assertion helpers by @xurshudyan in #61193
[13.x] Introduce Queue::forward() by @jackbayliss in #61188
[13.x] Support array commands in process fake assertions by @xurshudyan in #61197
[13.x] Prevent TypeError when JSON:API query parameters are arrays by @s-shiryaev in #61206
More Mockery cleanup by @jasonmccreary in #61199
[13.x] fix: expectsQuestion() docblock to allow array answers by @joostdebruijn in #61223
[13.x] Test on MySQL 9.7 (lts) by @jnoordsij in #61218
[13.x] Promote nested data to top-level managed queue event by @timacdonald in #61209
[13.x] Rebuild the phpredis client after a cluster response error by @tgivslife in #61214
[13.x] Fix throwUnless() silently doing nothing when given a closure by @xurshudyan in #61217
[13.x] Keep the assertion failure message when session errors are JSON serialized by @lazerg in #61201
[13.x] Add getRelatedClass to Relation by @jackbayliss in #61222
[12.x] Promote nested data to top-level managed queue event by @timacdonald in #61225
Merge branch '12.x' into 13.x by @crynobone in #61228
[13.x] Preserve input key order when merging files in Request::all() by @roger-hermasch in #61221
Wait for Redis cluster nodes before creating the test cluster by @crynobone with @Copilot in #61229
Original source - Aug 18, 2026
- Date parsed from source:Aug 18, 2026
- First seen by Releasebot:Aug 18, 2026
v12.67.0
Laravel tightens uploads, validation, cloud poll retries, Postgres JSON paths, queue events, and wildcard rule performance.
[12.x] Stricten upload to be fetch only from request's query string for temporary upload urls by @crynobone in #61145
[12.x] Improves in validation rule from getting bypass via loose comparison by @crynobone in #61146
[12.x] Retry timed-out cloud agent long-polls by @kieranbrown in #61178
[12.x] Escape single quotes in Postgres JSON path attributes by @crynobone in #61192
[12.x] Promote nested data to top-level managed queue event by @timacdonald in #61225
[12.x] Backport #60908: Avoid quadratic wildcard rule expansion by @OutlawPlz in #61232
Original source - Aug 11, 2026
- Date parsed from source:Aug 11, 2026
- First seen by Releasebot:Aug 13, 2026
v13.25.0
Laravel ships a broad update with new 13.x capabilities, including foreign ULID schema helpers, image stream and format support, queue and mail improvements, HTTP and cache fixes, and a global queue pause switch. It also brings stability patches across 12.x and 13.x.
[12.x]
Prevent fatal errors when logging deprecations fails by @GrahamCampbell in #60907
Fix Factory::insert() with a count of zero by @alies-dev in #60911
Fix schedule:list timezone conversion for range, step, and wildcard cron expressions by @xiCO2k in #60913
Fix getMigrationBatches return type annotation by @wouterj in #60973
Isolate cloud agent requests from global HTTP client configuration by @kieranbrown in #61068
Configure a socket timeout for the Cloud log driver by @jessarcher in #61082
ColumnDefinition::unsigned takes a parameter, which should be documented by @afk11 in #61123
[13.x]
Add foreignUlidFor schema helper by @talaridisTh in #61036
Improve return type for Arr::prependKeysWith() by @axlon in #61034
Add uuid to queue fake for inspection methods by @jackbayliss in #60966
Respect after-commit dispatch when bulk pushing to DatabaseQueue by @Faiyajz in #60996
Add a UniqueJobSkipped event by @jackbayliss in #61039
Ensure Container::call cleans up build stack after exceptions by @Faiyajz in #61041
Reject non-stream resources in HTTP fake response bodies by @GrahamCampbell in #61047
Fix incorrect image dimensions for HEIC by @zachiler in #61010
Simplify most of the exceptions expectations by @lucasmichot in #61049
Fix Str::numbers() type annotation by @lucasmichot in #61053
Fix flaky Str::random distribution test by @lucasmichot in #61052
Normalize enum keys in typed cache getters by @Amirhf1 in #61056
Simplify remaining exception expectations by @lucasmichot in #61058
Apply fixes from StyleCI by @taylorotwell in #61059
Isolate cloud agent requests from global HTTP client configuration by @kieranbrown in #61064
Fix flaky circuit breaker release delay assertions by @GrahamCampbell in #61062
Bump minimum versions by @lucasmichot in #61033
Configure a socket timeout for the Cloud log driver by @jessarcher in #61065
Fix: add missing check for #[WithoutTimestamps] on model ignore touch by @bram-pkg in #61073
Fix getRememberToken return type documentation by @keibass in #61067
Respect backed enum queue names when queueing mailables by @Faiyajz in #61066
Restore missing model deletion for broadcast events by @Faiyajz in #61074
Use new Collection instead of Collection::make in tests by @lucasmichot in #61079
Add the timeout in JobTimedOut by @jackbayliss in #61060
Move Testbench-based tests to tests/Integration by @lucasmichot in #61080
Skip unsupported values in LazyCollection::flip() by @Amirhf1 in #61081
Preserve default denial response for Gate::forUser by @Faiyajz in #61087
Support fail on timeout for notifications by @jackbayliss in #61072
Fix QueueFakeTest by @jackbayliss in #61091
Prefer consitent assertions by @lucasmichot in #61093
Clean up test teardown by @lucasmichot in #61078
feat: make Image::toFormat() public by @calebdw in #61110
Pass the HTTP method to retry callbacks for asynchronous HTTP requests by @Button99 in #61106
Add withoutCookies method by @xurshudyan in #61115
feat: implement Responsable on Image class by @calebdw in #61111
feat: add Image::fromStream method by @calebdw in #61109
Run artisan dev through @laravel/multiplex by @joetannenbaum in #61100
Restore array support in Str::substrReplace by @Faiyajz in #61105
Ensure Queue drivers work for enums matching the Fake by @jackbayliss in #61116
Preserve queue resolution on queued mailables in MailFake by @hamdyelbatal122 in #61114
Handle cache maintenance mode deactivation races by @Faiyajz in #61121
Fix nullable return types on the route binding registrar by @dfinchenko in #61124
Mockery cleanup by @jasonmccreary in #61117
Support brick math ^0.19 by @jackbayliss in #61133
Add a global pause switch for queues by @jackbayliss in #61126
Other
Use serve defaults for dev command by @n3crosis in #61090
Prefer text input on dynamic access by @taylorotwell in #61099
Revert "[13.x] Bump minimum versions" by @GrahamCampbell in #61118
Merge branch '12.x' by @crynobone in #61130
Improve signed URL support for Vapor by @timacdonald in #61129
Original source - Aug 11, 2026
- Date parsed from source:Aug 11, 2026
- First seen by Releasebot:Aug 13, 2026
v12.66.0
Laravel improves cloud logging with isolated agent requests, socket timeouts, and clearer column documentation.
[12.x] Isolate cloud agent requests from global HTTP client configuration by @kieranbrown in #61068
[12.x] Configure a socket timeout for the Cloud log driver by @jessarcher in #61082
[12.x] ColumnDefinition::unsigned takes a parameter, which should be documented by @afk11 in #61123
Original source - Aug 5, 2026
- Date parsed from source:Aug 5, 2026
- First seen by Releasebot:Aug 6, 2026
v12.65.0
Laravel fixes deprecation logging, Factory::insert(), schedule:list timezone conversion, and a migration batch type annotation.
[12.x] Prevent fatal errors when logging deprecations fails by @GrahamCampbell in #60907
[12.x] Fix Factory::insert() with a count of zero by @alies-dev in #60911
[12.x] Fix schedule:list timezone conversion for range, step, and wildcard cron expressions by @xiCO2k in #60913
[12.x] Fix getMigrationBatches return type annotation by @wouterj in #60973
Original source
Curated by the Releasebot team
Releasebot is an aggregator of official product update announcements 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.