Skip to content

Latest commit

 

History

History
522 lines (366 loc) · 36.6 KB

CHANGELOG-5.8.md

File metadata and controls

522 lines (366 loc) · 36.6 KB

Release Notes for 5.8.x

Fixed

  • Fixed FatalThrowableError in updateExistingPivot() when pivot is non-existent (#29362)
  • Fixed worker timeout handler when there is no job processing (#29366)
  • Fixed assertJsonValidationErrors() with muliple messages (#29380)
  • Fixed UPDATE queries with alias (#29405)

Changed

  • Illuminate\Cache\ArrayStore::forget() returns false on missing key (#29427)
  • Allow chaining on QueryBuilder::dump() method (#29437)
  • Change visibility to public for hasPivotColumn() method (#29367)
  • Added line break for plain text mails (#29408)
  • Use date_create to prevent date validator warnings (#29342, #29389)

Added

  • Added MakesHttpRequests::option() and MakesHttpRequests::optionJson() methods (#29258)
  • Added Blueprint::uuidMorphs() and Blueprint::nullableUuidMorphs() methods (#29289)
  • Added MailgunTransport::getEndpoint() and MailgunTransport::setEndpoint() methods (#29312)
  • Added WEBP to image validation rule (#29309)
  • Added TestResponse::assertSessionHasInput() method (#29327)
  • Added support for custom redis driver (#29275)
  • Added Postgres support for collation() on columns (#29213)

Fixed

  • Fixed collections with JsonSerializable items and mixed values (#29205)
  • Fixed MySQL Schema Grammar $modifiers order (#29265)
  • Fixed UPDATE query bindings on PostgreSQL (#29272)
  • Fixed default theme for Markdown mails (#29274)
  • Fixed UPDATE queries with alias on SQLite (#29276)
  • Fixed UPDATE and DELETE queries with join bindings on PostgreSQL (#29306)
  • Fixed support of DateTime objects and int values in orWhereDay(), orWhereMonth(), orWhereYear() methods in the Builder (#29317)
  • Fixed DELETE queries with joins on PostgreSQL (#29313)
  • Prevented a job from firing if job marked as deleted (#29204, 1003c27)
  • Fixed model deserializing with custom Model::newCollection() (#29196)

Reverted

Changed

  • Allocate memory for error handling to allow handling memory exhaustion limits (#29226)
  • Teardown test suite after using fail() method (#29267)

Added

  • Added possibility for WithFaker::makeFaker() use local app.faker_locale config (#29123)
  • Added ability to set theme for mail notifications (#29132)
  • Added runtime for each migration to output (#29149)
  • Added possibility for whereNull and whereNotNull to accept array columns argument (#29154)
  • Allowed Console\Scheduling\ManagesFrequencies::hourlyAt() to accept array of integers (#29173)

Performance

  • Improved eager loading performance for MorphTo relation (#29129)

Fixed

  • Fixed Builder::whereDay() and Builder::whereMonth() with raw expressions
  • Fixed DELETE queries with alias on SQLite (#29164)
  • Fixed queue jobs using SerializesModels losing order of passed in collections (#29136)
  • Fixed conditional binding for nested optional dependencies (#29180)
  • Fixed: validator not failing on custom rule when message is null (#29174)
  • Fixed DELETE query bindings (#29165)

Added

  • Make TestResponse tappable (#29033)
  • Added Support\Collection::mergeRecursive() method (#29084)
  • Added Support\Collection::replace() and Support\Collection::replaceRecursive() methods (#29088)
  • Added Session\Store::only() method (#29107)

Fixed

  • Fixed cache repository setMultiple with an iterator (#29039)
  • Fixed cache repository getMultiple implementation (#29047)

Reverted

Changed

  • Fail job immediately after it timeouts if it wont be retried (#29024)

Added

  • Let mix helper use app.mix_url config (#28952)
  • Added RedisManager::setDriver() method (#28985)
  • Added whereHasMorph() and corresponding methods to work with MorphTo relations (#28928)

Fixed

Changed

  • Prevented TestResponse::dump() and TestResponse::dumpHeaders() methods from ending execution of the script (#28960)
  • Allowed TestResponse::dump() and TestResponse::dumpHeaders() methods chaining (#28967)
  • Allowed to NotificationFake accept custom channels (#28969)
  • Replace contents of service manifest atomically (#28973)
  • Pass down the serverVersion database connection option to Doctrine DBAL connection (#28964, 1b55b28)
  • Replace self:: with static:: in the Relation::getMorphedModel() (#28974)
  • Set a message for SuspiciousOperationException (#29000)
  • Storing Mailgun Message-ID in the headers after sending (#28994)

Reverted

Added

  • Added json option to route:list command (#28894)

Fixed

  • Fixed columns parameter on paginate method (#28937)
  • Prevent event cache from firing multiple times the same event(s) (#28904)
  • Fixed TestResponse::assertJsonMissingValidationErrors() on empty response (#28595, #28913)
  • Fixed percentage sign in filename fallback in the FilesystemAdapter::response() (#28947)

Changed

  • Allow TestResponse::assertViewHas() to see all data (#28893)
  • Let mix helper use app.asset_url (#28905)

Added

  • Added possibility to assert that the session contains a given piece of data using a closure in TestResponse::assertSessionHas() (#28837)
  • Added TestResponse::assertUnauthorized() (#28851)
  • Allowed to define port in ServeCommand via SERVER_PORT env variable (#28849, 6a18e73)
  • Allowed console environment argument to be separated with a space (#28869)
  • Added @endcomponentFirst directive (#28884)
  • Added optional parameter $when to retry helper (85c0801)

Fixed

  • Fixed Builder::dump() and Builder::dd() with global scopes (#28858)

Reverted

Changed

  • Handle SuspiciousOperationException in router as NotFoundHttpException (#28866)

Fixed

  • Fixed strict comparison in redis configuration Parsing. (#28830)

Changed

  • Improved support for arrays on TestResponse::assertJsonValidationErrors() (2970dab)

Added

  • Added @componentFirst directive (#28783)
  • Added support for typed eager loads (#28647, d72e3cd)
  • Added Related and Recommended to Pluralizer (#28749)
  • Added Str::containsAll() method (#28806)
  • Added: error handling for maintenance mode commands (#28765, 9e20849)
  • Added message value assertion to TestResponse::assertJsonValidationErrors() (#28787)
  • Added: Automatically bind the viewAny method to the index controller action (#28820)

Fixed

  • Fixed database rules with where clauses (#28748)
  • Fixed: MorphTo Relation ignores parent $timestamp when touching (#28670)
  • Fixed: Sql Server issue during dropAllTables when foreign key constraints exist (#28750, #28770)
  • Fixed Model::getConnectionName() when Model::cursor() used (#28804)

Changed

  • Made force an optional feature when using ConfirmableTrait. (#28742)
  • Suggest resolution when no relationship value is returned in the Model::getRelationshipFromMethod() (#28762)

Fixed

  • Fixed redis cluster connection parsing (2bcb405)

Added

  • Added viewAny() to dummy policy class (#28654, #28671)
  • Added fullpath option to make:migration command (#28669)

Performance improvement

Fixed

  • Fixed artisan cache:clear command with a redis cluster using the Predis library (#28706)

Added

  • Added optional DYNAMODB_ENDPOINT env variable to configure endpoint for DynamoDB (#28600)
  • Added Illuminate\Foundation\Application::isProduction() method (#28602)
  • Allowed exception reporting in rescue() to be disabled (#28617)
  • Allowed to parse Url in Redis configuration (#28612, f4cfb32)
  • Allowed setting additional (sourceip and localdomain) smtp config options (#28631, 435c05b)

Fixed

  • Fixed Eloquent UPDATE queries with alias (#28607)
  • Fixed Illuminate\Cache\DynamoDbStore::forever() (#28618)
  • Fixed event:list command, when using a combination of manually registering events and event auto discovering (#28624)

Performance improvement

  • Improve performance for Arr::flatten() (#28614)

Changed

  • Added id to ModelNotFoundException exception in ImplicitRouteBinding (#28588)

Added

  • Added html as a new valid extension for views (#28541)
  • Added: provide notification callback withSwiftMessage in MailMessage (#28535)

Fixed

  • Fixed Illuminate\Cache\FileStore::getPayload() in case of broken cache (#28536)
  • Fixed exception: The filename fallback must only contain ASCII characters in the Illuminate\Filesystem\FilesystemAdapter::response() (#28551)

Changed

  • Make Support\Testing\Fakes\MailFake::failures() returns an empty array (#28538)
  • Make Support\Testing\Fakes\BusFake::pipeThrough() returns $this (#28564)

Refactoring

Added

  • Added Illuminate\Foundation\Testing\TestResponse::dumpHeaders() (#28450)
  • Added ends_with validation rule (#28455)
  • Added possibility to use a few columns arguments in the route:list command (#28459)
  • Added retryAfter in Mail\SendQueuedMailable and Notifications\SendQueuedNotifications object (#28484)
  • Added Illuminate\Foundation\Console\Kernel::scheduleCache() (6587e78)
  • Added support for multiple --path options within migrate commands (#28495)
  • Added Tappable trait (#28507)
  • Added support auto-discovery for events in a custom application directory, that sets via Illuminate\Foundation\Application::useAppPath() (#28493)
  • Added passing of notifiable email through reset link (#28475)
  • Added support flush db on clusters in PhpRedisConnection and PredisConnection (f4e8d5c)

Fixed

  • Fixed session resolver in RoutingServiceProvider (without bind of session in Container) (#28438)
  • Fixed route:list command when routes were dynamically modified (#28460, #28463)
  • Fixed required validation with multiple passes() calls (#28502)
  • Fixed the collation bug when changing columns in a migration (#28514)
  • Added password to the RedisCluster only if redis >= 4.3.0 (1371940)
  • Used escapeshellarg on windows symlink in Filesystem::link()(44c3feb)

Changed

  • Reset webpack file for none preset (#28462)

Added

  • Added: Migration Events (#28342)
  • Added ability to drop types when running the migrate:fresh command (#28382)
  • Added Renderable functionality to MailMessage (#28386)

Fixed

  • Fixed the remaining issues with registering custom Doctrine types (#28375)
  • Fixed fromSub() and joinSub() with table prefix in Query\Builder (#28400)
  • Fixed false positives for Schema::hasTable() with views (#28401)
  • Fixed sync results with custom Pivot model (#28416, e31d131)

Changed

  • Modified None And React presets with vue-template-compiler (#28389)
  • Changed navbar-laravel class to bg-white shadow-sm class in layouts\app.stub (#28417)
  • Don't execute query in Builder::findMany() when ids are empty Arrayable (#28432)
  • Added parameter password for RedisCluster construct function (#28434)
  • Pass email verification URL to callback in Auth\Notifications\VerifyEmail (#28428)
  • Updated RouteAction::parse() (#28397)
  • Updated Events\DiscoverEvents (#28421, #28426)

Added

  • Added handling of database URL as database connections (#28308, 4560d28, 05b029e)
  • Added the dd() / dump methods to the Illuminate\Database\Query\Builder.php (#28357)

Fixed

  • Fixed BelongsToMany parent key (#28317)
  • Fixed make:auth command with apps configured views path (#28324, e78cf02)
  • Fixed recursive replacements in Str::replaceArray() (#28338)

Improved

  • Added custom message to TokenMismatchException exception within VerifyCsrfToken class (#28335)
  • Improved output of Foundation\Testing\TestResponse::assertSessionDoesntHaveErrors when called with no arguments (#28359)

Changed

  • Allowed logging out other devices without setting remember me cookie (#28366)

Added

  • Implemented Job Based Retry Delay (#28265)

Changed

  • Update auth stubs with @error blade directive (#28273)
  • Convert email data tables to layout tables (#28286)

Reverted

Refactoring

  • Replace code with Null Coalescing Operator (#28280, #28287)

Added

  • Added @error blade directive (#28062)
  • Added the ability to register custom Doctrine DBAL types in the schema builder (#28214, 91a6afe)

Fixed

Reverted

Added

  • Added Illuminate\Support\Collection::duplicates() (#28181)
  • Added Illuminate\Database\Eloquent\Collection::duplicates() (#28194)
  • Added Illuminate\View\FileViewFinder::getViews() (#28198)
  • Added helper methods onSuccess() \ onFailure() \ pingOnSuccess() \ pingOnFailure() \ emailOnFailure() to Illuminate\Console\Scheduling\Event (#28167)
  • Added SET datatype on MySQL Grammar (#28171)
  • Added possibility for use in / not in operators in the query builder (#28192)

Fixed

  • Fixed memory leak in JOIN queries (#28220)
  • Fixed circular dependency in Support\Testing\Fakes\QueueFake for undefined methods (#28164)
  • Fixed exception in lt \ lte \ gt \ gte validations with different types (#28174)
  • Fixed string quoting for SQL Server (#28176)
  • Fixed whereDay and whereMonth when passing int values (#28185)

Changed

  • Added autocomplete attributes to the html stubs (#28226)
  • Improved event:list command (#28177, cde1c5d)
  • Updated Illuminate\Database\Console\Factories\FactoryMakeCommand to generate more IDE friendly code (#28188)
  • Added missing LockProvider interface on DynamoDbStore (#28203)
  • Change session's user_id to unsigned big integer in the stub (#28206)

Added

  • Allowed to call macros directly on Illuminate\Support\Facades\Date (#28129)
  • Allowed lock to be configured in local filesystems (#28124)
  • Added tracking of the exit code in scheduled event commands (#28140)

Fixed

  • Fixed of escaping single quotes in json paths in Illuminate\Database\Query\Grammars\Grammar (#28160)
  • Fixed event discovery with different Application Namespace (#28145)

Changed

  • Added view path to end of compiled blade view (in case if path is not empty) (#28117, #28141)
  • Added realpath to app_path during string replacement in Illuminate\Foundation\Console\Kernel::load() (82ded9a)

Refactoring

  • Refactoring of Illuminate\Foundation\Events\DiscoverEvents::within() (#28122, 006f999)

Added

  • Added replicating model event (#28077)
  • Make NotificationFake macroable (#28091)

Fixed

  • Exclude non-existing directories from event discovery (#28098)

Changed

  • Sorting of events in event:list command (3437751)
  • Removed path hint in compiled view (33ce7bb)

Added

Fixed

  • Fixed serializing a collection from a Resource with preserveKeys property (#27985)
  • Fixed: SoftDelete::runSoftDelete and SoftDelete::performDeleteOnModel with overwritten Model::setKeysForSaveQuery (#28081)

Changed

  • Update forever cache duration for database driver from minutes to seconds (#28048)

Refactoring:

  • Refactoring of Illuminate\Auth\Access\Gate::callBeforeCallbacks() (#28079)

Added

  • Added Illuminate\Database\Query\Builder::forPageBeforeId() method (#28011)

Fixed

  • Fixed BelongsToMany::detach() with custom pivot class (#27997)
  • Fixed incorrect event namespace in generated listener by event:generate command (#28007)
  • Fixed unique validation without ignored column (#27987)

Changed

  • Added parameters argument to resolve helper (#28020)
  • Don't add the path only if path is empty in compiled view (#27976)

Refactoring

  • Refactoring of env() helper (#27965)

Fixed

  • Fix: Locks acquired with block() are not immediately released if the callback fails (#27957)

Changed

  • Allowed retrieving env variables with getenv() (#27958, c37702c)
  • Used stripslashes for Validation\Rules\Unique.php (#27940, 34759cc)

Refactoring

  • Refactoring of Illuminate\Http\Concerns::allFiles() (#27955)

Added

  • Added Illuminate\Database\DatabaseManager::setReconnector() (#27845)
  • Added Illuminate\Auth\Access\Gate::none() (#27859)
  • Added OtherDeviceLogout event (#27865, 5e87f2d)
  • Added even and odd flags to the Loop variable in the blade (#27883)

Changed

  • Add replacement for lower danish æ (#27886)
  • Show error message from exception, if message exist for 403.blade.php and 503.blade.php error (#27893, #27902)

Fixed

  • Fixed seeding logic in Arr::shuffle() (#27861)
  • Fixed Illuminate\Database\Query\Builder::updateOrInsert() with empty $values (#27906)
  • Fixed Application::getNamespace() method (#27915)
  • Fixed of store previous url (#27935, 791992e)

Security

  • Changed Validation\Rules\Unique.php (da4d4a4). You can read more here

Added

  • Added Illuminate\Support\Collection::join() method (#27723)
  • Added Illuminate\Foundation\Http\Kernel::getRouteMiddleware() method (#27852)
  • Added danish specific transliteration to Str class (#27857)

Fixed

  • Fixed JSON boolean queries (#27847)

Added

  • Added Collection::countBy (#27770)
  • Added protected EloquentUserProvider::newModelQuery() (#27734, 9bb7685)
  • Added protected StartSession::saveSession() method (#27771, 76c7126)
  • Allow belongsToMany to take Model/Pivot class name as a second parameter (#27774)

Fixed

  • Fixed environment variable parsing (#27706)
  • Fixed guessed policy names when using Gate::forUser (#27708)
  • Fixed via as string in the Notification (#27710)
  • Fixed StartSession middleware (499e4fe)
  • Fixed stack channel's bug related to the level (#27726, bc884bb)
  • Fixed email validation for not string values (#27735)

Changed

  • Check if MessageBag is empty before checking keys exist in the MessageBag (#27719)

Fixed

  • Fixed quoted environment variable parsing (#27691)

Added

  • Added Illuminate\View\FileViewFinder::setPaths() (#27678)

Changed

  • Return fake objects from facades (#27680)

Reverted

  • reverted changes related to the Facade (63d87d7)

Check the upgrade guide in the Official Laravel Documentation.