- Added
makeVisibleIfandmakeHiddenIfmethods 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/mimesuggest (#33067)
- Fixed
Illuminate\Database\Eloquent\Relations\MorphToMany::getCurrentlyAttachedPivots()(110b129)
- Views: make attributes available within render method (#32978)
- Added
forceDeletedmethod 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:listmiddleware (#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-php73dependency (5796b1e) - Set
Cache\FileStorefile 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
viaQueuesmethod for notifications (e97d17c) - Added
loadMorphandloadMorphCountmethods 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\PendingCommandthat 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::loadCountmethod 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
strvalfromIlluminate/Validation/ValidationRuleParser::explodeWildcardRules()" (52940cf)
- Updated user model var name in
make:policycommand (#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
FakerGeneratorUnique 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:castcommand (#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
skipUntilandskipWhilemethods 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
characterandcollationfor some columns on change (fccdf7c) - Use table name when resolving has many through / one relationships (8d69454)
- Extract
InvokableComponentVariableclass (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
firstWherebehavior 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
withNametoIlluminate\View\Component::ignoredMethods()(2e9eef2)
- Fixed
Illuminate\Http\Resources\Json\PaginatedResourceResponse::toResponse()(d460374)
- Added
signedRoute()andtemporarySignedRoute()methods toIlluminate\Routing\Redirector(#32489) - Added
takeUntilandtakeWhilecollection methods (#32494, #32496) - Added
Illuminate\Container\ContextualBindingBuilder::giveTagged()(#32514) - Added methods
withFragmentandwithoutFragmenttoIlluminate\Http\RedirectResponse(11d6bef, 0099591, 42c67a1, a1e741a) - Added
exclude_withoutvalidation 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
--relativeoption tostorage:linkcommand (#32457, 24b705e) - Added dynamic
columnkey 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/whereNotNullfor json in MySQL (#32417, d3bb329) - Fixed
Collection::orderBy()with callable (#32471)
- Re-use
Router::newRoute()insideCompiledRouteCollection(#32416) - Make
Illuminate\Queue\InteractsWithQueue.php::$jobpublic (2e272ee) - Catch and report exceptions thrown during schedule run execution (#32461)
- Added
substrCount()method toStringableandStr(#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\Stringableclass (#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
uuidchange support in migrations (#32316) - Allowed store resource into postgresql bytea (#32319)
- Fixed
*scanmethods 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
HtmlStringconstructor (#32290) - Used
BindingResolutionExceptionto signal problem with container resolution (#32349) Illuminate\Validation\Concerns\ValidatesAttributes.php ::validateUrl()use Symfony/Validator 5.0.7 regex (#32315)
- Depreciate the
elixirfunction (#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
routehelper 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:policycustomizable (#32040, 9d36a36) - Implement
HigherOrderWhenProxyfor Collections (#32148) - Added
Illuminate\Testing\PendingCommand::expectsChoice()(#32139) - Added support for default values for the "props" blade tag (#32177)
- Added
Castableinterface (#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:publishcommand (#32096) - Publish rule stub when running
make:rulecommand (#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.0versions 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:publishcommand (#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 clientquery string support (#31996)
- Fixed
cookiehelper signature , matching matchCookieFactory(#31974) - Added missing
ramsey/uuiddependency 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
pivotParentonPivot::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
--daemonoption back toqueue:workcommand (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
MessageLoggedevent 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::setHiddendeclaration (#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
Factorycontract forMailFacade(#31809)
- Fixed typehints in
Illuminate\Foundation\Application::handle()(#31806)
- Fixed
Illuminate\Http\Client\PendingRequest::withCookies()method (36d783c) - Catch Symfony
MethodNotAllowedExceptionexception 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
UrlGeneratorconstructor (#31740)
- Added message to
Illuminate\Http\Client\RequestException(#31720)
- Fixed
ascii()\isAscii()\slug()methods on theStrclass with null value in the methods (#31717) - Fixed
trimof 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.