Skip to content

Latest commit

 

History

History
587 lines (430 loc) · 42.3 KB

CHANGELOG.md

File metadata and controls

587 lines (430 loc) · 42.3 KB

Release Notes for 9.x

v9.17.0 - 2022-06-07

Added

  • Added Illuminate/Database/Eloquent/Builder::withoutEagerLoad() (#42641)
  • Allow random string generation to be controlled (#42669)
  • Adds doesnt_start_with validation (#42683, de35bf2)
  • Added quarterlyOn cron schedule frequency command (#42692)

Fixed

  • Free reserved memory before handling fatal errors (#42630, #42646)
  • Prevent $mailer being reset when testing mailables that implement ShouldQueue (#42695)
  • Added checks for Pusher 7.1 preps (#42632)
  • Fixed grouping for user authorization (#42664)

Changed

  • Allow assertions against pushed string based pushed jobs (#42676)

v9.16.0 - 2022-06-02

Added

  • Added Eloquent withWhereHas method (#42597)
  • User authentication for Pusher (#42531)
  • Added additional uuid testing helpers (#42619)

Fixed

  • Fix queueable notification's ID overwritten (#42581)
  • Handle undefined array key error in route (#42606)

Deprecated

  • Illuminate/Routing/Redirector::home() (#42600)

v9.15.0 - 2022-05-31

Added

  • Added --only-vendor option to route:list command (#42549)
  • Added Illuminate/Http/Client/PendingRequest::throwUnless() (#42556)
  • Added Illuminate/Support/Str::isJson() (#42545)
  • Added Illuminate/Filesystem/Filesystem::isEmptyDirectory() (#42559)
  • Added Add counts to route:list command (#42551)
  • Support kebab case for slot name shortcut (#42574)

Revered

Fixed

  • Fix getting '0' from route parameter in Authorize middleware (#42582)

Changed

  • Retain the original attribute value during validation of an array key with a dot for correct failure message (#42395)
  • Allow bootable test traits to teardown (#42521)
  • Pass thrown exception to $sleepMilliseconds closure in retry helper (#42532)
  • Make HasTimestamps::updateTimestamps chainable (#42533)
  • Remove meaningless parameter in Illuminate/View/Concerns/ManagesEvents (#42546)
  • Map integer parameter to parameter name when resolving binding field (#42571)
  • Conditionable should return HigherOrderWhenProxy only when the args number is exactly 1 (#42555)

v9.14.1 - 2022-05-25

Added

  • Model::whereRelation add callback function (#42491)
  • Add Conditionable Trait to Illuminate\Support\Carbon (#42500)

Fixed

  • Fix afterCommit and DatabaseTransactions (#42502)
  • Fixed regression when only some route parameters are scoped (#42517)

v9.14.0 - 2022-05-24

Added

  • Added ability to add table comments for MySQL and Postgres (#42401)
  • Added dynamic trashed factory state (#42414)
  • Added Illuminate/Collections/Arr::prependKeysWith() (#42448)
  • Added bootable traits to TestCase (#42394)

Fixed

  • Fix clone issue on updateOrCreate and firstOrCreate (#42434)
  • Prevent double sanitized key in RateLimiter@tooManyAttempts (#42462)
  • Add flush handler to output buffer for streamed test response (bugfix) (#42481)

Changed

  • Adds attaches a concise error message to SES exceptions (#42426)
  • Use duplicate instead of createFromBase to clone request when routes are cached (#42420)
  • Use model route key when route parameter does not specifiy custom binding field but a different parameter does (#42425)
  • Adds ability to have paginate() $perPage parameter as callable with access to $total (#42429)
  • Extract ServeCommand env list to static property (#42444)
  • Use route parameters in view (#42461)

v9.13.0 - 2022-05-17

Added

  • Added Illuminate/Collections/Traits/EnumeratesValues::value() (#42257)
  • Added new TestResponse helper: assertJsonMissingPath (#42361)
  • Added Illuminate/Support/Testing/Fakes/NotificationFake::assertCount() (#42366)
  • Added new DetectLostConnections (#42377, #42382)
  • Added Illuminate/Testing/TestResponse::collect() (#42384)
  • Added full callable support to schedule:list (#42400)
  • Added Illuminate/Collections/Arr::map() (#42398)

Fixed

  • Fixed PruneCommand finding its usage within other traits (#42350)
  • Fix assert that exception is thrown without message (#42360)

Changed

  • Skip parameter parsing for raw post body in HTTP Client (#42364)
  • Consistency between digits and digits_between validation rules (#42358)
  • Corrects the use of "failed_jobs" instead of "job_batches" in BatchedTableCommand (#42389)
  • Update email.blade.php (#42388)
  • Remove old monolog 1.x compat code (#42392)
  • SesTransport: use correct Tags argument (#42390)
  • Implement robust handling of forwarding of exception codes (#42393)

v9.12.2 - 2022-05-11

Fixed

  • Factory fails to eval models and factories when returned from closure (#42344)

Changed

  • Added is_string check to QueriesRelationships@requalifyWhereTables (#42341)

v9.12.1 - 2022-05-10

Fixed

  • Fix TypeError in DeadlockException (#42337)
  • Fixed type mismatch on Pusher::validate_channels() (#42340)

Changed

  • Add custom segments on "remember me" for session rebuild (#42316)

v9.12.0 - 2022-05-10

Added

  • Added closure based exceptions testing (#42155)
  • Allow forcing requests made via the Http client to be faked (#42230)
  • Added 'throwIf' method to PendingRequest (#42260)
  • Allow passing key/value arrays to getArguments and getOptions (#42268)
  • Add whereNotMorphedTo, orWhereNotMorphedTo (#42264)
  • Add method to extend localeArray generation (#42275)
  • Added ability to set delay per channel based on notifiable instance (#42239)
  • Added Illuminate/Pagination/CursorPaginator::onLastPage() (#42301)
  • Added findOr method to Query/Builder (#42290)

Fixed

  • Fix too many channels with pusher broadcasting (#42287)
  • Fix Str::Mask() for repeating chars (#42295)
  • Fix EventFake::assertListening() for asserting string-based observer listeners (#42289)
  • Fixed Loose comparison causes the value not to be saved (#41337)
  • Fix multiple dots for digits_between rule (#42330)

Changed

  • Enable to modify HTTP Client request headers when using beforeSending() callback (#42244)
  • Make throttle lock acquisition retry configurable for concurrency limiter (#42242)
  • Defers expanding callables on Factories (#42241)
  • Add wherehas soft deleting scopes (#42100)
  • Improve password checks (#42248)
  • Set relation parent key when using forceCreate on HasOne and HasMany relations (#42281)
  • Make sure the prefix override behaviours are the same between phpredis and predis drivers (#42279)
  • Share logging context across channels and stacks (#42276)

v9.11.0 - 2022-05-03

Added

  • Added Illuminate/Collections/Arr::join() (#42197)
  • Added has and missing methods to ValidatedInput (#42184)
  • Added deprecation stack trace config option (#42235)

Fixed

  • Fix deprecation issue with translator and empty rules (#42216, #42213)

Changed

  • Improve EventFake::assertListening() support for subscribers (#42193)

v9.10.1 - 2022-04-28

Revert

v9.10.0 - 2022-04-27

Added

  • Add the ability to use alias when performing upsert via MySQL (#42053)
  • Illuminate/Routing/Router::middlewareGroup() will support array of the middlewares (#42004, e6b84fb)
  • Added Missing AsCommand attribute on schedule:list (#42069)
  • Add the beforeRefreshingDatabase function to the Testing/RefreshDatabase trait (#42073)
  • Added doesntExpectOutputToContain assertion method (#42096)
  • Added a findOr method to Eloquent (#42092)
  • Allow extension in Illuminate/View/Compilers/Compiler.php (68e41fd)
  • Support 'IS' and 'IS NOT' PostgreSQL operators (#42123)
  • Added str and string methods to Illuminate/Http/Concerns/InteractsWithInput (c9d34b7)
  • Added methods to append and prepend jobs to existing chain (#42138)

Fixes

  • Make it so non-existent jobs run down the failed path instead of crashing (#42079)
  • Fix schedule:work command Artisan binary name (#42083)
  • Fix TrimStrings middleware with non-UTF8 characters (#42065)
  • Copy locale and defaultLocale from original request in Request::createFrom() (#42080)
  • Fix ViewErrorBag for JSON session serialization (#42090)
  • Fix array keys from cached routes in CompiledRouteCollection::getRoutesByMethod() (#42078)
  • Fix json_last_error issue with JsonResponse::setData (#42125)
  • Fix bug in BelongsToMany where non-related rows are returned (#42087)
  • Fix HasAttributes::mutateAttributeForArray when accessing non-cached attribute (#42130)

Changed

  • Make password rule errors translatable (#42060)
  • Redesign of the event:list Command. (#42068)
  • Changed event:list command (#42084)
  • Throw LostDbConnectionException instead of LogicException (#42102)
  • Throw deadlock exception (#42129)
  • Support Arr::forget() for nested ArrayAccess objects (#42142)
  • Allow Illuminate/Collections/Enumerable::jsonSerialize() to return other types (#42133)
  • Update schedule:list colouring output (#42153

v9.9.0 - 2022-04-19

Added

  • Add getAllTables support for SQLite and SQLServer schema builders (#41896)
  • Added withoutEagerLoads() method to Builder (#41950)
  • Added 'throw' method to PendingRequest (#41953)
  • Configurable pluralizer language and uncountables (#41941)

Fixed

  • Fixed Error in Illuminate/Routing/Exceptions/StreamedResponseException (#41955)
  • Fix PHP warnings when rendering long blade string (#41956)
  • Fix ExcludeIf regression to use Closure over is_callable() (#41969)
  • Fixes applying replacements to multi-level localization arrays (#42022)

Changed

  • Improved Illuminate/Foundation/Http/Middleware/TrimStrings.php and Str::squish() (#41949, #41971)
  • Use config session domain for maintenance cookie (#41961)
  • Revert lazy command forcing (#41982)

v9.8.1 - 2022-04-12

Reverted

  • Revert "Standardize withCount() & withExists() eager loading aggregates (#41943)

v9.8.0 - 2022-04-12

Added

  • Added inbound option to CastMakeCommand (#41838)
  • Added a way to retrieve the first column of the first row from a query (#41858)
  • Make DatabaseManager Macroable (#41868)
  • Improve Str::squish() (#41877, #41924)
  • Added option to disable cached view (#41859)
  • Make Connection Class Macroable (#41865)
  • Added possibility to discover anonymous Blade components in other folders (#41637)
  • Added Illuminate/Database/Eloquent/Factories/Factory::set() (#41890)
  • Added multibyte support to string padding helper functions (#41899)
  • Allow to use custom log level in exception handler reporting (#41925)

Fixed

  • Illuminate/Support/Stringable::exactly() with Stringable value (#41846)
  • Fixed afterCommit and RefreshDatabase (#41782)
  • Fix null name for email address in Illuminate/Mail/Message (#41870)
  • Fix seeder property for in-memory tests (#41869)
  • Fix empty paths for server.php (#41933)
  • Fix ExcludeIf constructor (#41931)

Changed

  • Set custom host to the serve command with environment variable (#41831)
  • Add handling of object being passed into old method in Model (#41842)
  • Catch permission exception when creating directory (#41871)
  • Restore v8 behaviour of base query for relations (#41918, #41923)
  • Standardize withCount() & withExists() eager loading aggregates (#41914)

v9.7.0 - 2022-04-05

Added

  • Make whereBelongsTo accept Collection (#41733)
  • Database queries containing JSON paths support array index braces (#41767)
  • Fire event before route matched (#41765)
  • Added to Illuminate/Http/Resources/ConditionallyLoadsAttributes::whenNotNull method (#41769)
  • Added "whereIn" route parameter constraint method (#41794)
  • Added Illuminate/Queue/BeanstalkdQueue::bulk() (#41789)
  • Added Illuminate/Queue/SqsQueue::bulk() (#41788)
  • Added String::squish() helper (#41791)
  • Added query builder method whereJsonContainsKey() (#41802)
  • Enable dispatchAfterResponse for batch (#41787)

Fixed

  • Factory generation fixes (#41688)
  • Fixed Http Client throw boolean parameter of retry method (#41762, #41792)
  • Ignore empty redis username string in PhpRedisConnector (#41773)
  • Fixed support of nullable type for AsArrayObject/AsCollection (#41797, 05846e7)
  • Fixed adding jobs from iterable to the pending batch (#41786)
  • Http client: fix retry handling of connection exception (#41811)

Changed

  • Enable batch jobs delay for database queue (#41758)
  • Enable batch jobs delay for redis queue (#41783)
  • Http client: dispatch "response received" event for every retry attempt (#41793)
  • Http Client: provide pending request to retry callback (#41779)
  • Allow non length limited strings and char for postgresql (#41800)
  • Revert some Carbon::setTestNow() removals (#41810)
  • Allow cleanup of databases when using parallel tests (#41806)

v9.6.0 - 2022-03-29

Added

  • Added whenTableHasColumn and whenTableDoesntHaveColumn on Schema Builder (#41517)
  • Added Illuminate/Mail/Mailable::hasSubject() (#41575)
  • Added Illuminate/Filesystem/Filesystem::hasSameHash() (#41586)

Fixed

  • Fixed deprecation warning in Str::exists() (d39d92d)
  • Fix artisan make:seeder command nested namespace and class name problem (#41534)
  • Fixed Illuminate/Redis/Connections/PhpRedisConnection::handle() (#41546)
  • Stop throwing LazyLoadingViolationException for recently created model instances (#41549)
  • Close doctrineConnection on disconnect (#41584)

Changed

  • Make throttle lock acquisition retry time configurable (#41516)
  • Allows object instead of array when adding to PendingBatch (#41475)
  • Exactly match scheduled command --name in schedule:test (#41528)
  • Handle Symfony defaultName deprecation (#41555, #41595)
  • Improve ScheduleListCommand (#41552, #41535, #41494)
  • Remove useless if statement in Str::mask() (#41570)

v9.5.1 - 2022-03-15

Reverted

  • Revert "Fix the guard instance used." (#41491)

v9.5.0 - 2022-03-15

Added

  • Added callback support on implode Collection method. (#41405)
  • Added Illuminate/Filesystem/FilesystemAdapter::assertDirectoryEmpty() (#41398)
  • Implement email "metadata" for SesTransport (#41422)
  • Make assertPath() accepts Closure (#41409)
  • Added callable support to operatorForWhere on Collection (#41414, #41424)
  • Added partial queue faking (#41425)
  • Added --name option to schedule:test command (#41439)
  • Define Illuminate/Database/Eloquent/Concerns/HasRelationships::newRelatedThroughInstance() (#41444)
  • Added Illuminate/Support/Stringable::wrap() (#41455)
  • Adds "freezeTime" helper for tests (#41460)
  • Allow for callables with beforeSending inIlluminate/Http/Client/PendingRequest.php::runBeforeSendingCallbacks() (#41489)

Fixed

  • Fixed deprecation warnings from route:list when filtering on name or domain (#41421)
  • Fixes HTTP::pool response when a URL returns a null status code (#41412)
  • Fixed recaller name resolution in Illuminate/Session/Middleware/AuthenticateSession.php (#41429)
  • Fixed the guard instance used in /Illuminate/Session/Middleware/AuthenticateSession.php (#41447)
  • Fixed route:list --except-vendor hiding Route::view() & Route::redirect() (#41465)

Changed

  • Add null typing to connection property in \Illuminate\Database\Eloquent\Factories\Factory (#41418)
  • Update reserved names in GeneratorCommand (#41441)
  • Redesign php artisan schedule:list Command (#41445)
  • Extend eloquent higher order proxy properties (#41449)
  • Allow passing named arguments to dynamic scopes (#41478)
  • Throw if tag is passed but is not supported in Illuminate/Encryption/Encrypter.php (#41479)
  • Update PackageManifest::$vendorPath initialisation for cases, when composer vendor dir is not in project director (#41463)

v9.4.1 - 2022-03-08

Fixed

  • Fixed version of laravel

v9.4.0 - 2022-03-08

Added

  • Support modifying a char column type (#41320)
  • Add "Mutex" column to 'schedule:list' command (#41338)
  • Allow eloquent whereNot() and orWhereNot() to work on column and value (#41296)
  • Allow VerifyCsrfToken's CSRF cookie to be extended (#41342)
  • Added soleValue() to query builder (#41368)
  • Added lcfirst() to Str and Stringable (#41384)
  • Added retryUntil method to queued mailables (#41393)

Fixed

  • Fixed middleware sorting for authenticating sessions (50b46db)
  • Fixed takeUntilTimeout method of LazyCollection (#41354, #41370)
  • Fixed directory for nested markdown files for mailables (#41366)
  • Prevent serializing default values of queued jobs (#41348)
  • Fixed get() and head() in Illuminate/Http/Client/PendingRequest.php (a54f481)

Changed

  • Don't use global tap helper (#41326)
  • Allow chaining of Illuminate/Console/Concerns/InteractsWithIO::newLine (#41327)
  • set destinations since bcc missing from raw message in Mail SesTransport (8ca43f4)

v9.3.1 - 2022-03-03

Added

  • Optionally cascade thrown Flysystem exceptions by @driesvints in laravel#41308

Changed

  • Allow overriding transport type on Mailgun transporter by @jnoordsij in laravel#41309
  • Change how Laravel handles strict morph map with pivot classes by @crynobone in laravel#41304

Fixed

  • $job can be an object in some methods by @villfa in laravel#41244
  • Fix docblock on Batch class by @yoeriboven in laravel#41295
  • Correct giveConfig param doc by @Neol3108 in laravel#41314
  • Fix MySqlSchemaState does not add --ssl-ca to mysql cli by @DeepDiver1975 in laravel#41315
  • Do not prepend baseUrl to absolute urls by @JaZo in laravel#41307
  • Fixes getting the trusted proxies IPs from the configuration file by @nunomaduro in laravel#41322

Added

  • Add NotificationFake::assertNothingSentTo() by @axlon (#41232)
  • Support --ssl-ca on schema load and dump by @DeepDiver1975 (#40931)
  • Add whereNot() to Query Builder and Eloquent Builder by @marcovo (#41096)
  • Added support for index and position placeholders in array validation messages by @Bird87ZA (#41123)
  • Add resource binding by @aedart (#41233)
  • Add ability to push additional pipes onto a pipeline via chain($pipes) by @stevebauman (#41256)
  • Add option to filter out routes defined in vendor packages in route:list command by @amiranagram (#41254)

Fixed

  • Query PostgresBuilder fixes for renamed config 'search_path' by @derekmd (#41215)
  • Improve doctypes for Eloquent Factory guessing methods by @bastien-phi (#41245)
  • Fix Conditional::when and Conditional::unless when called with invokable by @bastien-phi (#41270)
  • Improves Support\Collection reduce method type definition by @fdalcin (#41272)
  • Fix inconsistent results of firstOrNew() when using withCasts() by @Attia-Ahmed (#41257)
  • Fix implicitBinding and withTrashed route with child with no SoftDeletes trait by @stein-j (#41282)

Changed

  • Unset Connection Resolver extended callback by @emrancu (#41216)
  • Update Mailgun transport type by @driesvints (#41255)

Added

  • Added Illuminate/Database/Eloquent/Casts/Attribute::make() (#41014)
  • Added Illuminate/Collections/Arr::keyBy() (#41029)
  • Added expectsOutputToContain to the PendingCommand. (#40984)
  • Added ability to supply HTTP client methods with JsonSerializable instances (#41055)
  • Added Illuminate/Filesystem/AwsS3V3Adapter::getClient() (#41079)
  • Added Support for enum in Builder::whereRelation (#41091)
  • Added X headers when using Mail::alwaysTo (#41101)
  • Added of support Bitwise operators in query (#41112)
  • Integrate Laravel CORS into framework (#41137)
  • Added Illuminate/Support/Str::betweenFirst() (#41144)
  • Allow specifiying custom messages for Rule objects (#41145)

Fixed

  • Fixed Queue Failed_jobs insert issue with Exception contain UNICODE (#41020)
  • Fixes attempt to log deprecations on mocks (#41057)
  • Fixed loadAggregate not correctly applying casts (#41050)
  • Do not transform JsonSerializable instances to array in HTTP client methods (#41077)
  • Fix parsing config('database.connections.pgsql.search_path') (#41088)
  • Eloquent: firstWhere returns Object instead of NULL (#41099)
  • Fixed updated with provided qualified updated_at (#41133)
  • Fix setPriority Call for MailChannel (#41120)
  • Fixed route:list command output (#41177)
  • Fix database migrations $connection property (#41161)

Changed

  • Cursor pagination: convert original column to expression (#41003)
  • Cast $perPage to integer on Paginator (#41073)
  • Restore S3 client extra options (#41097)
  • Use latest() within notifications() in Illuminate/Notifications/HasDatabaseNotifications.php (#41095)
  • Remove duplicate queries to find batch (#41121)
  • Remove redundant check in FormRequest::validated() (#41115)
  • Illuminate/Support/Facades/Storage::fake() changed (#41113)
  • Use coalesce equal as provided by PHP >= 7.4 (#41174)
  • Simplify some conditions with is_countable() (#41168)
  • Pass AWS temporary URL options to createPresignedRequest method (#41156)
  • Let Multiple* exceptions hold the number of records and items found (#41164)

Added

  • Added the ability to use the uniqueFor method for Jobs by @andrey-helldar in laravel#40974
  • Add filtering of route:list by domain by @Synchro in laravel#40970
  • Added dropForeignIdFor method to match foreignIdFor method by @bretto36 in laravel#40950
  • Adds Str::excerpt by @nunomaduro in laravel#41000
  • Make:model --morph flag to generate MorphPivot model by @michael-rubel in laravel#41011
  • Add doesntContain to higher order proxies by @edemots in laravel#41034

Changed

  • Improve types on model factory methods by @axlon in laravel#40902
  • Add support for passing array as the second parameter for the group method. by @hossein-zare in laravel#40945
  • Makes ExceptionHandler::renderForConsole internal on contract by @nunomaduro in laravel#40956
  • Put the error message at the bottom of the exceptions by @nshiro in laravel#40886
  • Expose next and previous cursor of cursor paginator by @gdebrauwer in laravel#41001

Fixed

  • Fix FTP root config by @driesvints in laravel#40939
  • Allows tls encryption to be used with port different than 465 with starttls by @nicolalazzaro in laravel#40943
  • Catch suppressed deprecation logs by @nunomaduro in laravel#40942
  • Fix typo in method documentation by @shadman-ahmed in laravel#40951
  • Patch regex rule parsing due to Rule::forEach() by @stevebauman in laravel#40941
  • Fix replacing request options by @driesvints in laravel#40954
  • Fix MessageSent event by @driesvints in laravel#40963
  • Add firstOr() function to BelongsToMany relation by @r-kujawa in laravel#40828
  • Fix isRelation() failing to check an Attribute by @rodrigopedra in laravel#40967
  • Fix default pivot attributes by @iamgergo in laravel#40947
  • Fix enum casts arrayable behaviour by @diegotibi in laravel#40885
  • Solve exception error: Undefined array key "", in artisan route:list command by @manuglopez in laravel#41031
  • Fix Duplicate Route Namespace by @moisish in laravel#41021
  • Fix the error message when no routes are detected by @LukeTowers in laravel#41017
  • Fix mails with tags and metadata are not queuable by @joostdebruijn in laravel#41028

Added

Changed

  • Widen the type of Collection::unique $key parameter by @NiclasvanEyk in laravel#40903
  • Makes ExceptionHandler::renderForConsole internal by @nunomaduro in laravel#40936
  • Removal of Google Font integration from default exception templates by @bashgeek in laravel#40926
  • Allow base JsonResource class to be collected by @jwohlfert23 in laravel#40896

Fixed

  • Fix Support\Collection reject method type definition by @joecampo in laravel#40899
  • Fix SpoofCheckValidation namespace change by @eduardor2k in laravel#40923
  • Fix notification email recipient by @driesvints in laravel#40921
  • Fix publishing visibility by @driesvints in laravel#40918
  • Fix Mailable->priority() by @giggsey in laravel#40917

Changed

  • Improves Support\Collection each method type definition by @zingimmick in laravel#40879

Fixed

  • Update Mailable.php by @rentalhost in laravel#40868
  • Switch to null coalescing operator in Conditionable by @inxilpro in laravel#40888
  • Bring back old return behaviour by @ankurk91 in laravel#40880

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