Skip to content

Latest commit

 

History

History
591 lines (417 loc) · 45.3 KB

CHANGELOG-7.x.md

File metadata and controls

591 lines (417 loc) · 45.3 KB

Release Notes for 7.x

Added

  • Added makeVisibleIf and makeHiddenIf methods to Illuminate\Database\Eloquent\Concerns\HidesAttributes (#33176, 42383e4)

Changed

Added

  • 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)

Fixed

  • Fixed Model::withoutEvents() not registering listeners inside boot() (#33149, 4bb32ae)

Added

  • Added missing symfony/mime suggest (#33067)

Fixed

  • Fixed Illuminate\Database\Eloquent\Relations\MorphToMany::getCurrentlyAttachedPivots() (110b129)

Added

  • Views: make attributes available within render method (#32978)
  • Added forceDeleted method to SoftDeletes (#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)

Fixed

Changed

  • Use new line for route:list middleware (#32993)
  • Disallow generation commands with reserved names (#33037)

Added

Fixed

  • Fixed route list command for excluded middleware (7ebd211)
  • Fixed behavior of oneachside = 1 with paginator in Illuminate\Pagination\UrlWindow (c59cffa, 5d817be)

Changed

  • Using an indexed array as the limit modifier for phpredis zrangebyscore (#32952)

Added

  • Added Illuminate\Http\Middleware\TrustHosts (9229264)
  • Added ability to skip middleware from resource routes (#32891)

Fixed

  • 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)

Changed

  • 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

  • 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() and orWhereIntegerNotInRaw() to Illuminate\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 and loadMorphCount methods to Illuminate\Database\Eloquent\Model (#32760)
  • Added Illuminate\Database\DatabaseManager::usingConnection() method (#32761, 5f8c7de)
  • Added Illuminate\Http\Client\PendingRequest::head() method (#32782)

Fixed

  • 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 from Illuminate/Validation/ValidationRuleParser::explodeWildcardRules()" (52940cf)

Changed

  • Updated user model var name in make:policy command (#32748)
  • Remove the undocumented dot keys support in validators (#32764)

Added

  • Added Illuminate\Http\Client\Response::failed() (#32699)
  • Added SSL SYSCALL EOF as a lost connection message (#32697)

Fixed

  • Fixed FakerGenerator Unique caching issue (#32703)
  • Set/reset the select to from.* in Illuminate/Database/Query/Builder::runPaginationCountQuery() (858f454, 98a242e)

Fixed

  • Updated Illuminate\Database\Query\Builder::runPaginationCountQuery() to support groupBy and sub-selects (#32688)

Fixed

  • Fixed Illuminate\Database\Eloquent\Collection::getQueueableRelations() (7b32460)

Added

  • 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 and skipWhile methods to the collections (#32672, #32676)
  • Support delete with limit on sqlsrv (f16d325)
  • Added mergeFillable() and mergeGuarded() to Model (#32679)

Fixed

  • 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

  • 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 and collation for some columns on change (fccdf7c)
  • Use table name when resolving has many through / one relationships (8d69454)

Changed

  • Extract InvokableComponentVariable class (f1ef6e6)
  • Changed argument order in Illuminate\View\Compilers\ComponentTagCompiler::__construct() (520544d)

Added

  • Added more proxy methods to deferred value from Illuminate\View\Component::createInvokableVariable() (08c4012)

Added

  • 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

  • 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)

Changed

  • Added withName to Illuminate\View\Component::ignoredMethods() (2e9eef2)

Fixed

  • Fixed Illuminate\Http\Resources\Json\PaginatedResourceResponse::toResponse() (d460374)

Added

  • Added signedRoute() and temporarySignedRoute() methods to Illuminate\Routing\Redirector (#32489)
  • Added takeUntil and takeWhile collection methods (#32494, #32496)
  • Added Illuminate\Container\ContextualBindingBuilder::giveTagged() (#32514)
  • Added methods withFragment and withoutFragment to Illuminate\Http\RedirectResponse (11d6bef, 0099591, 42c67a1, a1e741a)
  • Added exclude_without validation rule (4083ae5)

Fixed

  • Fixed compiled route actions without a namespace (#32512)
  • Reset select bindings when setting select (#32531)

Changed

  • 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)

Deprecated

  • Deprecate Illuminate\Support\Traits\EnumeratesValues::until (#32517)

Added

  • Allow developers to specify accepted keys in array rule (#32452)

Changed

  • Add check is_object to Illuminate\Database\Eloquent\Model::refresh() (1b0bdb4)

Added

  • 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 to storage: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

  • 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)

Changed

  • Re-use Router::newRoute() inside CompiledRouteCollection (#32416)
  • Make Illuminate\Queue\InteractsWithQueue.php::$job public (2e272ee)
  • Catch and report exceptions thrown during schedule run execution (#32461)

Added

  • Added substrCount() method to Stringable and Str (#32393)

Fixed

  • Fixed Lazyload PackageManifest (#32391)
  • Fixed email validator (#32388)
  • Fixed Illuminate\Mail\Mailable::attachFromStorageDisk() (#32394)

Changed

  • Changed Illuminate\Translation\Translator::setLocale() (e78d24f, a0094a5)
  • Changed Illuminate\Mail\Mailable::attachData() (#32392)

Fixed

  • Fixed Illuminate\Testing\TestResponse::offsetExists() (#32377)

Added

  • Added Collection::until() method (#32262)
  • Added HtmlString::isEmpty() method (#32289, #32300)
  • Added Illuminate\Support\Stringable::isNotEmpty() method (#32293)
  • Added ltrim() and rtrim() methods to Illuminate\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

  • 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)

Changed

  • 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)

Depreciated

  • Depreciate the elixir function (#32366)

Fixed

  • Prevent insecure characters in locale (c248521)

Optimization

  • Optimize Arr::set() method (#32282)

Fixed

  • Fixed Check a request header with an array value in Illuminate\Http\Client\Request::hasHeader() (#32274)
  • Fixed setting mail header (#32272)

Added

  • Added assertNotSent() and assertNothingSent() methods to Illuminate\Http\Client\Factory (#32197)
  • Added enum support for renameColumn() (#32205)
  • Support returning an instance of a caster (#32225)

Fixed

  • 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)

Optimization

  • Optimize Container::resolve() method (#32194)
  • Optimize performance for data_get() method (#32192)
  • Optimize Str::startsWith() (#32243)

Added

  • 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)

Fixed

  • Added missing return in the PendingMailFake::sendNow() and PendingMailFake::send() (#32093)
  • Fixed custom Model attributes casts (#32118)
  • Fixed route group prefixing (#32135, 870efef)
  • Fixed component class view reference (#32132)

Changed

  • 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

  • Added possibility to use ^4.0 versions of ramsey/uuid (#32086)

Fixed

  • Corrected suggested dependencies (#32072, c01a70e)
  • Avoid deadlock in test when sharing process group (#32067)

Fixed

  • 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)

Changed

  • Throw exception for non existing component alias (#32036)
  • Don't overwrite published stub files by default in stub:publish command (#32038)

Fixed

  • 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

  • Added Illuminate\Testing\PendingCommand::expectsConfirmation() (#31965)
  • Allowed configuring the timeout for the smtp mail driver (#31973)
  • Added Http client query string support (#31996)

Fixed

  • Fixed cookie helper signature , matching match CookieFactory (#31974)
  • Added missing ramsey/uuid dependency to Illuminate/Queue/composer.json (#31988)
  • Fixed output of component attributes in View (#31994)

Changed

  • 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)

Fixed

  • Unset pivotParent on Pivot::unsetRelations() (#31956)

Changed

  • Escape merged attributes by default in Illuminate\View\ComponentAttributeBag (83c8e6e)

Fixed

  • Corrected suggested dependencies (bb0ec42)
  • Fixed null value injected from container in routes (#31867, c666c42)

Changed

  • Escape attributes automatically in some situations in Illuminate\View\Compilers\ComponentTagCompiler (#31945)

Added

  • Added dispatchToQueue() to BusFake (#31935)
  • Support either order of arguments for symmetry with livewire (8d558670)

Fixed

  • Bring --daemon option back to queue:work command (24c1818)
  • Fixed scheduler dependency assumptions (#31894)
  • Fixed ComponentAttributeBag merge behaviour (#31932)

Changed

  • 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

  • Added Illuminate\Routing\RouteRegistrar::apiResource() method (#31857)
  • Added optional $table parameter to ForeignIdColumnDefinition::constrained() method (#31853)

Fixed

  • 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)

Changed

  • 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

  • Added Illuminate\Mail\Mailable::when() method (#31828)

Fixed

  • Match Symfony's Command::setHidden declaration (#31840)
  • Fixed dynamically adding of routes during caching (#31829)

Changed

  • Update the encryption algorithm to provide deterministic encryption sizes (#31721)

Fixed

  • Fixed type hint for Request::get() method (#31826)
  • Add missing public methods to Illuminate\Routing\RouteCollectionInterface (e4f477c)

Added

  • Added queue suffix for SQS driver (#31784)

Fixed

  • Fixed model binding when route cached (af80685)
  • Fixed incompatible Factory contract for MailFacade (#31809)

Changed

  • Fixed typehints in Illuminate\Foundation\Application::handle() (#31806)

Fixed

  • Fixed Illuminate\Http\Client\PendingRequest::withCookies() method (36d783c)
  • Catch Symfony MethodNotAllowedException exception in CompiledRouteCollection::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)

Changed

  • Throw exception for duplicate route names in Illuminate\Routing\AbstractRouteCollection::addToSymfonyRoutesCollection() method (#31755)
  • Revert disabling expired views checks (#31798)

Changed

  • Changed of route prefix parameter parsing (b38e179)

Fixed

  • 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)

Changed

  • Added message to Illuminate\Http\Client\RequestException (#31720)

Fixed

  • Fixed ascii() \ isAscii() \ slug() methods on the Str class with null value in the methods (#31717)
  • Fixed trim of the prefix in the CompiledRouteCollection::newRoute() (ce0355c, b842c65)

Changed

  • remove comments before compiling components in the BladeCompiler (2964d2d)

Fixed

  • 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.