Skip to content

Latest commit

 

History

History
1161 lines (753 loc) · 74.2 KB

CHANGELOG-6.x.md

File metadata and controls

1161 lines (753 loc) · 74.2 KB

Release Notes for 6.x

Fixed

  • Fix edge case causing a BadMethodCallExceptions to be thrown when using loadMissing() (#37871)

Changed

  • Removed unnecessary checks in RequiredIf validation, fixed tests (#37700)

Fixed

  • Fixed dns_get_record loose check of A records for active_url rule (#37675)
  • Type hinted arguments for Illuminate\Validation\Rules\RequiredIf (#37688)
  • Fixed when passed object as parameters to scopes method (#37692)

Added

  • Support mass assignment to SQL Server views (#37307)

Fixed

  • Fixed Illuminate\Database\Query\Builder::offset() with non numbers $value (#37164)
  • Fixed unless rules (#37291)

Changed

  • Allow reporting reportable exceptions with the default logger (#37235)

Fixed

  • Fixed Cache store with a name other than 'dynamodb' (#37145)

Changed

  • Some cast to int in Illuminate\Database\Query\Grammars\SqlServerGrammar (09bf145)

Fixed

Fixed

  • Fixed required_if boolean validation (#36969)

Added

  • Added strings to the DetectsLostConnections.php (4210258)

Fixed

  • Fixed setting DynamoDB credentials (#36822)

Added

  • Added support of DynamoDB in CI suite (#36749)
  • Support username parameter for predis (#36762)

Changed

  • Use qualified column names in pivot query (#36720)

Added

  • Added WSREP communication link failure for lost connection detection (#36668)

Fixed

  • Fixes the issue using cache:clear with PhpRedis and a clustered Redis instance. (#36665)

Added

  • Added broken pipe exception as lost connection error (#36601)

Fixed

  • Fix validator treating null as true for (required|exclude)_(if|unless) due to loose in_array() check (#36504)

Changed

  • Delete existing links that are broken in Illuminate\Foundation\Console\StorageLinkCommand (#36470)

Added

  • Added new line to DetectsLostConnections (#36373)

Fixed

  • Fixed Illuminate\View\ViewException::report() (#36110)
  • Fixed Illuminate\Redis\Connections\PhpRedisConnection::spop() (#36106)

Changed

  • Typecast page number as integer in Illuminate\Pagination\AbstractPaginator::resolveCurrentPage() (#36055)

Changed

  • Pipe new through render and report exception methods (#36037)

Fixed

  • Fixed type error in Illuminate\Http\Concerns\InteractsWithContentTypes::isJson() (#35956)
  • Limit expected bindings (#35972, 006873d)

Fixed

  • Fixed empty html mail (#35941)

Fixed

  • Limit expected bindings (#35865)

Added

  • Added new line to DetectsLostConnections (#35790)

Fixed

  • Fixed error from missing null check on PHP 8 in Illuminate\Validation\Concerns\ValidatesAttributes::validateJson() (#35797)

Added

Fixed

  • Fixed Illuminate\Validation\Concerns\ValidatesAttributes::validateJson() for PHP8 (#35646)
  • Catch DecryptException with invalid X-XSRF-TOKEN in Illuminate\Foundation\Http\Middleware\VerifyCsrfToken (#35671)

Fixed

  • Backport for fix issue with polymorphic morphMaps with literal 0 (#35487)
  • Fixed mime validation for jpeg files (#35518)

Fixed

  • Backport Redis context option (#35370)
  • Fixed validating image/jpeg images after Symfony/Mime update (#35419)

Fixed

  • Fixing BroadcastException message in PusherBroadcaster@broadcast (#35290)
  • Fixed generic DetectsLostConnection string (#35323)

Changed

  • Updated aws/aws-sdk-php suggest to ^3.155 (#35267)

Fixed

  • Fixed pivot restoration (#35218)

Fixed

  • Turn the eloquent collection into a base collection if mapWithKeys loses models (#35129)

Fixed

Fixed

  • Fixed alias usage in Eloquent (6091048)
  • Fixed Illuminate\Support\Reflector::isCallable() (a90f344)

Added

Changed

  • Bump minimum PHP version to v7.2.5 (#34928)

Fixed

  • Fixed ambigious column on many to many with select load (5007986)

Fixed

Added

Fixed

  • Matched symfony/debug version with other symfony reqs (6ce02a2)

Fixed

  • Added missed RESET_THROTTLED constant to Password Facade (#34641)

Fixed

  • Added support for stream reads in FileManager for S3 driver (#34480)

Revert

Fixed

  • Fixed for empty fallback_locale in Illuminate\Translation\Translator (#34136)

Changed

  • Changed postgres processor (#34055)

Fixed

  • Fixed offset error on invalid remember token (#34020)
  • Only prepend scheme to PhpRedis host when necessary (#34017)
  • Fixed whereKey and whereKeyNot in Illuminate\Database\Eloquent\Builder (#34031)

Fixed

  • Fix dimension ratio calculation in Illuminate\Validation\Concerns\ValidatesAttributes::failsRatioCheck() (#34003)

Changed

  • Normalize scheme in Redis connections (#33892)
  • Check no-interaction flag exists and is true for Artisan commands (#33950)

Changed

  • Verify column names are actual columns when using guarded (#33777)

Fixed

  • Fixed Illuminate\Support\Arr::query() (c6f9ae2)
  • Don't allow mass filling with table names (9240404, f5fa6e3)

Fixed

Changed

  • Ignore numeric field names in validators (#33712)
  • Fixed validation rule 'required_unless' when other field value is boolean. (#33715)

Update

  • Update cookies encryption (release)

Update

  • Update cookies encryption (release)

Fixed

Fixed

Fixed

  • Don't decrement transaction below 0 in Illuminate\Database\Concerns\ManagesTransactions::handleCommitTransactionException() (7681795)
  • Fixed transaction problems on closure transaction (c4cdfc7)
  • Prevent to serialize uninitialized properties (#33644)
  • Fixed missing statement preventing deletion in Illuminate\Database\Eloquent\Relations\MorphPivot::delete() (#33648)

Changed

  • Improve cookie encryption (#33662)

This change will invalidate all existing cookies. Please see this security bulletin for more information.

Fixed

  • Align (fix) nested arrays support for assertViewHas & assertViewMissing in Illuminate\Testing\TestResponse (#33566)

Fixed

  • Fixed Illuminate\Cache\FileStore::flush() (#33458)
  • Fixed auto creating model by class name (#33481)
  • Don't return nested data from validator when failing an exclude rule (#33435)
  • Fixed validation nested error messages (6615371)
  • Fixed Illuminate\Support\Reflector to handle parent (#33502)

Revert

Fixed

  • Fixed notifications database channel for anonymous notifiables (#33409)
  • Added float comparison null checks (#33421)
  • Improve SQL Server last insert id retrieval (#33453)

Fixed

  • Fixed ConfigurationUrlParser query decoding (#33340)
  • Correct implementation of float casting comparison (#33322)

Revert

Fixed

  • Fixed Model::originalIsEquivalent() with floats (#33259, d68d915)

Changed

  • Improved the reflector (#33184)

Fixed

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

Fixed

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

Added

  • Support PHP 8's reflection API (#33039)

Fixed

  • Fixed Illuminate\Database\Eloquent\Collection::getQueueableRelations() (00e9ed7)
  • Fixed bug with update existing pivot and polymorphic many to many (684208b)

Added

  • Added Illuminate\Http\Middleware\TrustHosts (9229264)

Fixed

Changed

  • Added explicit symfony/polyfill-php73 dependency (5796b1e)
  • Set Cache\FileStore file permissions only once (#32845, 11c533b)

Added

  • Added SSL SYSCALL EOF as a lost connection message (#32697)

Fixed

  • Fixed FakerGenerator Unique caching issue (#32703)
  • 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 deprecated "Doctrine/Common/Inflector/Inflector" class (#32734)

Changed

  • Remove the undocumented dot keys support in validators (#32764)
  • Remove strval from Illuminate/Validation/ValidationRuleParser::explodeWildcardRules() 1c76a6f

Fixed

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

Added

  • Add pdo try again as lost connection message (#32605)

Fixed

  • Fixed Illuminate\Foundation\Testing\TestResponse::assertSessionHasInput() (f0639fd)
  • Set relation connection on eager loaded MorphTo (#32602)
  • Fixed Illuminate\Database\Schema\Grammars\SqlServerGrammar::compileDropDefaultConstraint() was ignoring Table prefixes (#32606)
  • Filtering null's in hasMorph() (#32614)
  • Fixed Illuminate\Console\Scheduling\Schedule::compileParameters() (cfc3ac9, 36e215d)
  • Fixed bug with model name in Illuminate\Database\Eloquent\RelationNotFoundException::make() (f72a166)
  • Fixed Illuminate\Foundation\Testing\TestResponse::assertJsonCount() not accepting falsey keys (#32655)

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)
  • Cache FakerGenerator instances (#32585)
  • Do not change character and collation for some columns on change (fccdf7c)

Fixed

  • Auth with each master on flushdb (d0afa58)
  • Clear resolved facades earlier (f2ea1a2)
  • Register opis key so it is not tied to a deferred service provider (a4574ea)
  • Pass status code to schedule finish (b815dc6)
  • Fix firstWhere behavior for relations (#32525)
  • Fixed boolean value in Illuminate\Foundation\Testing\TestResponse::assertSessionHasErrors() (#32555)

Fixed

Fixed

  • Fix refresh() to support AsPivot trait (#32420)
  • Fix orderBy with callable (#32471)

Fixed

  • Removed dots (e78d24f)
  • Duplicated mailable in-memory data attachments with different names (#32392)
  • Fix a regression caused by #32315 (#32388)
  • Duplicated mailable storage attachments with different names (#32394)

Fixed

  • Call setlocale (1c6a504)
  • Use a map to prevent unnecessary array access (#32296)
  • Prevent timestamp update when pivot is not dirty (#32311)
  • Add support for the new composer installed.json format (#32310)
  • ValidatesAttributes::validateUrl use Symfony/Validator 5.0.7 regex (#32315)
  • Fix *scan methods for phpredis (#32336)
  • Use the router for absolute urls (#32345)

Security

  • Prevent insecure characters in locale (c248521)

Fixed

  • Revert "Fix setting mail header" (#32278)

Fixed

  • Added missing return in the sendNow pending mail fake (#32095)
  • Prevent long URLs from breaking email layouts (#32189)
  • Fix setting mail header (#32272)

Fixed

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

Fixed

  • Fixed scheduler dependency assumptions (#31894)
  • Corrected suggested dependencies (bb0ec42)
  • Unset pivotParent on Pivot::unsetRelations() (#31956)
  • Fixed cookie helper signature , matching match CookieFactory (#31974)

Fixed

  • Fixed array lock release behavior (#31795)
  • Fixed model restoring right after being soft deleting (#31719)
  • Fixed phpredis "zadd" and "exists" on cluster (#31838)
  • Fixed "srid" mysql schema (#31852)
  • Fixed Microsoft ODBC lost connection handling (#31879)

Added

  • Added Arr::hasAny() method (#31636)

Fixed

  • Use correct locale when resolving Faker from the container (#31615)
  • Fixed loading deferred providers for binding interfaces and implementations (#31629, 1764ff7)

Changed

  • Make newPivotQuery() method public (#31677)
  • Allowed easier customization of the queued mailable job (#31684)
  • Expose Notification Id within Message Data in Illuminate\Notifications\Channels\MailChannel (#31632)

Changed

  • Don`t do chmod in File cache in case if permission not set (#31593)

Added

  • Allowed private-encrypted pusher channels (#31559, ceabaef, 8215e0d)
  • Added file permission config option for the File cache store (#31579)
  • Added Connection refused and running with the --read-only option so it cannot execute this statement to DetectsLostConnections (#31539)

Reverted

Fixed

  • Fixed issue Content Type not specified (#31533)

Changed

  • Allowed cache helper to have an optional expiration parameter (#31554)
  • Allowed passing of strings to TestResponse::dumpSession() method (#31583)
  • Consider mailto: and tel: links in the subcopy actionUrl label in emails (#31523, 641a7cd)
  • Exclude mariaDB from database queue support for new SKIP LOCKED (fff96e7)

Added

  • Added Guzzle 7 support (#31484)
  • Added Illuminate\Database\Query\Builder::groupByRaw() (#31498)
  • Added SQLite JSON update support with json_patch (#31492)

Fixed

  • Fixed appendRow on console table (#31469)
  • Fixed password check in EloquentUserProvider::retrieveByCredentials() (4436662)

Revert

  • Revert table feature in the console output (4094d78)

Changed

  • Change MySql nullable modifier to allow generated columns to be not null (#31452)
  • Throw exception on empty collection in assertSentTo() \ assertNotSentTo() methods in NotificationFake class (#31471)

Added

  • Added whereNull and whereNotNull to Collection (#31425)
  • Added Illuminate\Foundation\Testing\MockStream class (#31447)

Fixed

  • Fixed event:list command for shows non-registered events (#31444)
  • Fixed postgres grammar for nested json arrays with (#31448, b3d0da1)

Added

  • Added Illuminate\Auth\Events\Validated event (#31357, 7ddac28)
  • Make Blueprint support Grammar's macro (#31365)
  • Added Macroable trait to Illuminate\Console\Scheduling\Schedule class (#31354)
  • Added support dispatchAfterResponse in BusFake (#31418, e59597f)
  • Added Illuminate\Foundation\Exceptions\Handler::getHttpExceptionView() (#31420)
  • Allowed appending of rows to Artisan tables (#31426)

Fixed

  • Fixed locks for sqlsrv queue (5868066)
  • Fixed Illuminate\Events\Dispatcher::hasListeners() (#31403, c80302e)
  • Fixed testing with unencrypted cookies (#31390)

Changed

  • Allowed multiple paths to be passed to migrate fresh and migrate refresh commands (#31381)
  • Split Console InteractsWithIO to external trait (#31376)
  • Added sms link as valid URL in UrlGenerator::isValid() method (#31382)
  • Upgrade CommonMark and use the bundled table extension (#31411)
  • Ensure Application::$terminatingCallbacks are reset on Application::flush() (#31413)
  • Remove serializer option in PhpRedisConnector::createClient() (#31417)

Added

  • Added Illuminate\Bus\Dispatcher::dispatchAfterResponse() method (#31300, 8a3cdb0)
  • Added Illuminate\Support\Testing\Fakes\QueueFake::assertPushedWithoutChain() method (#31332, 7fcc6b5)
  • Added Macroable trait to the Illuminate\Events\Dispatcher (#31317)
  • Added NoPendingMigrations event (#31289, 739fcea)

Fixed

  • Used current DB to create Doctrine Connections (#31278)
  • Removed duplicate output when publishing tags in vendor:publish command (#31333)
  • Fixed plucking column name containing a space (#31299)
  • Fixed bug with wildcard caching in event dispatcher (#31313)
  • Fixed infinite value for RedisStore (#31348)
  • Fixed dropping columns in SQLServer with default value (#31341)

Changed

  • Use SKIP LOCKED for mysql 8.1 and pgsql 9.5 queue workers (#31287)
  • Don't merge middleware from method and property in Illuminate\Bus\Queueable::middleware() (#31301)
  • Split specifyParameter() from Illuminate\Console\Command to HasParameters trait (#31254)
  • Make sure changing a database field to json does not include charset (#31343)

Fixed

  • Fixed error on queue:work database on Windows (#31277)

Added

  • Added --api option to the make:model command (#31197, #31222)
  • Added PendingResourceRegistration::shallow() method (#31208, 104c539)
  • Allowed formatting an implicit attribute using a closure (#31246)
  • Added Filesystem::ensureDirectoryExists() method (8a8eed4)
  • Added support to Storage::url() for the Ftp driver (#31258, b8790e5)

Fixed

  • Fixed laravel migrations when migrating to sql server (dropColumn with default value) (#31229)
  • Fixed handleBeginTransactionException() method calling pdo property instead of getPdo() method (#31233)
  • Fixed channel names when broadcasting via redis (#31261)
  • Replace asterisks before validation (#31257)

Changed

  • Reset timeout handler after worker loop (#31198)

Added

  • Added ServiceProvider::loadFactoriesFrom() method (#31133)
  • Added TestResponse::dumpSession() method (#31131)
  • Added Str::isUuid() method (#31148)
  • Restored phpunit 7 support (#31113)
  • Added Request::boolean() method (#31160)
  • Added Database\Eloquent\FactoryBuilder::createMany() (#31171, 6553d59)
  • Added missing options for PhpRedis (#31182)

Fixed

  • Fixed Cache\RedisLock::acquire() (#31168, 8683a3d)
  • Fixed database url parsing for connections with no database specified (#31185)
  • Prevent ambiguous column with table name prefix (#31174)

Optimization

  • Fixed memory usage on downloading large files (#31163)

Changed

  • Replace Event Dispatcher in resolved cache repositories when Event::fake() is used (#31119, 0a70beb)

Added

  • Added Illuminate\Database\Eloquent\Builder::firstWhere() method (#31089)
  • Redis Broadcaster: Broadcast to multiple channels at once (#31108)

Fixed

  • Fixed undefined property in WithFaker::makeFaker() (#31083)
  • Fixed Str::afterLast() method (#31095)
  • Fixed insert float into MySQL with PHP 7.3 (#31100)
  • Fixed refresh on Model with customized pivot attribute name (#31125, 678b26b)

Changed

  • Remove all indentation in blade templates (917ee51)
  • Added mailable names to assertion messages in MailFake::assertNothingSent() and MailFake::assertNothingQueued() (#31106)
  • Search for similar results in assertDatabaseHas() (#31042, 2103eb7)

Changed

  • Updated some blade templates (f17e347)

Added

  • Added withoutMix() and withMix() test helpers (#30900)
  • Added validateWithBag() macro to Request (#30896)
  • Added PHPUnit 9 support (#30947, #30989)
  • Added exclude_if and exclude_unless validation rules (#30835, c0fdb56)
  • Added generated columns (virtual/stored) support for PostgreSQL (#30971)
  • Added mixin support to Eloquent builder (#30978, 28fa74e)
  • Make the Redis Connection Macroable (#31020)
  • Added PackageManifest::config() method (#31039, 9b73540)
  • Added redis.connection aliases in container (#31034)
  • Extracted CallsCommands feature from Illuminate\Console\Command (#31026, ef72716)
  • Allowed absolute file path for Storage::putFile() (#31040)

Changed

  • Handled passing too many arguments to @slot (#30893, 878f159)
  • Make ThrottleRequestsException extend TooManyRequestsHttpException (#30943)
  • Used league/commonmark instead of erusev/parsedown for mail markdown (#30982)
  • Regenerate token on logout (b2af428)
  • Make RedisQueue::getConnection() public (#31016)
  • Resolve Faker\Generator out of the container if it is bound (#30992)

Fixed

  • Fixed float database types in Blueprint (#30891)
  • Fixed code that depended on getenv() (#30924)
  • Prevented making actual pdo connections while reconnecting (#30998)
  • Fixed exclude_if \ exclude_unless validation rules for nested data (#31006)
  • Update dev-master branch aliases from 6.0-dev to 6.x-dev (d06cc79)
  • Utilize Symfony’s PSR Factory. Fixed #31017 (#31018, #31027)
  • Used model connection by default in the database validators (#31037)

Optimization

  • Optimize Service Provider registration (#30960)
  • Optimize runningInConsole method (#30922)
  • Delay instantiation of translator and view factory (#31009)

Deprecated

  • Deprecate PendingMail::sendNow() and remove unneeded check (#30999)

Reverted

Refactoring

  • Refactoring of BladeCompiler::compileString() method (08887f9)

Added

  • Added MIME type argument to Testing/FileFactory::create() (#30870)
  • Added seed to all option when creating the model (make:model command) (#30874)
  • Allowed configurable emergency logger (#30873)
  • Added prependMiddlewareToGroup() / appendMiddlewareToGroup() / prependToMiddlewarePriority() / appendToMiddlewarePriority() to Kernal for manipulating middleware (6f33feb)

Reverted

Fixed

  • Fixed Builder::withCount() binding error when a scope is added into related model with binding in a sub-select (#30869)

Changed

  • Don't throw exception when session is not set in AuthenticateSession middleware (4de1d24)

Added

  • Allowed packages to use custom markdown mail themes (#30814, 2206d52)
  • Added more quotes to Inspiring (4a7d566, 9693ced)
  • Added support for nested arrays in TestResponse::assertViewHas() (#30837)
  • Added Model::setRawAttribute() (#30853)
  • Added --force option to the make:controller resource (#30856)
  • Allowed passing an array to Resource::collection() (#30800)
  • Implemented ArrayAccess on JsonResponse and TestResponse (#30817)
  • Added --seed option to the make::model resource (#30828, 2cd9417)

Fixed

  • Fixed two index creation instead of one when using change() (#30843)
  • Prevent duplicate attachments in the Mailable (3c8ccc2)
  • Fixed ServiceProvider for PHP 7.4 in Lumen (#30819)
  • Fixed non-eloquent model validation in database validation rules (#30840)

Changed

  • Changed rescue() helper (#30838)
  • Added previous exception to EntryNotFoundException thrown in Container.php (#30862)
  • Changed DatabaseNotification::$keyType to match uuid (#30823)

Added

  • Added getQualifiedCreatedAtColumn() and getQualifiedUpdatedAtColumn() methods to HasTimestamps concern (#30792)
  • Added exceptionContext() method to the Exceptions\Handler (#30780)
  • Added ability for postmark transport to throw errors (#30799, 4320b82)
  • Added withoutRelations() and unsetRelations() methods to HasRelationships (#30802)
  • Added ResourceCollection::preserveQueryParameters() for preserve query parameters on paginated api resources (#30745, e92a708)

Fixed

  • Fixed explicit models in string-based database validation rules (#30790)
  • Fixed Routing\RedirectController() (#30783)

Changed

  • Reconnect PhpRedisConnection on connection missing (#30778)
  • Improved ShouldBroadcastNow performance (#30797, 5b3cc97)

Added

  • Added Illuminate\Support\Facades\Facade::partialMock() method (#30754)
  • Added of support retryAfter option on queued listeners (#30743)

Fixed

  • Fixed zero parameter for routes (#30768)

Changed

  • Changed getAllViews() method visibility from protected to public in all schema builders (#30757)

Added

  • Added setInput() and setOutput() methods to Illuminate\Console\Command (#30706)

Fixed

  • Fixed RouteUrlGenerator with empty string for required parameter (#30714)

Changed

  • Force usage getting timestamps columns in model (#30697)

Reverted

Added

  • Allowed explicit Model definitions in database rules (#30653, 9beceac)
  • Allowed ResponseFactory::view() to return first view (#30651)
  • Added Foundation\Testing\Concerns\InteractsWithDatabase::assertDeleted() method (#30648)
  • Added Illuminate\Routing\Router::head() (#30646)
  • Added wherePivotNotIn() and orWherePivotNotIn() methods to BelongsToMany (#30671)
  • Added options in SqlServerConnector to encrypt data with Azure Key vault (#30636)

Fixed

  • Fixed errors in Illuminate\Http\Testing\FileFactory::create() (#30632)
  • Fixed routing bug that causes missing parameters to be ignored (#30659)

Changed

  • Updated error message in PhpRedisConnector::createClient() if redis extension is not loaded (#30673, 184a0f4)
  • Updated windows_os() helper to use PHP_OS_FAMILY (#30660)

Added

  • Allowed model serialization on jobs for typed properties (#30604, #30605, 920c364)
  • Allowed fallback when facade root accessor has previously been resolved (#30616)
  • Added support for separation between geometry and geography types for Postgres (#30545)
  • Added createWithContent() method to Illuminate\Http\Testing\File and Illuminate\Http\Testing\FileFactory (2cc6fa3, 181db51)

Refactoring

  • Improved PostgresGrammar::formatPostGisType() method readability (#30593)

Changed

  • Added symfony/debug dependency to illuminate/pipeline (#30611)
  • Override BelongsToMany::cursor() to hydrate pivot relations (#30580)
  • Ignore Redis prefix when verifying channel access in RedisBroadcaster (#30597, d77ce36)

Added

  • Added includeUnless Blade directive (#30538)

Fixed

  • Fixed default value for $count in PhpRedisConnection::spop() method (#30546)
  • Fixed breaking compatibility with multi-schema postgres (#30562, 6460d2b)
  • Fixed Model::isDirty() with collection / object casts (#30565)
  • Fixed bcc in MailgunTransport::send() (#30569)

Changed

  • Remove illuminate/support dependency from Container package (#30518, #30528)

Added

  • Added LazyCollection::remember() method (#30443)
  • Added Str::afterLast() and Str::beforeLast() methods (#30507)
  • Added existsOr() and doesntExistOr() methods to the query builder (#30495)
  • Added unless condition to Blade custom if directives (#30492)

Changed

  • Added reconnect if missing connection when beginning transaction (#30474)
  • Set Redis cluster prefix with PhpRedis (#30461)

Added

  • Added ScheduledTaskSkipped event when a scheduled command was filtered from running (#30407)
  • Added Login timeout expired to DetectsLostConnections (#30362)
  • Added missing method to Illuminate\Filesystem\Filesystem and Illuminate\Filesystem\FilesystemAdapter classes (#30441)

Changed

  • Make vendor:publish command more informative (#30408, 65d040d)
  • Accepted underscores URL in the URL validator (#30417)
  • Updated artisan down output to be consistent with artisan up (#30422)
  • Changed !empty to isset for changing redis database (#30420)
  • Throw an exception when signing route got in parameter keys signature (#30444, 71af732)

Fixed

  • Fixed of retrieving view config in ServiceProvider::loadViewsFrom() for Lumen (#30404)

Added

  • Added missing() method to Request class (#30320)
  • Added Pipeline::pipes() method (#30346)
  • Added TestResponse::assertCreated() method (#30368)

Changed

  • Added connection is no longer usable to DetectsLostConnections (#30362)
  • Implemented parse ID on find method for many to many relation (#30359)
  • Improvements on subqueries (#30307, 3f3b621)
  • Pass mail data to theme css in Markdown::render() method (#30376)
  • Handle ajax requests in RequirePassword middleware (#30390, 331c354)

Fixed

  • Fixed retry() with $times value less then 1 (#30356)
  • Fixed last_modified option in SetCacheHeader (#30335)
  • Fixed the Filesystem manager's exception on unsupported driver (#30331, #30369)
  • Fixed shouldQueue() check for bound event listeners (#30378)
  • Used exit code 1 when migration table not found (#30321)
  • Alleviate breaking change introduced by password confirm feature (#30389)

Security:

Added

  • Added ability to override setUserPassword on password reset (#30218)
  • Added firing deleting / deleted events in MorphPivot (#30229)
  • Added locking mechanism for the array cache driver (#30253)
  • Added dropAllViews functionality to the SQL Server builder (#30222)

Optimization

  • Optimize eager loading memory handling (#30248)

Fixed

  • Fixed extra ? for empty query string in RouteUrlGenerator::getRouteQueryString() (#30280)

Changed

  • Updated list of URI schemes for Url validator (#30220)
  • Added schema name when dropping all FKs in SQL Server (#30221)
  • Used contracts in RequirePassword middleware (#30215)
  • Added ability to return array in receivesBroadcastNotificationsOn if channelName is array (#30242, 2faadcd)

Added

  • Added support for callable objects in Container::call() (#30156)
  • Add multipolygonz type for postgreSQL (#30173)
  • Add "unauthenticated" method in auth middleware (#30177)
  • Add partialMock shorthand (#30202)
  • Allow Storage::put to accept a Psr StreamInterface (#30179)
  • Implement new password rule and password confirmation (#30214)

Changed

  • Remove unnecessary param passed to updatePackageArray method (#30155)
  • Add optional connection name to DatabaseUserProvider (#30154)
  • Remove brackets arround URL php artisan serve (#30168)
  • Apply limit to database rather than collection (#30148)
  • Allow to use scoped macro in nested queries (#30127)
  • Added array to json conversion for sqlite (#30133)
  • Use the policies() method instead of the property policies (#30189)
  • Split hasValidSignature method (#30208)

Fixed

  • validateDimensions() handle image/svg MIME (#30204)

Added

  • Added Illuminate\Support\LazyCollection::eager() method (#29832)
  • Added forgetChannel() and getChannels() methods to Illuminate\Log\LogManager (#30132, a52a0dd)
  • Added Illuminate\Foundation\Testing\TestResponse::assertNoContent() method (#30125)
  • Added InteractsWithQueue to SendQueueNotifications (#30140)
  • Added SendQueueNotifications::retryUntil() method (#30141)
  • Added methods for sending cookies with test requests (#30101)
  • Added support of job middleware for queued notifications (#30070)

Fixed

  • Fixed migration class duplicate check in make:migration command (#30095)
  • Fixed monolog v2 handler preparation (#30123)
  • Fixed return of callback value for DurationLimiter (#30143)

Changed

  • Added runtime information output for seeders (#30086)
  • Added strict parameter to Illuminate\Foundation\Testing\TestResponse::assertJsonPath() (#30142)
  • Added deletedAtColumn optional parameter to Foundation\Testing\Concerns\InteractsWithDatabase::assertSoftDeleted() (#30111)

Improved

  • Improved AuthServiceProvider::registerEventRebindHandler() in case if guard is not initialized (#30105)

Added

  • Added TestResponse::assertJsonPath() method (#29957)
  • Added hasMacro / getGlobalMacro / hasGlobalMacro methods to Eloquent Builder (#30008)
  • Added Illuminate\Database\Eloquent\Relations\BelongsToMany::getPivotColumns() method (#30049)
  • Added ScheduledTaskFinished / ScheduledTaskStarting events to signal when scheduled task runs (#29888)
  • Allowing adding command arguments and options with InputArgument / InputOption objects (#29987)

Fixed

  • Fixed __() with null parameter (#29967)
  • Fixed modifying updated_at column on custom pivot model (#29970)
  • Fixed Illuminate\Redis\Limiters\ConcurrencyLimiter (#30005)
  • Fixed VerifyCsrfToken middleware when response object instance of Responsable interface (#29972)
  • Fixed Postgresql column creation without optional precision (#29873)
  • Fixed migrations orders with multiple path with certain filenames (#29996)
  • Fixed adding NotFoundHttpException to "allowed" exceptions in tests (#29975)

Changed

  • Make it possible to disable encryption via 0 / false (#29985)
  • Allowed a symfony file instance in validate dimensions (#30009)
  • Create storage fakes with custom configuration (#29999)
  • Set locale in PendingMail only if locale present conditionally (dd1e0a6)
  • Improved sorting of imports alphabetically on class generation from stub (#29951)

Refactoring

  • Changed imports to Alpha ordering in stubs (#29954, #29958)
  • Used value helper where possible (#29959)
  • Improved readability in auth.throttle translation (#30011, #30017)

Reverted

Refactoring

  • Converted call_user_func where appropriate to native calls (#29932)
  • Changed imports to Alpha ordering (#29933)

Changed

  • Used Application::normalizeCachePath() method to define cache path`s (#29890, ac9dbf6)
  • Wrapped MySQL default values in parentheses (#29878)

Fixed

  • Prevent event auto discovery from crashing when trying to instantiate files without php classes (#29895)
  • Fix resolving class command via container (#29869)

Fixed

  • Fixed Schedule::runInBackground() not fired on Windows (#29826)

Changed

  • Throw Symfony\Component\Routing\Exception\RouteNotFoundException instead of InvalidArgumentException in UrlGenerator::route() (#29861)

Reverted

Check the upgrade guide in the Official Laravel Upgrade Documentation. Also you can see some release notes in the Official Laravel Release Documentation.