This PR contains the following updates:
| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [laravel/framework](https://laravel.com) ([source](https://github.com/laravel/framework)) | `12.50.0` → `12.52.0` |  |  |
---
### Release Notes
<details>
<summary>laravel/framework (laravel/framework)</summary>
### [`v12.52.0`](https://github.com/laravel/framework/blob/HEAD/CHANGELOG.md#v12520---2026-02-17)
[Compare Source](https://github.com/laravel/framework/compare/v12.51.0...v12.52.0)
- \[12.x] Fix: `@return` in doc blocks by [@​alipowerful7](https://github.com/alipowerful7) in [#​58746](https://github.com/laravel/framework/pull/58746)
- \[12.x] Ensure defer callbacks aren't discarded when using the sync queue by [@​jackbayliss](https://github.com/jackbayliss) in [#​58745](https://github.com/laravel/framework/pull/58745)
- \[12.x] Refactor: remove `Arr::wrap()` and add `Collection::wrap()` by [@​alipowerful7](https://github.com/alipowerful7) in [#​58748](https://github.com/laravel/framework/pull/58748)
- Add support for `temporaryUploadUrl` to the `local` filesystem by [@​mnapoli](https://github.com/mnapoli) in [#​58499](https://github.com/laravel/framework/pull/58499)
- Only merge cached casts for accessed attribute by [@​ug-christoph](https://github.com/ug-christoph) in [#​57627](https://github.com/laravel/framework/pull/57627)
- \[12.x] Sort stan issue on PendingRequest by [@​jackbayliss](https://github.com/jackbayliss) in [#​58760](https://github.com/laravel/framework/pull/58760)
- \[12.x] Update alphabetical order in facades.yml by [@​luisscruza](https://github.com/luisscruza) in [#​58757](https://github.com/laravel/framework/pull/58757)
- \[12.x] allow string-based expressions for selectExpression() by [@​tpetry](https://github.com/tpetry) in [#​58753](https://github.com/laravel/framework/pull/58753)
- Revert "\[12.x] Adjust freshTimestamp for SQL Server" by [@​calebdw](https://github.com/calebdw) in [#​58758](https://github.com/laravel/framework/pull/58758)
- \[12.x] Fix return empty Collection for non-model JSON:API resources by [@​noir4y](https://github.com/noir4y) in [#​58752](https://github.com/laravel/framework/pull/58752)
- \[12.x] Refactor: remove extra space by [@​alipowerful7](https://github.com/alipowerful7) in [#​58751](https://github.com/laravel/framework/pull/58751)
- \[12.x] Standardize regex delimiter in ObserverMakeCommand::parseModel by [@​mohammadRezaei1380](https://github.com/mohammadRezaei1380) in [#​58777](https://github.com/laravel/framework/pull/58777)
- \[12.x] Fix incorrect [@​return](https://github.com/return) type in VendorPublishCommand::publishTag by [@​mohammadRezaei1380](https://github.com/mohammadRezaei1380) in [#​58774](https://github.com/laravel/framework/pull/58774)
- Fix phpdoc type in promptForMissingArgumentsUsing by [@​billypoke](https://github.com/billypoke) in [#​58768](https://github.com/laravel/framework/pull/58768)
- \[12.x] cast `Batch::progress()` return value to `int` by [@​zjbarg](https://github.com/zjbarg) in [#​58767](https://github.com/laravel/framework/pull/58767)
- \[12.x] Drop Collection import from `AbstractRouteCollection` by [@​jackbayliss](https://github.com/jackbayliss) in [#​58769](https://github.com/laravel/framework/pull/58769)
- \[12.x] Fix missing InputArgument::IS\_ARRAY in getArguments PHPDoc by [@​kayw-geek](https://github.com/kayw-geek) in [#​58771](https://github.com/laravel/framework/pull/58771)
- \[12.x] Fix: `@return` for `resolveResourceRelationshipIdentifiers()` by [@​alipowerful7](https://github.com/alipowerful7) in [#​58764](https://github.com/laravel/framework/pull/58764)
- \[12.x] `Mailable::later()` does not set delay on `SendQueuedMailable` instance by [@​amirhshokri](https://github.com/amirhshokri) in [#​58765](https://github.com/laravel/framework/pull/58765)
- \[12.x] Refactor: use `enum_value()` helper for environment value extraction by [@​alipowerful7](https://github.com/alipowerful7) in [#​58785](https://github.com/laravel/framework/pull/58785)
- \[12.x] Add delay support assertions for queued mailables by [@​amirhshokri](https://github.com/amirhshokri) in [#​58787](https://github.com/laravel/framework/pull/58787)
- Fix MySQL connection string to use --ssl-mode=DISABLED for modern clients by [@​AJenbo](https://github.com/AJenbo) in [#​58786](https://github.com/laravel/framework/pull/58786)
- \[12.x] Refactor: standardize regex by [@​alipowerful7](https://github.com/alipowerful7) in [#​58789](https://github.com/laravel/framework/pull/58789)
- \[12.x] Allow $preserveKeys param for LazyCollection random by [@​jackbayliss](https://github.com/jackbayliss) in [#​58791](https://github.com/laravel/framework/pull/58791)
- \[12.x] Refactor: `new Collection()` by [@​alipowerful7](https://github.com/alipowerful7) in [#​58793](https://github.com/laravel/framework/pull/58793)
- \[12.x] Add `makeMany` method to Factory by [@​jackbayliss](https://github.com/jackbayliss) in [#​58795](https://github.com/laravel/framework/pull/58795)
- \[12.x] Add `withoutAfterMaking()` and `withoutAfterCreating()` factory helpers by [@​ziadoz](https://github.com/ziadoz) in [#​58794](https://github.com/laravel/framework/pull/58794)
- \[12.x] Backport withMiddleware changes from 13.x by [@​jackbayliss](https://github.com/jackbayliss) in [#​58798](https://github.com/laravel/framework/pull/58798)
- \[12.x] Fix: add `|array` in doc block by [@​alipowerful7](https://github.com/alipowerful7) in [#​58805](https://github.com/laravel/framework/pull/58805)
- \[12.x] Add option to opt out of parallel safe cache prefix by [@​jackbayliss](https://github.com/jackbayliss) in [#​58801](https://github.com/laravel/framework/pull/58801)
- \[12.x] Normalize Throwable docblocks to fully-qualified name by [@​amirhshokri](https://github.com/amirhshokri) in [#​58802](https://github.com/laravel/framework/pull/58802)
- \[12.x] Refactor: remove unnecessary `\BackedEnum` by [@​alipowerful7](https://github.com/alipowerful7) in [#​58807](https://github.com/laravel/framework/pull/58807)
- Use atomic writes when creating inline Blade component views by [@​cyppe](https://github.com/cyppe) in [#​58815](https://github.com/laravel/framework/pull/58815)
- \[12.x] Add missing tests for Request::fullUrlWithoutQuery by [@​miladev95](https://github.com/miladev95) in [#​58814](https://github.com/laravel/framework/pull/58814)
- Improve File::toKilobytes() DocBlock return type by [@​Amirhf1](https://github.com/Amirhf1) in [#​58811](https://github.com/laravel/framework/pull/58811)
- Use atomic writes in BladeCompiler to prevent race condition by [@​cyppe](https://github.com/cyppe) in [#​58812](https://github.com/laravel/framework/pull/58812)
- \[12.x] Refactor: add `JSON decoded` by [@​alipowerful7](https://github.com/alipowerful7) in [#​58830](https://github.com/laravel/framework/pull/58830)
- \[12.x] Refactor: add missing `@throws` tag in dock block by [@​alipowerful7](https://github.com/alipowerful7) in [#​58829](https://github.com/laravel/framework/pull/58829)
- \[12.x] Formatting by [@​amirhshokri](https://github.com/amirhshokri) in [#​58828](https://github.com/laravel/framework/pull/58828)
- \[12x]Refactor: remove unnecessary \BackedEnum in HasAttributes.php by [@​mohammadRezaei1380](https://github.com/mohammadRezaei1380) in [#​58827](https://github.com/laravel/framework/pull/58827)
- \[12x] Refactor conditional message formatting using match expression by [@​mohammadRezaei1380](https://github.com/mohammadRezaei1380) in [#​58825](https://github.com/laravel/framework/pull/58825)
- \[12.x] Refactor: use `match` expression by [@​alipowerful7](https://github.com/alipowerful7) in [#​58824](https://github.com/laravel/framework/pull/58824)
- \[12.x] Simplify `compileSelect` method return by [@​amirhshokri](https://github.com/amirhshokri) in [#​58821](https://github.com/laravel/framework/pull/58821)
- \[12.x] Refactor: simplify code by [@​alipowerful7](https://github.com/alipowerful7) in [#​58820](https://github.com/laravel/framework/pull/58820)
- \[12.x] Refactor: remove unnecessary `\BackedEnum` by [@​alipowerful7](https://github.com/alipowerful7) in [#​58818](https://github.com/laravel/framework/pull/58818)
- \[12.x] Ensure HttpClientTest doesnt flake in Windows CI by [@​jackbayliss](https://github.com/jackbayliss) in [#​58817](https://github.com/laravel/framework/pull/58817)
- \[12.x] Refactor: `JSON decoded` to `decoded JSON` by [@​alipowerful7](https://github.com/alipowerful7) in [#​58849](https://github.com/laravel/framework/pull/58849)
- \[12.x] Allow closure parameters in docblock for when() helper function by [@​gazben](https://github.com/gazben) in [#​58862](https://github.com/laravel/framework/pull/58862)
- \[12.x] Fix typo in cache `composer.json` by [@​amirhshokri](https://github.com/amirhshokri) in [#​58875](https://github.com/laravel/framework/pull/58875)
- \[12.x] Remove unnecessary `forgetDriver()`from TestCaches by [@​jackbayliss](https://github.com/jackbayliss) in [#​58878](https://github.com/laravel/framework/pull/58878)
- Revert "\[12.x] Fixed precision checks for column types in SQL Server grammar" by [@​taylorotwell](https://github.com/taylorotwell) in [#​58888](https://github.com/laravel/framework/pull/58888)
- \[12.x] Display closures and standalone functions correctly in exception trace by [@​avosalmon](https://github.com/avosalmon) in [#​58879](https://github.com/laravel/framework/pull/58879)
### [`v12.51.0`](https://github.com/laravel/framework/blob/HEAD/CHANGELOG.md#v12510---2026-02-10)
[Compare Source](https://github.com/laravel/framework/compare/v12.50.0...v12.51.0)
- Remove type hint in favor of return type by [@​WendellAdriel](https://github.com/WendellAdriel) in [#​58621](https://github.com/laravel/framework/pull/58621)
- \[12.x] Adjust freshTimestamp for SQL Server by [@​aimeos](https://github.com/aimeos) in [#​58614](https://github.com/laravel/framework/pull/58614)
- \[12.x] Handle binary data in Js::encode() debug renderer by [@​denis-chmel](https://github.com/denis-chmel) in [#​58618](https://github.com/laravel/framework/pull/58618)
- \[12.x] Add ArrayObject props to AsEncryptedArrayObject to match AsArrayObject by [@​AndrewMast](https://github.com/AndrewMast) in [#​58619](https://github.com/laravel/framework/pull/58619)
- fix: Arr::wrap() return type by [@​calebdw](https://github.com/calebdw) in [#​58625](https://github.com/laravel/framework/pull/58625)
- \[12.x] Fix typo in type definition by [@​shaedrich](https://github.com/shaedrich) in [#​58624](https://github.com/laravel/framework/pull/58624)
- \[12.x] Prevent dupe locale checks in `Lang::get()` when locale matches fallback by [@​jackbayliss](https://github.com/jackbayliss) in [#​58626](https://github.com/laravel/framework/pull/58626)
- \[12.x] chore: add deprecation to Request::get() by [@​calebdw](https://github.com/calebdw) in [#​58635](https://github.com/laravel/framework/pull/58635)
- \[12.x] Fix Str::substrReplace for edge cases with negative offset or length by [@​jboonstra70](https://github.com/jboonstra70) in [#​58634](https://github.com/laravel/framework/pull/58634)
- \[12.x] Refactor: improve doc blocks by [@​alipowerful7](https://github.com/alipowerful7) in [#​58630](https://github.com/laravel/framework/pull/58630)
- \[12.x] Add BatchCancelled Event by [@​jackbayliss](https://github.com/jackbayliss) in [#​58627](https://github.com/laravel/framework/pull/58627)
- \[12.x] Fix typo in type definition by [@​amirhshokri](https://github.com/amirhshokri) in [#​58638](https://github.com/laravel/framework/pull/58638)
- \[12.x] Update `reload` tasks to include `schedule:interruption` by [@​adevade](https://github.com/adevade) in [#​58637](https://github.com/laravel/framework/pull/58637)
- docs: add missing description to FilesystemAdapter::report() docblock by [@​eranishojha](https://github.com/eranishojha) in [#​58640](https://github.com/laravel/framework/pull/58640)
- \[12.x] Allow closures for values in `firstOrCreate` and `createOrFirst` by [@​gcavanunez](https://github.com/gcavanunez) in [#​58639](https://github.com/laravel/framework/pull/58639)
- \[12.x] Support `afterSending` method on notification by [@​gdebrauwer](https://github.com/gdebrauwer) in [#​58654](https://github.com/laravel/framework/pull/58654)
- \[12.x] Allow Stringable::deduplicate() to accept array of characters by [@​Tresor-Kasenda](https://github.com/Tresor-Kasenda) in [#​58649](https://github.com/laravel/framework/pull/58649)
- Update regex for trans\_choice to allow negative ranges by [@​hmazter](https://github.com/hmazter) in [#​58648](https://github.com/laravel/framework/pull/58648)
- Added timeout method to query builder for MySQL by [@​Vladelis](https://github.com/Vladelis) in [#​58644](https://github.com/laravel/framework/pull/58644)
- \[12.x] Add `assertJobs` method on `PendingBatchFake` by [@​gdebrauwer](https://github.com/gdebrauwer) in [#​58606](https://github.com/laravel/framework/pull/58606)
- \[12.x] Fix batch counts when deleteWhenMissingModels skips missing model jobs by [@​yankewei](https://github.com/yankewei) in [#​58541](https://github.com/laravel/framework/pull/58541)
- \[12.x] Fix Postgres sequence starting value for custom schemas/connections by [@​joteejotee](https://github.com/joteejotee) in [#​58199](https://github.com/laravel/framework/pull/58199)
- \[12.x] Add `whenFails` and `whenPasses` methods on `Validator` by [@​gdebrauwer](https://github.com/gdebrauwer) in [#​58655](https://github.com/laravel/framework/pull/58655)
- \[12.x] Bus::assertBatched() with array by [@​gdebrauwer](https://github.com/gdebrauwer) in [#​58659](https://github.com/laravel/framework/pull/58659)
- \[12.x] Refactor: improve doc block by [@​alipowerful7](https://github.com/alipowerful7) in [#​58677](https://github.com/laravel/framework/pull/58677)
- \[12.x] Add withoutHeader() method to Response by [@​miladev95](https://github.com/miladev95) in [#​58671](https://github.com/laravel/framework/pull/58671)
- \[12.x] Add integer array key support in phpdocs by [@​dluague](https://github.com/dluague) in [#​58668](https://github.com/laravel/framework/pull/58668)
- `Illuminate\Console\Parser` typehint fix. by [@​LastDragon-ru](https://github.com/LastDragon-ru) in [#​58670](https://github.com/laravel/framework/pull/58670)
- fix: replace substr with mb\_substr for user agent encoding by [@​jonagoldman](https://github.com/jonagoldman) in [#​58703](https://github.com/laravel/framework/pull/58703)
- chore: fix the Laravel ASCII SVG so that its characters perfectly align to columns by [@​markjaquith](https://github.com/markjaquith) in [#​58702](https://github.com/laravel/framework/pull/58702)
- \[12.x] Allow retrieving all view data via viewData() in TestResponse by [@​shane-zeng](https://github.com/shane-zeng) in [#​58700](https://github.com/laravel/framework/pull/58700)
- Exception page: fix pop in for non main frames by [@​martinpl](https://github.com/martinpl) in [#​58698](https://github.com/laravel/framework/pull/58698)
- \[12.x] Add missing [@​throws](https://github.com/throws) annotations to validation rules and JsonResponse by [@​QDenka](https://github.com/QDenka) in [#​58697](https://github.com/laravel/framework/pull/58697)
- \[12.x] Add conditional return type hint for Route::middleware() method. by [@​marcreichel](https://github.com/marcreichel) in [#​58699](https://github.com/laravel/framework/pull/58699)
- \[12.x] Improved type hints for when() helper function. by [@​marcreichel](https://github.com/marcreichel) in [#​58696](https://github.com/laravel/framework/pull/58696)
- \[12.x] Support Eloquent builders and relations as subqueries to update queries by [@​axlon](https://github.com/axlon) in [#​58692](https://github.com/laravel/framework/pull/58692)
- Add cache prefix isolation for parallel testing ([#​57584](https://github.com/laravel/framework/issues/57584)) by [@​HeathNaylor](https://github.com/HeathNaylor) in [#​58691](https://github.com/laravel/framework/pull/58691)
- Fix whereBetween to accept DatePeriod and handle missing end dates ([#​58092](https://github.com/laravel/framework/issues/58092)) by [@​HeathNaylor](https://github.com/HeathNaylor) in [#​58687](https://github.com/laravel/framework/pull/58687)
- Fix Str::isUrl() returning false for single-char domain names ([#​58538](https://github.com/laravel/framework/issues/58538)) by [@​HeathNaylor](https://github.com/HeathNaylor) in [#​58686](https://github.com/laravel/framework/pull/58686)
- Fix HTTP client response type hints for IDE compatibility ([#​58555](https://github.com/laravel/framework/issues/58555)) by [@​HeathNaylor](https://github.com/HeathNaylor) in [#​58684](https://github.com/laravel/framework/pull/58684)
- Fix types for ConfirmableTrait::confirmToProceed by [@​rolfvandekrol](https://github.com/rolfvandekrol) in [#​58681](https://github.com/laravel/framework/pull/58681)
- \[12.x] Refactor: simplify return with `??` by [@​alipowerful7](https://github.com/alipowerful7) in [#​58679](https://github.com/laravel/framework/pull/58679)
- \[12.x] Refactor: replace `header` / `headers` with standardized `header(s)` by [@​alipowerful7](https://github.com/alipowerful7) in [#​58678](https://github.com/laravel/framework/pull/58678)
- Add SSL cert/key support to MySQL schema dump and load ([#​57821](https://github.com/laravel/framework/issues/57821)) by [@​HeathNaylor](https://github.com/HeathNaylor) in [#​58690](https://github.com/laravel/framework/pull/58690)
- Allow specifying Redis connection on Redis-based queue middleware by [@​markieo1](https://github.com/markieo1) in [#​58656](https://github.com/laravel/framework/pull/58656)
- \[12.x] Use JS to create the Laravel ASCII SVG logo on the fly by [@​markjaquith](https://github.com/markjaquith) in [#​58719](https://github.com/laravel/framework/pull/58719)
- \[12.x] Feat: add `orderByPivotDesc()` by [@​alipowerful7](https://github.com/alipowerful7) in [#​58720](https://github.com/laravel/framework/pull/58720)
- \[12.x] Refactor: add `@throws \InvalidArgumentException` to doc blocks by [@​alipowerful7](https://github.com/alipowerful7) in [#​58714](https://github.com/laravel/framework/pull/58714)
- \[12.x] Restore original dispatcher bindings after precognitive request by [@​pindab0ter](https://github.com/pindab0ter) in [#​58716](https://github.com/laravel/framework/pull/58716)
- \[12.x] Ensure throwIfStatus / throwUnlessStatus work for all status codes by [@​jackbayliss](https://github.com/jackbayliss) in [#​58724](https://github.com/laravel/framework/pull/58724)
- Fix Queue::fake() not releasing unique job locks between tests ([#​58533](https://github.com/laravel/framework/issues/58533)) by [@​HeathNaylor](https://github.com/HeathNaylor) in [#​58718](https://github.com/laravel/framework/pull/58718)
- \[12.x] Refactor: add `_` to more readability digit by [@​alipowerful7](https://github.com/alipowerful7) in [#​58738](https://github.com/laravel/framework/pull/58738)
- \[12.x] Refactor: Clean up unused $config parameters in ConcurrencyManager by [@​alizadeh7091](https://github.com/alizadeh7091) in [#​58739](https://github.com/laravel/framework/pull/58739)
- \[12.x] Refactor: use `Dumpable` by [@​alipowerful7](https://github.com/alipowerful7) in [#​58743](https://github.com/laravel/framework/pull/58743)
- \[12.x] Update forever cookie factory docblock to reflect 400-day duration by [@​jackbayliss](https://github.com/jackbayliss) in [#​58744](https://github.com/laravel/framework/pull/58744)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My40LjMiLCJ1cGRhdGVkSW5WZXIiOiI0My40LjMiLCJ0YXJnZXRCcmFuY2giOiJtYXN0ZXIiLCJsYWJlbHMiOltdfQ==-->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
12.50.0→12.52.0Release Notes
laravel/framework (laravel/framework)
v12.52.0Compare Source
@returnin doc blocks by @alipowerful7 in #58746Arr::wrap()and addCollection::wrap()by @alipowerful7 in #58748temporaryUploadUrlto thelocalfilesystem by @mnapoli in #58499Batch::progress()return value tointby @zjbarg in #58767AbstractRouteCollectionby @jackbayliss in #58769@returnforresolveResourceRelationshipIdentifiers()by @alipowerful7 in #58764Mailable::later()does not set delay onSendQueuedMailableinstance by @amirhshokri in #58765enum_value()helper for environment value extraction by @alipowerful7 in #58785new Collection()by @alipowerful7 in #58793makeManymethod to Factory by @jackbayliss in #58795withoutAfterMaking()andwithoutAfterCreating()factory helpers by @ziadoz in #58794|arrayin doc block by @alipowerful7 in #58805\BackedEnumby @alipowerful7 in #58807JSON decodedby @alipowerful7 in #58830@throwstag in dock block by @alipowerful7 in #58829matchexpression by @alipowerful7 in #58824compileSelectmethod return by @amirhshokri in #58821\BackedEnumby @alipowerful7 in #58818JSON decodedtodecoded JSONby @alipowerful7 in #58849composer.jsonby @amirhshokri in #58875forgetDriver()from TestCaches by @jackbayliss in #58878v12.51.0Compare Source
Lang::get()when locale matches fallback by @jackbayliss in #58626reloadtasks to includeschedule:interruptionby @adevade in #58637firstOrCreateandcreateOrFirstby @gcavanunez in #58639afterSendingmethod on notification by @gdebrauwer in #58654assertJobsmethod onPendingBatchFakeby @gdebrauwer in #58606whenFailsandwhenPassesmethods onValidatorby @gdebrauwer in #58655Illuminate\Console\Parsertypehint fix. by @LastDragon-ru in #58670??by @alipowerful7 in #58679header/headerswith standardizedheader(s)by @alipowerful7 in #58678orderByPivotDesc()by @alipowerful7 in #58720@throws \InvalidArgumentExceptionto doc blocks by @alipowerful7 in #58714_to more readability digit by @alipowerful7 in #58738Dumpableby @alipowerful7 in #58743Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.
[renovate-composer]: upgrade laravel/framework - 12.50.0 → 12.52.0to [renovate-composer]: upgrade laravel/framework - 12.50.0 → 12.52.0 - autoclosedPull request closed