Skip to content

Latest commit

 

History

History
575 lines (413 loc) · 43.1 KB

CHANGELOG-6.x.md

File metadata and controls

575 lines (413 loc) · 43.1 KB

Release Notes for 6.x

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

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