- Added
makeVisibleIf
andmakeHiddenIf
methods toIlluminate\Database\Eloquent\Concerns\HidesAttributes
(#33176, 42383e4)
- Improved the reflector (#33184)
- Streamline ease of use with relation subquery (#33180)
- Improve event subscribers (#33191, 058d92f, b80ddf4)
- Added extendable relations for models (#33025)
- Added
Illuminate\Foundation\Testing\Concerns\MakesHttpRequests::withToken()
(#33075, 79383a1) - Added the ability to
Illuminate\Database\Eloquent\Relations\HasOneOrMany::makeMany()
(create many without saving) (#33021) - Added
Illuminate\Database\Schema\Blueprint::foreignUuid()
(#33129) - Allow setting the event handler queue via a
viaQueue()
method (#32770, 852a927)
- Added missing
symfony/mime
suggest (#33067)
- Fixed
Illuminate\Database\Eloquent\Relations\MorphToMany::getCurrentlyAttachedPivots()
(110b129)
- Views: make attributes available within render method (#32978)
- Added
forceDeleted
method toSoftDeletes
(#32982) - Added
Illuminate\Filesystem\Filesystem::guessExtension()
method (#33001, d26be90) - Added
Illuminate\Http\Client\Request::toPsrRequest()
(#33016) - Added
Illuminate\Support\MessageBag::addIf()
method (50efe09) - Provide
psr/container-implementation
(#33020) - Support PHP 8's reflection API (#33039, 6018c1d)
- Restore
app()->getCached*Path()
absolute '/' behavior in Windows (#32969) - Fixed Issue with using "sticky" option with Postgresql driver and read/write connections. (#32973)
- Fixed custom class cast with dates (2d52abc)
- Fixed
Illuminate\Database\Eloquent\Collection::getQueueableRelations()
(00e9ed7) - Fixed bug with update existing pivot and polymorphic many to many (684208b)
- Fixed localization in tailwind view (f2eb9ab)
- Use new line for
route:list
middleware (#32993) - Disallow generation commands with reserved names (#33037)
- Fixed route list command for excluded middleware (7ebd211)
- Fixed behavior of oneachside = 1 with paginator in
Illuminate\Pagination\UrlWindow
(c59cffa, 5d817be)
- Using an indexed array as the limit modifier for phpredis zrangebyscore (#32952)
- Added
Illuminate\Http\Middleware\TrustHosts
(9229264) - Added ability to skip middleware from resource routes (#32891)
- Fixed Queued Mail MessageSent Listener With Attachments (#32795)
- Added error clearing before sending in
Illuminate\Mail\Mailer::sendSwiftMessage()
(#32799) - Avoid foundation function call in the auth component (#32805)
- Fixed inferred table reference for
Illuminate\Database\Schema\ForeignIdColumnDefinition::constrained()
(#32847) - Fixed wrong component generation (73060db)
- Fixed bug with request rebind and url defaults in
Illuminate\Routing\UrlGenerator
(6ad92bf) - Fixed
Illuminate\Cache\ArrayStore::increment()
bug that changes expiration to forever (#32875)
- Dont cache non objects in
Illuminate/Database/Eloquent/Concerns/HasAttributes::getClassCastableAttributeValue()
(894fe22) - Added explicit
symfony/polyfill-php73
dependency (5796b1e) - Set
Cache\FileStore
file permissions only once (#32845, 11c533b) - Added alias as key of package's view components (#32863)
- Added support for FILTER_FLAG_EMAIL_UNICODE via "email:filter_unicode" in email validator (#32711, 43a1ed1)
- Added
Illuminate\Support\Stringable::split()
(#32713, 19c5054) - Added
orWhereIntegerInRaw()
andorWhereIntegerNotInRaw()
toIlluminate\Database\Query\Builder
(#32710) - Added
Illuminate\Cache\DatabaseStore::add()
(7fc452b) - Implement env and production Blade directives (#32742)
- Added
Illuminate\Database\Eloquent\Relations\MorphTo::morphWithCount()
method (#32738) - Added
Illuminate\Database\Eloquent\Collection::loadMorphCount()
method (#32739) - Added support
viaQueues
method for notifications (e97d17c) - Added
loadMorph
andloadMorphCount
methods toIlluminate\Database\Eloquent\Model
(#32760) - Added
Illuminate\Database\DatabaseManager::usingConnection()
method (#32761, 5f8c7de) - Added
Illuminate\Http\Client\PendingRequest::head()
method (#32782)
- Fixed belongsToMany child relationship solving (c5e88be)
- Allow overriding the MySQL server version for strict mode (#32708)
- Added boolean to types that don't need character options (#32716)
- Fixed
Illuminate\Foundation\Testing\PendingCommand
that do not resolve 'OutputStyle::class' from the container (#32687) - Clear resolved event facade on
Illuminate\Foundation\Testing\Concerns\MocksApplicationServices::withoutEvents()
(d1e7f85) - Fixed
Illuminate\Database\Eloquent\Collection::getQueueableRelations()
for filtered collections (#32747) - Fixed
Illuminate\Database\Eloquent\Collection::loadCount
method to ensure count is set on all models (#32740) - Fixed deprecated "Doctrine/Common/Inflector/Inflector" class (#32734)
- Fixed
Illuminate\Validation\Validator::getPrimaryAttribute()
(#32775) - Revert of "Remove
strval
fromIlluminate/Validation/ValidationRuleParser::explodeWildcardRules()
" (52940cf)
- Updated user model var name in
make:policy
command (#32748) - Remove the undocumented dot keys support in validators (#32764)
- Added
Illuminate\Http\Client\Response::failed()
(#32699) - Added SSL SYSCALL EOF as a lost connection message (#32697)
- Fixed
FakerGenerator
Unique caching issue (#32703) - Set/reset the select to from.* in
Illuminate/Database/Query/Builder::runPaginationCountQuery()
(858f454, 98a242e)
- Updated
Illuminate\Database\Query\Builder::runPaginationCountQuery()
to support groupBy and sub-selects (#32688)
- Fixed
Illuminate\Database\Eloquent\Collection::getQueueableRelations()
(7b32460)
- Added
artisan make:cast
command (#32594) - Added
Illuminate\Foundation\Testing\Concerns\InteractsWithDatabase::assertDatabaseCount()
(#32597) - Allow configuring the auth_mode for SMTP mail driver (#32616)
- Added
hasNamedScope()
function to the Base Model (#32622, #32631) - Allow doing truth-test assertions with just a closure (#32626, f69ad90, 22d6fca)
- Run pagination count as subquery for group by and havings (#32624)
- Added Callbacks with Output to Console Schedule (#32633, 35a7883, 8d8d620)
- Added
Cache::lock()
support for the database cache driver (#32639, 573831b) - Same-session ID request concurrency limiting (#32636)
- Add
skipUntil
andskipWhile
methods to the collections (#32672, #32676) - Support delete with limit on sqlsrv (f16d325)
- Added
mergeFillable()
andmergeGuarded()
toModel
(#32679)
- Prevents a memory leak in Faker (2228233)
- Fixed setting component name and attributes (#32599, f8ff3ca)
- Fixed
Illuminate\Foundation\Testing\TestResponse::assertSessionHasInput()
(f0639fd) - Set relation connection on eager loaded MorphTo (#32602)
- Filtering null's in
hasMorph()
(#32614) - Fixed
Illuminate\Foundation\Console\EventMakeCommand::alreadyExists()
(7bba4bf) - Fixed
Illuminate\Console\Scheduling\Schedule::compileParameters()
(cfc3ac9, 36e215d) - Fixed bug with model name in
Illuminate\Database\Eloquent\RelationNotFoundException::make()
(f72a166) - Allow trashed through parents to be included in has many through queries (#32609)
- Changed
Illuminate/Database/Eloquent/Relations/Concerns/AsPivot::fromRawAttributes()
(6c502c1) - Restore оnly common relations (#32613, d82f78b, 48e4d60)
- Use single space if plain email is empty in
Illuminate\Mail\Mailer::addContent()
(0557622) - Remove wasted file read when loading package manifest in
Illuminate\Foundation\PackageManifest::getManifest()
(#32646) - Do not change
character
andcollation
for some columns on change (fccdf7c) - Use table name when resolving has many through / one relationships (8d69454)
- Extract
InvokableComponentVariable
class (f1ef6e6) - Changed argument order in
Illuminate\View\Compilers\ComponentTagCompiler::__construct()
(520544d)
- Added more proxy methods to deferred value from
Illuminate\View\Component::createInvokableVariable()
(08c4012)
- Add pdo try again as lost connection message (#32544)
- Compile Echos Within Blade Component Attributes (#32558)
- Parameterless Component Methods Invokable With & Without Parens (#32560)
- Fixed
firstWhere
behavior for relations (#32525) - Added check to avoid endless loop in
MailManager::createTransport()
(#32549) - Fixed table prefixes with
compileDropDefaultConstraint()
(#32554) - Fixed boolean value in
Illuminate\Foundation\Testing\TestResponse::assertSessionHasErrors()
(#32555) - Fixed
Model::getOriginal()
with custom casts (9e22c7c)
- Added
withName
toIlluminate\View\Component::ignoredMethods()
(2e9eef2)
- Fixed
Illuminate\Http\Resources\Json\PaginatedResourceResponse::toResponse()
(d460374)
- Added
signedRoute()
andtemporarySignedRoute()
methods toIlluminate\Routing\Redirector
(#32489) - Added
takeUntil
andtakeWhile
collection methods (#32494, #32496) - Added
Illuminate\Container\ContextualBindingBuilder::giveTagged()
(#32514) - Added methods
withFragment
andwithoutFragment
toIlluminate\Http\RedirectResponse
(11d6bef, 0099591, 42c67a1, a1e741a) - Added
exclude_without
validation rule (4083ae5)
- Fixed compiled route actions without a namespace (#32512)
- Reset select bindings when setting select (#32531)
- Added warn in
Illuminate/Support/Facades/Auth::routes()
when laravel/ui is not installed (#32482) - Added auth to each master on
Illuminate\Redis\Connections\PhpRedisConnection::flushdb()
(837921b) - Register opis key so it is not tied to a deferred service provider (Illuminate/Encryption/EncryptionServiceProvider.php) (62d8a07)
- Pass status code to schedule finish (#32516)
- Check route:list --columns option case insensitively (#32521)
- Deprecate
Illuminate\Support\Traits\EnumeratesValues::until
(#32517)
- Allow developers to specify accepted keys in array rule (#32452)
- Add check is_object to
Illuminate\Database\Eloquent\Model::refresh()
(1b0bdb4)
- Added ArrayAccess support for Http client get requests (#32401)
- Added
Illuminate\Http\Client\Factory::assertSentCount()
(#32407) - Added
Illuminate\Database\Schema\Blueprint::rawIndex()
(#32411) - Added getGrammar into passthru in Eloquent builder (#32412)
- Added
--relative
option tostorage:link
command (#32457, 24b705e) - Added dynamic
column
key for foreign constraints (#32449) - Added container support for variadic constructor arguments (#32454, 1dd6db3)
- Added
Illuminate\Http\Client\Request::hasHeaders()
(#32462)
- Fixed
MorphPivot::delete()
for models with primary key (#32421) - Throw exception on missing required parameter on Container call method (#32439, 44c2a8d)
- Fixed Http Client multipart request (#32428, 1f163d4)
- Fixed
Illuminate\Support\Stringable::isEmpty()
(#32447) - Fixed
whereNull
/whereNotNull
for json in MySQL (#32417, d3bb329) - Fixed
Collection::orderBy()
with callable (#32471)
- Re-use
Router::newRoute()
insideCompiledRouteCollection
(#32416) - Make
Illuminate\Queue\InteractsWithQueue.php::$job
public (2e272ee) - Catch and report exceptions thrown during schedule run execution (#32461)
- Added
substrCount()
method toStringable
andStr
(#32393)
- Fixed Lazyload
PackageManifest
(#32391) - Fixed email validator (#32388)
- Fixed
Illuminate\Mail\Mailable::attachFromStorageDisk()
(#32394)
- Changed
Illuminate\Translation\Translator::setLocale()
(e78d24f, a0094a5) - Changed
Illuminate\Mail\Mailable::attachData()
(#32392)
- Fixed
Illuminate\Testing\TestResponse::offsetExists()
(#32377)
- Added
Collection::until()
method (#32262) - Added
HtmlString::isEmpty()
method (#32289, #32300) - Added
Illuminate\Support\Stringable::isNotEmpty()
method (#32293) - Added
ltrim()
andrtrim()
methods toIlluminate\Support\Stringable
class (#32288) - Added ability to skip a middleware (#32347, 412261c)
- Added
Illuminate\Http\Client\Response::object()
method (#32341) - Set component alias name (#32346)
- Added
Illuminate\Database\Eloquent\Collection::append()
method (#32324) - Added "between" clauses for BelongsToMany pivot columns (#32364)
- Support
retryAfter()
method option on Queued Listeners (#32370) - Added support for the new composer installed.json format (#32310)
- Added
uuid
change support in migrations (#32316) - Allowed store resource into postgresql bytea (#32319)
- Fixed
*scan
methods for phpredis (#32336) - Fixed
Illuminate\Auth\Notifications\ResetPassword::toMail()
(#32345) - Call setLocale in
Illuminate\Translation\Translator::__construct()
(1c6a504) - Used a map to prevent unnecessary array access in
Illuminate\Http\Resources\Json\PaginatedResourceResponse::toResponse()
(#32296) - Prevent timestamp update when pivot is not dirty (#32311)
- Fixed CURRENT_TIMESTAMP precision bug in
Illuminate\Database\Schema\Grammars\MySqlGrammar
(#32298)
- Added default value to
HtmlString
constructor (#32290) - Used
BindingResolutionException
to signal problem with container resolution (#32349) Illuminate\Validation\Concerns\ValidatesAttributes.php ::validateUrl()
use Symfony/Validator 5.0.7 regex (#32315)
- Depreciate the
elixir
function (#32366)
- Prevent insecure characters in locale (c248521)
- Optimize
Arr::set()
method (#32282)
- Fixed Check a request header with an array value in
Illuminate\Http\Client\Request::hasHeader()
(#32274) - Fixed setting mail header (#32272)
- Added
assertNotSent()
andassertNothingSent()
methods toIlluminate\Http\Client\Factory
(#32197) - Added enum support for
renameColumn()
(#32205) - Support returning an instance of a caster (#32225)
- Prevent long URLs from breaking email layouts (#32189)
- Fixed camel casing relationship (#32217)
- Fixed merging boolean or null attributes in Blade components (#32245)
- Fixed Console expectation assertion order (#32258)
- Fixed
route
helper with custom binding key (#32264) - Fixed double slashes matching in UriValidator (fix inconsistencies between cached and none cached routes) (#32260)
- Fixed setting mail header (#32272)
- Optimize
Container::resolve()
method (#32194) - Optimize performance for
data_get()
method (#32192) - Optimize
Str::startsWith()
(#32243)
- Makes the stubs used for
make:policy
customizable (#32040, 9d36a36) - Implement
HigherOrderWhenProxy
for Collections (#32148) - Added
Illuminate\Testing\PendingCommand::expectsChoice()
(#32139) - Added support for default values for the "props" blade tag (#32177)
- Added
Castable
interface (#32129, 9cbf908, 651371a) - Added the ability to remove orders from the query builder (#32186)
- Added missing return in the
PendingMailFake::sendNow()
andPendingMailFake::send()
(#32093) - Fixed custom Model attributes casts (#32118)
- Fixed route group prefixing (#32135, 870efef)
- Fixed component class view reference (#32132)
- Remove Swift Mailer bindings (#32165)
- Publish console stub when running
stub:publish
command (#32096) - Publish rule stub when running
make:rule
command (#32097) - Adding the middleware.stub to the files that will be published when running php artisan
stub:publish
(#32099) - Adding the factory.stub to the files that will be published when running php artisan
stub:publish
(#32100) - Adding the seeder.stub to the files that will be published when running php artisan
stub:publish
(#32122)
- Added possibility to use
^4.0
versions oframsey/uuid
(#32086)
- Corrected suggested dependencies (#32072, c01a70e)
- Avoid deadlock in test when sharing process group (#32067)
- Fixed empty data for blade components (#32032)
- Fixed subdirectories when making components by
make:component
(#32030) - Fixed serialization of models when sending notifications (#32051)
- Fixed route trailing slash in cached routes matcher (#32048)
- Throw exception for non existing component alias (#32036)
- Don't overwrite published stub files by default in
stub:publish
command (#32038)
- Enabling Windows absolute cache paths normalizing (#31985, adfcb59)
- Fixed blade newlines (#32026)
- Fixed exception rendering in debug mode (#32027)
- Fixed route naming issue (#32028)
- Added
Illuminate\Testing\PendingCommand::expectsConfirmation()
(#31965) - Allowed configuring the timeout for the smtp mail driver (#31973)
- Added
Http client
query string support (#31996)
- Fixed
cookie
helper signature , matching matchCookieFactory
(#31974) - Added missing
ramsey/uuid
dependency toIlluminate/Queue/composer.json
(#31988) - Fixed output of component attributes in View (#31994)
- Publish the form request stub used by RequestMakeCommand (#31962)
- Handle prefix update on route level prefix (449c80)
- Ensure SqsQueue queues are only suffixed once (#31925)
- Added space after component closing tag for the View (#32005)
- Unset
pivotParent
onPivot::unsetRelations()
(#31956)
- Escape merged attributes by default in
Illuminate\View\ComponentAttributeBag
(83c8e6e)
- Corrected suggested dependencies (bb0ec42)
- Fixed null value injected from container in routes (#31867, c666c42)
- Escape attributes automatically in some situations in
Illuminate\View\Compilers\ComponentTagCompiler
(#31945)
- Added
dispatchToQueue()
toBusFake
(#31935) - Support either order of arguments for symmetry with livewire (8d558670)
- Bring
--daemon
option back toqueue:work
command (24c1818) - Fixed scheduler dependency assumptions (#31894)
- Fixed ComponentAttributeBag merge behaviour (#31932)
- Intelligently drop unnamed prefix name routes when caching (#31917)
- Closure jobs needs illuminate/queue (#31933)
- Have a cache aware interface instead of concrete checks (#31903)
- Added
Illuminate\Routing\RouteRegistrar::apiResource()
method (#31857) - Added optional $table parameter to
ForeignIdColumnDefinition::constrained()
method (#31853)
- Fixed phpredis "zadd" and "exists" on cluster (#31838)
- Fixed trailing slash in
Illuminate\Routing\CompiledRouteCollection::match()
(3d58cd9, ac6f3a8) - Fixed "srid" mysql schema (#31852)
- Fixed Microsoft ODBC lost connection handling (#31879)
- Fire
MessageLogged
event after the message has been logged (not before) (#31843) - Avoid using array_merge_recursive in HTTP client (#31858)
- Expire the jobs cache keys after 1 day (#31854)
- Avoid global app() when compiling components (#31868)
- Added
Illuminate\Mail\Mailable::when()
method (#31828)
- Match Symfony's
Command::setHidden
declaration (#31840) - Fixed dynamically adding of routes during caching (#31829)
- Update the encryption algorithm to provide deterministic encryption sizes (#31721)
- Fixed type hint for
Request::get()
method (#31826) - Add missing public methods to
Illuminate\Routing\RouteCollectionInterface
(e4f477c)
- Added queue suffix for SQS driver (#31784)
- Fixed model binding when route cached (af80685)
- Fixed incompatible
Factory
contract forMailFacade
(#31809)
- Fixed typehints in
Illuminate\Foundation\Application::handle()
(#31806)
- Fixed
Illuminate\Http\Client\PendingRequest::withCookies()
method (36d783c) - Catch Symfony
MethodNotAllowedException
exception inCompiledRouteCollection::match()
method (#31762) - Fixed a bug with slash prefix in the route (#31760)
- Fixed root URI not showing in the
route:list
(#31771) - Fixed model restoring right after being soft deleting (#31719)
- Fixed array lock release behavior (#31795)
- Fixed
Illuminate\Support\Str::slug()
method (e4f22d8)
- Throw exception for duplicate route names in
Illuminate\Routing\AbstractRouteCollection::addToSymfonyRoutesCollection()
method (#31755) - Revert disabling expired views checks (#31798)
- Changed of route prefix parameter parsing (b38e179)
- Fixed route caching attempt in
Illuminate\Routing\CompiledRouteCollection::newRoute()
(90b0167) - Catch Symfony exception in
CompiledRouteCollection::match()
method (#31738) - Fixed Eloquent model casting (2b395cd)
- Fixed
UrlGenerator
constructor (#31740)
- Added message to
Illuminate\Http\Client\RequestException
(#31720)
- Fixed
ascii()
\isAscii()
\slug()
methods on theStr
class with null value in the methods (#31717) - Fixed
trim
of the prefix in theCompiledRouteCollection::newRoute()
(ce0355c, b842c65)
- remove comments before compiling components in the
BladeCompiler
(2964d2d)
- Fixed
Illuminate\View\Component::withAttributes()
method (c81ffad)
Check the upgrade guide in the Official Laravel Upgrade Documentation. Also you can see some release notes in the Official Laravel Release Documentation.