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