Skip to content

Latest commit

 

History

History
1143 lines (869 loc) · 109 KB

CHANGELOG.md

File metadata and controls

1143 lines (869 loc) · 109 KB

Release Notes for 10.x

v10.39.0 - 2023-12-27

v10.38.2 - 2023-12-22

v10.38.1 - 2023-12-20

v10.38.0 - 2023-12-19

v10.37.3 - 2023-12-13

v10.37.2 - 2023-12-13

v10.37.1 - 2023-12-12

v10.37.0 - 2023-12-12

v10.35.0 - 2023-12-05

v10.34.2 - 2023-11-28

v10.34.1 - 2023-11-28

v10.34.0 - 2023-11-28

v10.33.0 - 2023-11-21

v10.32.1 - 2023-11-14

  • [10.x] Add [@pushElseIf](https://github.com/pushElseIf) and [@pushElse](https://github.com/pushElse) by @jasonmccreary in laravel#48990

v10.32.0 - 2023-11-14

v10.31.0 - 2023-11-07

v10.30.1 - 2023-11-01

  • [10.x] Fix postgreSQL reserved word column names w/ guarded attributes broken in native column attributes implementation by @hafezdivandari in laravel#48877

v10.30.0 - 2023-10-31

v10.29.0 - 2023-10-24

v10.28.0 - 2023-10-10

v10.27.0 - 2023-10-09

v10.26.2 - 2023-10-03

  • Revert "Hint query builder closures (#48562)" by @taylorotwell in laravel#48620

v10.26.1 - 2023-10-03

v10.26.0 - 2023-10-03

  • [10.x] Convert Expression to string for from in having subqueries by @ikari7789 in laravel#48525
  • [10.x] Allow searching on vendor:publish prompt by @jessarcher in laravel#48586
  • [10.x] Enhance Test Coverage for Macroable Trait by @salehhashemi1992 in laravel#48583
  • [10.x] Add new SQL error messages by @magnusvin in laravel#48601
  • [10.x] Ensure array cache considers milliseconds by @timacdonald in laravel#48573
  • [10.x] Prevent session:table command from creating duplicates by @jessarcher in laravel#48602
  • [10.x] Handle expiration in seconds by @timacdonald in laravel#48600
  • [10.x] Avoid duplicate code for create table commands by extending new Illuminate\Console\MigrationGeneratorCommand by @crynobone in laravel#48603
  • [10.x] Add Closure Type Hinting for Query Builders by @AJenbo in laravel#48562

v10.25.2 - 2023-09-28

v10.25.1 - 2023-09-27

v10.25.0 - 2023-09-26

v10.24.0 - 2023-09-19

v10.23.1 - 2023-09-13

v10.23.0 - 2023-09-12

v10.22.0 - 2023-09-05

v10.21.1 - 2023-09-04

v10.21.0 - 2023-08-29

v10.20.0 - 2023-08-22

v10.19.0 - 2023-08-15

v10.18.0 - 2023-08-08

v10.17.1 - 2023-08-02

v10.17.0 - 2023-08-01

v10.16.1 - 2023-07-26

v10.16.0 - 2023-07-25

v10.15.0 - 2023-07-11

v10.14.1 - 2023-06-28

  • [10.x] Fix Dispatcher::until return type by @Neol3108 in laravel#47585
  • [10.x] Add Collection::wrap to add method on BatchFake by @schonhoff in laravel#47589
  • [10.x] Fixes grammar in FoundationServiceProvider by @adampatterson in laravel#47593
  • [10.x] Ensure duration is present by @timacdonald in laravel#47596

v10.14.0 - 2023-06-27

  • [10.x] Add test for withCookies method in RedirectResponse by @milwad-dev in laravel#47383
  • [10.x] Add new error message "SSL: Handshake timed out" handling to PDO Dete… by @yehorherasymchuk in laravel#47392
  • [10.x] Add new error messages for detecting lost connections by @mfn in laravel#47398
  • [10.x] Update phpdoc except method in Middleware by @milwad-dev in laravel#47408
  • [10.x] Fix inconsistent type hint for $passwordTimeoutSeconds by @devfrey in laravel#47414
  • Change visibility of path method in FileStore.php by @foremtehan in laravel#47413
  • [10.x] Fix return type of buildException method by @milwad-dev in laravel#47422
  • [10.x] Allow serialization of NotificationSent by @cosmastech in laravel#47375
  • [10.x] Incorrect comment in PredisConnector and PhpRedisConnector by @hungthai1401 in laravel#47438
  • [10.x] Can set custom Response for denial within Gate@inspect() by @cosmastech in laravel#47436
  • [10.x] Remove unnecessary param in addSingletonUpdate by @milwad-dev in laravel#47446
  • [10.x] Fix return type of prefixedResource & prefixedResource by @milwad-dev in laravel#47445
  • [10.x] Add Factory::getNamespace() by @tylernathanreed in laravel#47463
  • [10.x] Add whenAggregated method to ConditionallyLoadsAttributes trait by @akr4m in laravel#47417
  • [10.x] Add PendingRequest withHeader() method by @ralphjsmit in laravel#47474
  • [10.x] Fix $exceptTables to allow an array of table names by @cwilby in laravel#47477
  • [10.x] Fix eachById on HasManyThrough relation by @cristiancalara in laravel#47479
  • [10.x] Allow object caching to be disabled for custom class casters by @CalebDW in laravel#47423
  • [10.x] "Can" validation rule by @stevebauman in laravel#47371
  • [10.x] refactor(Parser.php): Removing the extra "else" statement by @saMahmoudzadeh in laravel#47483
  • [10.x] Add UncompromisedVerifier::class to provides() in ValidationServiceProvider by @xurshudyan in laravel#47500
  • [9.x] Fix SES V2 Transport "reply to" addresses by @jacobmllr95 in laravel#47522
  • [10.x] Reindex appends attributes by @hungthai1401 in laravel#47519
  • [10.x] Fix ListenerMakeCommand deprecations by @dammy001 in laravel#47517
  • [10.x] Add HandlesPotentiallyTranslatedString trait by @xurshudyan in laravel#47488
  • [10.x] update [JsonResponse]: using match expression instead of if-elseif-else by @saMahmoudzadeh in laravel#47524
  • [10.x] Add withQueryParameters to the HTTP client by @mnapoli in laravel#47297
  • [10.x] Allow % symbol in component attribute names by @JayBizzle in laravel#47533
  • [10.x] Fix Http client pool return type by @srdante in laravel#47530
  • [10.x] Use match expression in resolveSynchronousFake by @osbre in laravel#47540
  • [10.x] Use match expression in compileHaving by @osbre in laravel#47548
  • [10.x] Use match expression in getArrayableItems by @osbre in laravel#47549
  • [10.x] Fix return type in SessionGuard by @PerryvanderMeer in laravel#47553
  • [10.x] Fix return type in DatabaseQueue by @PerryvanderMeer in laravel#47552
  • [10.x] Fix return type in DumpCommand by @PerryvanderMeer in laravel#47556
  • [10.x] Fix return type in MigrateMakeCommand by @PerryvanderMeer in laravel#47557
  • [10.x] Add missing return to Factory by @PerryvanderMeer in laravel#47559
  • [10.x] Update doc in Eloquent model by @alirezasalehizadeh in laravel#47562
  • [10.x] Fix return types by @PerryvanderMeer in laravel#47561
  • [10.x] Fix PHPDoc throw type by @fernandokbs in laravel#47566
  • [10.x] Add hasAny function to ComponentAttributeBag, Allow multiple keys in has function by @indykoning in laravel#47569
  • [10.x] Ensure captured time is in configured timezone by @timacdonald in laravel#47567
  • [10.x] Add Method to Report only logged exceptions by @joelharkes in laravel#47554
  • [10.x] Add global middleware to Http client by @timacdonald in laravel#47525
  • [9.x] Fixes unable to use trans()->has() on JSON language files. by @crynobone in laravel#47582

v10.13.5 - 2023-06-08

  • Revert "[10.x] Update Kernel::load() to use same classFromFile logic as events" by @taylorotwell in laravel#47382

v10.13.3 - 2023-06-08

What's Changed

  • Narrow down array type for $attributes in CastsAttributes by @devfrey in laravel#47365
  • Add test for assertViewHasAll method by @milwad-dev in laravel#47366
  • Fix schedule:list to display named Jobs by @liamkeily in laravel#47367
  • Support ConditionalRules within NestedRules by @cosmastech in laravel#47344
  • Small test fixes by @stevebauman in laravel#47369
  • Pluralisation typo in queue:clear command output by @sebsobseb in laravel#47376
  • Add getForeignKeyFrom method by @iamgergo in laravel#47378
  • Add shouldHashKeys to ThrottleRequests middleware by @fosron in laravel#47368

Added

  • Added Illuminate/Http/Client/PendingRequest::replaceHeaders() (#47335)
  • Added Illuminate/Notifications/Messages/MailMessage::attachMany() (#47345)

Reverted

  • Revert "[10.x] Remove session on authenticatable deletion v2" (#47354)

Fixed

  • Fixes usage of Redis::many() with empty array (#47307)
  • Fix mapped renderable exception handling (#47347)
  • Avoid duplicates in fillable/guarded on merge in Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php (#47351)

Changed

  • Update Kernel::load() to use same classFromFile logic as events (#47327)
  • Remove redundant 'setAccessible' methods (#47348)

Added

  • Added Illuminate\Contracts\Database\Query\ConditionExpression interface and functional for this (#47210)
  • Added return type for Illuminate/Notifications/Channels/MailChannel::send() (#47310)

Reverted

  • Revert "[10.x] Fix inconsistency between report and render methods" (#47326)

Changed

  • Display queue runtime in human readable format (#47227)

Added

  • Added Illuminate/Hashing/HashManager::isHashed() (#47197)
  • Escaping functionality within the Grammar (#46558)
  • Provide testing hooks in Illuminate/Support/Sleep.php (#47228)
  • Added missing methods to AssertsStatusCodes (#47277)
  • Wrap response preparation in events (#47229)

Fixed

  • Fixed bug when function wrapped around definition of related factory (#47168)
  • Fixed inconsistency between report and render methods (#47201)
  • Fixes Model::isDirty() when AsCollection or AsEncryptedCollection have arguments (#47235)
  • Fixed escaped String for JSON_CONTAINS (#47244)
  • Fixes missing output on ProcessFailedException exception (#47285)

Changed

  • Remove useless else statements (#47186)
  • RedisStore improvement - don't open transaction unless all values are serialaizable (#47193)
  • Use carbon::now() to get current timestamp in takeUntilTimeout lazycollection-method (#47200)
  • Avoid duplicates in visible/hidden on merge (#47264)
  • Add a missing semicolon to CompilesClasses (#47280)
  • Send along value to InvalidPayloadException (#47223)

Added

  • Added Illuminate/Queue/Events/JobTimedOut.php (#47068)
  • Added when() and unless() methods to Illuminate/Support/Sleep (#47114)
  • Adds inline attachments support for markdown mailables (#47140)
  • Added Illuminate/Testing/Concerns/AssertsStatusCodes::assertMethodNotAllowed() (#47169)
  • Added forceCreateQuietly method (#47162)
  • Added parameters to timezone validation rule (#47171)

Fixed

  • Fixes singleton and api singletons creatable|destryoable|only|except combinations (#47098)
  • Don't use empty key or secret for DynamoDBClient (#47144)

Changed

  • Remove session on authenticatable deletion (#47141)
  • Added error handling and ensure re-enabling of foreign key constraints in Illuminate/Database/Schema/Builder::withoutForeignKeyConstraints() (#47182)

Refactoring

  • Remove useless else statements (#47161)

Added

  • Added the ability to extend the generic types for DatabaseNotificationCollection (#47048)
  • Added /Illuminate/Support/Carbon::createFromId() (#47046)
  • Added Name attributes on slots (#47065)
  • Added Precognition-Success header (#47081)
  • Added Macroable trait to Sleep class (#47099)

Fixed

  • Fixed Illuminate/Database/Console/ShowModelCommand::getPolicy() (#47043)

Changed

  • Remove return from channelRoutes method (#47059)
  • Bug in Illuminate/Database/Migrations/Migrator::reset() with string path (#47047)
  • Unify logic around cursor paginate (#47094)
  • Clears resolved instance of Vite when using withoutVite (#47091)
  • Remove workarounds for old Guzzle versions (#47084)

Added

  • Added /Illuminate/Collections/Arr::mapWithKeys() (#47000)
  • Added dd and dump methods to Illuminate/Support/Carbon.php (#47002)
  • Added Illuminate/Queue/Failed/FileFailedJobProvider (#47007)
  • Added arguments to the signed middleware to ignore properties (#46987)

Fixed

  • Added keys length check to prevent mget error in Illuminate/Cache/RedisStore::many() (#46998)
  • 'hashed' cast - do not rehash already hashed value (#47029)

Changed

  • Used Carbon::now() instead of now() (#47017)
  • Use file locks when writing failed jobs to disk (b822d28)
  • Raise visibility of Mailable prepareMailableForDelivery() (#47031)

Added

  • Added $isolated and isolatedExitCode properties to Illuminate/Console/Command (#46925)
  • Added ability to restore/set Global Scopes (#46922)
  • Added Illuminate/Collections/Arr::sortRecursiveDesc() (#46945)
  • Added Illuminate/Support/Sleep (#46904, #46963)
  • Added Illuminate/Database/Eloquent/Concerns/HasAttributes::castAttributeAsHashedString() ([#46947]laravel#46947)
  • Added url support for mail config (#46964)

Fixed

  • Fixed replace missing_unless (89ac58a)
  • Gracefully handle invalid code points in e() (#46914)
  • HasCasts returning false instead of true (#46992)

Changed

  • Use method on UploadedFile to validate image dimensions (#46912)
  • Expose Js::json() helper (#46935)
  • Respect parents on middleware priority (#46972)
  • Do reconnect when redis throws connection lost error (#46989)
  • Throw timeoutException instead of maxAttemptsExceededException when a job times out (#46968)

Added

  • Add new HTTP status assertions (#46841)
  • Allow pruning all cancelled and unfinished queue batches (#46833)
  • Added IGNITION_LOCAL_SITES_PATH to $passthroughVariables in ServeCommand.php (#46857)
  • Added named static methods for middleware (#46362)

Fixed

  • Fix date_format rule throw ValueError (#46824)

Changed

  • Allow separate directory for locks on filestore (#46811)
  • Allow to whereMorphedTo work with null model (#46821)
  • Use pivot model fromDateTime instead of assuming Carbon in Illuminate/Database/Eloquent/Relations/Concerns/InteractsWithPivotTable::addTimestampsToAttachment() (#46822)
  • Make rules method in FormRequest optional (#46846)
  • Throw LogicException when calling FileFactory@image() if mimetype is not supported (#46859)
  • Improve job release method to accept date instance (#46854)
  • Use foreignUlid if model uses HasUlids trait when call foreignIdFor (#46876)

Added

  • Added syntax sugar to the Process::pipe method (#46745)
  • Allow specifying index name when calling ForeignIdColumnDefinition@constrained() (#46746)
  • Allow to customise redirect URL in AuthenticateSession Middleware (#46752)
  • Added Class based after validation rules (#46757)
  • Added max exceptions to broadcast event (#46800)

Fixed

  • Fixed compiled view file ends with .php (#46755)
  • Fix validation rule names (#46768)
  • Fixed validateDecimal() (#46809)

Changed

  • Add headers to exception in Illuminate/Foundation/Application::abourd() (#46780)
  • Minor skeleton slimming (framework edition) (#46786)
  • Release lock for job implementing ShouldBeUnique that is dispatched afterResponse() (#46806)

Changed

  • Changed Illuminate/Process/Factory::pipe() method. It will be run pipes immediately (e34ab39)

Added

  • Allow Illuminate/Foundation/Testing/WithFaker to be used when app is not bound (#46529)
  • Allow Event::assertListening to check for invokable event listeners (#46683)
  • Added Illuminate/Process/Factory::pipe() (#46527)
  • Added Illuminate/Validation/Validator::setValue (#46716)

Fixed

  • PHP 8.0 fix for Closure jobs (#46505)
  • Fix preg_split error when there is a slash in the attribute in Illuminate/Validation/ValidationData (#46549)
  • Fixed Cache::spy incompatibility with Cache::get (#46689)
  • server command: Fixed server Closing output on invalid $requestPort (#46726)
  • Fix nested join when not JoinClause instance (#46712)
  • Fix query builder whereBetween method with carbon date period (#46720)

Changed

  • Removes unnecessary parameters in creatable() / destroyable() methods in Illuminate/Routing/PendingSingletonResourceRegistration (#46677)
  • Return non-zero exit code for uncaught exceptions (#46541)

Added

  • Added trait Illuminate/Foundation/Testing/WithConsoleEvents (#46694)

Changed

  • Added missing ignored methods to Illuminate/View/Component (#46692)
  • console.stub: remove void return type from handle (#46697)

Reverted

Added

  • Added ability to set a custom class for the AsCollection and AsEncryptedCollection casts (#46619)

Changed

  • Set container instance on session manager (#46621)
  • Added empty string definition to Str::squish function (#46660)
  • Allow $sleepMilliseconds parameter receive a Closure in retry method from PendingRequest (#46653)
  • Support contextual binding on first class callables (de8d515, e511a3b)

Added

  • Added methods to determine if API resource has pivot loaded (#46555)
  • Added caseSensitive flag to Stringable replace function (#46578)
  • Allow insert..select (insertUsing()) to have empty $columns (#46605, 399bff9)
  • Added Illuminate/Database/Connection::selectResultSets() (#46592)

Changed

  • Make sure pivot model has previously defined values (#46559)
  • Move SetUniqueIds to run before the creating event (#46622)

Added

  • Added Illuminate/Cache/CacheManager::setApplication() (#46594)

Fixed

  • Fix infinite loading on batches list on Horizon (#46536)
  • Fix whereNull queries with raw expressions for the MySql grammar (#46538)
  • Fix getDirty method when using AsEnumArrayObject / AsEnumCollection (#46561)

Changed

  • Skip Illuminate/Support/Reflector::isParameterBackedEnumWithStringBackingType for non ReflectionNamedType (#46511)
  • Replace Deprecated DBAL Comparator creation with schema aware Comparator (#46517)
  • Added Storage::json() method to read and decode a json file (#46548)
  • Force cast json decoded failed_job_ids to array in DatabaseBatchRepository (#46581)
  • Handle empty arrays for DynamoDbStore multi-key operations (#46579)
  • Stop adding constraints twice on *Many to *One relationships via one() (#46575)
  • allow override of the Builder paginate() total (#46415)
  • Add a possibility to set a custom on_stats function for the Http Facade (#46569)

Changed

  • Move Symfony events dispatcher registration to Console\Kernel (#46508)

Added

  • Added Illuminate/Testing/Concerns/AssertsStatusCodes::assertUnsupportedMediaType() (#46426)
  • Added curl_error_code: 77 to DetectsLostConnections (#46429)
  • Allow for converting a HasMany to HasOne && MorphMany to MorphOne (#46443)
  • Add option to create macroable method for paginationInformation (#46461)
  • Added Illuminate/Filesystem/Filesystem::json() (#46481)

Fixed

  • Fix parsed input arguments for command events using dispatcher rerouting (#46442)
  • Fix enums uses with optional implicit parameters (#46483)
  • Fix deprecations for embedded images in symfony mailer (#46488)

Changed

  • Added alternative database port in Postgres DSN (#46403)
  • Allow calling getControllerClass on closure-based routes (#46411)
  • Remove obsolete method_exists(ReflectionClass::class, 'isEnum') call (#46445)
  • Convert eloquent builder to base builder in whereExists (#46460)
  • Refactor shared static methodExcludedByOptions method to trait (#46498)

Reverted

Reverted

Fixed

  • Fixes Expression no longer implements Stringable (#46395)

Reverted

Added

  • Adding Pipeline Facade (#46271)
  • Add Support for SaveQuietly and Upsert with UUID/ULID Primary Keys (#46161)
  • Add charAt method to both Str and Stringable (#46349, dfb59bc2)
  • Adds Countable to the InvokedProcessPool class (#46346)
  • Add processors to logging (placeholders) (#46344)

Fixed

  • Fixed Illuminate/Mail/Mailable::buildMarkdownView() (791f8ea7)
  • FIX on CanBeOneOfMany trait giving erroneous results (#46309)

Changed

  • Use fallback when previous URL is the same as the current in Illuminate/Routing/UrlGenerator::previous() (#46234)
  • Allow override of the Builder paginate() total (#46336)

Added

  • Adding Conditionable train to Logger (#46259)
  • Added "dot" method to Illuminate\Support\Collection class (#46265)
  • Added a "channel:list" command (#46248)
  • Added JobPopping and JobPopped events (#46220)
  • Add isMatch method to Str and Stringable helpers (#46303)
  • Add ArrayAccess to Stringable (#46279)

Reverted

  • Revert "[10.x] Fix custom themes not resetting on Markdown renderer" (#46328)

Fixed

  • Fix typo in function createMissingSqliteDatbase name in src/Illuminate/Database/Console/Migrations/MigrateCommand.php (#46326)

Changed

  • Generate default command name based on class name in ConsoleMakeCommand (#46256)
  • Do not mutate underlying values on redirect (#46281)
  • Do not use null to initialise $lastExecutionStartedAt in ScheduleWorkCommand (#46285)
  • Remove obsolete function_exists('enum_exists') calls (#46319)
  • Cast json decoded failed_job_ids to array in DatabaseBatchRepository::toBatch (#46329)

Fixed

  • Fixed Illuminate/Foundation/Testing/Concerns/InteractsWithDatabase::expectsDatabaseQueryCount() $connection parameter (#46228)
  • Fixed Facade Fake (#46257)

Changed

  • Remove autoload dumping from make:migration (#46215)

Changed

Added

  • Added protected method Illuminate/Http/Resources/Json/JsonResource::newCollection() for simplifies collection customisation (#46217)

Fixed

  • Fixes constructable migrations (#46223)

Changes

  • Accept time when generating ULID in Str::ulid() (#46201)

Reverted

  • Revert changes from Arr::random() (cf3eb90)

Added

  • Add the ability to re-resolve cache drivers (#46203)

Fixed

  • Fixed Illuminate/Collections/Arr::shuffle() for empty array (0c6cae0)

Fixed

  • Fixing issue where 0 is discarded as a valid timestamp (#46158)
  • Fix custom themes not resetting on Markdown renderer (#46200)

Changed

  • Use secure randomness in Arr:random and Arr:shuffle (#46105)
  • Use mixed return type on controller stubs (#46166)
  • Use InteractsWithDictionary in Eloquent collection (#46196)

Added

  • Added missing expression support for pluck in Builder (#46146)

Added

  • Register policies automatically to the gate (#46132)

Added

  • Standard Input can be applied to PendingProcess (#46119)

Fixed

  • Fix Expression string casting (#46137)

Changed

  • Add AddQueuedCookiesToResponse to middlewarePriority so it is handled in the right place (#46130)
  • Show queue connection in MonitorCommand (#46122)

Please consult the upgrade guide and release notes in the official Laravel documentation.