laravel/framework
The Laravel Framework.
v13.26.1
567M downloads/mo
#99 most downloaded on composer
laravel/framework
What this package is like to depend on
Last release 3 days ago
20 Aug 2026
Ships on a steady schedule
a new release about every 2 weeks
Rarely documented
notes for 35 of 1270 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
1281 releases · first in 2013
124 releases in the last 12 months
see the full history below
Release timeline
1280 releases · Mar 2015 to Aug 2026Releases
latest 60 of 1281-
v13.26.118 Aug 2026Release notes
Open source →- Revert "[13.x] feat: add orWhereKey and orWhereKeyNot to Eloquent Builder" by @taylorotwell in #61236
Release notes
Open source →- Revert "[13.x] feat: add orWhereKey and orWhereKeyNot to Eloquent Builder" by @taylorotwell in https://github.com/laravel/framework/pull/61236
-
v13.26.018 Aug 2026Release notes
Open source →- [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
uploadto 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& startingviteon 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/multiplexversion by @joetannenbaum in #61171 - [13.x] Fix FoundationDevCommandsTest by @jackbayliss in #61170
- [12.x] Improves
invalidation 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
Release notes
Open source →- [13.x] Add JobReleased event to Worker by @jackbayliss in https://github.com/laravel/framework/pull/61108
- [13.x] Fix QueueWorkerTest by @jackbayliss in https://github.com/laravel/framework/pull/61134
- [13.x] Avoid cross-slot reads when checking paused queues by @lazerg in https://github.com/laravel/framework/pull/61139
- [13.x] Add managedQueues() to the Cloud queue by @jackbayliss in https://github.com/laravel/framework/pull/61149
- [13.x] Accept enums in
inOrderOf()by @ziadoz in https://github.com/laravel/framework/pull/61147 - [13.x] Surface paused queues in the queue worker output by @jackbayliss in https://github.com/laravel/framework/pull/61142
- [13.x] Respect readonly=false in Microsoft SQL Server configuration by @HenkPoley in https://github.com/laravel/framework/pull/61141
- [12.x] Stricten
uploadto be fetch only from request's query string for temporary upload urls by @crynobone in https://github.com/laravel/framework/pull/61145 - Read-through filesystem by @taylorotwell in https://github.com/laravel/framework/pull/61140
- [13.x] Pass a connector to PhpRedisClusterConnection so it can rebuild its client by @tgivslife in https://github.com/laravel/framework/pull/61161
- [13.x] Only register pail dev command when installed by @jackbayliss in https://github.com/laravel/framework/pull/61157
- [13.x] feat: add closure support to wherePivot and orWherePivot by @calebdw in https://github.com/laravel/framework/pull/61150
- [13.x] feat: add orWhereKey and orWhereKeyNot to Eloquent Builder by @calebdw in https://github.com/laravel/framework/pull/61154
- [13.x] allow read through filesystems to optionally not copy by @jimbojsb in https://github.com/laravel/framework/pull/61155
- [13.x] Fix constantly asking to install
multiplex& startingviteon project without vite by @nunomaduro in https://github.com/laravel/framework/pull/61167 - [13.x] Add debounceable queued listeners by @stevebauman in https://github.com/laravel/framework/pull/61169
- [13.x] Add test to ensure pail is ignored if not installed by @jackbayliss in https://github.com/laravel/framework/pull/61168
- Allow some Redis commands to retry on transient failures by @taylorotwell in https://github.com/laravel/framework/pull/61175
- Fix Redis pipeline facade annotation by @MNazikk in https://github.com/laravel/framework/pull/61173
- [13.x] Remove the pinned
@laravel/multiplexversion by @joetannenbaum in https://github.com/laravel/framework/pull/61171 - [13.x] Fix FoundationDevCommandsTest by @jackbayliss in https://github.com/laravel/framework/pull/61170
- [12.x] Improves
invalidation rule from getting bypass via loose comparison by @crynobone in https://github.com/laravel/framework/pull/61146 - [13.x] Retry timed-out cloud agent long-polls by @kieranbrown in https://github.com/laravel/framework/pull/61177
- [12.x] Retry timed-out cloud agent long-polls by @kieranbrown in https://github.com/laravel/framework/pull/61178
- [13.x] Scan every master node in phpredis cluster connections by @tgivslife in https://github.com/laravel/framework/pull/61174
- [13.x] Fix uncaptured setTestNow now() reuse in tests by @lucasmichot in https://github.com/laravel/framework/pull/61190
- [13.x] Make process pools iterable by @xurshudyan in https://github.com/laravel/framework/pull/61184
- [13.x] Report seeder progress in db:seed command - when a specific class is specified by @iz-ahmad in https://github.com/laravel/framework/pull/61186
- [13.x] Fix infinite scan loop when pruning stale cache tags on a Redis cluster by @tgivslife in https://github.com/laravel/framework/pull/61181
- [13.x] Add a dedicated exception for idle process timeouts by @xurshudyan in https://github.com/laravel/framework/pull/61182
- [13.x] Keep the Redis connection usable when a pipeline or transaction fails by @tgivslife in https://github.com/laravel/framework/pull/61183
- [12.x] Escape single quotes in Postgres JSON path attributes by @crynobone in https://github.com/laravel/framework/pull/61192
- [13.x] Support Guzzle 8 by @GrahamCampbell in https://github.com/laravel/framework/pull/60321
- [13.x] Add process fake assertion helpers by @xurshudyan in https://github.com/laravel/framework/pull/61193
- [13.x] Introduce
Queue::forward()by @jackbayliss in https://github.com/laravel/framework/pull/61188 - [13.x] Support array commands in process fake assertions by @xurshudyan in https://github.com/laravel/framework/pull/61197
- [13.x] Prevent TypeError when JSON:API query parameters are arrays by @s-shiryaev in https://github.com/laravel/framework/pull/61206
- More Mockery cleanup by @jasonmccreary in https://github.com/laravel/framework/pull/61199
- [13.x] fix:
expectsQuestion()docblock to allow array answers by @joostdebruijn in https://github.com/laravel/framework/pull/61223 - [13.x] Test on MySQL 9.7 (lts) by @jnoordsij in https://github.com/laravel/framework/pull/61218
- [13.x] Promote nested data to top-level managed queue event by @timacdonald in https://github.com/laravel/framework/pull/61209
- [13.x] Rebuild the phpredis client after a cluster response error by @tgivslife in https://github.com/laravel/framework/pull/61214
- [13.x] Fix
throwUnless()silently doing nothing when given a closure by @xurshudyan in https://github.com/laravel/framework/pull/61217 - [13.x] Keep the assertion failure message when session errors are JSON serialized by @lazerg in https://github.com/laravel/framework/pull/61201
- [13.x] Add getRelatedClass to Relation by @jackbayliss in https://github.com/laravel/framework/pull/61222
- [12.x] Promote nested data to top-level managed queue event by @timacdonald in https://github.com/laravel/framework/pull/61225
- Merge branch '12.x' into 13.x by @crynobone in https://github.com/laravel/framework/pull/61228
- [13.x] Preserve input key order when merging files in Request::all() by @roger-hermasch in https://github.com/laravel/framework/pull/61221
- Wait for Redis cluster nodes before creating the test cluster by @crynobone with @Copilot in https://github.com/laravel/framework/pull/61229
-
v13.25.011 Aug 2026Release notes
Open source →- [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
- [13.x] Add foreignUlidFor schema helper by @talaridisTh in #61036
- [13.x] Improve return type for
Arr::prependKeysWith()by @axlon in #61034 - [13.x] Add uuid to queue fake for inspection methods by @jackbayliss in #60966
- [13.x] Respect after-commit dispatch when bulk pushing to DatabaseQueue by @Faiyajz in #60996
- [13.x] Add a UniqueJobSkipped event by @jackbayliss in #61039
- [13.x] Ensure Container::call cleans up build stack after exceptions by @Faiyajz in #61041
- [13.x] Reject non-stream resources in HTTP fake response bodies by @GrahamCampbell in #61047
- [13.x] Fix incorrect image dimensions for HEIC by @zachiler in #61010
- [13.x] Simplify most of the exceptions expectations by @lucasmichot in #61049
- [13.x] Fix Str::numbers() type annotation by @lucasmichot in #61053
- [13.x] Fix flaky Str::random distribution test by @lucasmichot in #61052
- [13.x] 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
- [13.x] Isolate cloud agent requests from global HTTP client configuration by @kieranbrown in #61064
- [13.x] Fix flaky circuit breaker release delay assertions by @GrahamCampbell in #61062
- [13.x] Bump minimum versions by @lucasmichot in #61033
- [13.x] Configure a socket timeout for the Cloud log driver by @jessarcher in #61065
- [13.x] Fix: add missing check for
#[WithoutTimestamps]on model ignore touch by @bram-pkg in #61073 - [12.x] Isolate cloud agent requests from global HTTP client configuration by @kieranbrown in #61068
- [13.x] Fix getRememberToken return type documentation by @keibass in #61067
- [13.x] Respect backed enum queue names when queueing mailables by @Faiyajz in #61066
- [13.x] Restore missing model deletion for broadcast events by @Faiyajz in #61074
- [13.x] Use new Collection instead of Collection::make in tests by @lucasmichot in #61079
- [13.x] Add the timeout in JobTimedOut by @jackbayliss in #61060
- [12.x] Configure a socket timeout for the Cloud log driver by @jessarcher in #61082
- [13.x] Move Testbench-based tests to tests/Integration by @lucasmichot in #61080
- Use serve defaults for dev command by @n3crosis in #61090
- [13.x] Skip unsupported values in LazyCollection::flip() by @Amirhf1 in #61081
- [13.x] Preserve default denial response for Gate::forUser by @Faiyajz in #61087
- [13.x] Support fail on timeout for notifications by @jackbayliss in #61072
- [13.x] Fix QueueFakeTest by @jackbayliss in #61091
- [13.x] Prefer consitent assertions by @lucasmichot in #61093
- [13.x] Clean up test teardown by @lucasmichot in #61078
- Prefer text input on dynamic access by @taylorotwell in #61099
- [13.x] feat: make Image::toFormat() public by @calebdw in #61110
- [13.x] Pass the HTTP method to retry callbacks for asynchronous HTTP requests by @Button99 in #61106
- [13.x] Add
withoutCookiesmethod by @xurshudyan in #61115 - [13.x] feat: implement Responsable on Image class by @calebdw in #61111
- [13.x] feat: add Image::fromStream method by @calebdw in #61109
- [13.x] Run
artisan devthrough@laravel/multiplexby @joetannenbaum in #61100 - [13.x] Restore array support in Str::substrReplace by @Faiyajz in #61105
- Revert "[13.x] Bump minimum versions" by @GrahamCampbell in #61118
- [12.x] ColumnDefinition::unsigned takes a parameter, which should be documented by @afk11 in #61123
- [13.x] Ensure Queue drivers work for enums matching the Fake by @jackbayliss in #61116
- [13.x] Preserve queue resolution on queued mailables in MailFake by @hamdyelbatal122 in #61114
- [13.x] Handle cache maintenance mode deactivation races by @Faiyajz in #61121
- [13.x] Fix nullable return types on the route binding registrar by @dfinchenko in #61124
- [13.x] Mockery cleanup by @jasonmccreary in #61117
- Merge branch '12.x' by @crynobone in #61130
- [13.x] Support brick math ^0.19 by @jackbayliss in #61133
- Improve signed URL support for Vapor by @timacdonald in #61129
- [13.x] Add a global pause switch for queues by @jackbayliss in #61126
Release notes
Open source →- [12.x] Prevent fatal errors when logging deprecations fails by @GrahamCampbell in https://github.com/laravel/framework/pull/60907
- [12.x] Fix Factory::insert() with a count of zero by @alies-dev in https://github.com/laravel/framework/pull/60911
- [12.x] Fix schedule:list timezone conversion for range, step, and wildcard cron expressions by @xiCO2k in https://github.com/laravel/framework/pull/60913
- [12.x] Fix getMigrationBatches return type annotation by @wouterj in https://github.com/laravel/framework/pull/60973
- [13.x] Add foreignUlidFor schema helper by @talaridisTh in https://github.com/laravel/framework/pull/61036
- [13.x] Improve return type for
Arr::prependKeysWith()by @axlon in https://github.com/laravel/framework/pull/61034 - [13.x] Add uuid to queue fake for inspection methods by @jackbayliss in https://github.com/laravel/framework/pull/60966
- [13.x] Respect after-commit dispatch when bulk pushing to DatabaseQueue by @Faiyajz in https://github.com/laravel/framework/pull/60996
- [13.x] Add a UniqueJobSkipped event by @jackbayliss in https://github.com/laravel/framework/pull/61039
- [13.x] Ensure Container::call cleans up build stack after exceptions by @Faiyajz in https://github.com/laravel/framework/pull/61041
- [13.x] Reject non-stream resources in HTTP fake response bodies by @GrahamCampbell in https://github.com/laravel/framework/pull/61047
- [13.x] Fix incorrect image dimensions for HEIC by @zachiler in https://github.com/laravel/framework/pull/61010
- [13.x] Simplify most of the exceptions expectations by @lucasmichot in https://github.com/laravel/framework/pull/61049
- [13.x] Fix Str::numbers() type annotation by @lucasmichot in https://github.com/laravel/framework/pull/61053
- [13.x] Fix flaky Str::random distribution test by @lucasmichot in https://github.com/laravel/framework/pull/61052
- [13.x] Normalize enum keys in typed cache getters by @Amirhf1 in https://github.com/laravel/framework/pull/61056
- Simplify remaining exception expectations by @lucasmichot in https://github.com/laravel/framework/pull/61058
- Apply fixes from StyleCI by @taylorotwell in https://github.com/laravel/framework/pull/61059
- [13.x] Isolate cloud agent requests from global HTTP client configuration by @kieranbrown in https://github.com/laravel/framework/pull/61064
- [13.x] Fix flaky circuit breaker release delay assertions by @GrahamCampbell in https://github.com/laravel/framework/pull/61062
- [13.x] Bump minimum versions by @lucasmichot in https://github.com/laravel/framework/pull/61033
- [13.x] Configure a socket timeout for the Cloud log driver by @jessarcher in https://github.com/laravel/framework/pull/61065
- [13.x] Fix: add missing check for
#[WithoutTimestamps]on model ignore touch by @bram-pkg in https://github.com/laravel/framework/pull/61073 - [12.x] Isolate cloud agent requests from global HTTP client configuration by @kieranbrown in https://github.com/laravel/framework/pull/61068
- [13.x] Fix getRememberToken return type documentation by @keibass in https://github.com/laravel/framework/pull/61067
- [13.x] Respect backed enum queue names when queueing mailables by @Faiyajz in https://github.com/laravel/framework/pull/61066
- [13.x] Restore missing model deletion for broadcast events by @Faiyajz in https://github.com/laravel/framework/pull/61074
- [13.x] Use new Collection instead of Collection::make in tests by @lucasmichot in https://github.com/laravel/framework/pull/61079
- [13.x] Add the timeout in JobTimedOut by @jackbayliss in https://github.com/laravel/framework/pull/61060
- [12.x] Configure a socket timeout for the Cloud log driver by @jessarcher in https://github.com/laravel/framework/pull/61082
- [13.x] Move Testbench-based tests to tests/Integration by @lucasmichot in https://github.com/laravel/framework/pull/61080
- Use serve defaults for dev command by @n3crosis in https://github.com/laravel/framework/pull/61090
- [13.x] Skip unsupported values in LazyCollection::flip() by @Amirhf1 in https://github.com/laravel/framework/pull/61081
- [13.x] Preserve default denial response for Gate::forUser by @Faiyajz in https://github.com/laravel/framework/pull/61087
- [13.x] Support fail on timeout for notifications by @jackbayliss in https://github.com/laravel/framework/pull/61072
- [13.x] Fix QueueFakeTest by @jackbayliss in https://github.com/laravel/framework/pull/61091
- [13.x] Prefer consitent assertions by @lucasmichot in https://github.com/laravel/framework/pull/61093
- [13.x] Clean up test teardown by @lucasmichot in https://github.com/laravel/framework/pull/61078
- Prefer text input on dynamic access by @taylorotwell in https://github.com/laravel/framework/pull/61099
- [13.x] feat: make Image::toFormat() public by @calebdw in https://github.com/laravel/framework/pull/61110
- [13.x] Pass the HTTP method to retry callbacks for asynchronous HTTP requests by @Button99 in https://github.com/laravel/framework/pull/61106
- [13.x] Add
withoutCookiesmethod by @xurshudyan in https://github.com/laravel/framework/pull/61115 - [13.x] feat: implement Responsable on Image class by @calebdw in https://github.com/laravel/framework/pull/61111
- [13.x] feat: add Image::fromStream method by @calebdw in https://github.com/laravel/framework/pull/61109
- [13.x] Run
artisan devthrough@laravel/multiplexby @joetannenbaum in https://github.com/laravel/framework/pull/61100 - [13.x] Restore array support in Str::substrReplace by @Faiyajz in https://github.com/laravel/framework/pull/61105
- Revert "[13.x] Bump minimum versions" by @GrahamCampbell in https://github.com/laravel/framework/pull/61118
- [12.x] ColumnDefinition::unsigned takes a parameter, which should be documented by @afk11 in https://github.com/laravel/framework/pull/61123
- [13.x] Ensure Queue drivers work for enums matching the Fake by @jackbayliss in https://github.com/laravel/framework/pull/61116
- [13.x] Preserve queue resolution on queued mailables in MailFake by @hamdyelbatal122 in https://github.com/laravel/framework/pull/61114
- [13.x] Handle cache maintenance mode deactivation races by @Faiyajz in https://github.com/laravel/framework/pull/61121
- [13.x] Fix nullable return types on the route binding registrar by @dfinchenko in https://github.com/laravel/framework/pull/61124
- [13.x] Mockery cleanup by @jasonmccreary in https://github.com/laravel/framework/pull/61117
- Merge branch '12.x' by @crynobone in https://github.com/laravel/framework/pull/61130
- [13.x] Support brick math ^0.19 by @jackbayliss in https://github.com/laravel/framework/pull/61133
- Improve signed URL support for Vapor by @timacdonald in https://github.com/laravel/framework/pull/61129
- [13.x] Add a global pause switch for queues by @jackbayliss in https://github.com/laravel/framework/pull/61126
-
v13.24.004 Aug 2026Release notes
Open source →- [13.x] Add
modelKeys()to Eloquent query builder by @ziadoz in https://github.com/laravel/framework/pull/60924 - [13.x] Add an array_keys validation rule by @nebarg in https://github.com/laravel/framework/pull/60918
- [13.x] Respect job delays when bulk pushing to QueueFake by @Faiyajz in https://github.com/laravel/framework/pull/60916
- [13.x] Use immutable timestamps in batch testing fakes by @alies-dev in https://github.com/laravel/framework/pull/60912
- [13.x] Avoid rebuilding every cached Route on CompiledRouteCollection lookups by @lucasmichot in https://github.com/laravel/framework/pull/60909
- [13.x] Fix
DumpCommandreturn type. by @KentarouTakeda in https://github.com/laravel/framework/pull/60934 - [13.x] Re-evaluate unmatched BindWhen attributes by @Faiyajz in https://github.com/laravel/framework/pull/60933
- [13.x] Add if-related rector rules by @lucasmichot in https://github.com/laravel/framework/pull/60930
- [13.x] Use self::SUCCESS/self::FAILURE in console commands by @lucasmichot in https://github.com/laravel/framework/pull/60928
- [13.x] Fake the pwnedpasswords API in ValidationPasswordRuleTest by @lucasmichot in https://github.com/laravel/framework/pull/60927
- fix typo by @theHocineSaad in https://github.com/laravel/framework/pull/60942
- [13.x] Memoize TestResponse::decodeResponseJson() by @lucasmichot in https://github.com/laravel/framework/pull/60929
- [13.x] Consolidate Artisan command $name/getArguments()/getOptions() into $signature by @lucasmichot in https://github.com/laravel/framework/pull/60926
- [13.x] Escape single quotes in Postgres JSON path attributes by @kpanuragh in https://github.com/laravel/framework/pull/60923
- [13.x] Preserve relation constraints when resolving attributes during noConstraints by @hamdyelbatal122 in https://github.com/laravel/framework/pull/60931
- [13.x] Replace throw_if/throw_unless with explicit if/throw in src/ by @lucasmichot in https://github.com/laravel/framework/pull/60944
- [13.x] Adds dominant color detection to image driver by @dr-codswallop in https://github.com/laravel/framework/pull/60932
- Fix PendingProcess losing falsy command strings on run()/start() by @lucasmichot in https://github.com/laravel/framework/pull/60947
- [13.x] Use Collection only()/diff() instead of filter()/reject() with in_array() by @lucasmichot in https://github.com/laravel/framework/pull/60945
- [13.x] Use enum_value() helper in a few more places by @lucasmichot in https://github.com/laravel/framework/pull/60983
- [13.x] Remove redundant m::close() by @lucasmichot in https://github.com/laravel/framework/pull/60981
- [13.x] Add missing conditionable, reflection, macroable requires by @lucasmichot in https://github.com/laravel/framework/pull/60980
- [13.x] Use Stringable::explode() instead of new Collection(explode()) by @lucasmichot in https://github.com/laravel/framework/pull/60979
- [13.x] Prefer isEmpty()/isNotEmpty()/contains() over count() checks by @lucasmichot in https://github.com/laravel/framework/pull/60978
- [13.x] Avoid redundant Collection passes in map/filter/reject chains by @lucasmichot in https://github.com/laravel/framework/pull/60977
- [13.x] Detect circular alias references in Container by @lucasmichot in https://github.com/laravel/framework/pull/60974
- [13.x] Fix pagination edge cases by @lucasmichot in https://github.com/laravel/framework/pull/60968
- [13.x] Solve another PHP 8.5 null index deprecation by @tontonsb in https://github.com/laravel/framework/pull/60964
- [13.x] Prevent TypeError in Validator::validateDistinct() by @theHocineSaad in https://github.com/laravel/framework/pull/60961
- [13.x] Fix Actions remove
imagedestroyfrom tests by @jackbayliss in https://github.com/laravel/framework/pull/60957 - [13.x] Add NumberPrompt fallback by @romain-mezghenna in https://github.com/laravel/framework/pull/60959
- [13.x] Fix PHP 8.5 null array offset deprecation in
Relation::getMorphedModel()by @mertasan in https://github.com/laravel/framework/pull/60954 - [13.x] Respect job delays when bulk pushing to FailoverQueue by @Faiyajz in https://github.com/laravel/framework/pull/60950
- bugfix: inconsistent Guarded attribute behaviour on Pivot by @Carnicero90 in https://github.com/laravel/framework/pull/60952
- [13.x] Fix the ModelMakeCommand handle return type by @dfinchenko in https://github.com/laravel/framework/pull/60989
- [13.x] Sort null-key deprecation in
LazyCollection::keyByby @jackbayliss in https://github.com/laravel/framework/pull/60987 - [13.x] Fix validation stalling for minutes on large arrays by @mariomka in https://github.com/laravel/framework/pull/60908
- [13.x] Adjust ImagickDriverTest by @jackbayliss in https://github.com/laravel/framework/pull/60990
- [13.x] Add HEIC and additional AVIF support by @riasvdv in https://github.com/laravel/framework/pull/60922
- [13.x] Fix multibyte case-insensitive matching in Str::replace and Str::remove by @marekmiklusek in https://github.com/laravel/framework/pull/60882
- [13.x] Fix appended accessors receiving null in toArray() by @lazerg in https://github.com/laravel/framework/pull/60921
- Attempt at lock fix by @taylorotwell in https://github.com/laravel/framework/pull/60906
- [13.x] Sync property docblocks with their parent declarations by @dfinchenko in https://github.com/laravel/framework/pull/60991
- [13.x] Add tests for the whereUuid and whereUlid route constraints by @dfinchenko in https://github.com/laravel/framework/pull/61013
- [13.x] Use strict comparisons for int-to-int checks by @lucasmichot in https://github.com/laravel/framework/pull/61005
- [13.x] Add test for the Request matchesType method by @dfinchenko in https://github.com/laravel/framework/pull/61012
- Adjust URL validation logic by @taylorotwell in https://github.com/laravel/framework/pull/61009
- [13.x] Sync FilesystemAdapter return types with the filesystem contract by @dfinchenko in https://github.com/laravel/framework/pull/61011
- [13.x] Use static instead of self in
LoadConfigurationby @cosmastech in https://github.com/laravel/framework/pull/61006 - [13.x] Remove unregistered skipped rector rule by @lucasmichot in https://github.com/laravel/framework/pull/60999
- [13.x] FIX flaky dominantColor() test by @lucasmichot in https://github.com/laravel/framework/pull/60997
- [13.x] Use PHPUnit requirement attributes instead of markTestSkipped() by @lucasmichot in https://github.com/laravel/framework/pull/60998
- [13.x] Use reduce() instead of foreach accumulator loops by @lucasmichot in https://github.com/laravel/framework/pull/61004
- [13.x] Remove dead parent::setUp()/tearDown() calls in tests by @lucasmichot in https://github.com/laravel/framework/pull/60994
- [13.x] Use Str::uuid()->toString() by @lucasmichot in https://github.com/laravel/framework/pull/60995
- [13.x] Check the class before calling relationLoaded in loadMissingRelationshipChain by @dxiiren in https://github.com/laravel/framework/pull/60993
- [13.x] Fix ReflectsClosures::firstClosureParameterTypes() returning wrong parameter's type by @lucasmichot in https://github.com/laravel/framework/pull/60976
- [13.x] Avoid repeated Redis prefix/connection lookups in tag-set loops by @lucasmichot in https://github.com/laravel/framework/pull/61002
- [13.x] early return by @lucasmichot in https://github.com/laravel/framework/pull/61014
- Revert "[13.x] Add if-related rector rules" by @taylorotwell in https://github.com/laravel/framework/pull/61027
- Revert "[13.x] Use Str::uuid()->toString()" by @taylorotwell in https://github.com/laravel/framework/pull/61028
- [13.x] Fix
Arr::forget()removing the wrong element by @AlessioGiacobbe in https://github.com/laravel/framework/pull/61023
- [13.x] Add
-
v13.23.027 Jul 2026Release notes
Open source →- Bump postcss from 8.5.15 to 8.5.23 in /src/Illuminate/Foundation/resources/exceptions/renderer by @dependabot[bot] in https://github.com/laravel/framework/pull/60884
- [13.x] Add a monthly log driver by @SjorsO in https://github.com/laravel/framework/pull/60892
- [13.x] Improve types in
Imageclass by @shaedrich in https://github.com/laravel/framework/pull/60890 - Fix null handling in Arr::last() method by @AmadulHaque in https://github.com/laravel/framework/pull/60887
- [13.x] Allow ImageManager fromStorage disk to accept enums by @riesjart in https://github.com/laravel/framework/pull/60889
- [13.x] Add SES tenant support to the SES v2 transport by @atymic in https://github.com/laravel/framework/pull/60886
- Bump actions/checkout from 7.0.0 to 7.0.1 in the github-actions group by @dependabot[bot] in https://github.com/laravel/framework/pull/60900
- [13.x] Prevent fatal errors when logging deprecations fails by @GrahamCampbell in https://github.com/laravel/framework/pull/60893
- [13.x] Bump
monolog/monologconstraint by @jackbayliss in https://github.com/laravel/framework/pull/60894 - [13.x] Add monthly channel to logging config by @yazansalhi in https://github.com/laravel/framework/pull/60895
- [13.x] Use a timing-safe comparison for the maintenance mode bypass secret by @yazansalhi in https://github.com/laravel/framework/pull/60896
- [13.x] Improve
Collection::selectgeneric types by @timacdonald in https://github.com/laravel/framework/pull/60898 - [13.x] Allow ->using(...) in ->change() migrations for PostgreSQL compatibility by @shemgp in https://github.com/laravel/framework/pull/60901
- Revert "[13.x] Fix that retries of
ShouldBeUniqueUntilProcessingjobs are force-releasing locks they don't own" by @taylorotwell in https://github.com/laravel/framework/pull/60905 - [13.x] Fix default handling in
CookieJar::queued()by @alies-dev in https://github.com/laravel/framework/pull/60904 - [13.x] Fix schedule:list timezone conversion for range, step, and wildcard cron expressions by @xiCO2k in https://github.com/laravel/framework/pull/60877
-
v13.22.024 Jul 2026Release notes
Open source →- [13.x] Fix PHP extensions in sqlite workflow job by @lucasmichot in https://github.com/laravel/framework/pull/60850
- [13.x] Use new Stringable(...) instead of Str::of()/str() internally by @lucasmichot in https://github.com/laravel/framework/pull/60852
- [13.x] Extract PHP setup steps into a shared composite action by @lucasmichot in https://github.com/laravel/framework/pull/60851
- [13.x] add the exception to JobReleasedAfterException by @jackbayliss in https://github.com/laravel/framework/pull/60823
- [13.x] Implement
creationTimeOfOldestPendingJobon the QueueFake by @jackbayliss in https://github.com/laravel/framework/pull/60730 - [13.x] Check traits in resolveClassAttribute by @jackbayliss in https://github.com/laravel/framework/pull/60566
- [13.x] Enable additional Rector rules by @lucasmichot in https://github.com/laravel/framework/pull/60854
- [13.x] Optimize Str::ucfirst and Str::lcfirst using native PHP 8.4 functions by @bunyaminbilenkaratas in https://github.com/laravel/framework/pull/60864
- [13.x] Fix queue name parameter in Mailer::later() by @Button99 in https://github.com/laravel/framework/pull/60865
- [13.x] Support stream bodies in HTTP fake responses by @drewmt in https://github.com/laravel/framework/pull/60834
- [13.x] Allow RateLimiter to be Macroable by @jackbayliss in https://github.com/laravel/framework/pull/60869
- [13.x] Add a
#[BindWhen()]attribute to conditionally bind into the container by @ziadoz in https://github.com/laravel/framework/pull/60862 - [13.x] Add timeout minutes to workflows by @jackbayliss in https://github.com/laravel/framework/pull/60872
- [13.x] Restore iterable support to Arr::every() and Arr::some() by @Amirhf1 in https://github.com/laravel/framework/pull/60876
- [13.x] ColumnDefinition::unsigned takes a parameter, which should be documented by @afk11 in https://github.com/laravel/framework/pull/60875
- [13.x] Add multi-queue support to queue:clear command by @miladshakerdn in https://github.com/laravel/framework/pull/60873
- [13.x] Fix Cache::touch() expiration handling by @Amirhf1 in https://github.com/laravel/framework/pull/60878
- [13.x] Mark HTTP testing credentials as sensitive by @Amirhf1 in https://github.com/laravel/framework/pull/60880
- [13.x] Allow faking DNS lookups in validation rules by @SjorsO in https://github.com/laravel/framework/pull/60879
- [13.x] Fix iterable support in Arr::last() by @Amirhf1 in https://github.com/laravel/framework/pull/60881
- [13.x] Support
Delayattribute when usingBus::batch& bulk by @jackbayliss in https://github.com/laravel/framework/pull/60766
-
v13.21.121 Jul 2026Nothing published for this version
-
v13.21.021 Jul 2026Nothing published for this version
-
v13.20.014 Jul 2026Release notes
Open source →- [13.x] Add missing $separator parameter to Storage facade append/prepend docblocks by @ferhatolmez in https://github.com/laravel/framework/pull/60693
- [13.x]
beforePushingandafterPushingmethods onQueueFakeclass by @gdebrauwer in https://github.com/laravel/framework/pull/60689 - [13.x] Add memory usage to WorkerStopping by @jackbayliss in https://github.com/laravel/framework/pull/60613
- [13.x] Add
assertEmptyto the Storage facade by @jackbayliss in https://github.com/laravel/framework/pull/60658 - [13.x] Adds first-party support for
imageprocessing by @nunomaduro in https://github.com/laravel/framework/pull/59276 - [13.x] Fix operator precedence in SqsQueue size fallbacks by @daffa-aditya-p in https://github.com/laravel/framework/pull/60702
- Add separator params to Storage facade docblocks by @Muhtasim-Munif-Fahim in https://github.com/laravel/framework/pull/60703
- [13.x] Add test for the scheduler's quarterlyOn method by @dfinchenko in https://github.com/laravel/framework/pull/60712
- Make MailFake::assertQueuedTimes() public by @Tresor-Kasenda in https://github.com/laravel/framework/pull/60710
- [13.x] Sync more getter return types with their property generics by @dfinchenko in https://github.com/laravel/framework/pull/60699
- [13.x] Fix guessResourceName() namespace collision when class name is a substring of a parent namespace segment by @Rubrasum in https://github.com/laravel/framework/pull/60707
- [13.x] Add WithoutMiddleware controller middleware attribute by @JurianArie in https://github.com/laravel/framework/pull/60709
- [13.x] Add incrementEachQuietly and decrementEachQuietly to Eloquent models by @shanerbaner82 in https://github.com/laravel/framework/pull/60720
- [13.x] Normalize HTTP client request header lookups by @Button99 in https://github.com/laravel/framework/pull/60734
- [12.x] Enum as queue overlap key by @finagin in https://github.com/laravel/framework/pull/60722
- [13.x] Support null for shortcut field in return type array for HasParameters::getOptions (#60723) by @wimski in https://github.com/laravel/framework/pull/60728
- [13.x] Ability to set session prefix for Redis by @jackbayliss in https://github.com/laravel/framework/pull/60700
- [13.x] Add
#[SensitiveParameter]to parameters carrying secrets by @axlon in https://github.com/laravel/framework/pull/60753 - [13.x] Optimize by using contains or doesntContain by @lucasmichot in https://github.com/laravel/framework/pull/60745
- [13.x] Remove redundant Mockery::close() calls by @lucasmichot in https://github.com/laravel/framework/pull/60743
- [13.x] Only register pail in DevCommands when
pcntl_forkis available by @jackbayliss in https://github.com/laravel/framework/pull/60749 - [13.x] Use PHPUnit rector sets instead of individual rules by @lucasmichot in https://github.com/laravel/framework/pull/60744
- [13.x] Replace manual all/any foreach loops with array_all/array_any by @lucasmichot in https://github.com/laravel/framework/pull/60742
- [13.x] Add test for the Uri toStringable method by @dfinchenko in https://github.com/laravel/framework/pull/60739
- [13.x] Fix Str::containsAll() returning true for an empty needles array by @lucasmichot in https://github.com/laravel/framework/pull/60746
- [13.x] Fix stale transformations being reapplied when branching an Image after toBytes() by @lucasmichot in https://github.com/laravel/framework/pull/60748
- [13.x] Fix Number::forHumans() and abbreviate() returning "-0" for tiny negative values by @semx in https://github.com/laravel/framework/pull/60736
- [13.x] Add test for the Email rule's strict method by @dfinchenko in https://github.com/laravel/framework/pull/60740
- [13.x] fix: providesTemporaryUploadUrls should return true for s3 driver by @joostdebruijn in https://github.com/laravel/framework/pull/60755
- [12.x] Add capitalize parameter to Stringable::initials() by @irabbi360 in https://github.com/laravel/framework/pull/60741
- [13.x] Fix dynamic calls to incrementEachQuietly and decrementEachQuietly by @daffa-aditya-p in https://github.com/laravel/framework/pull/60737
- Fix BelongsToMany::touch() when related key is not
idby @Peeterush in https://github.com/laravel/framework/pull/60708 - Merge branch '12.x' into 13.x by @crynobone in https://github.com/laravel/framework/pull/60773
- [13.x] Fix Number::forHumans() and abbreviate() scaling tiny decimals by @daffa-aditya-p in https://github.com/laravel/framework/pull/60768
- [13.x] Reset fake time globally after each test, drop redundant Carbon::setTestNow() cleanup by @lucasmichot in https://github.com/laravel/framework/pull/60761
- [13.x] Ensure
make:migrationgenerates collision-free, ordered timestamps prefixes by @NickSdot in https://github.com/laravel/framework/pull/60771 - [13.x] Fix JsonApiResource relationships resolved through a closure by @markwalet in https://github.com/laravel/framework/pull/60752
- [13.x] Fix TrustProxies at:* when multiple proxies are used by @mattford in https://github.com/laravel/framework/pull/60726
-
v13.19.007 Jul 2026Release notes
Open source →- [13.x] Support inspecting reserved jobs on the queue fake by @jackbayliss in https://github.com/laravel/framework/pull/60644
- [13.x] Add
reduceIntomethod to collection by @JosephSilber in https://github.com/laravel/framework/pull/60651 - [13.x] Add
countedmethod toStrandStringableby @JosephSilber in https://github.com/laravel/framework/pull/60649 - [13.x] Ensure
deletedAtColumnis passed toassertSoftDeleted&assertNotSoftDeletedby @jackbayliss in https://github.com/laravel/framework/pull/60657 - [13.x] Pop managed queue jobs from the cloud-agent instead of SQS by @kieranbrown in https://github.com/laravel/framework/pull/60659
- [12.x] Pop managed queue jobs from the cloud-agent instead of SQS by @kieranbrown in https://github.com/laravel/framework/pull/60660
- [12.x] Terminate default style value with a semicolon in ComponentAttributeBag::merge() by @Amirhf1 in https://github.com/laravel/framework/pull/60665
- Bump stefanzweifel/git-auto-commit-action from 7.1.0 to 7.2.0 in the github-actions group by @dependabot[bot] in https://github.com/laravel/framework/pull/60672
- [13.x] Update comment in
Cloud/Queue.phpby @jackbayliss in https://github.com/laravel/framework/pull/60673 - [13.x] Add tests for relative date where clauses by @aligulzar729 in https://github.com/laravel/framework/pull/60675
- [13.x] Add
phpdoc_trim_consecutive_blank_line_separation ruleto pint by @lucasmichot in https://github.com/laravel/framework/pull/60669 - [13.x] Remove deprecated
StaticCallOnNonStaticToInstanceCallRectorfixer rule by @lucasmichot in https://github.com/laravel/framework/pull/60670 - [13.x] Allow mail config options without name by @jackbayliss in https://github.com/laravel/framework/pull/60668
- [13.x] Adjust Queue comment after Dependabot by @jackbayliss in https://github.com/laravel/framework/pull/60679
- [13.x] Send bulk SQS jobs via SendMessageBatch by @kieranbrown in https://github.com/laravel/framework/pull/60645
- [13.x] Add
queryandqueryJsonHTTP testing helpers by @shanerbaner82 in https://github.com/laravel/framework/pull/60662 - [13.x] Add
Http::query()method to the HTTP client by @shanerbaner82 in https://github.com/laravel/framework/pull/60663 - Merge branch '12.x' into 13.x by @crynobone in https://github.com/laravel/framework/pull/60684
- [13.x] Add tests for the date rule's past/future/nowOrPast/nowOrFuture methods by @aligulzar729 in https://github.com/laravel/framework/pull/60687
-
v13.18.102 Jul 2026Release notes
Open source →- [13.x] Allow assertDatabaseEmpty to handle iterable by @jackbayliss in https://github.com/laravel/framework/pull/60621
- [13.x] Add
input()method to console commands by @stevebauman in https://github.com/laravel/framework/pull/60607 - [13.x] Handle api / json routes with Down (Maintenance) command by @davidrushton in https://github.com/laravel/framework/pull/60595
- [13.x] fix: respect channel name for on-demand log stacks by @maltf0 in https://github.com/laravel/framework/pull/60635
- [13.x] Support inspecting delayed jobs on the queue fake by @jackbayliss in https://github.com/laravel/framework/pull/60636
- Add
Releasequeue middleware by @mgcodeur in https://github.com/laravel/framework/pull/60630 - [13.x] Update docblocks of Blueprint foreignUuid and foreignUlid to match foreignId by @LiddleDev in https://github.com/laravel/framework/pull/60643
- Respect the encoding in Str::mask() when building the end of the string by @iammcoding in https://github.com/laravel/framework/pull/60646
- [13.x] Supports scalar Predis retry config to allows
config:cacheby @crynobone in https://github.com/laravel/framework/pull/60642
-
v13.18.030 Jun 2026Release notes
Open source →- [13.x] Further reduce cache hits when using debounced jobs by @jackbayliss in https://github.com/laravel/framework/pull/60575
- Add priority-based registration to dev commands by @joetannenbaum in https://github.com/laravel/framework/pull/60580
- fix: cache headers not set on HEAD requests by @c0defre4k in https://github.com/laravel/framework/pull/60589
- [13.x] Add conditional return types to several methods by @alies-dev in https://github.com/laravel/framework/pull/60586
- [13.x] Sync getter return types with their property generics by @dfinchenko in https://github.com/laravel/framework/pull/60591
- [13.x] Expose jobs processed count and last job timestamp on the WorkerStopping event by @jackbayliss in https://github.com/laravel/framework/pull/60592
- [13.x] Prevent restored event when soft delete restore fails by @Button99 in https://github.com/laravel/framework/pull/60605
- [13.x] Ensure lastJobProcessedAt is null if nothing is processed by @jackbayliss in https://github.com/laravel/framework/pull/60608
- Fix RateLimited middleware not serializing releaseAfter in __sleep() by @Amirhf1 in https://github.com/laravel/framework/pull/60609
- Use
--kill-others-on-failforartisan devby @joetannenbaum in https://github.com/laravel/framework/pull/60606 - [13.x] Fix Number::forHumans() and Number::abbreviate() crashing on INF/NAN by @humamj1 in https://github.com/laravel/framework/pull/60617
- [13.x] Fix Json parsing for top level zero bodies by @Button99 in https://github.com/laravel/framework/pull/60614
- [13.x] schedule:work catch signals by @rforced in https://github.com/laravel/framework/pull/60616
- Bump the github-actions group with 2 updates by @dependabot[bot] in https://github.com/laravel/framework/pull/60622
- [13.x] Fix Number::fileSize crashing on INF/NAN inputs by @Amirhf1 in https://github.com/laravel/framework/pull/60625
- [13.x] Fix flexible() lock and defer label collisions in TaggedCache by @Amirhf1 in https://github.com/laravel/framework/pull/60626
-
v13.17.023 Jun 2026Release notes
Open source →- [12.x] Add multi-type union support to Illuminate JsonSchema by @pushpak1300 in https://github.com/laravel/framework/pull/60462
- [12.x] Add new error messages for detecting lost connections by @mfn in https://github.com/laravel/framework/pull/60472
- [12.x] Ability to refresh cache locks by @bytestream in https://github.com/laravel/framework/pull/58349
- [12.x] Guard JsonSchema deserializer against unbounded $ref expansion by @pushpak1300 in https://github.com/laravel/framework/pull/60524
- [13.x] Improve types of InteractsWithData when* helpers by @dfinchenko in https://github.com/laravel/framework/pull/60536
- [13.x] Add missing @throws \ReflectionException annotations by @dfinchenko in https://github.com/laravel/framework/pull/60535
- [13.x] Add nightly workflow to verify framework install by @jackbayliss in https://github.com/laravel/framework/pull/60532
- [13.x] Fix DevCommands vendor registration check skipping userland frames by @joetannenbaum in https://github.com/laravel/framework/pull/60538
- [13.x] Fix FileStore cache deserialization with short timestamps by @hamdyelbatal122 in https://github.com/laravel/framework/pull/60543
- [13.x] Add missing @throws \InvalidArgumentException annotations by @maiobarbero in https://github.com/laravel/framework/pull/60546
- [12.x] Fix Postgres whereDate/whereTime crash when column is Expression by @irabbi360 in https://github.com/laravel/framework/pull/60540
- [13.x] Add route metadata support by @benbjurstrom in https://github.com/laravel/framework/pull/60530
- [13.x] Make between()/unlessBetween() independent of timezone() call order by @ManicardiFrancesco in https://github.com/laravel/framework/pull/60518
- [13.X] Fix too narrow typehint for validateBoolean and validateNumeric by @chippisc in https://github.com/laravel/framework/pull/60549
- [13.x] Fix: typo by @alipowerful7 in https://github.com/laravel/framework/pull/60556
- [13.x] Fix too narrow array-shape typehints where the first parameter is optional by @dfinchenko in https://github.com/laravel/framework/pull/60553
- [13.x] Add Postgres transaction pooler support by @DGarbs51 in https://github.com/laravel/framework/pull/60425
- [13.x] Should Not Retry Exception Handler by @alexbowers in https://github.com/laravel/framework/pull/60552
- Bump actions/checkout from 6.0.3 to 7.0.0 in the github-actions group by @dependabot[bot] in https://github.com/laravel/framework/pull/60562
- [13.x] Allow brick/math 0.18 by @jackbayliss in https://github.com/laravel/framework/pull/60560
- [13.x] Reduce cache hits when debouncing with maxWait by @jackbayliss in https://github.com/laravel/framework/pull/60559
- Merge branch
12.xby @crynobone in https://github.com/laravel/framework/pull/60568 - Clear transaction manager state on disconnect by @lazerg in https://github.com/laravel/framework/pull/60574
- [13.x] Add
without-migration-dataflag to DumpCommand by @jackbayliss in https://github.com/laravel/framework/pull/60570 - Add
dev:listcommand and track dev command source by @joetannenbaum in https://github.com/laravel/framework/pull/60573
-
v13.16.116 Jun 2026Release notes
Open source →- [13.x] Ensure DevCommands doesnt stop itself from registering by @jackbayliss in https://github.com/laravel/framework/pull/60526
-
v13.16.016 Jun 2026Release notes
Open source →- [13.x] Fix incorrect casing of StdClass in SupportHelpersTest by @Soean in https://github.com/laravel/framework/pull/60479
- [13.x] Fix shell quoting when scheduled commands run as another user by @igorlealantunes in https://github.com/laravel/framework/pull/60469
- [13.x] Improve return type for
Localizable::withLocale()by @axlon in https://github.com/laravel/framework/pull/60466 - [13.x] Allow RouteParameter to use the attributed parameter name by @SanderSander in https://github.com/laravel/framework/pull/60465
- [13.x] Adjust CHANGELOG.md by @jackbayliss in https://github.com/laravel/framework/pull/60464
- [13.x] Add generic to HasEvents::dispatchesEvents() return type by @dfinchenko in https://github.com/laravel/framework/pull/60463
- [13.x] Improve return types for model callback-scope helpers by @dfinchenko in https://github.com/laravel/framework/pull/60481
- [13.x] Support enum for broadcastAs by @alexbowers in https://github.com/laravel/framework/pull/60483
- [13.x] Improve return types for database connection callback wrappers by @dfinchenko in https://github.com/laravel/framework/pull/60484
- [13.x] Add
arraymaintenance mode driver for parallel testing by @ziadoz in https://github.com/laravel/framework/pull/60489 - [13.x] Add
whenFilledEnummethod toInteractsWithDataby @astandkaya in https://github.com/laravel/framework/pull/60486 - [13.x] Add array to supported maintainance mode drivers doc by @jackbayliss in https://github.com/laravel/framework/pull/60490
- Bump esbuild, @tailwindcss/vite and vite in /src/Illuminate/Foundation/resources/exceptions/renderer by @dependabot[bot] in https://github.com/laravel/framework/pull/60501
- Improve return types for the remaining callback-passthrough helpers by @dfinchenko in https://github.com/laravel/framework/pull/60500
- Bump shivammathur/setup-php from 2.37.1 to 2.37.2 in the github-actions group by @dependabot[bot] in https://github.com/laravel/framework/pull/60512
- [13.x] Add missing @throws \JsonException annotations by @dfinchenko in https://github.com/laravel/framework/pull/60514
- [13.x] Improve return types for callback-passthrough interfaces and helpers by @dfinchenko in https://github.com/laravel/framework/pull/60513
- Improve types of
InteractsWithData::whenEnumby @takaram in https://github.com/laravel/framework/pull/60507 - [13.x] Ensure hashtags are removed via release script by @jackbayliss in https://github.com/laravel/framework/pull/60505
- Add anyOf support to JSON schema by @dbpolito in https://github.com/laravel/framework/pull/60509
- [13.x] Fix
Batchable::batchingfor finished batches by @miladev95 in https://github.com/laravel/framework/pull/60511 - [13.x] Add
withCookiesmethod toResponseTraitby @Amirhf1 in https://github.com/laravel/framework/pull/60503 - Add
artisan devcommand by @joetannenbaum in https://github.com/laravel/framework/pull/60412 - [13.x] Add correct return type to FileHelpers extension method by @MatthieuFlaceliere in https://github.com/laravel/framework/pull/60515
- Guard JsonSchema deserializer against unbounded $ref expansion by @pushpak1300 in https://github.com/laravel/framework/pull/60517
- [13.x] Support Queue attributes on traits by @jackbayliss in https://github.com/laravel/framework/pull/60519
- [13.x] Harden HTTP client request and fake response serialization by @GrahamCampbell in https://github.com/laravel/framework/pull/60522
-
v13.15.009 Jun 2026Release notes
Open source →-
[12.x] Fix infinite recursion when defining model scope with attribute as private by @noefleury in https://github.com/laravel/framework/pull/59958
-
[12.x] Fix infinite recursion when middleware group referencing itself by @noefleury in https://github.com/laravel/framework/pull/60002
-
[12.x] Backport #60000 to 12.x by @iWader in https://github.com/laravel/framework/pull/60006
-
[12.x] Narrow attachment url scheme by @benbjurstrom in https://github.com/laravel/framework/pull/60035
-
[12.x] backport #60045 to 12.x by @levikl in https://github.com/laravel/framework/pull/60052
-
[12.x] Back port cloud queues by @timacdonald in https://github.com/laravel/framework/pull/60122
-
[12.x] Fix Number::fileSize() handling of negative byte values by @Amirhf1 in https://github.com/laravel/framework/pull/60147
-
[12.x] Remove stale PHPStan ignore comments from type tests by @jradtilbrook in https://github.com/laravel/framework/pull/60167
-
[12.x] Output cloud request ID in logs by @jradtilbrook in https://github.com/laravel/framework/pull/60166
-
[12.x] Dedicated Cloud Queue by @kieranbrown in https://github.com/laravel/framework/pull/60181
-
[12.x] Rename X-Request-ID header to Cloud-Request-ID by @kieranbrown in https://github.com/laravel/framework/pull/60189
-
[12.x] Boot managed queues before service providers boot by @kieranbrown in https://github.com/laravel/framework/pull/60199
-
[12.x] Accept Symfony's new control-characters exception message in mailer test by @kieranbrown in https://github.com/laravel/framework/pull/60203
-
[12.x] Fix queue:failed command to show real class name by @clementmas in https://github.com/laravel/framework/pull/60279
-
[12.x] Throw ManagedQueueNotFoundException when a managed queue is missing by @kieranbrown in https://github.com/laravel/framework/pull/60276
-
[12.x] Preserve empty HTTP attach contents by @GrahamCampbell in https://github.com/laravel/framework/pull/60291
-
Fix @params typo in Fluent and MessageBag toPrettyJson() docblocks by @Amirhf1 in https://github.com/laravel/framework/pull/60313
-
[12.x] Fix regex typo in Env::addVariableToEnvContents that prevented quotin… by @Amirhf1 in https://github.com/laravel/framework/pull/60312
-
[12.x] Fix Number::trim() returning null for INF and NAN values by @Amirhf1 in https://github.com/laravel/framework/pull/60322
-
[12.x] Fix FIFO queue name normalization in Cloud managed queues by @kieranbrown in https://github.com/laravel/framework/pull/60316
-
[12.x] Fix Number::pairs() infinite loop when $by is zero or negative by @Amirhf1 in https://github.com/laravel/framework/pull/60324
-
[12.x] Ensure path seperators aren't encoded in LocalFilesystemAdapter by @jackbayliss in https://github.com/laravel/framework/pull/60350
-
[12.x] Ensure
configis bound before trying to log deprecation notice by @crynobone in https://github.com/laravel/framework/pull/60376 -
[12.x] Add JSON Schema array deserializer by @pushpak1300 in https://github.com/laravel/framework/pull/60387
-
[13.x] Fix validation bypass in date_equals rule due to loose comparison by @gr8man in https://github.com/laravel/framework/pull/60393
-
[13.x] Add Macroable to InvokedProcess by @yoeriboven in https://github.com/laravel/framework/pull/60392
-
[13.x] Restrict allowed classes in routing unserialization by @gr8man in https://github.com/laravel/framework/pull/60391
-
[13.x] Extract flexible cache created-key prefix into a named constant by @Amirhf1 in https://github.com/laravel/framework/pull/60390
-
[13.x] Add missing type hints to WorkerIdle and listenForSignals to match sibling events by @Amirhf1 in https://github.com/laravel/framework/pull/60389
-
[13.x] Allow enums in Queue::route by @jackbayliss in https://github.com/laravel/framework/pull/60402
-
[13.x] Ensure unchanged compiled Blade views are not left expired by @dansan92 in https://github.com/laravel/framework/pull/60401
-
[12.x] Skip pg_collation lookup in compileColumns() on PostgreSQL servers before 9.1 by @fissible in https://github.com/laravel/framework/pull/60400
-
[13.x] Add units to queue attributes by @jackbayliss in https://github.com/laravel/framework/pull/60431
-
[13.x] Add Prohibitable to
cache:clearandqueue:flushby @jackbayliss in https://github.com/laravel/framework/pull/60430 -
[13.x] Refactor: use
Repository::FLEXIBLE_CREATED_KEY_PREFIXin test by @alipowerful7 in https://github.com/laravel/framework/pull/60424 -
[13.x] Refactor: add
\JsonExceptionby @alipowerful7 in https://github.com/laravel/framework/pull/60423 -
[13.x] Add generics to DatabaseTransactionsManager transaction getters by @dfinchenko in https://github.com/laravel/framework/pull/60420
-
[13.x] Fix: add
@throws \ReflectionExceptionby @alipowerful7 in https://github.com/laravel/framework/pull/60436 -
[13.x] Fix: add
|nullin doc blocks by @alipowerful7 in https://github.com/laravel/framework/pull/60435 -
Merge branch 12.x by @crynobone in https://github.com/laravel/framework/pull/60441
-
[13.x] fix model:prune Command options validation typo by @clemblanco in https://github.com/laravel/framework/pull/60444
-
[13.x] Add typed translation accessors by @dansan92 in https://github.com/laravel/framework/pull/60443
-
[13.x] Fix HandleExceptions fatal when static::$app is null during Octane request marshaling by @majidfeiz in https://github.com/laravel/framework/pull/60439
-
[13.x] Adjust PruneCommandTest by @jackbayliss in https://github.com/laravel/framework/pull/60445
-
[13.x] Add generic to QueueRoutes::all() return type by @dfinchenko in https://github.com/laravel/framework/pull/60447
-
[13.x] Pass reflection parameter to contextual attribute resolve method by @SanderSander in https://github.com/laravel/framework/pull/60457
-
Add multi-type union support to Illuminate JsonSchema by @pushpak1300 in https://github.com/laravel/framework/pull/60455
-
[13.x] Cache
rememberWithState()by @cosmastech in https://github.com/laravel/framework/pull/60385
-
-
v13.14.004 Jun 2026Release notes
Open source →- [13.x] Register the lazy refresh hook on all connections by @tontonsb in https://github.com/laravel/framework/pull/60359
- [13.x] Cache falsy JSON payloads in HTTP client responses by @Button99 in https://github.com/laravel/framework/pull/60357
- GitHub Actions hardening by @nunomaduro in https://github.com/laravel/framework/pull/60363
- Bump the github-actions group with 4 updates by @dependabot[bot] in https://github.com/laravel/framework/pull/60364
- [13.x] Fix
Request::createFromBase()compatibility with Symfony 8.1 by @irabbi360 in https://github.com/laravel/framework/pull/60354 - [13.x] Set default cooldown for GitHub Actions updates by @JurianArie in https://github.com/laravel/framework/pull/60368
- [13.x] Fix
Message::embeddata attachment handling by @miladev95 in https://github.com/laravel/framework/pull/60361 - [13.x] Namespace the cloud logging formatter by @timacdonald in https://github.com/laravel/framework/pull/60362
- Grant contents: read to pull requests workflow by @nunomaduro in https://github.com/laravel/framework/pull/60370
- [13.x] Respect child queue properties over inherited attributes by @mattiasgeniar in https://github.com/laravel/framework/pull/60369
- Grant contents: read and pull-requests: write to issues workflow by @nunomaduro in https://github.com/laravel/framework/pull/60371
- Use least-privilege permissions for pull requests and issues workflows by @nunomaduro in https://github.com/laravel/framework/pull/60372
- Pin pull requests and issues workflows to latest laravel/.github by @nunomaduro in https://github.com/laravel/framework/pull/60373
- Enable Dependabot auto-merge by @nunomaduro in https://github.com/laravel/framework/pull/60383
- [13.x] Foundation\Cloud\Events: remove an unused import and fix docblock by @oliverquynh in https://github.com/laravel/framework/pull/60378
- [13.x] Fix StartSession docblock by @oliverquynh in https://github.com/laravel/framework/pull/60375
- [13.x] Add JSON Schema array deserializer by @pushpak1300 in https://github.com/laravel/framework/pull/60384
- [13.x] Add queue to InspectedJob by @jackbayliss in https://github.com/laravel/framework/pull/60374
- [13.x] Fix treatment of null headers by @GrahamCampbell in https://github.com/laravel/framework/pull/60386
- [13.x] Add units to DebounceFor by @jackbayliss in https://github.com/laravel/framework/pull/60388
-
v13.13.002 Jun 2026Release notes
Open source →- [13.x] Add stan ignore for MySqlSchemaState by @jackbayliss in https://github.com/laravel/framework/pull/60284
- [13.x] Add attachFromStorage helpers to notification MailMessage by @LucasCavalheri in https://github.com/laravel/framework/pull/60268
- [13.x] Allow Http Client to be used as PSR Client by @willrowe in https://github.com/laravel/framework/pull/60295
- [13.x] Normalize HTTP client header values by @GrahamCampbell in https://github.com/laravel/framework/pull/60292
- [13.x] Report MultipleRecordsFoundException from sole() by @PeteBishwhip in https://github.com/laravel/framework/pull/60294
- [13.x] Hint unit in
UniqueForby @cosmastech in https://github.com/laravel/framework/pull/60289 - [13.x] Fix inverted ratio comparison operators in image dimension validation by @Button99 in https://github.com/laravel/framework/pull/60290
- [13.x] Allow scheduler to opt out of pause and interrupt cache checks by @jackbayliss in https://github.com/laravel/framework/pull/60226
- [13.x] Enhance Cache attribute to support memoization by @jenky in https://github.com/laravel/framework/pull/60309
- [13.x] Indicate an event was skipped by @cosmastech in https://github.com/laravel/framework/pull/60311
- [13.x] Fix
Illuminate\Http\Responsecompatibility against Symfony 8.1 by @crynobone in https://github.com/laravel/framework/pull/60318 - fix: fix isUniqueConstraintError to catch SQL Server error 2627 by @ErfanMomeniii in https://github.com/laravel/framework/pull/60320
- [13.x] Fix FIFO queue name normalization in Cloud managed queues by @kieranbrown in https://github.com/laravel/framework/pull/60315
- fix:
whereDateandwhereTimecrash when $column is anExpressionby @ahawlitschek in https://github.com/laravel/framework/pull/60314 - [13.x] Introduce Bus::bulk() by @jackbayliss in https://github.com/laravel/framework/pull/60297
- [13.x] Fix time-sensitive flaky test in NotificationDatabaseChannelTest by @KentarouTakeda in https://github.com/laravel/framework/pull/60333
- fix: Add content_id to inline attachment handling in CloudflareTransport by @pablo-gonzalez-helpwan in https://github.com/laravel/framework/pull/60330
- [13.x] Add payload to InspectedJob by @jackbayliss in https://github.com/laravel/framework/pull/60326
- Added MariaDB vector index capability by @michielvaneerd in https://github.com/laravel/framework/pull/60334
- Fix @theme directive collision in health check view by @cathrinevaage in https://github.com/laravel/framework/pull/60340
- [13.x] Remove unused variables from tests by @oliverquynh in https://github.com/laravel/framework/pull/60338
- [13.x] fix: Queue and Connection attributes in Mailable::queue() and later() by @irabbi360 in https://github.com/laravel/framework/pull/60328
- [13.x] Fix ValidationImageFileRuleTest by @jackbayliss in https://github.com/laravel/framework/pull/60348
- [13.x]
schedule:pausecommand should error when its disabled by @jackbayliss in https://github.com/laravel/framework/pull/60347
-
v13.12.026 May 2026Release notes
Open source →- [13.x] Accept Symfony's new control-characters exception message in mailer test by @kieranbrown in https://github.com/laravel/framework/pull/60202
- [13.x] Ability to opt out of worker restart on lost connection by @jackbayliss in https://github.com/laravel/framework/pull/60201
- [13.x] Resolve scheduled event callback parameter by type rather than name by @kayw-geek in https://github.com/laravel/framework/pull/60197
- [13.x] default clear() queue driver param to null by @jackbayliss in https://github.com/laravel/framework/pull/60192
- [13.x] Fix path separator being encoded for LocalFilesystemAdapter by @jackbayliss in https://github.com/laravel/framework/pull/60194
- [13.x] feat: add factory to pivot stub by @ludo237 in https://github.com/laravel/framework/pull/60204
- [13.x] Fix incorrect type hint in Optional::offsetUnset() docblock by @rpsohag in https://github.com/laravel/framework/pull/60207
- [13.x] Make ClearCommand prohibitable by @jackbayliss in https://github.com/laravel/framework/pull/60215
- [13.x] Allow auto discovered listeners to opt out of discovery by @jackbayliss in https://github.com/laravel/framework/pull/60209
- [13.x] Ensure Up/Down commands report exceptions by @jackbayliss in https://github.com/laravel/framework/pull/60232
- [13.x] Fix path separator encoding in temporaryUrl on local disk by @kayw-geek in https://github.com/laravel/framework/pull/60230
- [13.x] Add assertJsonPathsCanonicalizing to TestResponse by @Tresor-Kasenda in https://github.com/laravel/framework/pull/60225
- [13.x] Add
normalizeparameter toStr::studly()andStr::pascal()by @hotmeteor in https://github.com/laravel/framework/pull/60229 - [13.x] Fix async HTTP retries when using array backoff values by @LucasCavalheri in https://github.com/laravel/framework/pull/60214
- [13.x] Replace compact with explicit arrays by @parkourben99 in https://github.com/laravel/framework/pull/60234
- [13.x] Add prohibited to KeyGenerateCommand by @jackbayliss in https://github.com/laravel/framework/pull/60224
- [13.x] remove last
compact()call by @browner12 in https://github.com/laravel/framework/pull/60235 - [13.x] Allow JsonSchema fluent boolean flags to be unset by @LucasCavalheri in https://github.com/laravel/framework/pull/60239
- [13.x] battle harden when scheme is present in the config by @DGarbs51 in https://github.com/laravel/framework/pull/60237
- [13.x] Rector : Always convert
compact()to variables by @lucasmichot in https://github.com/laravel/framework/pull/60236 - [13.x] Add attributes to Scheduler by @cosmastech in https://github.com/laravel/framework/pull/60255
- [13.x] Guard base_path() call in SQLiteConnector for standalone usage by @YoussefMansour9 in https://github.com/laravel/framework/pull/60266
- [13.x] Fix incorrect @return types in Number::spell(), ordinal(), and spellOrdinal() by @AmdadulShakib in https://github.com/laravel/framework/pull/60263
- [13.x] Supports using URI-based connection for SQLite using
file:prefix by @crynobone in https://github.com/laravel/framework/pull/60261 - [13.x] Add
Client\Request::uri()by @stevebauman in https://github.com/laravel/framework/pull/60282 - [13.x] View\Factory::flushComponents() doesn't reset $slots / $slotStack by @martinsoenen in https://github.com/laravel/framework/pull/60283
- [13.x] Throw ManagedQueueNotFoundException when a managed queue is missing by @kieranbrown in https://github.com/laravel/framework/pull/60275
-
v13.11.220 May 2026Release notes
Open source →- [13.x] Fix lifecycle deferred event methods by @cosmastech in https://github.com/laravel/framework/pull/60190
- [13.x] Boot managed queues before service providers boot by @kieranbrown in https://github.com/laravel/framework/pull/60198
-
v13.11.119 May 2026Release notes
Open source →- Normalize Windows env variable comparison in ServeCommand by @wangchenxudev in https://github.com/laravel/framework/pull/60183
- [13.x] Rename X-Request-ID header to Cloud-Request-ID by @kieranbrown in https://github.com/laravel/framework/pull/60188
-
v13.11.019 May 2026Release notes
Open source →- [13.x] Dedicated Cloud Queue by @kieranbrown in https://github.com/laravel/framework/pull/60180
-
v13.10.019 May 2026Release notes
Open source →- [13.x] Improve queue metric tests by @timacdonald in https://github.com/laravel/framework/pull/60124
- [13.x] Add tests for SeeInHtml constraint covering unicode whitespace by @scabarcas17 in https://github.com/laravel/framework/pull/60128
- [13.x] Fix starts_with/ends_with rules rejecting numeric values by @aydinfatih in https://github.com/laravel/framework/pull/60120
- Fix typo in docblock for listManagementOptions method in SesV2Transport by @daliendev in https://github.com/laravel/framework/pull/60115
- [13.x] Fix typo in mergeAttributeFromCachedCasts() PHPDoc comment by @mosabbirrakib in https://github.com/laravel/framework/pull/60112
- [13.x] Optimize Worker queue pause check by @jackbayliss in https://github.com/laravel/framework/pull/60109
- [13.x] Fix typo in preg_replace_array() PHPDoc comment by @mosabbirrakib in https://github.com/laravel/framework/pull/60111
- Add storage store by @taylorotwell in https://github.com/laravel/framework/pull/60131
- Fix typo in Builder::getRelation() comment by @rpsohag in https://github.com/laravel/framework/pull/60130
- URL Encode Paths by @taylorotwell in https://github.com/laravel/framework/pull/60137
- [13.x] Add WorkerIdle event by @jackbayliss in https://github.com/laravel/framework/pull/60134
- [13.x] Replace @return with @var on docblocks for properties in tests by @scabarcas17 in https://github.com/laravel/framework/pull/60132
- [13.x] Pass WorkerOptions to Pausing/Resuming/Interrupted by @jackbayliss in https://github.com/laravel/framework/pull/60135
- [13.x] Switch force check in Worker by @jackbayliss in https://github.com/laravel/framework/pull/60145
- [13.x] Skip delimiter filesystem tests on Windows by @jackbayliss in https://github.com/laravel/framework/pull/60143
- Delimit aggregate alias by @willrowe in https://github.com/laravel/framework/pull/60140
- [13.x] Allow lifecycle and output callbacks on Schedule::group() by @cosmastech in https://github.com/laravel/framework/pull/60133
- [13.x] Allow passing scheduled
Eventin callbacks by @cosmastech in https://github.com/laravel/framework/pull/60144 - Validate against line breaks in emails by @taylorotwell in https://github.com/laravel/framework/pull/60151
- [13.x] Add
assertPushedOnce()by @weshooper in https://github.com/laravel/framework/pull/60150 - [13.x] Fix callable usage in
Event@callEventCallback()by @cosmastech in https://github.com/laravel/framework/pull/60148 - [13.x] Fix numeric property names being cast to integers in JsonSchema requi… by @irabbi360 in https://github.com/laravel/framework/pull/60149
- [13.x] Pass worker options to Looping by @jackbayliss in https://github.com/laravel/framework/pull/60153
- [13.x] Support enum queue names in QueueFake by @Tresor-Kasenda in https://github.com/laravel/framework/pull/60161
- [13.x] Remove obsolete @phpstan-ignore clauses by @jnoordsij in https://github.com/laravel/framework/pull/60164
- [13.x] Consistent test OS attributes by @jnoordsij in https://github.com/laravel/framework/pull/60162
- Output cloud request ID in logs by @jradtilbrook in https://github.com/laravel/framework/pull/60156
- [13.x] Optionally flush the SQS overflow store on queue:clear by @Orrison in https://github.com/laravel/framework/pull/60138
- [13.x] Add JSON output option to ListFailedCommand and corresponding tests by @Tresor-Kasenda in https://github.com/laravel/framework/pull/60168
- [13.x] Add schema foreign key existence helper by @Tresor-Kasenda in https://github.com/laravel/framework/pull/60169
- Stop when empty for by @taylorotwell in https://github.com/laravel/framework/pull/60176
- [13.x] Add initial value type to return of
reduceandreduceWithKeysby @jnoordsij in https://github.com/laravel/framework/pull/60178 - [13.x] Fix incorrect type hint in EncodedHtmlString::convert() docblock by @rpsohag in https://github.com/laravel/framework/pull/60186
-
v13.9.013 May 2026Release notes
Open source →- [13.x] Fix issue using custom aws credential providers by @iWader in https://github.com/laravel/framework/pull/60000
- [13.x] Revert "Correct Factory::configure @return to $this (#59963)" by @jnoordsij in https://github.com/laravel/framework/pull/60004
- [13.x] Replace
mb_splitwithpreg_splitby @jnoordsij in https://github.com/laravel/framework/pull/60012 - [13.x] Keep calls to implode() consistent by @lucasmichot in https://github.com/laravel/framework/pull/60013
- [13.x] update
rand()tomt_rand()by @browner12 in https://github.com/laravel/framework/pull/60018 - [13.x] remove
mt_srand()deprecated "mode" argument by @browner12 in https://github.com/laravel/framework/pull/60020 - [13.x] Remove useless
fail-fastoption by @lucasmichot in https://github.com/laravel/framework/pull/60019 - [13.x] Prefer spaceship operator when possible by @lucasmichot in https://github.com/laravel/framework/pull/60015
- [13.x] Fix incorrectly opened DocBlocks by @CasEbb in https://github.com/laravel/framework/pull/60014
- [13.x] Ensure that the named arguments are sorted during a call by @lucasmichot in https://github.com/laravel/framework/pull/60017
- [13.x] Rely on guzzlehttp/psr7 for nested multipart array expansion - Fix #59992 by @RomainMazB in https://github.com/laravel/framework/pull/59984
- [13.x] Add PreparesForDispatch interface for Jobs by @jackbayliss in https://github.com/laravel/framework/pull/59879
- Add support to scoped filesystem for Cloud by @jeremynikolic in https://github.com/laravel/framework/pull/60030
- [13.x] Unused
$parametersinvalidate*case()by @weshooper in https://github.com/laravel/framework/pull/60024 - [13.x] Narrow attachment url scheme by @benbjurstrom in https://github.com/laravel/framework/pull/60034
- [13.x] Skip allocation in mergeFillable/Appends/Hidden/Visible when input is empty by @olivier-zenchef in https://github.com/laravel/framework/pull/60008
- add generic return types to
Builderpaginate methods by @levikl in https://github.com/laravel/framework/pull/60045 - [13.x] Make PendingDispatch conditionable by @kevinb1989 in https://github.com/laravel/framework/pull/60047
- [13.x] Display error in
queue:pausewhenWorkerisn't pausable by @weshooper in https://github.com/laravel/framework/pull/60023 - [13.x] Add tests for
Attachment::fromUrl()URL scheme validation by @mdalikadar in https://github.com/laravel/framework/pull/60054 - [13.x] Fix @params typo in toPrettyJson docblocks by @mosabbirrakib in https://github.com/laravel/framework/pull/60050
- [13.x] re-add docblock for
apply()method by @browner12 in https://github.com/laravel/framework/pull/60055 - [13.x] Add unicode modifier to preg_split by @rodrigopedra in https://github.com/laravel/framework/pull/60056
- [13.x] Add name to MigrationStarted/MigrationEnded events by @jackbayliss in https://github.com/laravel/framework/pull/60059
- [13.x] Ability to override the Worker timeout exit code by @jackbayliss in https://github.com/laravel/framework/pull/60072
- [13.x] Add method to convert a Password instance to a passwordrules string by @imliam in https://github.com/laravel/framework/pull/60070
- add index for database performance by @DGarbs51 in https://github.com/laravel/framework/pull/60073
- [13.x] Add optional disk storage for large SQS queue payloads by @Orrison in https://github.com/laravel/framework/pull/59734
- [13.x] Cloud queue metrics by @timacdonald in https://github.com/laravel/framework/pull/60074
- [13.x] reset Lottery on test case teardown by @cosmastech in https://github.com/laravel/framework/pull/60083
- [13.x] Add support for
after_commitfor Cloud queue metrics by @timacdonald in https://github.com/laravel/framework/pull/60078 - [13.x] Remove Composer
github-oauthcredentials on Linux & Windows Actions by @crynobone in https://github.com/laravel/framework/pull/60095 - Revert "[13.x] Remove Composer
github-oauthcredentials on Linux & Windows Actions" by @crynobone in https://github.com/laravel/framework/pull/60100 - [13.x] Support config caching with Cloud queues by @timacdonald in https://github.com/laravel/framework/pull/60094
- [13.x] Support Concurrency Run Timeouts by @dbpolito in https://github.com/laravel/framework/pull/60105
- [13.x] Allow passing a Closure to
ThrottlesExceptionsmiddleware by @cosmastech in https://github.com/laravel/framework/pull/60103 - [13.x] Add enum support to contextual attribute binding by @Tresor-Kasenda in https://github.com/laravel/framework/pull/60092
- [13.x] Add foreignUuidFor schema helper by @Tresor-Kasenda in https://github.com/laravel/framework/pull/60091
- [13.x] Add unicode modifier to SeeInHtml normalize whitespace regex by @mosabbirrakib in https://github.com/laravel/framework/pull/60090
- [13.x] Replace @return with @var on property docblocks by @mosabbirrakib in https://github.com/laravel/framework/pull/60087
- Fix grammatical error in Lottery::alwaysLose() PHPDoc comment by @rpsohag in https://github.com/laravel/framework/pull/60086
- Fix typo in Sleep::microsecond() PHPDoc comment by @rpsohag in https://github.com/laravel/framework/pull/60085
-
v13.8.005 May 2026Release notes
Open source →- [12.x]
schedule:listdisplay expression in the correct timezone by @xiCO2k in https://github.com/laravel/framework/pull/59307 - [12.x] Fix validation wildcard array message type error by @sadique-cws in https://github.com/laravel/framework/pull/59339
- Preserve class type of mocked classes by @AJenbo in https://github.com/laravel/framework/pull/59353
- Preserve types on partialMock() and spy() by @AJenbo in https://github.com/laravel/framework/pull/59384
- Fix missing UnitEnum support in ModelNotFoundException by @jtheuerkauf in https://github.com/laravel/framework/pull/59423
- [12.x] Fix macros with static closures by @FeBe95 in https://github.com/laravel/framework/pull/59449
- Correct Storage::fake() return type by @AJenbo in https://github.com/laravel/framework/pull/59469
- [12.x] Fix callable type for freezeTime, freezeSecond, and travelTo by @nbayramberdiyev in https://github.com/laravel/framework/pull/59466
- [12.x] Support string abstract in mock/partialMock/spy PHPDoc by @kayw-geek in https://github.com/laravel/framework/pull/59477
- Document thrown exceptions in FilesystemAdapter by @AJenbo in https://github.com/laravel/framework/pull/59534
- Hint \Redis
@mixinon Connection by @AJenbo in https://github.com/laravel/framework/pull/59532 - [12.x] Use PDO subclass polyfill by @jnoordsij in https://github.com/laravel/framework/pull/59640
- [12.x] Fix infinite rate limiter TTL on custom increments by @paulandroshchuk in https://github.com/laravel/framework/pull/59693
- [12.x] Support named credential providers for SQS queue connections by @kieranbrown in https://github.com/laravel/framework/pull/59754
- [12.x] Prevent array to string conversion in signature validation by @alies-dev in https://github.com/laravel/framework/pull/59778
- [12.x] Memoize credentials in SqsConnector by @kieranbrown in https://github.com/laravel/framework/pull/59867
- [12.x] Disable pausing on managed queue workers by @kieranbrown in https://github.com/laravel/framework/pull/59871
- [DRAFT] Verify merging
12.xbranch by @crynobone in https://github.com/laravel/framework/pull/59929 - [13.x] Exclude expired locks in DatabaseLock::isLock by @JurianArie in https://github.com/laravel/framework/pull/59948
- [13.x] Merge attribute-provided middleware with existing middleware by @jnoordsij in https://github.com/laravel/framework/pull/59944
- [13.x] Tighten getCurrentSchemaListing @return in MySQL and SQLite builders by @mosabbirrakib in https://github.com/laravel/framework/pull/59942
- [13.x] Correct Repository::setStore @return to $this by @mosabbirrakib in https://github.com/laravel/framework/pull/59940
- [13.x] Correct Limit::none() @return type to Unlimited by @mosabbirrakib in https://github.com/laravel/framework/pull/59938
- [13.x] Add collation to processColumns and getColumns return shape by @mosabbirrakib in https://github.com/laravel/framework/pull/59937
- [13.x] Mark processViews schema field nullable in @return shape by @mosabbirrakib in https://github.com/laravel/framework/pull/59941
- Improve docblock wording in AurthorizationException by @Talha-74 in https://github.com/laravel/framework/pull/59930
- [13.x] Add Worker Pausing/Resuming events by @jackbayliss in https://github.com/laravel/framework/pull/59895
- [13.x] Allow PHPStan to infer the pivot type when passing the pivot model directly by @axlon in https://github.com/laravel/framework/pull/59959
- [13.x] Document missing $health param on ApplicationBuilder::withRouting by @mosabbirrakib in https://github.com/laravel/framework/pull/59968
- [13.x] Correct Log\Context\Repository::handleUnserializeExceptionsUsing @return to $this by @mosabbirrakib in https://github.com/laravel/framework/pull/59965
- [13.x] Correct Attribute caching toggles @return to $this by @mosabbirrakib in https://github.com/laravel/framework/pull/59962
- [13.x] Correct Factory::configure @return to $this by @mosabbirrakib in https://github.com/laravel/framework/pull/59963
- [13.x] Correct Translator::handleMissingKeysUsing @return to $this by @mosabbirrakib in https://github.com/laravel/framework/pull/59964
- [13.x] Correct Password::min @return to static by @mosabbirrakib in https://github.com/laravel/framework/pull/59967
- [13.x] Mark processIndexes type field nullable in @return shape by @mosabbirrakib in https://github.com/laravel/framework/pull/59961
- Add
assertSessionMissingInputby @jasonmccreary in https://github.com/laravel/framework/pull/59970 - [13.x] Mark generation type field nullable in processColumns @return shape by @mosabbirrakib in https://github.com/laravel/framework/pull/59960
- [13.x] Allow custom on delete/update by @JurianArie in https://github.com/laravel/framework/pull/59986
- Allow mail default driver to accept enums by @Tresor-Kasenda in https://github.com/laravel/framework/pull/59973
- [13.x] LocalScope private recursion by @jackbayliss in https://github.com/laravel/framework/pull/59979
- [13.x] Add an environment filter to the
schedule:listcommand by @m-fi in https://github.com/laravel/framework/pull/59993 - [13.x] Add generic result type to collection min/max methods by @jnoordsij in https://github.com/laravel/framework/pull/59991
- [13.x] Drop 12.x release notes and update heading by @jnoordsij in https://github.com/laravel/framework/pull/59987
- [13.x] Add enum support to QueueFake assertPushedOn method by @riesjart in https://github.com/laravel/framework/pull/59990
- [13.x] Improvements to collection sort docblocks by @jnoordsij in https://github.com/laravel/framework/pull/59988
- [13.x] Add all* queue inspection methods by @jackbayliss in https://github.com/laravel/framework/pull/59997
- [13.x] Add support for
SortDirectionenum to query builder classes by @jnoordsij in https://github.com/laravel/framework/pull/59865
- [12.x]
-
v13.7.028 Apr 2026Release notes
Open source →- [13.x] Apply rector fixes by @lucasmichot in https://github.com/laravel/framework/pull/59787
- Support enum in LazyCollection -> keyBy() by @Back1ng in https://github.com/laravel/framework/pull/59809
- [13.x] Add enum support to ConcurrencyManager driver method by @maherelgamil in https://github.com/laravel/framework/pull/59801
- [13.x] Allow arrays for assertSoftDeleted & assertNotSoftDeleted by @jackbayliss in https://github.com/laravel/framework/pull/59796
- [13.x] Extract exception context in
JsonFormatterwhenExceptionHandleris not bound by @cosmastech in https://github.com/laravel/framework/pull/59799 - [13.x] Add isLocked to the Lock class by @jackbayliss in https://github.com/laravel/framework/pull/59791
- Fix route registration for domain-scoped routes by @Bottelet in https://github.com/laravel/framework/pull/59793
- [13.x] Mark
Scope@applybuilder parameter as having covariant template by @jnoordsij in https://github.com/laravel/framework/pull/59790 - [13.x] Allowing
DebounceForattribute to be inherited by @TWithers in https://github.com/laravel/framework/pull/59795 - [13.x] Fix PendingDispatch resolving Cache for every dispatched job by @sumaiazaman in https://github.com/laravel/framework/pull/59821
- [13.x] Add bulk JSON path assertions to TestResponse by @cyrodjohn in https://github.com/laravel/framework/pull/59829
- [13.x] Fix false positives in LazyCollection::has() for duplicate keys by @Button99 in https://github.com/laravel/framework/pull/59832
- [13.x] Add UnitEnum type support for $limiterName on RateLimitedWithRedis by @trippo in https://github.com/laravel/framework/pull/59841
- [13.x] Allow jobs to react to worker signals by @jackbayliss in https://github.com/laravel/framework/pull/59833
- [13.x] Honor empty JSON:API sparse fieldsets by @prateekbhujel in https://github.com/laravel/framework/pull/59813
- [13.x] Fix flaky DynamoBatchTest timing assertions by @sumaiazaman in https://github.com/laravel/framework/pull/59844
- [13.x] Memoize credentials in SqsConnector by @kieranbrown in https://github.com/laravel/framework/pull/59866
- [13.x] Disable pausing on managed queue workers by @kieranbrown in https://github.com/laravel/framework/pull/59870
- [13.x] Fix getMigrationBatches return type annotation by @mahfuz-rahman007 in https://github.com/laravel/framework/pull/59876
- [13.x] Fix PHPDoc typo in MigrationRepositoryInterface by @mahfuz-rahman007 in https://github.com/laravel/framework/pull/59875
- [13.x] Add UnitEnum support to Cache Repository touch method by @shane-zeng in https://github.com/laravel/framework/pull/59864
- [13.x] Prevent array query params from bypassing signed URL validation by @maherelgamil in https://github.com/laravel/framework/pull/59860
- [13.x] Add enum support to setDefaultDriver in QueueManager, LogManager, and SessionManager by @maherelgamil in https://github.com/laravel/framework/pull/59861
- [13.x] Add enum support to RedisManager purge method by @genius-asif-hub in https://github.com/laravel/framework/pull/59857
- [13.x] Fix factory hasAttached method pivot JSON attribute handling by @rmd974 in https://github.com/laravel/framework/pull/59856
- [13.x] Implement CanFlushLocks on NullStore and MemoizedStore by @sumaiazaman in https://github.com/laravel/framework/pull/59850
- [13.x] Introduce WorkerInterrupted event by @jackbayliss in https://github.com/laravel/framework/pull/59848
- [13.x] Fix MigrationRepositoryInterface return type docblocks (object vs array) by @mosabbirrakib in https://github.com/laravel/framework/pull/59887
- int argument for Collection::sortBy() by @lorenzolosa in https://github.com/laravel/framework/pull/59894
- [13.x] Add detailed @return shape to Schema\Builder::getForeignKeys by @maherelgamil in https://github.com/laravel/framework/pull/59903
- [13.x] Fix EloquentModelDecimalCastingTest assertion across brick/math versions by @maherelgamil in https://github.com/laravel/framework/pull/59904
- [13.x] Correct Lock getCurrentOwner @return type to string|null by @mosabbirrakib in https://github.com/laravel/framework/pull/59890
- [13.x] Correct Batch fresh and add @return to self|null by @mosabbirrakib in https://github.com/laravel/framework/pull/59891
- [13.x] Align Mailable::cc @return with sibling fluent methods by @mosabbirrakib in https://github.com/laravel/framework/pull/59892
- [13.x] Add support for
SortDirectionenum to collections and Arr by @jnoordsij in https://github.com/laravel/framework/pull/59859 - Add @fonts Blade directive and Vite font optimization runtime by @WendellAdriel in https://github.com/laravel/framework/pull/59584
- [13.x] Refactor: add
matchby @alipowerful7 in https://github.com/laravel/framework/pull/59914 - [13.x] Refactor: remove unnecessary call function by @alipowerful7 in https://github.com/laravel/framework/pull/59915
- [13.x] Refactor: improve tests by @alipowerful7 in https://github.com/laravel/framework/pull/59912
- Align Enumerable all, times and range @return with implementations by @mosabbirrakib in https://github.com/laravel/framework/pull/59911
- Align Enumerable search and flatten @return with implementations by @mosabbirrakib in https://github.com/laravel/framework/pull/59910
- Specify Translation Loader namespaces shape by @mosabbirrakib in https://github.com/laravel/framework/pull/59913
- Fix duplicate type key in getTypes/processTypes return shape by @mosabbirrakib in https://github.com/laravel/framework/pull/59909
- int argument for sortByDesc and Enumerable sort methods by @mosabbirrakib in https://github.com/laravel/framework/pull/59907
- Match processForeignKeys return shape to Builder::getForeignKeys by @mosabbirrakib in https://github.com/laravel/framework/pull/59908
-
v13.6.021 Apr 2026Release notes
Open source →- [13.x] Use
version_comparefunction by @lucasmichot in https://github.com/laravel/framework/pull/59687 - [13.x] Flip misordered assertions arguments by @lucasmichot in https://github.com/laravel/framework/pull/59691
- [13.x] Remove unused variable in
catch()by @lucasmichot in https://github.com/laravel/framework/pull/59689 - [13.x] Fix number abbreviation rollover between unit tiers by @Button99 in https://github.com/laravel/framework/pull/59692
- [13.x ]Use Null and Isset coalescing when possible by @lucasmichot in https://github.com/laravel/framework/pull/59690
- [13.x] Change
countarray comparison to empty array comparison to improve performance by @lucasmichot in https://github.com/laravel/framework/pull/59688 - [13.x] testsuite by @lucasmichot in https://github.com/laravel/framework/pull/59702
- [13.x] Enforce static calls by @lucasmichot in https://github.com/laravel/framework/pull/59704
- [13.x] Allow Table Attribute on child to override parent by @jackbayliss in https://github.com/laravel/framework/pull/59701
- [13.x] Return null from Cursor::fromEncoded for malformed payloads by @bipinks in https://github.com/laravel/framework/pull/59699
- [13.x] Port forward rate limiter fix by @paulandroshchuk in https://github.com/laravel/framework/pull/59706
- [13.x] Add debounceable queued jobs by @matthewnessworthy in https://github.com/laravel/framework/pull/59507
- [13.x] Support JSON responses for the built-in health route by @WendellAdriel in https://github.com/laravel/framework/pull/59710
- [13.x] Ensure Queue::route string defaults to queue only by @jackbayliss in https://github.com/laravel/framework/pull/59711
- [13.x] Fix failOnUnknownFields query parameter handling by @cyrodjohn in https://github.com/laravel/framework/pull/59728
- [13.x] Fix flaky QueueWorkerTest by freezing time before computing retryUntil by @bipinks in https://github.com/laravel/framework/pull/59727
- [13.x] Allow array of pivot arrays to be passed to hasAttached by @jackbayliss in https://github.com/laravel/framework/pull/59723
- [13.x] Fix TypeError in digits_between validation rule on non-string values by @sumaiazaman in https://github.com/laravel/framework/pull/59717
- [13.x] Add enum support to PasswordBrokerManager by @sumaiazaman in https://github.com/laravel/framework/pull/59714
- [13.x] Add enum support to BroadcastManager by @sumaiazaman in https://github.com/laravel/framework/pull/59713
- Change attempts column type from tiny to small integer by @ju-gow in https://github.com/laravel/framework/pull/59718
- [13.x] Get rid of useless Mockery::close by @lucasmichot in https://github.com/laravel/framework/pull/59730
- [13.x] Fix Vite CSS not loaded from nested chunk imports by @karim1999 in https://github.com/laravel/framework/pull/59662
- [13.x] Support named credential providers for SQS queue connections by @kieranbrown in https://github.com/laravel/framework/pull/59733
- [13.x] Enforce stricter assertions by @lucasmichot in https://github.com/laravel/framework/pull/59749
- [13.x] Cast to string before preg_match in decimal, max_digits, and min_digits rules by @sumaiazaman in https://github.com/laravel/framework/pull/59739
- [13.x] Ignore PHPUnit security advisory GHSA-qrr6-mg7r-m243 by @sumaiazaman in https://github.com/laravel/framework/pull/59761
- [13.x] Allow assertDatabase has & missing to accept arrays by @jackbayliss in https://github.com/laravel/framework/pull/59752
- [13.x ] Normalize Carbon by @lucasmichot in https://github.com/laravel/framework/pull/59750
- [13.x] Implement CanFlushLocks on FailoverStore by @sumaiazaman in https://github.com/laravel/framework/pull/59738
- [13.x] Validate MAC across all decryption keys by @ma32kc in https://github.com/laravel/framework/pull/59742
- [13.x] Use generic TModel in additional places in Factory class by @jnoordsij in https://github.com/laravel/framework/pull/59780
- [13.x] Ensure assertModelMissing and assertModelExists dont silently pass by @jackbayliss in https://github.com/laravel/framework/pull/59772
- [13.x] Introduce
JsonFormatterby @cosmastech in https://github.com/laravel/framework/pull/59756 - [13.x] Add prefersJsonResponses() to the application builder by @WendellAdriel in https://github.com/laravel/framework/pull/59753
- [13.x] Add support for Cloudflare Email Service by @dwightwatson in https://github.com/laravel/framework/pull/59735
- [13.x] Add enum support to NotificationChannelManager channel and driver methods by @yousefkadah in https://github.com/laravel/framework/pull/59783
- [13.x] Use
-
v13.5.014 Apr 2026Release notes
Open source →- [13.x] Support #[Delay] attribute on queued mailables by @sumaiazaman in https://github.com/laravel/framework/pull/59580
- [13.x] Added inheritance support for Controller Middleware attributes. by @niduranga in https://github.com/laravel/framework/pull/59597
- [13.x] Normalize phpredis SSL context for single and cluster connections by @timmylindh in https://github.com/laravel/framework/pull/59569
- [13.x] Memoize the result of
TestCase@withoutBootingFramework()by @cosmastech in https://github.com/laravel/framework/pull/59610 - [13.x] Add missing @throws and docblocks for concurrency and model in… by @scabarcas17 in https://github.com/laravel/framework/pull/59602
- [13.x] Fix that retries of
ShouldBeUniqueUntilProcessingjobs are force-releasing locks they don't own by @kohlerdominik in https://github.com/laravel/framework/pull/59567 - [13.x] Add first-class Redis Cluster support for Queue and ConcurrencyLimiter by @timmylindh in https://github.com/laravel/framework/pull/59533
- [13.x] chore: Update PHP version from 8.2 to 8.3 in
bin/test.shscript by @crynobone in https://github.com/laravel/framework/pull/59605 - [13.x] Fix RedisQueueTest by @jackbayliss in https://github.com/laravel/framework/pull/59613
- [13.x] Add enum support to CacheManager store and driver methods by @yousefkadah in https://github.com/laravel/framework/pull/59637
- [13.x] Fix redirectUsersTo() overwriting redirectGuestsTo() callback by @timmylindh in https://github.com/laravel/framework/pull/59633
- [13.x] Add ability to detect unserializable values returned from cache by @jackbayliss in https://github.com/laravel/framework/pull/59630
- [13.x] Fix loose comparison false positive in NotPwnedVerifier with magic hash passwords by @scabarcas17 in https://github.com/laravel/framework/pull/59644
- [13.x] Refactor
Skipmiddleware by @cosmastech in https://github.com/laravel/framework/pull/59651 - [13.x] Resolve stan errors on MySqlSchemaState by @jackbayliss in https://github.com/laravel/framework/pull/59652
- [13.x] Allow closure values in updateOrCreate and firstOrNew by @yousefkadah in https://github.com/laravel/framework/pull/59647
- [13.x] Add enum support to MailManager mailer and driver methods by @yousefkadah in https://github.com/laravel/framework/pull/59645
- [13.x] Add enum support to AuthManager guard and shouldUse methods by @yousefkadah in https://github.com/laravel/framework/pull/59646
- [13.x] Add spatie/fork to composer suggestions by @jnoordsij in https://github.com/laravel/framework/pull/59660
- [13.x] Add enum support to Manager driver method by @scabarcas17 in https://github.com/laravel/framework/pull/59659
- [13.x] Fix custom driver binding bug and improve by @ollieread in https://github.com/laravel/framework/pull/59614
- [13.x] Improve PHPDoc for "safe" method with conditional return type by @leo95batista in https://github.com/laravel/framework/pull/59684
- [13.x] Bump Retry action in CI by @jackbayliss in https://github.com/laravel/framework/pull/59681
- [13.x] Move Scope interface @template from method-level to class-level to fix LSP violation by @kayw-geek in https://github.com/laravel/framework/pull/59675
- [13.x] Combine consecutive
issetandunsetby @lucasmichot in https://github.com/laravel/framework/pull/59685 - [13.x] Changes
strlencomparison to 0 to direct empty string compare by @lucasmichot in https://github.com/laravel/framework/pull/59686
-
v13.4.007 Apr 2026Release notes
Open source →- [13.x] Fix missing
Illuminate\Queue\Attributes\Delayattribute by @fadez in https://github.com/laravel/framework/pull/59504 - [13.x] Fix
$request->interval()failing with very small float values by @SanderMuller in https://github.com/laravel/framework/pull/59502 - [13.x] Add pint.json to export-ignore by @axlon in https://github.com/laravel/framework/pull/59497
- [13.x] Add --ignore-scripts to yarn in BroadcastingInstallCommand by @sumaiazaman in https://github.com/laravel/framework/pull/59494
- [13.x] Fix static closure binding in remaining manager classes by @sumaiazaman in https://github.com/laravel/framework/pull/59493
- [13.x] Fix CollectedBy attribute not resolving through abstract parent classes by @jackbayliss in https://github.com/laravel/framework/pull/59488
- [13.x] Fix: Allow runtime property overrides (onQueue) to take precedence over class attributes by @niduranga in https://github.com/laravel/framework/pull/59468
- [13.x] Use #[Delay] attribute in Bus Dispatcher by @sumaiazaman in https://github.com/laravel/framework/pull/59514
- [13.x] Use #[Delay] attribute in NotificationSender by @sumaiazaman in https://github.com/laravel/framework/pull/59513
- [13.x] Add
overflowoption to Carbon plus and minus by @lucasmichot in https://github.com/laravel/framework/pull/59509 - [13.x] Fix: respect null redirect in unauthenticated exception handler by @timmylindh in https://github.com/laravel/framework/pull/59505
- [13.x] Fix TypeError in starts_with/ends_with validation rules on non-string values by @sumaiazaman in https://github.com/laravel/framework/pull/59541
- [13.x] allow null to be passed directly to redirectGuestsTo() by @timmylindh in https://github.com/laravel/framework/pull/59526
- Revert "[13.x] Remove unnecessary clone in SessionManager to prevent duplicate Redis connections" by @taylorotwell in https://github.com/laravel/framework/pull/59542
- [13.x] Fix deprecation warning in Contains and DoesntContain rules when values contain null by @sumaiazaman in https://github.com/laravel/framework/pull/59561
- [13.x] Fix Str::markdown() and Str::inlineMarkdown() crash on null input by @sumaiazaman in https://github.com/laravel/framework/pull/59554
- [13.x] Add queue methods to inspect jobs by @jackbayliss in https://github.com/laravel/framework/pull/59511
- Feature/form request strict mode by @NurullahDemirel in https://github.com/laravel/framework/pull/59430
- Bump vite from 7.3.1 to 7.3.2 in /src/Illuminate/Foundation/resources/exceptions/renderer by @dependabot[bot] in https://github.com/laravel/framework/pull/59571
- [13.x] Fix deprecation warning in In and NotIn rules when values contain null by @sumaiazaman in https://github.com/laravel/framework/pull/59576
- [13.x] Add flushState to FormRequest to reset global strict mode between tests by @sumaiazaman in https://github.com/laravel/framework/pull/59574
- [13.x] Fix
#[WithoutRelations]queue attribute not being inherited by child classes by @stevebauman in https://github.com/laravel/framework/pull/59568
- [13.x] Fix missing
-
v13.3.001 Apr 2026Release notes
Open source →- [13.x] Forward releaseOnTerminationSignals through schedule groups by @jackbayliss in https://github.com/laravel/framework/pull/59357
- [13.x] Fix sub-minute scheduling skips at minute boundaries by @JoshSalway in https://github.com/laravel/framework/pull/59331
- [13.x] Display memory usage in verbose queue worker output by @jackbayliss in https://github.com/laravel/framework/pull/59379
- [13.x] Update WithoutOverlapping@shared() for clarity by @cosmastech in https://github.com/laravel/framework/pull/59375
- [13.x] Fix dependency injection of faked queueing dispatcher by @axlon in https://github.com/laravel/framework/pull/59378
- [13.x] Fix incrementEach/decrementEach to scope to model instance by @JoshSalway in https://github.com/laravel/framework/pull/59376
- [13.x] Add array value types to Support module docblocks by @Anthony14FR in https://github.com/laravel/framework/pull/59383
- [13.x] Add lost connection to WorkerStopReason by @jackbayliss in https://github.com/laravel/framework/pull/59370
- [13.x] MariaDbSchemaState uses mysql --version for client detection instead of mariadb --version by @kylemilloy in https://github.com/laravel/framework/pull/59360
- [13.x] Add enum support to QueueManager connection methods by @sumaiazaman in https://github.com/laravel/framework/pull/59389
- [13.x] Setup rector by @lucasmichot in https://github.com/laravel/framework/pull/59385
- [13.x] Improve
Arr::whereNotNull()docs by @axlon in https://github.com/laravel/framework/pull/59411 - [13.x] Pass request to afterResponse callback by @bilfeldt in https://github.com/laravel/framework/pull/59410
- [13.x] Add isNotEmpty() method to Uri class by @sumaiazaman in https://github.com/laravel/framework/pull/59408
- [13.x] Add missing capitalize parameter to Stringable::initials() by @sumaiazaman in https://github.com/laravel/framework/pull/59407
- [13.x] Fix trait initializer collision with Attribute parsing by @sadique-cws in https://github.com/laravel/framework/pull/59404
- [13.x] Add session to supported drivers comment by @jackbayliss in https://github.com/laravel/framework/pull/59399
- [13.x] Add
->file()method to$request->safe()by @SanderMuller in https://github.com/laravel/framework/pull/59396 - [13.x] Add enum support to LogManager channel and driver methods by @sumaiazaman in https://github.com/laravel/framework/pull/59391
- [13.x] Fix MorphTo eager load matching when ownerKey is null and result key is a non-primitive by @wietsewarendorff in https://github.com/laravel/framework/pull/59394
- [13.x] Remove unnecessary clone in SessionManager to prevent duplicate Redis connections by @JoshSalway in https://github.com/laravel/framework/pull/59323
- [13.x] Use FQCN for Str in exception renderer blade templates by @bankorh in https://github.com/laravel/framework/pull/59412
- Allow variadic args for model attributes by @jasonmccreary in https://github.com/laravel/framework/pull/59421
- [13.x] CollectedBy Attribute should follow inheritence by @jackbayliss in https://github.com/laravel/framework/pull/59419
- [13.x] Fix deprecation notice in JSON:API resources by @alihamze in https://github.com/laravel/framework/pull/59418
- [13.x] Add withoutFragment() method to Uri class by @sumaiazaman in https://github.com/laravel/framework/pull/59413
- [13.x] Fix macros with static closures by @FeBe95 in https://github.com/laravel/framework/pull/59414
- [13.x] Fix sum() docblock to include key parameter in callback signature by @sumaiazaman in https://github.com/laravel/framework/pull/59444
- [13.x] Add assertHasNoAttachments() method to Mailable by @sumaiazaman in https://github.com/laravel/framework/pull/59443
- [13.x] Add a driver method to the MailFake class by @kevinb1989 in https://github.com/laravel/framework/pull/59448
- [13.x] Cache getLockForPopping() result in DatabaseQueue by @sumaiazaman in https://github.com/laravel/framework/pull/59435
- [13.x] prefer
new Collection()overcollect()helper by @browner12 in https://github.com/laravel/framework/pull/59453 - [13.x] remove unnecessary
array_flip()calls by @browner12 in https://github.com/laravel/framework/pull/59452 - Make Collection methods compatible with extended subclass constructors by @ProjektGopher in https://github.com/laravel/framework/pull/59455
- [13.x]
UnitTesttest attribute by @cosmastech in https://github.com/laravel/framework/pull/59432 - [13.x] prefer
isset()overin_array()for better performance by @browner12 in https://github.com/laravel/framework/pull/59457 - [13.x] remove temporary variable by @browner12 in https://github.com/laravel/framework/pull/59456
- [13.x] Add BatchStarted event by @jackbayliss in https://github.com/laravel/framework/pull/59458
- [13.x] Preserve URI fragment when decoding query string by @Nipun404 in https://github.com/laravel/framework/pull/59481
- fix: allow returning Stringable objects in casts()-method by @Bloemendaal in https://github.com/laravel/framework/pull/59479
- [13.x] Fix manager breaking when called with static closure by @axlon in https://github.com/laravel/framework/pull/59470
- Prevents installed package from executing malicious code via
postinstallininstall:broadcastingcommand by @duncanmcclean in https://github.com/laravel/framework/pull/59485
-
v13.2.024 Mar 2026Release notes
Open source →- feat(queue): support enums in
#[Queue]and#[Connection]by @innocenzi in https://github.com/laravel/framework/pull/59278 - Improve raw SQL binding substitution performance by @gufoe in https://github.com/laravel/framework/pull/59277
- [13.x] fix: add missing negate for SeeInHtml assertion by @jesperbeisner in https://github.com/laravel/framework/pull/59303
- [13.x] Allow for passing enums to attributes by @riesjart in https://github.com/laravel/framework/pull/59297
- [13.x] Add releaseOnSignal param to withoutOverlapping by @jackbayliss in https://github.com/laravel/framework/pull/59298
- Add symmetrical, expressive attributes by @jasonmccreary in https://github.com/laravel/framework/pull/59284
- [13.x] Fix LazyPromise::wait() signature compatibility with Guzzle's PromiseInterface by @shavonn in https://github.com/laravel/framework/pull/59301
- [13.x]
schedule:listdisplay expression in the correct timezone by @xiCO2k in https://github.com/laravel/framework/pull/59286 - Handle exceptions in eventStream to prevent fatal error by @WendellAdriel in https://github.com/laravel/framework/pull/59292
- [13.x] Ensure connectUsing works with UnitEnum / FileManager drive docblock by @jackbayliss in https://github.com/laravel/framework/pull/59306
- [13.x] Include columns and index in UniqueConstraintViolationException by @cosmastech in https://github.com/laravel/framework/pull/59299
- [13.x] Add TimedOut worker stop reason by @jackbayliss in https://github.com/laravel/framework/pull/59310
- Fix Table attribute incrementing not working for Pivot models by @sadique-cws in https://github.com/laravel/framework/pull/59336
- [13.x] Ensure ScopedBy Attribute works with inheritance by @jackbayliss in https://github.com/laravel/framework/pull/59332
- Modify sum callback to include item key by @mathieutu in https://github.com/laravel/framework/pull/59322
- [13.x] Bound error page query listener to prevent memory bloat in Octane by @JoshSalway in https://github.com/laravel/framework/pull/59309
- [13.x] Allow opting out of worker Job exception reporting by @jackbayliss in https://github.com/laravel/framework/pull/59308
- [13.x] Adds mobile safe-area-inset support to exception renderer by @dr-codswallop in https://github.com/laravel/framework/pull/59341
- [13.x] Allow passing multiple arrays to has factory method by @jackbayliss in https://github.com/laravel/framework/pull/59343
- [13.x] Allow Backoff Attribute to be variadic by @jackbayliss in https://github.com/laravel/framework/pull/59354
- feat(queue): support enums in
-
v13.1.118 Mar 2026Release notes
Open source →- Break queue dependency by @taylorotwell in https://github.com/laravel/framework/pull/59275
-
v13.1.018 Mar 2026Release notes
Open source →- [12.x] Correct truncate exceptions at by @bretto36 in https://github.com/laravel/framework/pull/59239
- [13.x] Remove useless \Mockery::close() by @lucasmichot in https://github.com/laravel/framework/pull/59253
- Fix: Batch::add() wipes queue assignment on first job in array chains by @ProjektGopher in https://github.com/laravel/framework/pull/59233
- Improvements for asserting HTML in text by @jasonmccreary in https://github.com/laravel/framework/pull/59161
- [13.x] Use Carbon::now() instead of now() helper by @lucasmichot in https://github.com/laravel/framework/pull/59252
- [13.x] Fix null broadcaster deprecation warning in PHP 8.5 by @mortenscheel in https://github.com/laravel/framework/pull/59269
- [12.x] Fix float pluralization in trans_choice() by @JulianGlueck in https://github.com/laravel/framework/pull/59268
- [12.x] Fix tests on PHP 8.5 by @SanderMuller in https://github.com/laravel/framework/pull/59251
- [13.x] Add toString to Uri by @dwightwatson in https://github.com/laravel/framework/pull/59259
-
v13.0.017 Mar 2026Release notes
Open source →- Revert "[12.x] Query builder PDO fetch modes" by @taylorotwell in https://github.com/laravel/framework/pull/54709
- [13.x] Prepare branch alias for Laravel 13 by @crynobone in https://github.com/laravel/framework/pull/54701
- [12.x] Query builder PDO fetch modes + columns fix by @bert-w in https://github.com/laravel/framework/pull/54734
- [13.x] Fix Tests/CI environments by @crynobone in https://github.com/laravel/framework/pull/54760
- [13.x] Requires PHP 8.3 as minimum version by @crynobone in https://github.com/laravel/framework/pull/54763
- [13.x] Add missing parameters to
Responsemethodsthrow()andthrowIf()by @cosmastech in https://github.com/laravel/framework/pull/54798 - [13.x] Fix scope removal in nested where conditions by @willrowe in https://github.com/laravel/framework/pull/54816
- [13.x] Remove function existence checks by @xurshudyan in https://github.com/laravel/framework/pull/54876
- [13.x] Removed unneeded default argument by @AndrewMast in https://github.com/laravel/framework/pull/54900
- [13.x] Fix unresolved merge conflict in Concurrency composer.json by @jnoordsij in https://github.com/laravel/framework/pull/55233
- [13.x] Fixes merge conflict by @crynobone in https://github.com/laravel/framework/pull/55294
- [13.x] Error exit code for clear command by @mbardelmeijer in https://github.com/laravel/framework/pull/55355
- [13.x] Add #[\Override] to the BatchFake class methods by @imanghafoori1 in https://github.com/laravel/framework/pull/55358
- [13.x] PDO Fetch modes by @bert-w in https://github.com/laravel/framework/pull/55394
- Allow Listeners to dynamically specify deleteWhenMissingModels by @L3o-pold in https://github.com/laravel/framework/pull/55508
- [13.x] Do not allow new model instances to be created during boot by @willrowe in https://github.com/laravel/framework/pull/55685
- Fix typo in
Blueprint:datetime=>dateTimeby @TheJoeSchr in https://github.com/laravel/framework/pull/55859 - Feature: add support straight join in mysql by @jferdi24 in https://github.com/laravel/framework/pull/55786
- [13.x] Register subdomain routes before routes that are not linked to a domain by @gdebrauwer in https://github.com/laravel/framework/pull/55921
- [13.x] Supports Symfony 7.4 & 8.0 by @crynobone in https://github.com/laravel/framework/pull/56029
- [13.x] Change to hyphenate prefixes by @u01jmg3 in https://github.com/laravel/framework/pull/56172
- [13.x] Use exception object in JobAttempted event by @bert-w in https://github.com/laravel/framework/pull/56148
- [13.x] remove superfluous element by @browner12 in https://github.com/laravel/framework/pull/56303
- Add eventStream signature to ResponseFactory contract by @csfh in https://github.com/laravel/framework/pull/56306
- fix: align ResponseFactory::eventStream signature with interface by @KIKOmanasijev in https://github.com/laravel/framework/pull/56484
- [13.x]
Cache::touch()&Store::touch()for TTL Extension by @yitzwillroth in https://github.com/laravel/framework/pull/55954 - [13.x] Make QueueBusy event consistent with other queue events by @AhmedAlaa4611 in https://github.com/laravel/framework/pull/56673
- [13.x] use clearer pagination view names by @browner12 in https://github.com/laravel/framework/pull/56307
- [13.x] Update
countBydocblock inEnumerableinterface to allow for enum callback by @jnoordsij in https://github.com/laravel/framework/pull/56897 - [13.x] Generate plural morph pivot table name by @willrowe in https://github.com/laravel/framework/pull/56832
- [13.x] Resolve Symfony Console
add()method deprecation by @KIKOmanasijev in https://github.com/laravel/framework/pull/56488 - [13.x] Add command method to contract by @rodrigopedra in https://github.com/laravel/framework/pull/56978
- Refactor: replace strpos check with str_contains for clarity by @arshidkv12 in https://github.com/laravel/framework/pull/57042
- Remove unnecessary parameters by @arshidkv12 in https://github.com/laravel/framework/pull/57047
- [README.md] change laravel bootcamp to laravel learn by @MoZayedSaeid in https://github.com/laravel/framework/pull/57176
- [13.x] Resolve issues with tests by @jackbayliss in https://github.com/laravel/framework/pull/57258
- [13.x] Bind manager instances to custom driver closures by @daniser in https://github.com/laravel/framework/pull/57173
- [13.x] Compile full DELETE with JOIN including ORDER BY and LIMIT in MySQL grammar by @tegos in https://github.com/laravel/framework/pull/57196
- [13.x] Flush
Strfactories when tearing down test case by @cosmastech in https://github.com/laravel/framework/pull/57296 - [13.x] Update reset password notification subject by @ganyicz in https://github.com/laravel/framework/pull/57882
- [13.x] Update verification email subject capitalization by @ganyicz in https://github.com/laravel/framework/pull/57884
- [13.x] Simplify preg_replace_array callback by removing unnecessary foreach loop by @sumaiazaman in https://github.com/laravel/framework/pull/57924
- [13.x] Fix changes from Laravel 12 by @crynobone in https://github.com/laravel/framework/pull/57919
- [13.x] Default
PendingRequest@pool()to use 2 for concurrency by @cosmastech in https://github.com/laravel/framework/pull/57972 - [13.x] Copy
Symfony\Component\HttpFoundation\Request::get()functionality to avoid breaking changes. by @crynobone in https://github.com/laravel/framework/pull/58081 - [13.x] Defer registering schedule registered using
ApplicationBuilder::withScheduling()by @crynobone in https://github.com/laravel/framework/pull/58160 - [13.x] Return data object from
ModelInspectorto makeshow:modelmore flexible by @cosmastech in https://github.com/laravel/framework/pull/58230 - [13.x] Add ability to default queue by class type by @jackbayliss in https://github.com/laravel/framework/pull/58094
- [13.x] Add reason to WorkerStopping event by @jackbayliss in https://github.com/laravel/framework/pull/58341
- [13.x] Add starting to Monitor Contract by @jackbayliss in https://github.com/laravel/framework/pull/58399
- [13.x] add dispatchAfterResponse to the Dispatcher Contract by @jackbayliss in https://github.com/laravel/framework/pull/58428
- [13.x] Add origin verification to request forgery protection by @benbjurstrom in https://github.com/laravel/framework/pull/58400
- [13.x] Improve
Enumerableinterface docblock types by @jnoordsij in https://github.com/laravel/framework/pull/58181 - Add missing chain method to interface by @Jeroen-G in https://github.com/laravel/framework/pull/58429
- [13.x] Use unescaped unicode in
Jssupport class by default by @jnoordsij in https://github.com/laravel/framework/pull/58471 - [13.x] Add enum types to repository contract / allow enums for tagged caches by @jackbayliss in https://github.com/laravel/framework/pull/58481
- [13.x] Restore eager-loaded relations when deserializing collections by @dxnter in https://github.com/laravel/framework/pull/58477
- [13.x] Bump minimum PHPUnit by @crynobone in https://github.com/laravel/framework/pull/58537
- [13.x] Respect default value for class dependencies in BoundMethod::call by @comhon-project in https://github.com/laravel/framework/pull/58553
- [13.x] Bump minimum
symfony/processby @crynobone in https://github.com/laravel/framework/pull/58548 - [13.x] Fix
illuminate/json-schemadependencies by @crynobone in https://github.com/laravel/framework/pull/58612 - [13.x] Add
hasSoleandhasManyto theEnumerableinterface by @JosephSilber in https://github.com/laravel/framework/pull/58610 - [13.x] Ensure bootstrap withMiddleware works for the DownCommand by @jackbayliss in https://github.com/laravel/framework/pull/58571
- [13.x] Remove override attribute on removed method by @crynobone in https://github.com/laravel/framework/pull/58628
- [13.x] Ensures compatibility with
symfony/console8 by @crynobone in https://github.com/laravel/framework/pull/58629 - [13.x] Add
ccto Mailer contract by @jackbayliss in https://github.com/laravel/framework/pull/58667 - Fix ThrottleRequests over-throttling with multiple distinct rate limit keys (#54386) by @HeathNaylor in https://github.com/laravel/framework/pull/58707
- [13.x] Add
markEmailAsUnverifiedtoMustVerifyEmailinterface by @amirhshokri in https://github.com/laravel/framework/pull/58701 - [13.x] Adds previous exceptions in exception view by @DarkGhostHunter in https://github.com/laravel/framework/pull/58680
- Attributes by @taylorotwell in https://github.com/laravel/framework/pull/58578
- [13.x] Accept CarbonInterval for PendingProcess timeouts by @riesjart in https://github.com/laravel/framework/pull/58842
- [13.x] Add Setup/TearDown trait attributes by @jackbayliss in https://github.com/laravel/framework/pull/58685
- [13.x] Allow aliases to be set in Signature Attribute (#58853) by @jackbayliss in https://github.com/laravel/framework/pull/58874
- [13.x] Adds PHPUnit 13 support by @nunomaduro in https://github.com/laravel/framework/pull/58890
- [13.x] Display route binding fields in
route:listoutput by @jackbayliss in https://github.com/laravel/framework/pull/58889 - [13.x] feat: respect
DeleteWhenMissingModelsattribute on queued notifications by @calebdw in https://github.com/laravel/framework/pull/58908 - [13.x] Resolve DeleteNotificationWhenMissingModelTest by @jackbayliss in https://github.com/laravel/framework/pull/58919
- [13.x] add missing methods to Queue interface by @cosmastech in https://github.com/laravel/framework/pull/58914
- [13.x] chore: define closure type on Middleware by @calebdw in https://github.com/laravel/framework/pull/58929
- [13.x] Ensure SyncQueue JobAttempted gets the actual exception by @jackbayliss in https://github.com/laravel/framework/pull/58954
- [13.x] Throw exception when served disks share the same URI by @jackbayliss in https://github.com/laravel/framework/pull/58960
- [13.x] withoutOverlapping docblock by @jackbayliss in https://github.com/laravel/framework/pull/58973
- [13.x] Fix
composer.jsonby @crynobone in https://github.com/laravel/framework/pull/58975 - [13.x] Update the dependencies version by @lucasmichot in https://github.com/laravel/framework/pull/58995
- [13.x] Normalize composer.json by @lucasmichot in https://github.com/laravel/framework/pull/58996
- [13.x] Add
flushLocks()support to Cache stores by @amirhshokri in https://github.com/laravel/framework/pull/58907 - [13.x] Add cache
flushLocks()events by @amirhshokri in https://github.com/laravel/framework/pull/59006 - [13.x] Refactor parameter names that are implemented from the interface by @mrvipchien in https://github.com/laravel/framework/pull/59015
- [13.x] Add missing @throws into docblock for various methods by @mrvipchien in https://github.com/laravel/framework/pull/59016
- Add insertOrIgnoreReturning method by @antonkomarev in https://github.com/laravel/framework/pull/59025
- Add corner case tests for insertOrIgnoreReturning by @antonkomarev in https://github.com/laravel/framework/pull/59028
- Extra validation on query builder upsert by @antonkomarev in https://github.com/laravel/framework/pull/59029
- [13.x] Add ErrorBag attribute support for FormRequest by @Tresor-Kasenda in https://github.com/laravel/framework/pull/59033
- [13.x] Add controller middleware attribute by @JurianArie in https://github.com/laravel/framework/pull/59030
- [13.x] Add Authorize controller middleware attribute by @JurianArie in https://github.com/laravel/framework/pull/59048
- [13.x] Fix
symfony/translationdeps by @crynobone in https://github.com/laravel/framework/pull/59054 - [13.x] Remove supports for
laravel/serializable-closurev1 by @crynobone in https://github.com/laravel/framework/pull/59053 - Add saveOrIgnore Eloquent Model method for conflict-safe inserts by @antonkomarev in https://github.com/laravel/framework/pull/59026
- [13.x] Add support for named arguments in event dispatching and broadcasting by @ph7jack in https://github.com/laravel/framework/pull/59075
- [13.x] Supports
pda/pheanstalk8.0+ and remove 5.x by @crynobone in https://github.com/laravel/framework/pull/59072 - [13.x] Bump dependencies by @crynobone in https://github.com/laravel/framework/pull/59069
- [13.x] Add ability to set channel name via Log contextual attribute by @cosmastech in https://github.com/laravel/framework/pull/59101
- [13.x] Ensure insertOrIgnoreReturning only marks records as modified when rows are inserted by @jackbayliss in https://github.com/laravel/framework/pull/59083
- [13.x] Clean up ModelInfo by @cosmastech in https://github.com/laravel/framework/pull/59080
- [13.x] Clean up JsonApi by @cosmastech in https://github.com/laravel/framework/pull/59079
- [13.x] Indicate that raw queries should be literal strings by @axlon in https://github.com/laravel/framework/pull/59081
- [13.x] Update brick/math constraint and rounding mode constant by @balu-lt in https://github.com/laravel/framework/pull/59107
- [13.x] fix: MorphToMany morphClass type by @calebdw in https://github.com/laravel/framework/pull/59110
- [13.x] Rename Middleware attribute parameter from $value to $middleware by @SanderMuller in https://github.com/laravel/framework/pull/59133
- [13.x] fix: QueueRoutes docblocks for getRoute and $routes property by @SanderMuller in https://github.com/laravel/framework/pull/59119
- [13.x] fix: DoesntContain docblock typo by @SanderMuller in https://github.com/laravel/framework/pull/59117
- [13.x] BusFake assertNothingDispatched should check all dispatches by @jackbayliss in https://github.com/laravel/framework/pull/59118
- [13.x] fix: Align JsonApiResource flushState maxRelationshipDepth with trait default by @SanderMuller in https://github.com/laravel/framework/pull/59116
- [13.x] Make Cache touch() TTL required and remove redundant value fetching by @SanderMuller in https://github.com/laravel/framework/pull/59121
- [13.x] Fix previousPath() for external referrers by @faytekin in https://github.com/laravel/framework/pull/59159
- Add depth parameter to Arr::dot() by @faytekin in https://github.com/laravel/framework/pull/59150
- [13.x] Drop method_exists checks in MonitorCommand by @jackbayliss in https://github.com/laravel/framework/pull/59151
- [12.x] Add strict integer validation to Numeric validation rule by @riesjart in https://github.com/laravel/framework/pull/59156
- [12.x] Add *OrFail transaction methods to
BelongsToManyby @SanderMuller in https://github.com/laravel/framework/pull/59153 - [13.x] Add Exception to BatchCanceled event by @jackbayliss in https://github.com/laravel/framework/pull/59163
- [13.x] Add support for
brick/math0.16 by @balu-lt in https://github.com/laravel/framework/pull/59165 - Bump tar from 7.5.9 to 7.5.11 in /src/Illuminate/Foundation/resources/exceptions/renderer by @dependabot[bot] in https://github.com/laravel/framework/pull/59164
- [12.x] Add missing *OrFail transaction methods to BelongsToMany by @erhanurgun in https://github.com/laravel/framework/pull/59168
- [12.x] Add inOrderOf() method to query builder by @faytekin in https://github.com/laravel/framework/pull/59162
- [12.x] Add tcp_keepalive option to PhpRedis connector by @heikokrebs in https://github.com/laravel/framework/pull/59158
- [13.x] Add schedule:pause / resume command by @jackbayliss in https://github.com/laravel/framework/pull/59169
- [12.x] un
tapPendingRequest by @cosmastech in https://github.com/laravel/framework/pull/59188 - [12.x] Fix float to int deprecation in trans_choice() for certain locales by @hamedelasma in https://github.com/laravel/framework/pull/59174
- [12.x] Allow
touch()to accept multiple columns by @devajmeireles in https://github.com/laravel/framework/pull/59175 - Revert "Add composite index to jobs table migration for improved queue polling" by @taylorotwell in https://github.com/laravel/framework/pull/59202
- [12.x] Add fluent string validation rule builder by @SanderMuller in https://github.com/laravel/framework/pull/59201
- [13.x] Add schedule resume and pause events by @jackbayliss in https://github.com/laravel/framework/pull/59172
- [13.x] insertOrIgnoreReturning with multiple unique keys by @tpetry in https://github.com/laravel/framework/pull/59187
- Update
Command::withProgressBarphpdoc to account for arrow functions and non-void return types by @billypoke in https://github.com/laravel/framework/pull/58766 - [12.x] Lazily evaluate value for constraints in
HasOneOrManyThroughby @Jacobs63 in https://github.com/laravel/framework/pull/59231 - Add string helper to get initials from a string by @denjaland in https://github.com/laravel/framework/pull/59230
- fix: Strip gzip-compressed output from concurrent process response by @NikhiltGhalme in https://github.com/laravel/framework/pull/59224
- [12.x] Fix failing tests introduced by #59201 by @SanderMuller in https://github.com/laravel/framework/pull/59207
- [12.x] Avoid redundant
Util::getParameterClassName()call in container resolution by @SanderMuller in https://github.com/laravel/framework/pull/59220 - [12.x] Add missing conditional validation rule builders by @SanderMuller in https://github.com/laravel/framework/pull/59209
- [12.x] Skip placeholder replacements when message does not contain them by @SanderMuller in https://github.com/laravel/framework/pull/59211
- [12.x] Use
array_pushwith spread operator inMessageBag::all()by @SanderMuller in https://github.com/laravel/framework/pull/59217 - [12.x] Cache Route instances in CompiledRouteCollection::getByName() by @SanderMuller in https://github.com/laravel/framework/pull/59221
- [13.x] Add additional Artisan attributes for usage, help and hidden by @ziadoz in https://github.com/laravel/framework/pull/59204
- [12.x] Accept CarbonInterval for retry sleep duration by @riesjart in https://github.com/laravel/framework/pull/59232
- [12.x] Fix failing phpstan by @GrahamCampbell in https://github.com/laravel/framework/pull/59245
- [12.x] Update comments for PlanetScale MySQL and PostgreSQL by @GrahamCampbell in https://github.com/laravel/framework/pull/59244
- [12.x] Use big integers for database cache expiration column by @tanerkay in https://github.com/laravel/framework/pull/59243
- [13.x] Allow brick/math ^0.17 by @jackbayliss in https://github.com/laravel/framework/pull/59249
- [12.x] Display file path and line number for closure routes in
route:listby @devajmeireles in https://github.com/laravel/framework/pull/59237 - [12.x] Add wantsMarkdown() and acceptsMarkdown() request methods by @joetannenbaum in https://github.com/laravel/framework/pull/59238
- [13.x] Ensure RequiredUnless handles null by @jackbayliss in https://github.com/laravel/framework/pull/59235
-
v12.67.018 Aug 2026Release notes
Open source →- [12.x] Stricten
uploadto be fetch only from request's query string for temporary upload urls by @crynobone in #61145 - [12.x] Improves
invalidation 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
- [12.x] Stricten
-
v12.66.011 Aug 2026Release notes
Open source →- [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
-
v12.65.005 Aug 2026Release notes
Open source →- [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
-
v12.64.014 Jul 2026Nothing published for this version
-
v12.63.007 Jul 2026Nothing published for this version
-
v12.62.009 Jun 2026Nothing published for this version
-
v12.61.104 Jun 2026Nothing published for this version
-
v12.61.026 May 2026Nothing published for this version
-
v12.60.220 May 2026Nothing published for this version
-
v12.60.119 May 2026Nothing published for this version
-
v12.60.019 May 2026Nothing published for this version
-
v12.59.014 May 2026Nothing published for this version
-
v12.58.026 Apr 2026Nothing published for this version
-
v12.57.022 Apr 2026Nothing published for this version
-
v12.56.026 Mar 2026Nothing published for this version
-
v12.55.118 Mar 2026Nothing published for this version
-
v12.55.017 Mar 2026Nothing published for this version
-
v12.54.110 Mar 2026Nothing published for this version
-
v12.54.010 Mar 2026Nothing published for this version
-
v12.53.024 Feb 2026Nothing published for this version
-
v12.52.017 Feb 2026Nothing published for this version
-
v12.51.010 Feb 2026Nothing published for this version
-
v12.50.004 Feb 2026Nothing published for this version
-
v12.49.028 Jan 2026Nothing published for this version
-
v12.48.120 Jan 2026Nothing published for this version
-
v12.48.020 Jan 2026Nothing published for this version