v12.3.0 - 2025-03-18
- [12.x] fixes laravel/octane#1010 by @mihaileu in #55008
- Added the missing 'trashed' event to getObservablesEvents() by @duemti in #55004
- [12.x] Enhance PHPDoc for Manager classes with
@param-closure-this
by @kayw-geek in #55002 - [12.x] Fix
PendingRequest
typehints forpost
,patch
,put
,delete
by @cosmastech in #54998 - [12.x] Add test for untested methods in LazyCollection by @mohammadrasoulasghari in #54996
- [12.x] fix indentation by @browner12 in #54995
- [12.x] apply final Pint fixes by @browner12 in #55014
- Enhance validation tests: Add test for connection name detection in Unique rule by @alikhosravidev in #54993
- [12.x] Add json:unicode cast to support JSON_UNESCAPED_UNICODE encoding by @fuwasegu in #54992
- [12.x] Add “Storage Linked” to the
about
command by @adampatterson in #54949 - [12.x] Add support for native JSON/JSONB column types in SQLite Schema builder by @fuwasegu in #54991
- [12.x] Fix
LogManager::configurationFor()
typehint by @cosmastech in #55016 - [12.x] Add missing tests for LazyCollection methods by @mohammadrasoulasghari in #55022
- [12.x] Refactor: Structural improvement for clarity by @AhmedAlaa4611 in #55018
- Improve
toKilobytes
to handle spaces and case-insensitive units by @alikhosravidev in #55019 - [12.x] Fix mistake in
asJson
call inHasAttributes.php
that was recently introduced by @AndrewMast in #55017 - [12.x] reapply Pint style changes by @browner12 in #55015
- Add validation test for forEach with null and empty array values by @alikhosravidev in #55047
- [12.x] Types: EnumeratesValues Sum by @liamduckett in #55044
- [12.x] Ensure Consistent Formatting in Generated Invokable Classes by @AhmedAlaa4611 in #55034
- Add element type to return array in Filesystem by @AJenbo in #55031
- [12.x] Add support for PostgreSQL "unique nulls not distinct" by @thierry2015 in #55025
- [12.x] standardize multiline ternaries by @browner12 in #55056
- [12.x] improved readability for
aliasedPivotColumns
by @browner12 in #55055 - [12.x] remove progress bar from PHPStan output by @browner12 in #55054
- [12.x] Fixes how the fluent Date rule builder handles
date_format
by @AndrewMast in #55052 - Adding SSL encryption and support for MySQL connection by @mdiktushar in #55048
- Revert "Adding SSL encryption and support for MySQL connection" by @taylorotwell in #55057
- Ensure queue property is nullable by @timacdonald in #55058
- [12.x] return
$this
for chaining by @browner12 in #55060 - [12.x] prefer
new Collection
overcollect()
by @browner12 in #55059 - [12.x] use "class-string" type for
using
pivot model by @browner12 in #55053 - [12.x] multiline chaining on Collections by @browner12 in #55061
v12.2.0 - 2025-03-12
- Add dates to allowed PHPDoc types of Builder::having() by @miken32 in #54899
- [11.x] Fix double negative in
whereNotMorphedTo()
query by @owenvoke in #54902 - Add test for Arr::partition by @liamduckett in #54913
- [11.x] Expose process checkTimeout method by @mattmcdev in #54912
- [12.x] Compilable for Validation Contract by @peterfox in #54882
- [11.x] Backport "Change
paginate()
method return types to\Illuminate\Pagination\LengthAwarePaginator
" by @carestad in #54917 - [11.x] Revert faulty change to
EnumeratesValues::ensure()
doc block by @axlon in #54919 - Ensure ValidationEmailRuleTest skips tests requiring the intl extension when unavailable by @alikhosravidev in #54918
- ✅ Ensure Enum validation is case-sensitive by adding a new test case. by @alikhosravidev in #54922
- [12.x] Feature: Collection chunk without preserving keys by @liamduckett in #54916
- [12.x] Add test coverage for Uri::withQueryIfMissing method by @mohammadrasoulasghari in #54923
- Fix issue with using RedisCluster with compression or serialization by @rzv-me in #54934
- [12.x] Add test coverage for Str::replaceMatches method by @mohammadrasoulasghari in #54930
- [12.x] Types: Collection chunk without preserving keys by @liamduckett in #54924
- [12.x] Add
ddBody
method to TestResponse for dumping various response payloads by @Sammyjo20 in #54933 - [11.x] Backport "Fix issue with using
RedisCluster
with compression or serialization" by @rzv-me in #54935 - [12.x] feat: add
CanBeOneOfMany
support toHasOneThrough
by @calebdw in #54759 - [12.x] Hotfix - Add function_exists check to ddBody in TestResponse by @Sammyjo20 in #54937
- [12.x] Refactor: Remove unnecessary variables in Str class methods by @mohammadrasoulasghari in #54963
- Add Tests for Str::pluralPascal Method by @mohammadrasoulasghari in #54957
- [12.x] Fix visibility of setUp and tearDown in tests by @naopusyu in #54950
- [12.x] Test Improvements by @crynobone in #54944
- Fix missing return in
assertOnlyInvalid
by @parth391 in #54941 - Handle case when migrate:install command is called and table exists by @joe-tito in #54938
- [11.x] Fix callOnce in Seeder so it handles arrays properly by @lbovit in #54985
- Change "exceptoin" spelling mistake to "exception" by @hvlucas in #54979
- [12.x] Add test for after method in LazyCollection by @mohammadrasoulasghari in #54978
- [12.x] Add
increment
anddecrement
methods toContext
by @mattmcdev in #54976 - Ensure ExcludeIf correctly rejects a null value as an invalid condition by @alikhosravidev in #54973
- [12.x] apply Pint rule "no_spaces_around_offset" by @browner12 in #54970
- [12.x] apply Pint rule "single_line_comment_style" by @browner12 in #54969
- [12.x] do not use mix of newline and inline formatting by @browner12 in #54967
- [12.x] use single indent for multiline ternaries by @browner12 in #54971
v12.1.1 - 2025-03-05
- [11.x] Add valid values to ensure method by @lancepioch in #54840
- Fix attribute name used on
Validator
instance within certain rule classes by @crynobone in #54845 - [11.x] Fix
Application::interBasePath()
fails to resolve application when project name is "vendor" by @crynobone in #54871 - [11.x] Test improvements by @crynobone in #54879
- [12.x] DocBlock: Changed typehint for
Arr::partition
method by @AndrewMast in #54896 - Enhance Email and Image Dimensions Validation Tests by @alikhosravidev in #54897
- [12.x] Apply default styling rules to the notification stub by @ahinkle in #54895
v12.1.0 - 2025-03-04
- [12.x] Test Improvements by @crynobone in #54782
- [12.x] Fix incorrect typehints in
BuildsWhereDateClauses
traits by @mohprilaksono in #54784 - [12.x] Improve queries readablility by @hafezdivandari in #54791
- [12.x] Enhance eventStream to Support Custom Events and Start Messages by @devhammed in #54776
- [12.x] Make the PendingCommand class tappable. by @kevinb1989 in #54801
- [12.x] Add missing union type in event stream docblock by @devhammed in #54800
- Change return types of
paginage()
methods to\Illuminate\Pagination\LengthAwarePaginator
by @carestad in #54826 - [12.x] Check if internal
Hasher::verifyConfiguration()
method exists on driver before forwarding call by @rodrigopedra in #54833 - [11.x] Fix using
AsStringable
cast on Notifiable's key by @crynobone in #54818 - Add Tests for Handling Null Primary Keys and Special Values in Unique Validation Rule by @alikhosravidev in #54823
- Improve docblock for with() method to clarify it adds to existing eag… by @igorlealantunes in #54838
- [12.x] Fix dropping schema-qualified prefixed tables by @hafezdivandari in #54834
- [12.x] Add
Context::scope()
by @cosmastech in #54799 - Allow Http requests to be recorded without requests being faked by @kemp in #54850
- [12.x] Adds a new method "getRawSql" (with embedded bindings) to the QueryException class by @erickcomp in #54849
- Update Inspiring.php by @ju-gow in #54846
- [12.x] Correct use of named argument in
Date
facade and fix a return type. by @lmottasin in #54847 - Add additional tests for Rule::array validation scenarios by @alikhosravidev in #54844
- [12.x] Remove return statement by @mohprilaksono in #54842
- Fix typos by @co63oc in #54839
- [12.x] Do not loop through middleware when excluded is empty by @cosmastech in #54837
- Add test for Arr::reject method in Illuminate Support by @mohammadrasoulasghari in #54863
- [12.x] Feature: Array partition by @liamduckett in #54859
- [12.x] Introduce
ContextLogProcessor
by @cosmastech in #54851
v12.0.1 - 2025-02-24
v12.0.0 - 2025-02-24
- [12.x] Prep Laravel v12 by @driesvints in #50406
- [12.x] Make
Str::is()
match multiline strings by @SjorsO in #51196 - [12.x] Use native MariaDB CLI commands by @staudenmeir in #51505
- [12.x] Adds missing streamJson() to ResponseFactory contract by @wilsenhc in #51544
- [12.x] Preserve numeric keys on the first level of the validator rules by @Tofandel in #51516
- [12.x] Test Improvements by @crynobone in #52248
- [12.x] mergeIfMissing allows merging with nested arrays by @KIKOmanasijev in #52242
- [12.x] Fix chunked queries not honoring user-defined limits and offsets by @tonysm in #52093
- [12.x] Replace md5 with much faster xxhash by @GrahamCampbell in #52301
- [12.x] Switch models to UUID v7 by @staudenmeir in #52433
- [12.x] Improved algorithm for Number::pairs() by @hotmeteor in #52641
- Removed Duplicated Prefix on DynamoDbStore.php by @felipehertzer in #52986
- [12.x] feat: configure default datetime precision on per-grammar basis by @calebdw in #51821
- [12.x] Test Improvements by @crynobone in #53150
- [12.x] Fix laravel/prompt dependency version constraint for illuminate/console by @wouterj in #53146
- [12.x] Add generic return type to Container::instance() by @axlon in #53161
- Map output of concurrecy calls to the index of the input by @ovp87 in #53135
- Change Composer hasPackage to public by @buihanh2304 in #53282
- [12.x] force
Eloquent\Collection::partition
to return a baseCollection
by @browner12 in #53304 - [12.x] Better support for multi-dbs in the
RefreshDatabase
trait by @tonysm in #53231 - [12.x] Validate UUID's version optionally by @shaedrich in #53341
- [12.x] Validate UUID version 2 and max by @shaedrich in #53368
- [12.x] Add step parameter to LazyCollection range method by @Ashot1995 in #53473
- [12.x] Test Improvements by @crynobone in #53524
- [12.x] Avoid breaking change
RefreshDatabase::usingInMemoryDatabase()
by @crynobone in #53587 - [12.x] fix: container resolution order when resolving class dependencies by @calebdw in #53522
- [12.x] Change the default for scheduled command
emailOutput()
to only send email if output exists by @onlime in #53774 - [12.x] Add
hasMorePages()
toCursorPaginator
contract by @KennedyTedesco in #53762 - [12.x] modernize
DatabaseTokenRepository
and make consistent withCacheTokenRepository
by @browner12 in #53746 - [12.x] chore: remove support for Carbon v2 by @calebdw in #53825
- [12.x] use promoted properties for Auth events by @browner12 in #53847
- [12.x] use promoted properties for Database events by @browner12 in #53848
- [12.x] use promoted properties for Console events by @browner12 in #53851
- [12.x] use promoted properties for Mail events by @browner12 in #53852
- [12.x] use promoted properties for Notification events by @browner12 in #53853
- [12.x] use promoted properties for Routing events by @browner12 in #53854
- [12.x] use promoted properties for Queue events by @browner12 in #53855
- [12.x] Restore database token repository property documentation by @shaedrich in #53908
- [12.x] Use reject() instead of a negated filter() by @shaedrich in #53925
- [12.x] Use first-class callable syntax to improve static analysis by @shaedrich in #53924
- [12.x] add type declarations for Console Events by @browner12 in #53947
- [12.x] use type declaration on property by @browner12 in #53970
- [12.x] Update Symfony and PHPUnit dependencies by @crynobone in #54019
- [12.x] Allow
when()
helper to accept Closure condition parameter by @ziadoz in #54005 - [12.x] Add test for collapse in collections by @amirmohammadnajmi in #54032
- [12.x] Add test for benchmark utilities by @amirmohammadnajmi in #54055
- [12.x] Fix once() cache when used in extended static class by @FrittenKeeZ in #54094
- [12.x] Ignore querystring parameters using closure when validating signed url by @gdebrauwer in #54104
- Make
dropForeignIdFor
method complementary toforeignIdFor
by @willrowe in #54102 - Allow scoped disks to be scoped from other scoped disks by @willrowe in #54124
- [12.x] Add test for Util::getParameterClassName() by @amirmohammadnajmi in #54209
- Improve eloquent attach parameter consistency by @fabpl in #54225
- [12.x] Enhance multi-database support by @hafezdivandari in #54274
- [12.x] Fix Session's
getCookieExpirationDate
incompatibility with Carbon 3 by @crynobone in #54313 - [12.x] Update minimum PHPUnit versions by @crynobone in #54323
- [12.x] Prevent XSS vulnerabilities by excluding SVGs by default in image validation by @SanderMuller in #54331
- [12.x] Convert interfaces from docblock to method by @crynobone in #54348
- [12.x] Validate paths for UTF-8 characters by @Jubeki in #54370
- [12.x] Fix aggregate alias when using expression by @iamgergo in #54418
- Added flash method to Session interface to fix IDE issues by @eldair in #54421
- Adding the withQueryString method to the paginator interface. by @dvlpr91 in #54462
- [12.x] feat: --memory=0 should mean skip memory exceeded verification (Breaking Change) by @mathiasgrimm in #54393
- Auto-discover nested policies following conventional, parallel hierarchy by @jasonmccreary in #54493
- [12.x] Reintroduce PHPUnit 10.5 supports by @crynobone in #54490
- [12.x] Allow limiting bcrypt hashing to 72 bytes to prevent insecure hashes. by @waxim in #54509
- [12.x] Fix accessing
Connection
property inGrammar
classes by @hafezdivandari in #54487 - [12.x] Configure connection on SQLite connector by @hafezdivandari in #54588
- [12.x] Introduce Job@resolveQueuedJobClass() by @cosmastech in #54613
- [12.x] Bind abstract from concrete's return type by @peterfox in #54628
- [12.x] Query builder PDO fetch modes by @bert-w in #54443
- [12.x] Fix Illuminate components
composer.json
by @crynobone in #54700 - [12.x] Bump minimum
brick/math
by @crynobone in #54694 - [11.x] Fix parsing
PHP_CLI_SERVER_WORKERS
asstring
instead ofint
by @crynobone in #54724 - [11.x] Rename Redis parse connection for cluster test method to follow naming conventions by @jackbayliss in #54721
- [11.x] Allow
readAt
method to use in database channel by @utsavsomaiya in #54729 - [11.x] Fix: Custom Exceptions with Multiple Arguments does not properly rein… by @pandiselvamm in #54705
- [11.x] Update ConcurrencyTest exception reference to use namespace by @jackbayliss in #54732
- [11.x] Deprecate
Factory::$modelNameResolver
by @samlev in #54736 - Update
config/app.php
to reflect laravel/laravel change for compatibility by @askdkc in #54752 - [11x.] Improved typehints for
InteractsWithDatabase
by @cosmastech in #54748 - [11.x] Improved typehints for
InteractsWithExceptionHandling
&&ExceptionHandlerFake
by @cosmastech in #54747 - Add Env::extend to support custom adapters when loading environment variables by @andrii-androshchuk in #54756
- [12.x] Sync
filesystem.disk.local
configurations by @crynobone in #54764