Laravel Framework

https://github.com/laravel/framework

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)

Fixed

  • Fixed Illuminate/Foundation/Testing/Concerns/InteractsWithDatabase::expectsDatabaseQueryCount() $connection parameter (#46228)
  • PHP 8.0 fix for Closure jobs (#46505)
  • Fix preg_split error when there is a slash in the attribute (#46549)

Changed

  • Allow WithFaker to be used when app is not bound (#46529)

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

Fixed

  • Fixes Expression no longer implements Stringable (#46395)

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 reseting 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)

Fixed

  • Fixes constructable migrations (#46223)

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 reseting 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)

Fixed

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

Changed

  • Use secure randomness in Arr:random and Arr:shuffle (#46105)

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.

Added

  • Added methods to Enumerable contract (#46021)
  • Added new mailer transport for AWS SES V2 API (#45977)
  • Add S3 temporaryUploadUrl method to AwsS3V3Adapter (#45753)
  • Add index hinting support to query builder (#46063)
  • Add mailer name to data for SentMessage and MessageSending events (#46079)
  • Added --pending option to migrate:status (#46089)

Fixed

  • Fixed pdo exception when rollbacking without active transaction (#46017)
  • Fix duplicated columns on select (#46049)
  • Fixes memory leak on anonymous migrations (â„–46073)
  • Fixed race condition in locks issued by the file cache driver (#46011)

Changed

  • Allow choosing tables to truncate in Illuminate/Foundation/Testing/DatabaseTruncation::truncateTablesForConnection() (#46025)
  • Update afterPromptingForMissingArguments method (#46052)
  • Accept closure in bus assertion helpers (#46075)
  • Avoid mutating the $expectedLitener between loops on Event::assertListening (#46095)

Added

  • Added Illuminate/Foundation/Testing/Concerns/InteractsWithDatabase::expectsDatabaseQueryCount() (#45932)
  • Added pending has-many-through and has-one-through builder (#45894)
  • Added Illuminate/Http/Client/PendingRequest::withUrlParameters() (#45982)

Fixed

  • Fix: prevent duplicated content-type on HTTP client (#45960)
  • Add missing php extensions in composer (#45941)

Changed

  • Command schedule:work minor features: schedule:run output file & environment specific verbosity (#45949)
  • Added missing self reserved word to reservedNames array in Illuminate/Console/GeneratorCommand.php (#46001)
  • pass value along to ttl callback in Illuminate/Cache/Repository::remember() (#46006)
  • Make sure the lock_connection is used for schedule's withoutOverlapping() (#45963)

Fixed

  • Fixed missing_with and missing_with_all validation (#45913)
  • Fixes blade escaped tags issue (#45928)

Changed

  • Trims numeric validation values / parameters (#45912)
  • Random function doesn't generate evenly distributed random chars (#45916)

Reverted

Changed

  • Allow scheme to be specified in Illuminate/Mail/MailManager::createSmtpTransport() (68a8bfc)
  • Accept optional mode in Illuminate/Filesystem/Filesystem::replace() (2664e7f)

Added

  • Added Illuminate/Translation/Translator::stringable() (#45874)
  • Added Illuminate/Foundation/Testing/DatabaseTruncation (#45726)
  • Added @style Blade directive (#45887)

Reverted

Fixed

  • Fixed LazyCollection::makeIterator() to accept non Generator Function (#45881)

Changed

  • Solve data to be dumped for separate schemes (#45805)

Added

  • Added Illuminate/Database/Schema/ForeignKeyDefinition::noActionOnDelete() (#45712)
  • Added new throw helper methods to the HTTP Client (#45704)
  • Added configurable timezone support for WorkCommand output timestamps (#45722)
  • Added support for casting arrays containing enums (#45621)
  • Added "missing" validation rules (#45717)
  • Added /Illuminate/Database/Eloquent/SoftDeletes::forceDeleteQuietly() (#45737)
  • Added Illuminate/Collections/Arr::sortDesc() (#45761)
  • Added CLI Prompts (#45629, #45864)
  • Adds assertJsonIsArray and assertJsonIsObject for TestResponse (#45731)
  • Added Illuminate/Database/Eloquent/Relations/HasOneOrMany::createQuietly() (#45783)
  • Add validation rules: ascii_alpha, ascii_alpha_num, ascii_alpha_dash (#45769)
  • Extract status methods to traits (#45789)
  • Add "addRestoreOrCreate" extension to SoftDeletingScope (#45754)
  • Added connection established event (f850d99)
  • Add forceDeleting event to models (#45836)
  • Add title tag in mail template (#45859)
  • Added new methods to Collection (#45839)
  • Add skip cancelled middleware (#45869)

Fixed

  • Fix flushdb on cluster for PredisClusterConnection.php (#45544)
  • Fix blade tag issue with nested calls (#45764)
  • Fix infinite loop in blade compiler (#45780)
  • Fix ValidationValidator not to accept terminating newline (#45790)
  • Fix stubs publish command generating incorrect controller stubs (#45812)
  • fix: normalize route pipeline exception (#45817)
  • Fix Illuminate Filesystem replace() leaves file executable (#45856)

Changed

  • Ensures channel name matches from start of string (#45692)
  • Replace raw invisible characters in regex expressions with counterpart Unicode regex notations (#45680)
  • Optimize destroy method (#45709)
  • Unify prohibits behavior around prohibits_if (#45723)
  • Removes dependency on bcmath (#45729)
  • Allow brick/math 0.11 also (#45762)
  • Optimize findMany of BelongsToMany (#45745)
  • Ensure decimal rule handles large values (#45693)
  • Backed enum support for @js (#45862)
  • Restart syscalls for SIGALRM when worker times out a job (#45871)
  • Ensure subsiquent calls to Mailable->to() overwrite previous entries (#45885)

Added

  • Added Illuminate/Database/Schema/Builder::withoutForeignKeyConstraints() (#45601)
  • Added fragments() \ fragmentIf() \ fragmentsIf() methods to Illuminate/View/View.php class (#45656, #45669)
  • Added incrementEach() and decrementEach() to Illuminate/Database/Query/Builder (#45577)
  • Added ability to drop an index when modifying a column (#45513)
  • Allow to set HTTP client for mailers (#45684)
  • Added 402 exception view (#45682)
  • Added notFound() helper to Http Client response (#45681)

Fixed

Changed

  • Ignore whitespaces/newlines when finding relations in model:show command (#45608)
  • Fail queued job with a string messag (#45625)
  • Allow fake() helper in unit tests (#45624)
  • allow egulias/email-validator v4 (#45649)
  • Force countBy method in EloquentCollection to return base collection (#45663)
  • Allow for the collection of stubs to be published (#45653)

Added

  • Added Support Lazy Collections in BatchFake::add() (#45507)
  • Added Decimal to list of Numeric rules (#45533)
  • Added Illuminate/Routing/PendingSingletonResourceRegistration::destroyable() (#45549)
  • Added setVisible and setHidden to Eloquent Collection (#45558)

Fixed

  • Fix bound method contextual binding (#45500)
  • Fixed Method explodeExplicitRule with regex rule (#45555)
  • Fixed Illuminate/Database/Query/Builder::whereIntegerInRaw() (#45584)
  • Fixes blade tags (#45490)

Changed

  • Return model when casting attribute (#45539)
  • always show full path to migration in Illuminate/Database/Console/Migrations/MigrateMakeCommand.php (9f6ff48)
  • Remove index name when adding primary key on MySQL (#45515)

Added

  • Added Passthrough PATH variable to serve command (#45402)
  • Added whenHas to JsonResource (#45376)
  • Added ./fleet directory to .gitignore (#45432)
  • Added unless to JsonResource (#45419)

Fixed

  • Fixed credentials check (#45437)
  • Fixed decimal cast precision issue (#45456, #45492)
  • Precognitive validation with nested arrays doesn't throw validation error (#45405)
  • Fixed issue on which class to check increment and decrement methods for custom cast (#45444)

Changed

  • Update decimal validation rule to allow validation of signed numbers (24a48b2)
  • Output only unique asset / preload tags in Vite (#45404)
  • Optimize whereKey method in Query Builder (#45453)
  • Remove extra code in Model.php to optimize performance (#45476)
  • Exception Handler prepareResponse add previous Exception (#45499)

Revert

  • Revert "fix single line @php statements to not be parsed as php blocks" (#45389)

Changed

  • Load schema to in memory database (#45375)

Added

  • Allows the registration of custom, root-level anonymous component search paths. (#45338, 1ff0379)
  • Added decimal validation rule (#45356, e89b2b0)
  • Added align property to button mail component (#45362)
  • Added whereUlid(param) support for routing (#45372)

Fixed

  • Fixed single line @php statements to not be parsed as php blocks in BladeCompiler (#45333)
  • Added missing code to set locale from model preferred locale in Maillable (#45308)

Changed

  • Vite: ability to prevent preload tag generation from attribute resolver callback (#45283)
  • Deprecation Test Improvements (#45317)
  • Do not allow nested arrays in whereIn method (140c3a8)
  • Bump ramsey/uuid (#45367)

Added

  • Added Illuminate/Auth/GuardHelpers::forgetUser() (#45208)
  • Added sort option for schedule:list (#45198)
  • Added ascii and ulid validation rules (#45218)
  • Http client - allow to provide closure as "throwif" condition (#45251)
  • Support '/' as a possible column name in database (#45268)
  • Added Granular notifications queue connections (#45264)
  • Add support for native rename/drop column commands (#45258)
  • Add $encoding parameter to substr method (#45300)
  • Use Macroable in Session facade (#45310)

Fixed

  • Fixed aliasing with cursor pagination (#45188)
  • Fixed email verification request (#45227)
  • Return 500 http error, instead of 200, when dotenv fails to load (#45235)
  • Fixed bug on Job Batchs Table (#45263)
  • Fixed schedule:list crash when call() is given class-string (#45306)
  • Fixed Lack of Memory when failing a job with wrong variable passed on the method fail() (#45291)
  • Fixed errors occurring when encrypted cookies has been tampered with (#45313)
  • bug fix, change array_merge to array_replace to prevent reindex (#45309)

Changed

  • Allow BusFake to use custom BusRepository (#45202)
  • Improved error logging for unmatched routes and route not found (#45206)
  • Improve assertSeeText and assertDontSeeText test methods (#45274)
  • Improved Illuminate/Auth/SessionGuard::clearUserDataFromStorage() (#45305)
  • Allows shouldIgnoresDeprecationError() to be overriden (#45299)

Fixed

  • Fixed email verification request (#45227)

Added

  • Add support for eager loading specific columns to withWhereHas (#45168)
  • Add Policies to Model Show Command (#45153)
  • Added Illuminate/Support/Stringable::whenIsUlid() (#45183)

Fixed

  • Added missing reserved names in GeneratorCommand (#45149)

Changed

  • Allow to pass base64 key to env:encrypt command (#45157)
  • Replace model:show searched value with correct FQCN (#45160)

Changed

  • Improved stubs and Illuminate/Routing/ResourceRegistrar::getResourceMethods() (6ddf3b0)

Revert

  • Revert "[9.x] Create new Json ParameterBag Instance when cloning Request" (#45147)

Fixed

  • Mailable : fixes strict comparison with int value (#45138)
  • Address Dynamic Relation Resolver inconsiency issue with extended Models (#45122)

Added

  • Added --rest option to queue:listen (00a12e2, 82fde9e)
  • Added Illuminate/Support/Stringable::isUlid() (#45100)
  • Add news report_if and report_unless helpers functions (#45093)
  • Add callback to resolve custom mutex name of schedule events (#45126)
  • Add WorkOptions to WorkerStopping Event (#45120)
  • Added singleton and creatable options to Illuminate/Routing/Console/ControllerMakeCommand (#44872)

Fixed

  • Fix pure enums validation (#45121)
  • Prevent test issues with relations with the $touches property (#45118)
  • Fix factory breaking when trying to determine whether a relation is empty (#45135)

Changed

  • Allow set command description via AsCommand attribute (#45117)
  • Updated Mailable to prevent duplicated recipients (#45119)

Added

  • Added Illuminate/Validation/Rules/DatabaseRule::onlyTrashed() (#44989)
  • Add some class rules in class Rule (#44998)
  • Added Illuminate/View/ComponentAttributeBag::missing() (#45016)
  • Added Illuminate/Http/Concerns/InteractsWithInput::whenMissing() (#45019)
  • Add isolation levels to SQL Server Connector (#45023)
  • Fix php artisan serve with PHP_CLI_SERVER_WORKERS > 1 (#45041)
  • Add ability to prune cancelled job batches (#45034)
  • Adding option for custom manifest filename on Vite Facade (#45007)

Fixed

  • Fix deprecation warning when comparing a password against a NULL database password (#44986, 206e465)
  • Outlook web dark mode email layout fix (#45024)

Changed

  • Improves queue:work command output (#44971)
  • Optimize Collection::containsStrict (#44970)
  • Make name required in Illuminate/Testing/TestResponse::assertRedirectToRoute() (98a0301)
  • Strip key, secret and token from root config options on aws clients (#44979)
  • Allow customised implementation of the SendQueuedMailable job (#45040)
  • Validate uuid before route binding query (#44945)

Added

  • Illuminate/Support/Lottery::fix() (7bade4f)

Added

  • Include Eloquent Model Observers in model:show command (#44884)
  • Added "lowercase" validation rule (#44883)
  • Introduce Lottery class (#44894)
  • Added /Illuminate/Testing/TestResponse::assertRedirectToRoute() (#44926)
  • Add uppercase validation rule (#44918)
  • Added saveManyQuietly to the hasOneOrMany and belongsToMany relations (#44913)

Fixed

  • Fix HasAttributes::getMutatedAttributes for classes with constructor args (#44829)

Changed

  • Remove argument assignment for console (#44888)
  • Pass $maxExceptions from mailable to underlying job when queuing (#44903)
  • Make Vite::isRunningHot public (#44900)
  • Add method to be able to override the exception context format (#44895)
  • Add zero-width space to trimmed characters in TrimStrings middleware (#44906)
  • Show error if key:generate artisan command fails (#44927)
  • Update database version check for lock popping for PlanetScale (#44925)
  • Move function withoutTrashed into DatabaseRule (#44938)
  • Use write connection on Schema::getColumnListing() and Schema::hasTable() for MySQL and PostgreSQL (#44946)

Added

  • Added template fragments to Blade (#44774)
  • Added source file to Collection's dd method output (#44793, d2e0e85)
  • Added Illuminate/Support/Testing/Fakes/PendingBatchFake::dispatchAfterResponse() (#44815)
  • Added Illuminate/Foundation/Testing/Concerns/InteractsWithDatabase::assertDatabaseEmpty() (#44810)

Fixed

  • Fixed InteractsWithContainer::withoutMix() (#44822)

Changed

  • Update UpCommand::handle that must return int (#44807)
  • Decouple database component from console component (#44798)
  • Improve input argument parsing for commands (#44662, #44826)
  • Added DatabaseBatchRepository to provides() in BusServiceProvider (#44833)
  • Move reusable onNotSuccessfulTest functionality to TestResponse (#44827)
  • Add CSP nonce to Vite reactRefresh inline script (#44816)
  • Allow route group method to be chained (#44825)
  • Remove __sleep() & __wakeup() from SerializesModels trait. (#44847)
  • Handle SQLite without ENABLE_DBSTAT_VTAB enabled in Illuminate/Database/Console/DatabaseInspectionCommand::getSqliteTableSize() (#44867)
  • Apply force flag when necessary in Illuminate/Queue/Listener (#44862)
  • De-couple Console component from framework (#44864)
  • Update Vite mock to return empty array for preloadedAssets (#44858)

Added

  • Added Illuminate/Routing/Route::flushController() (#44393)
  • Added Illuminate/Session/Store::setHandler() (#44736)
  • Added dictionary to slug helper (#44730)
  • Added ability to set middleware based on notifiable instance and channel (#44767)
  • Added touchQuietly convenience method to Model (#44722)
  • Added Illuminate/Routing/Router::removeMiddlewareFromGroup() (#44780)
  • Allow queueable notifications to set maxExceptions (#44773)
  • Make migrate command isolated (#44743, ac3252a)

Fixed

  • Fixed whenPivotLoaded(As) api resource methods when using Eloquent strict mode (#44792)
  • Fixed components view error when using $attributes in parent view (#44778)
  • Fixed problem with disregarding global scopes when using existOr and doesntExistOr methods on model query (#44795)

Changed

  • Recompiles views when necessary (#44737)
  • Throw meaningful exception when broadcast connection not configured (#44745)
  • Prevents booting of providers when running env:encrypt (#44758)
  • Added nonce for preloaded assets (#44747)
  • Inherit crossorigin attributes while preloading view (#44800)

Fixed

  • Fixes controller computed middleware (#44454)

Added

  • Added optional verbose output when view caching (#44673)
  • Allow passing closure to rescue $report parameter (#44710)
  • Support preloading assets with Vite (#44096)
  • Added Illuminate/Mail/Mailables/Content::htmlString() (#44703)

Fixed

  • Fixed model:show registering getAttribute() as a null accessor (#44683)
  • Fix expectations for output assertions in PendingCommand (#44723)

Added

  • Added rawValue to Database Query Builder (and Eloquent as wrapper) (#44631)
  • Added TransactionCommitting (#44608)
  • Added dontIncludeSource to CliDumper and HtmlDumper (#44623)
  • Added Illuminate/Filesystem/FilesystemAdapter::checksum() (#44660)
  • Added handlers for silently discarded and missing attribute violations (#44664)

Reverted

Changed

  • Create new Json ParameterBag Instance when cloning Request (#44671)
  • Prevents booting providers when running env:decrypt (#44654)

Reverted

  • Reverts micro-optimization on view events (#44653)

Fixed

  • Fixes blade not forgetting compiled views on view:clear (#44643)
  • Fixed Illuminate/Database/Eloquent/Model::offsetExists() (#44642)
  • Forget component's cache and factory between tests (#44648)

Changed

  • Bump Testbench dependencies (#44651)

Fixed

  • Ensures view creators and composers are called when * is present (#44636)

Fixed

  • Fixes livewire components that were using createBladeViewFromString (#pull)

Added

  • Added mailable assertions (#44563)
  • Added Illuminate/Testing/TestResponse::assertContent() (#44580)
  • Added to Illuminate/Console/Concerns/InteractsWithIO::alert() $verbosity param (#44614)

Optimization

  • Makes blade components blazing fast (#44487)

Fixed

  • Fixed Illuminate/Filesystem/Filesystem::relativeLink() (#44519)
  • Fixed for model:show failing with models that have null timestamp columns (#44576)
  • Allow Model::shouldBeStrict(false) to disable "strict mode" (#44627)

Changed

  • Dont require a host for sqlite connections in php artisan db (#44585)
  • Let MustVerifyEmail to be used on models without id as primary key (#44613)
  • Changed Illuminate/Routing/Route::controllerMiddleware() (#44590)

Fixed

  • Remove check for $viewFactory->exists($component) in Illuminate/View/Compilers/ComponentTagCompiler::componentClass (7c6db00)

Added

  • Allow loading trashed models for resource routes (#44405)
  • Added Illuminate/Database/Eloquent/Model::shouldBeStrict() and other (#44283)
  • Controller middleware without resolving controller (#44516)
  • Alternative Mailable Syntax (#44462)

Fixed

  • Fix issue with aggregates (withSum, etc.) for pivot columns on self-referencing many-to-many relations (#44286)
  • Fixes issue using static class properties as blade attributes (#44473)
  • Traversable should have priority over JsonSerializable in EnumerateValues (#44456)
  • Fixed make:cast --inbound so it's a boolean option, not value (#44505)

Changed

  • Testing methods. Making error messages with json_encode more readable (#44397)
  • Have 'Model::withoutTimestamps()' return the callback's return value (#44457)
  • only load trashed models on relevant routes (#44478)
  • Adding additional PHP extensions to shouldBlockPhpUpload Function (#44512)
  • Register cutInternals casters for particularly noisy objects (#44514)
  • Use get methods to access application locale (#44521)
  • return only on non empty response from channels (09d53ee, 3944a3e)
  • Correct channel matching (#44531)
  • Migrate mail components (#44527)

Added

  • Short attribute syntax for Self Closing Blade Components (#44413)
  • Adds support for PHP's BackedEnum to be "rendered" on blade views (#44445)

Fixed

  • Fixed Precognition headers for Symfony responses (#44424)
  • Allow to create databases with dots (#44436)
  • Fixes dd source on windows (#44451)

Changed

  • Adds error output to db command when missing host (#44394)
  • Changed Illuminate/Database/Schema/ForeignIdColumnDefinition::constrained() (#44425)
  • Allow maintenance mode events to be listened to in closure based listeners (#44417)
  • Allow factories to recycle multiple models of a given typ (#44328)
  • Improves dd clickable link on multiple editors and docker environments (#44406)

Added

  • Added Illuminate/Support/Testing/Fakes/MailFake::cc() (#44319)
  • Added Ignore Case of Str::contains and Str::containsAll to Stringable contains and containsAll (#44369)
  • Added missing morphs methods for the ULID support (#44364)
  • Introduce Laravel Precognition (#44339)
  • Added Illuminate/Routing/Route::flushController() (#44386)

Fixed

  • Fixes memory leak on PHPUnit's Annotations registry (#44324, #44336)
  • Fixed Illuminate/Filesystem/FilesystemAdapter::url() with config prefix (#44330)
  • Fixed the "Implicit conversion from float to int loses precision" error in Timebox Class (#44357)

Changed

  • Improves dd source on compiled views (#44347)
  • Only prints source on dd calls from dump.php (#44367)
  • Ensures a Carbon version that supports PHP 8.2 (#44374)

Added

  • Added Illuminate/Routing/Route::flushController() (#44393)

Added

  • New env:encrypt and env:decrypt commands (#44034)
  • Share WithoutOverlapping key across jobs (#44227)
  • Add missing citext type mapping to Illuminate/Database/Console/DatabaseInspectionCommand::$typeMappings (#44237)
  • Short attribute syntax for Blade Components (#44217)
  • Adds source file to dd function output (#44211)
  • Add methods to get request data as integer or float (#44239)
  • Adds Eloquent User Provider query handler (#44226)
  • Added Illuminate/Support/Testing/Fakes/BusFake::dispatchFakeBatch() (#44176)
  • Added methods to cast Stringables (#44238)
  • Added Illuminate/Routing/UrlGenerator::withKeyResolver() (#44254)
  • Add a hook to the serialisation of collections (#44272)
  • Allow enum route bindings to have default values (#44255)
  • Added benchmark utility class (b4293d7, #44297)
  • Added Illuminate/Console/Scheduling/ManagesFrequencies::everyOddHour() (#44288)

Fixed

  • Fix incrementing string keys (#44247)
  • Fix bug in Fluent Class with named arguments in migrations (#44251)
  • Fix "about" command caching report (#44305)
  • Fixes memory leaks (#44306, #44307)

Changed

  • Patch for timeless timing attack vulnerability in user login (#44069)
  • Refactor: register commands in artisan service (#44257)
  • Allow factories to recycle models with for method (#44265)
  • Use dedicated method for placeholder replacement in validator (#44296)

Fixed

  • Avoid Passing null to parameter exception on PHP 8.1 (#43951)

Changed

  • Patch for timeless timing attack vulnerability in user login (#44069)

Added

  • Added unique deferrable initially deferred constants for PostgreSQL (#44127)
  • Request lifecycle duration handler (#44122)
  • Added Model::withoutTimestamps(...) (#44138)
  • Added manifestHash function to Illuminate\Foundation\Vite (#44136)
  • Added support for operator <=> in /Illuminate/Collections/Traits/EnumeratesValues::operatorForWhere() (#44154)
  • Added that Illuminate/Database/Connection::registerDoctrineType() can accept object as well as classname for new doctrine type (#44149)
  • Added Fake Batches (#44104, #44173)
  • Added Model::getAppends() (#44180)
  • Added missing Str::wrap() static method (#44207)
  • Added require symfony/uid (#44202)
  • Make Vite macroable (#44198)

Fixed

  • Async fix in Illuminate/Http/Client/PendingRequest (#44179)
  • Fixes artisan serve command with PHP_CLI_SERVER_WORKERS environment variable (#44204)
  • Fixed InteractsWithDatabase::castAsJson($value) incorrectly handles SQLite Database (#44196)

Changed

  • Improve Blade compilation exception messages (#44134)
  • Improve test failure output (#43943)
  • Prompt to create MySQL db when migrating (#44153)
  • Improve UUID and ULID support for Eloquent (#44146)

Added

  • Allow using a model instance in place of nested model factories (#44107)
  • Added UUID and ULID support for Eloquent (#44074)
  • Implement except method for fake classes to define what should not be faked (#44117)
  • Added interacts with queue middleware to send queued mailable (#44124)
  • Added new exception string to Illuminate/Database/DetectsLostConnections (#44121)

Fixed

Changed

  • Enhance column modifying (#44101)
  • Allow to define which jobs should be actually dispatched when using Bus::fake (#44106)

Added

  • Added stop_buffering config option to logger (#44071)
  • Added read-only filesystem adapter decoration as a config option (#44079)
  • Added scoped filesystem driver (#44105)
  • Add force option to all make commands (#44100)

Fixed

  • Fixed QueryBuilder whereNot with array conditions (#44083)

Changed

  • Passing event into viaQueue and viaConnection of Queued Listener (#44080)
  • Improve testability of batched jobs (#44075)
  • Allow any kind of whitespace in cron expression (#44110)

Added

  • Added RequiredIfAccepted validation rule (#44035)
  • Added Illuminate/Foundation/Vite::assetPath() (#44037)
  • Added ability to discard Eloquent Model changes (#43772)
  • Added ability to determine if attachments exist to Illuminate/Mail/Mailable (#43967)
  • Added Illuminate/Support/Testing/Fakes/BusFake::assertNothingBatched() (#44056)

Reverted

Fixed

  • Avoid Passing null to parameter exception on PHP 8.1 (#43951)
  • Align Remember Me Cookie Duration with CookieJar expiration (#44026)
  • Fix Stringable typehints with Enumerable (#44030)
  • Fixed middleware "SetCacheHeaders" with file responses (#44063)

Changed

  • Don't use locks for queue job popping for PlanetScale's MySQL-compatible Vitess engine (#44027)
  • Avoid matching 'use' in custom Stub templates in Illuminate/Console/GeneratorCommand.php (#44049)

Added

  • Added view data assertions to TestView (#43923)
  • Added Illuminate/Routing/Redirector::getIntendedUrl() (#43938)
  • Added Eloquent mode to prevent prevently silently discarding fills for attributes not in $fillable (#43893)
  • Added Illuminate/Testing/PendingCommand::assertOk() (#43968)
  • Make Application macroable (#43966)
  • Introducing Signal Traps (#43933)
  • Allow registering instances of commands (#43986)
  • Support Enumerable in Stringable (#44012)

Fixed

  • Fixed RoueGroup::merge to format merged prefixes correctly. (#44011)
  • Fixes providesTemporaryUrls on AwsS3V3Adapter (#44009)
  • Fix ordering of stylesheets when using @vite (#43962)

Changed

  • Allow invokable rules to specify custom messsages (#43925)
  • Support objects like GMP for custom Model casts (#43959)
  • Default 404 message on denyAsNotFound (#43901)
  • Changed Illuminate/Container/Container::resolvePrimitive() for isVariadic() (#43985)
  • Allow validator messages to use nested arrays (#43981)
  • Ensure freezeUuids always resets UUID creation after exception in callback (#44018)

Added

  • Add getter and setter for connection in the DatabaseBatchRepository class (#43869)

Fixed

  • Fix for potential bug with non-backed enums (#43842)
  • Patch nested array validation rule regression bug (#43897)
  • Fix registering event listeners with array callback (#43890)

Changed

  • Explicitly add column name to SQLite query in Illuminate/Database/Console/DatabaseInspectionCommand::getSqliteTableSize() (#43832)
  • Allow broadcast on demand notifications (d2b1446)
  • Make Vite::hotFile() public (#43875)
  • Prompt to create sqlite db when migrating (#43867)
  • Call prepare() on HttpException responses (#43895)
  • Make the model:prune command easier to extend (#43919)

Revert

  • Revert "[9.x] Add statusText for an assertion message" (#43831)

Fixed

Added

  • Adding support for non-backed enums in Models (#43728)
  • Added vite asset url helpers (#43702)
  • Added Authentication keyword for SqlServerConnector.php (#43757)
  • Added support for additional where* methods to route groups (#43731)
  • Added min_digits and max_digits validation (#43797)
  • Added closure support to dispatch conditionals in bus (#43784)
  • Added configurable paths to Vite (#43620)

Fixed

  • Fix unique lock release for broadcast events (#43738)
  • Fix empty collection class serialization (#43758)
  • Fixes creation of deprecations channel (#43812)

Changed

  • Improve display of failures for assertDatabaseHas (#43736)
  • Always use the write PDO connection to read the just stored pending batch in bus (#43737)
  • Move unique lock release to method (#43740)
  • Remove timeoutAt fallback from Job base class (#43749)
  • Convert closures to arrow functions (#43778)
  • Use except also in Illuminate/Routing/Middleware/ValidateSignature::handle() (e554d47)
  • Adjust forever time for cookies (#43806)
  • Make string padding UTF-8 safe (f1762ed)

Fixes

Added

  • Added whenNotExactly to Stringable (#43700)
  • Added ability to Model::query()->touch() to mass update timestamps (#43665)

Fixed

  • Prevent error in db/model commands when using unsupported columns (#43635)
  • Fixes ensureDependenciesExist runtime error (#43626)
  • Null value for auto-cast field caused deprication warning in php 8.1 (#43706)
  • db:table command properly handle table who doesn't exist (#43669)

Changed

  • Handle assoc mode within db commands (#43636)
  • Allow chunkById on Arrays, as well as Models (#43666)
  • Allow for int value parameters to whereMonth() and whereDay() (#43668)
  • Cleaning up old if-else statement (#43712)
  • Ensure correct 'integrity' value is used for css assets (#43714)

Added

  • New db:show, db:table and db:monitor commands (#43367)
  • Added validation doesnt_end_with rule (#43518)
  • Added Illuminate/Database/Eloquent/SoftDeletes::restoreQuietly() (#43550)
  • Added mergeUnless to resource ConditionallyLoadsAttributes trait (#43567)
  • Added Illuminate/Support/Testing/Fakes/NotificationFake::sentNotifications() (#43558)
  • Added implode to Passthru in Illuminate/Database/Eloquent/Builder.php (#43574)
  • Make Config repository macroable (#43598)
  • Add whenNull to ConditionallyLoadsAtrribute trait (#43600)
  • Extract child route model relationship name into a method (#43597)

Revert

Fixed

  • Fix unique locking on broadcast events (#43516)
  • Fixes the issue of running docs command on windows (#43566, #43585)
  • Fixes output when running db:seed or using --seed in migrate commands (#43593)

Changed

  • Gracefully fail when unable to locate expected binary on the system for artisan docs command (#43521)
  • Improve output for some Artisan commands (#43547)
  • Alternative database name in Postgres DSN, allow pgbouncer aliased databases to continue working on 9.x (#43542)
  • Allow @class() for component tags (#43140)
  • Attribute Cast Performance Improvements (#43554)
  • Queue worker daemon should also listen for SIGQUIT (#43607)
  • Keep original keys when using Collection->sortBy() with an array of sort operations (#43609)

Added

  • Added whereNot method to Fluent JSON testing matchers (#43383)
  • Added deleteQuietly method to Model and use arrow func for related methods (#43447)
  • Added conditionable trait to Filesystem adapters (#43450)
  • Introduce artisan docs command (#43357)
  • Added Support CSP nonce, SRI, and arbitrary attributes with Vite (#43442)
  • Support conditionables that get condition from target object (#43449)
  • Added whereIn to Illuminate/Routing/RouteRegistrar::allowedAttributes (#43509)

Fixed

  • Prevent redis crash when large number of jobs are scheduled for a specific time (#43310)

Changed

  • Make Command components Factory extensible (#43439)
  • Solve Blade component showing quote formatted for the console (#43446)
  • Improves output capture from serve command (#43461)
  • Allow terser singleton bindings (#43469)

Added

  • Added unique locking to broadcast events (#43416)

Fixed

  • Fixes Artisan serve command on Windows (#43437)

Added

  • Added ability to attach an array of files in MailMessage (#43080)
  • Added conditional lines to MailMessage (#43387)
  • Add support for multiple hash algorithms to Illuminate/Filesystem/Filesystem::hash() (#43407)

Fixed

  • Fixes for model:show when attribute default is an enum (#43370)
  • Fixed DynamoDB locks with 0 seconds duration (#43365)
  • Fixed overriding global locale (#43426)

Changed

  • Round milliseconds in console output runtime (#43400)
  • Improves serve Artisan command (#43375)

Fixed

  • Fix DynamoDB locks with 0 seconds duration (#43365)

Revert

Fixed

  • Fixes default attribute value when using enums on model:show (#43360)

Added

  • Adds fluent File validation rule (#43271)

Revert

Added

  • Added Illuminate/Filesystem/FilesystemAdapter::supportsTemporaryUrl() (#43317)

Fixed

  • Fixes confirm component default value (#43334)

Changed

  • Improves console output when command not found (#43323)

Fixed

  • Fixes usage of Migrator without output (#43326)

Fixed

  • Fixes queue:monitor command dispatching QueueBusy (#43320)
  • Ensure relation names are properly "snaked" in JsonResource::whenCounted() method (#43322)
  • Fixed Bootstrap 5 pagination (#43319)

Added

  • Added "Logs" driver to the about command (#43307)
  • Allows to install doctrine/dbal from model:show command (#43288)
  • Added to stub publish command flag that restricts to only existing files (#43314)

Fixed

  • Fixes for model:show command (#43301)

Changed

  • Handle varying composer -V output (#43286)
  • Replace resolve() with app() for Lumen compatible (#43312)
  • Allow using backed enums as route parameters (#43294)

Added

Revert

Fixed

  • Fix transaction attempts counter for sqlsrv (#43176)

Changed

  • Make assertDatabaseHas failureDescription more multibyte character friendly (#43181)
  • ValidationException summarize only when use strings (#43177)
  • Improve mode function in collection (#43240)
  • clear Facade resolvedInstances in queue worker resetScope callback (#43215)
  • Improves queue:work command (#43252)
  • Remove null default attributes names when UPDATED_AT or CREATED_AT is null at Model::replicate (#43279)
  • Protect against ambiguous columns (#43278)
  • Use readpast query hint instead of holdlock for sqlsrv database queue (#43259)
  • Vendor publish flag that restricts to only existing files (#43212)

Fixed

  • Fixed transaction attempts counter for sqlsrv (#43176)

Changed

  • Clear Facade resolvedInstances in queue worker resetScope callback (#43215)
  • Protect against ambiguous columns (#43278)

Added

  • Added quote from Mustafa Kemal Atatürk (#43022)
  • Allow Collection random() to accept a callable (#43028)
  • Added Str::inlineMarkdown() (#43126)
  • Allow authorization responses to specify HTTP status codes (#43097)
  • Added required directive (#43103)
  • Added replicateQuietly to Model (#43141)
  • Added ignore param to ValidateSignature middleware (#43160)

Fixed

  • Fixed forceCreate on MorphMany not returning newly created object (#42996)
  • Fixed missing return in Illuminate/Mail/Attachment::fromStorageDisk() (#43023)
  • Fixed inconsistent content type when using ResponseSequence (#43051)
  • Prevent double throwing chained exception on sync queue (#42950)
  • Avoid matching multi-line imports in GenerateCommand stub templates (#43093)

Changed

  • Disable Column Statistics for php artisan schema:dump on MariaDB (#43027)
  • Bind a Vite Null Object to the Container instead of a Closure in Illuminate/Foundation/Testing/Concerns/InteractsWithContainer::withoutVite() (#43040)
  • Early return when message format is the default in Illuminate/Support/MessageBag::transform() (#43149)

Fixed

  • Fixed forceCreate on MorphMany not returning newly created object (#42996)
  • Prevent double throwing chained exception on sync queue (#42950)

Changed

  • Disable Column Statistics for php artisan schema:dump on MariaDB (#43027)

Added

  • Add new allowMaxRedirects method to PendingRequest (#42902)
  • Add support to detect dirty encrypted model attributes (#42888)
  • Added Vite (#42785)

Fixed

  • Fixed bug on forceCreate on a MorphMay relationship not including morph type (#42929)
  • Fix default parameter bug in routes (#42942)
  • Handle cursor paginator when no items are found (#42963)
  • Fixed Str::Mask() for repeating chars (#42956)
  • Fix undefined constant error when use slot name as key of object (#42943)
  • Fix BC break for Log feature tests (#42987)

Changed

  • Allow instance of Enum pass Enum Rule (#42906)

Fixed

  • Fixed bug on forceCreate on a MorphMay relationship not including morph type (#42929)
  • Handle cursor paginator when no items are found (#42963)
  • Fixed Str::Mask() for repeating chars (#42956)

Added

  • Improve file attachment for mail and notifications (#42563)
  • Introduce Invokable validation classes (#42689)
  • Predis v2.0 (#42577)
  • Added Illuminate/View/Compilers/Concerns/CompilesConditionals::compileReadonly() (#42717)
  • Apply where's from union query builder in cursor pagination (#42651)
  • Added ability to define "with" relations as a nested array (#42690)
  • Added ability to set backoff in broadcast events (#42737)
  • Added host(), httpHost(), schemeAndHttpHost() to Request (#42797)
  • Allow invokable rules to push messages to nested (or other) attributes (#42801)
  • Adds compilePushIf and compileEndpushIf functions to View compiler (#42762)
  • Added: Allow removing token during tests (#42841)
  • Added predefined_constants to reservedNames array in Illuminate/Console/GeneratorCommand (#42832)
  • Handle collection creation around a single enum (#42839)
  • Allow for nullable morphs in whereNotMorphedT (#42878)
  • Introduce a fake() helper to resolve faker singletons, per locale (#42844)
  • Allow handling cumulative query duration limit per DB connection (#42744)
  • Add invokable option to make rule command (#42742)

Fixed

  • Fix deprecation error in the route:list command (#42704)
  • Fixed Request offsetExists without routeResolver (#42754)
  • Fixed: Loose comparison causes the value not to be saved (#42793)
  • Fixed: Fix database session driver keeps resetting CSRF token (#42782)
  • Fixed: Arr::map - Fix map-by-reference w/ built-ins (#42815)
  • Fixed league/flysystem suggest (#42872)

Changed

  • Start session in TestResponse to allow marshalling of error bag from JSON (#42710)
  • Rename methods in Illuminate/Broadcasting/BroadcastManager (753e9fd)
  • Avoid throwing on invalid mime-type in Illuminate/Filesystem/FilesystemAdapter::mimeType() (#42761)
  • Do not resolve already set headers in Illuminate/Filesystem/FilesystemAdapter (#42760)
  • Standardise invokable rule translation functionality (#42873)
  • Clear cast cache when setting attributes using arrow (#42852)

Added

  • Apply where's from union query builder in cursor pagination (#42651)
  • Handle collection creation around a single enum (#42839)

Fixed

  • Fixed Request offsetExists without routeResolver (#42754)
  • Fixed: Loose comparison causes the value not to be saved (#42793)

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)

Fixed

  • Free reserved memory before handling fatal errors (#42630, #42646)
  • Prevent $mailer being reset when testing mailables that implement ShouldQueue (#42695)

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)

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)

Reverted

Changed

  • Retain the original attribute value during validation of an array key with a dot for correct failure message (#42395)

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)

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 [email protected] (#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)

Fixed

  • Add flush handler to output buffer for streamed test response (bugfix) (#42481)

Changed

  • Use duplicate instead of createFromBase to clone request when routes are cached (#42420)

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)

Fixed

  • Fix PruneCommand finding its usage within other traits (#42350)

Changed

  • Consistency between digits and digits_between validation rules (#42358)
  • Corrects the use of "failed_jobs" instead of "job_batches" in BatchedTableCommand (#42389)

Fixed

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

Changed

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)

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)

Fixed

  • Fixed multiple dots for digits_between rule (#42330)

Changed

  • Enable to modify HTTP Client request headers when using beforeSending() callback (#42244)
  • Set relation parent key when using forceCreate on HasOne and HasMany relations (#42281)

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)

Fixed

  • Fix refresh during down in the stub (#42217)
  • Fix deprecation issue with translator (#42216)

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

Fixed

  • Fix schedule:work command Artisan binary name (#42083)
  • Fix array keys from cached routes in Illuminate/Routing/CompiledRouteCollection::getRoutesByMethod() (#42078)
  • Fix json_last_error issue with Illuminate/Http/JsonResponse::setData (#42125)

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)

Fixed

  • Backport Fix PHP warnings when rendering long blade string (#41970)

Reverted

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

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)

Added

  • Added multibyte support to string padding helper functions (#41899)

Fixed

  • Fixed seeder property for in-memory tests (#41869)

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)

Fixed

  • Backport - Fix trashed implicitBinding with child with no softdelete (#41814)
  • Fix assertListening check with auto discovery (#41820)

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)

Fixed

  • Stop throwing LazyLoadingViolationException for recently created model instances (#41549)
  • Close doctrineConnection on disconnect (#41584)
  • Fix require fails if is_file cached by opcache (#41614)
  • Fix collection nth where step <= offset (#41645)

Reverted

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

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::newThroughInstance() (#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)

Fixed

  • Backport dynamically access batch options (#41361)
  • Fixed get and head options in Illuminate/Http/Client/PendingRequest.php (23ff879)

Fixed

  • Fixed version of laravel

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)

v8.83.4 (2022-03-08)

Added

  • Added Illuminate/Bus/Batch::__get() (#41361)

Fixed

  • Fixed get and head options in Illuminate/Http/Client/PendingRequest (23ff879)

Added

Changed

Fixed

Fixed

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::getClinet() (#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 support of Bitwise opperators in query (#41112)

Fixed

  • Fixes attempt to log deprecations on mocks (#41057)
  • Fixed loadAggregate not correctly applying casts (#41108)
  • Fixed updated with provided qualified updated_at (#41133)
  • Fixed database migrations $connection property (#41161)

Added

Changed

Fixed

Added

  • Add firstOr() function to BelongsToMany relation (#40828)
  • Catch suppressed deprecation logs (#40942)
  • Add doesntContain to higher order proxies (#41034)

Fixed

  • Fix replacing request options (#40954, 30e341b)
  • Fix isRelation() failing to check an Attribute (#40967)
  • Fix enum casts arrayable behaviour (#40999)

Added

Changed

Fixed

Changed

Fixed

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

Added

Changed

Fixed

Added

  • Added class and method to create cross joined sequences for factories (#40542)
  • Added Transliterate shortcut to the Str helper (#40681)
  • Added array_keys validation rule (#40720)

Fixed

  • Prevent job serialization error in Queue (#40625)
  • Fixed autoresolving model name from factory (#40616)
  • Fixed : strtotime Epoch doesn't fit in PHP int (#40690)
  • Fixed Stringable ucsplit (#40694, #40699)

Changed

  • Server command: Allow xdebug auto-connect to listener feature (#40673)
  • respect null driver in QueueServiceProvider (9435827, 56d433a)
  • Allow to push and prepend config values on new keys (#40723)

Added

  • Added Illuminate/Support/Stringable::scan() (#40472)
  • Allow caching to be disabled for virtual attributes accessors that return an object (#40519)
  • Added better bitwise operators support (#40529, def671d)
  • Added getOrPut on Collection (#40535)
  • Improve PhpRedis flushing (#40544)
  • Added Illuminate/Support/Str::flushCache() (#40620)

Fixed

  • Fixed Str::headline/Str::studly with unicode and add Str::ucsplit method (#40499)
  • Fixed forgetMailers with MailFake (#40495)
  • Pruning Models: Get the default path for the models from a method instead (#40539)
  • Fix flushdb for predis cluste (#40446)
  • Avoid undefined array key 0 error (#40571)

Changed

  • Allow whitespace in PDO dbname for PostgreSQL (#40483)
  • Allows authorizeResource method to receive arrays of models and parameters (#40516)
  • Inverse morphable type and id filter statements to prevent SQL errors (#40523)
  • Bump voku/portable-ascii to v1.6.1 (#40588, #40610)

Added

  • Allow enums as entity_type in morphs (#40375)
  • Added support for specifying a route group controller (#40276)
  • Added phpredis serialization and compression config support (#40282)
  • Added a BladeCompiler::render() method to render a string with Blade (#40425)
  • Added a method to sort keys in a collection using a callback (#40458)

Changed

  • Convert "/" in -e parameter to "" in Illuminate/Foundation/Console/ListenerMakeCommand (#40383)

Fixed

  • Throws an error upon make:policy if no model class is configured (#40348)
  • Fix forwarded call with named arguments in Illuminate/Filesystem/FilesystemAdapter (#40421)
  • Fix 'strstr' function usage based on its signature (#40457)

Added

  • Added onLastPage method to the Paginator (#40265)
  • Allow method typed variadics dependencies (#40255)
  • Added ably/ably-php to composer.json to suggest (#40277)
  • Implement Full-Text Search for MySQL & PostgreSQL (#40129)
  • Added whenContains and whenContainsAll to Stringable (#40285)
  • Support action_level configuration in LogManager (#40305)
  • Added whenEndsWith(), whenExactly(), whenStartsWith(), etc to Stringable (#40320)
  • Makes it easy to add additional options to PendingBatch (#40333)
  • Added method to MigrationsStarted/MigrationEnded events (#40334)

Fixed

  • Fixed failover mailer when used with Mailgun & SES mailers (#40254)
  • Fixed digits_between with fractions (#40278)
  • Fixed cursor pagination with HasManyThrough (#40300)
  • Fixed virtual attributes (29a6692)
  • Fixed timezone option in schedule:list command (#40304)
  • Fixed Doctrine type mappings creating too many connections (#40303)
  • Fixed of resolving Blueprint class out of the container (#40307)
  • Handle type mismatch in the enum validation rule (#40362)

Changed

  • Automatically add event description when scheduling a command (#40286)
  • Update the Pluralizer Inflector instanciator (#40336)

Fixed

  • Fixed digits_between with fractions (#40278)

Added

  • Added pipeThrough collection method (#40253)

Changed

  • Run clearstatcache after deleting file and asserting Storage using exists/missing (#40257)
  • Avoid constructor call when fetching resource JSON options (#40261)

Added

  • Added schedule:clear-mutex command (#40135)
  • Added ability to define extra default password rules (#40137)
  • Added a mergeIfMissing method to the Illuminate Http Request class (#40116)
  • Added Illuminate/Support/MultipleInstanceManager (40913ac)
  • Added SimpleMessage::lines() (#40147)
  • Added Illuminate/Support/Testing/Fakes/BusFake::assertBatchCount() (#40217)
  • Enable only-to-others functionality when using Ably broadcast driver (#40234)
  • Added ability to customize json options on JsonResource response (#40208)
  • Added Illuminate/Support/Stringable::toHtmlString() (#40247)

Changed

  • Improve support for custom Doctrine column types (#40119)
  • Remove an useless check in Console Application class (#40145)
  • Sort collections by key when first element of sort operation is string (even if callable) (#40212)
  • Use first host if multiple in Illuminate/Database/Console/DbCommand::getConnection() (#40226)
  • Improvement in the Reflector class (#40241)

Fixed

  • Clear recorded calls when calling Http::fake() (#40194)
  • Fixed attribute casting (#40245, c0d9735)

Fixed

  • Fixed prune command with default options (#40127)

Added

  • Attribute Cast / Accessor Improvements (#40022)
  • Added Illuminate/View/Factory::renderUnless() (#40077)
  • Added datetime parsing to Request instance (#39945)
  • Make it possible to use prefixes on Predis per Connection (#40083)
  • Added rule to validate MAC address (#40098)
  • Added ability to define temporary URL macro for storage (#40100)

Fixed

  • Fixed possible out of memory error when deleting values by reference key from cache in Redis driver (#40039)
  • Added Illuminate/Filesystem/FilesystemManager::setApplication() (#40058)
  • Fixed arg passing in doesntContain (739d847)
  • Translate Enum rule message (#40089)
  • Fixed date validation (#40088)
  • Dont allow models and except together in PruneCommand.php (f62fe66)

Changed

  • Passthru Eloquent\Query::explain function to Query\Builder:explain for the ability to use database-specific explain commands (#40075)

Added

  • Added doesntContain method to Collection and LazyCollection (#40044, 3e3cbcf)

Reverted

Added

  • Added possibility to customize child model route binding resolution (#39929)
  • Added Illuminate/Http/Client/Response::reason() (#39972)
  • Added an afterRefreshingDatabase test method (#39978)
  • Added unauthorized() and forbidden() to Illuminate/Http/Client/Response (#39979)
  • Publish view-component.stub in stub:publish command (#40007)
  • Added invisible modifier for MySQL columns (#40002)
  • Added Str::substrReplace() and Str::of($string)->substrReplace() methods (#39988)

Fixed

  • Fixed parent call in view (#39909)
  • Fixed request dump and dd methods (#39931)
  • Fixed php 8.1 deprecation in ValidatesAttributes::checkDateTimeOrder (#39937)
  • Fixed withTrashed on routes check if SoftDeletes is used in Model (#39958)
  • Fixes model:prune --pretend command for models with SoftDeletes (#39991)
  • Fixed SoftDeletes force deletion sets "exists" property to false only when deletion succeeded (#39987)
  • Fixed possible out of memory error when deleting values by reference key from cache in Redis driver (#39939)
  • Fixed Password validation failure to allow errors after min rule (#40030)

Changed

  • Fail enum validation with pure enums (#39926)
  • Remove redundant description & localize template (#39928)
  • Fixes reporting deprecations when logger is not ready yet (#39938)
  • Replace escaped dot with place holder in dependent rules parameters (#39935)
  • passthru from property to underlying query object (127334a)

Fixed

  • Fixed inconsistent escaping of artisan argument (#39953)

Changed

  • Do not return anything Illuminate/Foundation/Application::afterLoadingEnvironment()

Added

  • Added Illuminate/Support/Testing/Fakes/NotificationFake::assertSentTimes() (667cca8)
  • Added Conditionable trait to ComponentAttributeBag (#39861)
  • Added scheduler integration tests (#39862)
  • Added on-demand gate authorization (#39789)
  • Added countable interface to eloquent factory sequence (#39907, 1638472a, #39915)
  • Added Fulltext index for PostgreSQL (#39875)
  • Added method filterNulls() to Arr (#39921)

Fixed

  • Fixes AsEncrypted traits not respecting nullable columns (#39848, 4c32bf8)
  • Fixed http client factory class exists bugfix (#39851)
  • Fixed calls to Connection::rollBack() with incorrect case (#39874)
  • Fixed bug where columns would be guarded while filling Eloquent models during unit tests (#39880)
  • Fixed for dropping columns when using MSSQL as database (#39905)

Changed

  • Add proper paging offset when possible to sql server (#39863)
  • Correct pagination message in src/Illuminate/Pagination/resources/views/tailwind.blade.php (#39894)

Fixed

  • Added phar to list to the shouldBlockPhpUpload in Validator (f647a24)
  • Fixed parent call in View (#39909)

Fixed

  • Fixed for dropping columns when using MSSQL as (#39905)
  • Fixed parent call in View (#39908)

Added

  • Added optional except parameter to the PruneCommand (#39749, be4afcc)
  • Added Illuminate/Foundation/Application::hasDebugModeEnabled() (#39755)
  • Added Illuminate/Support/Facades/Event::fakeExcept() and Illuminate/Support/Facades/Event::fakeExceptFor() (#39752)
  • Added aggregate method to Eloquent passthru (#39772)
  • Added undot() method to Arr helpers and Collections (#39729)
  • Added reverse method to Str (#39816)
  • Added possibility to customize type column in database notifications using databaseType method (#39811)
  • Added Fulltext Index (#39821)

Fixed

  • Fixed bus service provider when loaded outside of the framework (#39740)
  • Fixes logging deprecations when null driver do not exist (#39809)

Changed

  • Validate connection name before resolve queue connection (#39751)
  • Bump Symfony to 5.4 (#39827)
  • Optimize the execution time of the unique method (#39822)

Added

  • Added Illuminate/Foundation/Testing/Concerns/InteractsWithContainer::forgetMock() (#39713)
  • Added custom pagination information in resource (#39600)

Added

  • Added phar to list of shouldBlockPhpUpload() in validator (2d1f76a)

Added

  • Added .phar to blocked PHP extensions in validator (#39666)
  • Allow a Closure to be passed as a ttl in Cache remember() method (#39678)
  • Added Prohibits validation rule to dependentRules property (#39677)
  • Implement lazyById in descending order (#39646)

Fixed

  • Fixed Illuminate/Auth/Notifications/ResetPassword::toMail() (969f101)
  • Fixed assertSoftDeleted & assertNotSoftDeleted (#39673)

Added

  • Added extra method in PasswortReset for reset URL to match the structure of VerifyEmail (#39652)
  • Added support for countables to the Illuminate/Support/Pluralizer::plural() (#39641)
  • Allow users to specify options for migrate:fresh for DatabaseMigration trait (#39637)

Fixed

  • Casts $value to the int only when not null in Illuminate/Database/Query/Builder::limit() (#39644)

Changed

  • Use parents to resolve middleware priority in SortedMiddleware (#39647)

Added

  • Added new line to DetectsLostConnections (#36373)

Fixed

  • Fixed Illuminate\View\ViewException::report() (#36110)
  • Fixed Illuminate\Redis\Connections\PhpRedisConnection::spop() (#36106)
  • Fixed Illuminate/Database/Query/Builder::limit() to only cast integer when given other than null (#39653)
  • Fixes database offset value with non numbers (#39656)

Changed

  • Pipe new through render and report exception methods (#36037)
  • Typecast page number as integer in Illuminate\Pagination\AbstractPaginator::resolveCurrentPage() (#36055)

Fixed

  • Fixes Illuminate/Database/Query/Builder::limit() to only cast integer when given other than null (#39644)

Added

  • Added declined and declined_if validation rules (#39579)
  • Arrayable/collection support for Collection::splice() replacement param (#39592)
  • Introduce @js() directive (#39522)
  • Enum casts accept backed values (#39608)
  • Added a method to the Macroable trait that removes all configured macros. (#39633)

Fixed

  • Fixed auto-generated Markdown views (#39565)
  • DB command: Cope with missing driver parameters for mysql (#39582)
  • Fixed typo in Connection property name in Illuminate/Database/Connection (#39590)
  • Fixed: prevent re-casting of enum values (#39597)
  • Casts value to the int in Illuminate/Database/Query/Builder::limit() (62273d2)
  • Fix $component not being reverted if component doesn't render (#39595)

Changed

  • make:model --all flag would auto-fire make:controller with --requests (#39578)
  • Allow assertion of multiple JSON validation errors. (#39568)
  • Ensure cache directory permissions (#39591)
  • Update placeholders for stubs (#39527)

Fixed

  • Fixed $value in Illuminate/Database/Query/Builder::limit() (ddfa71e)

Changed

  • Use all in Illuminate/Database/Query/Builder::cleanBindings() (74dcc02)

Fixed

  • Fixed problem with fallback in Router (5fda5a3)

Added

  • New flag --requests -R to make:controller and make:model Commands (#39120, 8fbfc9f)
  • Allows Stringable objects as middleware. (#39439, #39449)
  • Introduce Js for encoding data to use in JavaScript (#39389, #39460, bbf47d5)
  • Added new lost connection error message for sqlsrv (#39466)
  • Allow can method to be chained onto route for quick authorization (#39464)
  • Publish provider.stub in stub:publish command (#39491)
  • Added Illuminate/Support/NamespacedItemResolver::flushParsedKeys() (#39490)
  • Accept enums for insert update and where (#39492)
  • Fifo support for queue name suffix (#39497, 12e47bb)

Changed

  • Dont cache ondemand loggers (5afa0f1, bc50a9b)
  • Enforce implicit Route Model scoping (#39440)
  • Ensure event mutex is always removed (#39498)
  • Added missing "flags" to redis zadd options list... (#39538)

Added

  • Added new lost connection error message for sqlsrv (#39466)

Added

  • Improve content negotiation for exception handling (#39385)
  • Added support for SKIP LOCKED to MariaDB (#39396)
  • Custom cast string into Stringable (#39410)
  • Added Illuminate/Support/Str::mask() (#39393)
  • Allow model attributes to be casted to/from an Enum (#39315)
  • Added an Enum validation rule (#39437)
  • Auth: Allows to use a callback in credentials array (#39420)
  • Added success and failure command assertions (#39435)

Fixed

  • Fixed CURRENT_TIMESTAMP as default when changing column (#39377)
  • Make accept header comparison case-insensitive (#39413)
  • Fixed regression with capitalizing translation params (#39424)

Changed

  • Added bound check to env resolving in Illuminate/Foundation/Application::runningUnitTests() (#39434)

Fixed

  • Fixed rate limiting unicode issue (#39375)

Reverted

Fixed

  • Fixed code to address different connection strings for MariaDB in the database queue driver (#39374)
  • Fixed rate limiting unicode issue (#39375)
  • Fixed bug with closure formatting in Illuminate/Testing/Fluent/Concerns/Matching::whereContains() (37217d5)

Refactoring

  • Change whereStartsWith, DocBlock to reflect that array is supported (#39370)

Added

  • Added ThrottleRequestsWithRedis to $middlewarePriority (#39316)
  • Added Illuminate/Database/Schema/ForeignKeyDefinition::restrictOnUpdate() (#39350)
  • Added ext-bcmath as an extension suggestion to the composer.json (#39360)
  • Added TestResponse::dd (#39359)

Fixed

  • TaggedCache flush should also remove tags from cache (#39299)
  • Fixed model serialization on anonymous components (#39319)

Changed

  • Changed to Guess database factory model by default (#39310)

Added

  • Added support for MariaDB to skip locked rows with the database queue driver (#39311)
  • Added PHP 8.1 Support (#39034)

Fixed

  • Fixed translation bug (#39298)
  • Fixed Illuminate/Database/DetectsConcurrencyErrors::causedByConcurrencyError() when code is intager (#39280)
  • Fixed unique bug in Bus (#39302)

Changed

  • Only select related columns by default in CanBeOneOfMany::ofMany (#39307)

Added

  • Added withoutDeprecationHandling to testing (#39261)
  • Added method for on-demand log creation (#39273)
  • Added dateTime to columns that don't need character options (#39269)
  • Added AssertableJson::hasAny (#39265)
  • Added Arr::isList() method (#39277)
  • Apply withoutGlobalScope in CanBeOneOfMany subqueries (#39295)
  • Added Illuminate/Support/Testing/Fakes/BusFake::assertNothingDispatched() (#39286)

Reverted

Added

  • Allow queueing application and service provider callbacks while callbacks are already being processed (#39175, 63dab48)
  • Added ability to validate one of multiple date formats (#39170)
  • Re-add update from support for PostgreSQL (#39151)
  • Added Illuminate/Collections/Traits/EnumeratesValues::reduceSpread() (a01e9ed)
  • Added Illuminate/Testing/TestResponse::assertRedirectContains() (#39233, ff340a6)
  • Added gate policy callback (#39185)
  • Allow Remember Me cookie time to be overriden (#39186)
  • Adds --test and --pest options to various make commands (#38997)
  • Added new lost connection message to DetectsLostConnections for Vapor (#39209)
  • Added Illuminate/Support/Testing/Fakes/NotificationFake::assertSentOnDemand() (#39203)
  • Added Subset in request's collect (#39191)
  • Added Conditional trait to Eloquent Factory (#39228)
  • Added a way to skip count check but check $callback at the same time for AssertableJson->has() (#39224)
  • Added Illuminate/Support/Str::headline() (#39174)

Deprecated

  • Deprecate reduceMany in favor of reduceSpread in Illuminate/Collections/Traits/EnumeratesValues (#39201)

Fixed

  • Fixed HasOneOfMany with callback issue (#39187)

Changed

  • Logs deprecations instead of treating them as exceptions (#39219)

Fixed

  • Add new lost connection message to DetectsLostConnections for Vapor (#39209)

Added

  • Added reduceMany to Collections (#39078)
  • Added Illuminate/Support/Stringable::stripTags() (#39098)
  • Added Illuminate/Console/OutputStyle::getOutput() (#39099)
  • Added lang_path helper function (#39103)
  • Added @aware blade directive (#39100)
  • New JobRetrying event dispatched (#39097)
  • Added throwIf method in Client Response (#39148)
  • Added Illuminate/Collections/Collection::hasAny() (#39155)

Fixed

  • Fixed route groups with no prefix on PHP 8.1 (#39115)
  • Fixed code locating Bearer token in InteractsWithInput (#39150)

Changed

  • Refactoring Illuminate/Log/LogManager::prepareHandler() (#39093)
  • Flush component state when done rendering in View (04fc7c2)
  • Ignore tablespaces in dump (#39126)
  • Update SchemaState Process to remove timeout (#39139)

Added

  • Added new lost connection message to DetectsLostConnections (#39028)
  • Added whereBelongsTo() Eloquent builder method (#38927)
  • Added Illuminate/Foundation/Testing/Wormhole::minute() (#39050)

Fixed

  • Fixed castable value object not serialized correctly (#39020)
  • Fixed casting to string on PHP 8.1 (#39033)
  • Mail empty address handling (#39035)
  • Fixed NotPwnedVerifier failures (#39038)
  • Fixed LazyCollection#unique() double enumeration (#39041)

Changed

  • HTTP client: only allow a single User-Agent header (#39085)

Added

  • Added new lost connection message to DetectsLostConnections (#39028)

Added

  • Added singular syntactic sugar to wormhole (#38815)
  • Added a few PHP 8.1 related changes (#38404, #38961)
  • Dispatch events when maintenance mode is enabled and disabled (#38826)
  • Added assertNotSoftDeleted Method (#38886)
  • Adds new RefreshDatabaseLazily testing trait (#38861)
  • Added --pretend option for model:prune command (#38945)
  • Make PendingMail Conditionable (#38942)
  • Adds --pest option when using the make:test artisan command (#38966)

Reverted

Fixed

  • Fix getDirty method when using AsArrayObject / AsCollection (#38869)
  • Fix sometimes conditions that add rules for sibling values within an array of data (#38899)
  • Fixed Illuminate/Validation/Rules/Password::passes() (#38962)
  • Fixed for custom date castable and database value formatting (#38994)

Changed

  • Make mailable assertions fluent (#38850)
  • Allow request input to be retrieved as a collection (#38832)
  • Allow index.blade.php views for anonymous components (#38847)
  • Changed *ofMany to decide relationship name when it is null (#38889)
  • Ignore trailing delimiter in cache.headers options string (#38910)
  • Only look for files ending with .php in model:prune (#38975)
  • Notification assertions respect shouldSend method on notification (#38979)
  • Convert middleware to array when outputting as JSON in /RouteListCommand (#38953)

Added

  • Added posibility compare custom date/immutable_date using date comparison (#38720)
  • Added policy option to make:model (#38725
  • Allow tests to utilise the null logger (#38785)
  • Added deleteOrFail to Model (#38784)
  • Added assertExists testing method (#38766)
  • Added forwardDecoratedCallTo to Illuminate/Database/Eloquent/Relations/Relation (#38800)
  • Adding support for using a different Redis DB in a Sentinel setup (#38764)

Changed

  • Return on null in Illuminate/Queue/Queue::getJobBackoff() (27bcf13)
  • Provide psr/simple-cache-implementation (#38767)
  • Use lowercase for hmac hash algorithm (#38787)

Added

  • Added the valueOfFail() Eloquent builder method (#38707)

Reverted

Added

  • Allow quiet creation (e9cd94c)
  • Added merge() function to ValidatedInput (#38640)
  • Added support for disallowing class morphs (#38656)
  • Added AssertableJson::each() method (#38684)
  • Added Eloquent builder whereMorphedTo method to streamline finding models morphed to another model (#38668)

Fixed

  • Silence Validator Date Parse Warnings (#38652)

Changed

  • Remove mapWithKeys from HTTP Client headers() methods (#38643)
  • Return a new or existing guzzle client based on context in Illuminate/Http/Client/PendingRequest::buildClient() (#38642)
  • Show a pretty diff for assertExactJson() (#38655)
  • Lowercase cipher name in the Encrypter supported method (#38693)

Fixed

  • Silence validator date parse warnings (#38670)

Added

  • Added updateOrFail method to Model (#38592)
  • Make mail stubs more configurable (#38596)
  • Added prohibits validation (#38612)

Changed

Changed

  • Error out when detecting incompatible DBAL version (#38543)

Added

  • Added exclude validation rule (#38537)
  • Allow passing when callback to Http client retry method (#38531)
  • Added Illuminate/Testing/TestResponse::assertUnprocessable() (#38553)
  • Added the password reset URL to the toMailCallback (#38552)
  • Added a simple where helper for querying relations (#38499)
  • Allow sync broadcast via method (#38557)
  • Make $validator->sometimes() item aware to be able to work with nested arrays (#38443)

Fixed

  • Fixed Blade component falsy slots (#38546)
  • Keep backward compatibility with custom ciphers in Illuminate/Encryption/Encrypter::generateKey() (#38556)
  • Fixed bug discarding input fields with empty validation rules (#38563)

Changed

  • Don't iterate over all collection in Collection::firstOrFail (#38536)
  • Error out when detecting incompatible DBAL version (#38543)

Added

  • Added firstOrFail to Illuminate\Support\Collections and Illuminate\Support\LazyCollections (#38420)
  • Support route caching with trashed bindings (c3ec2f2)
  • Allow only keys directly on safe in FormRequest (5e4ded8)
  • Added default rules in conditional rules (#38450)
  • Added fullUrlWithoutQuery method to Request (#38482)
  • Added --implicit (and -i) option to make:rule (#38480)
  • Added colon port support in serve command host option (#38522)

Changed

  • Testing: Access component properties from the return value of $this->component() (#38396, 42a71fd)
  • Update InteractsWithInput::bearerToken() (#38426)
  • Minor improvements to validation assertions API (#38422)
  • Blade component slot attributes (#38372)
  • Convenient methods for rate limiting (2f93c49)
  • Run event:clear on optimize:clear (a61b24c2)
  • Remove unnecessary double MAC for AEAD ciphers (#38475)
  • Adds Response authorization to Form Requests (#38489)
  • Make TestResponse::getCookie public so it can be directly used in tests (#38524)

Added

  • Added stringable support for isUuid (#38330)
  • Allow for closure reflection on all MailFake assertions (#38328)
  • Added Illuminate/Support/Testing/Fakes/MailFake::assertNothingOutgoing() (363af47)
  • Added Illuminate/Support/Testing/Fakes/MailFake::assertNotOutgoing() (a3658c9)
  • Added Support withTrashed on routes (#38348)
  • Added Failover Swift Transport driver (#38344)
  • Added Conditional rules (#38361)
  • Added assertRedirectToSignedRoute() method for testing responses (#38349)
  • Added Validated subsets (#38366)
  • Share handler instead of client between requests in pool to ensure ResponseReceived events are dispatched in async HTTP Request (#38380)
  • Support union types on event discovery (#38383)
  • Added Assert invalid in testResponse (#38384)
  • Add qualifyColumns method to Model class (#38403)
  • Added ability to throw a custom validation exception (#38406)
  • Support shorter subscription syntax (#38408)

Fixed

  • Handle exceptions in batch callbacks (#38327)
  • Bump AWS PHP SDK (#38297)
  • Fixed firstOrCreate and firstOrNew should merge attributes correctly (#38346)
  • Check for incomplete class to prevent unexpected error when class cannot be loaded in retry command (#38379)

Changed

  • Update the ParallelRunner to allow for a custom Runner to be resolved (#38374)
  • Use Fluent instead of array on Rule::when() (#38397)

Added

  • Added support for GCM encryption (#38190, 827bc1d)
  • Added exception as parameter to the missing() callbacks in Illuminate/Routing/Middleware/SubstituteBindings.php (#38289)
  • Implement TrustProxies middleware (#38295)
  • Added bitwise not operator to Illuminate/Database/Query/Builder.php (#38316)
  • Adds attempt method to RateLimiter (#38313)
  • Added withoutTrashed on Exists rule (#38314)

Changed

  • Wraps column name inside subQuery of hasOneOfMany-relationship (#38263)
  • Change Visibility of the Markdown property in Mailable (#38320)
  • Swap multiple logical OR for in_array when checking date casting (#38307)

Fixed

  • Fixed out of bounds shift and pop behavior in Collection (bd89575)
  • Fixed schedule timezone when using CarbonImmutable (#38297)
  • Fixed isDateCastable for the new immutable_date and immutable_datetime casts (#38294)
  • Fixed Factory hasMany method (#38319)

Fixed

Added

  • Added placeholders replace for accepted_if validation message (#38240)

Fixed

  • Use type hints in cast.stub to match interface (#38234)
  • Some PHP 8.1 fixes (#38245)
  • Fixed aliasing with cursor pagination (#38251)
  • Fixed signed routes (#38249)

Added

  • Added cache_locks table to cache stub (#38152)
  • Added queue:monitor command (#38168)
  • Added twiceDailyAt schedule frequency (#38174)
  • Added immutable date and datetime casting (#38199)
  • Allow the php web server to run multiple workers (#38208)
  • Added accepted_if validation rule (#38210)

Fixed

  • Fixed signed routes with expires parameter (#38111, 732c0e0)
  • Remove call to deleted method in Illuminate/Testing/TestResponse::statusMessageWithException() (cde3662)
  • Fixed previous column for cursor pagination (#38203)

Changed

  • Prevent assertStatus() invalid JSON exception for valid JSON response content (#38192)
  • Bump AWS SDK to ^3.186.4 (#38216)
  • Implement ReturnTypeWillChange for some place (#38221, #38212, #38226)
  • Use actual countable interface on MessageBag (#38227)

Refactoring

  • Remove hardcoded Carbon reference from scheduler event (#38063)

Fixed

Refactoring

  • Remove hardcoded Carbon reference from scheduler event (#38063)

Added

  • Allow shift() and pop() to take multiple items from a collection (#38093)
  • Added hook to configure broadcastable model event (5ca5768, aca6f90)
  • Support a proxy URL for mix hot (#38118)
  • Added Illuminate/Validation/Rules/Unique::withoutTrashed() (#38124)
  • Support job middleware on queued listeners (#38128)
  • Model Broadcasting - Adding broadcastWith() and broadcastAs() support (#38137)
  • Allow parallel testing without database creation (#38143)

Fixed

  • Fixed display of validation errors occurred when asserting status (#38088)
  • Developer friendly message if no Prunable Models found (#38108)
  • Fix running schedule:test on CallbackEvent (#38146)

Changed

  • BelongsToMany->sync() will support touching for pivots when the result contains detached items (#38085)
  • Ability to specify the broadcaster to use when broadcasting an event (#38086)
  • Password Validator should inherit custom error message and attribute (#38114)

Added

  • Allow dynamically customizing connection for queued event listener (#38005, ebc3ce4)
  • Added @class Blade directive (#38016)
  • Accept closure for retry() sleep (#38035)
  • The controller can directly return the stdClass object (#38033)
  • Make FilesystemAdapter macroable (#38030)
  • Track exceptions and display them on failed status checks for dx (#38025)
  • Display unexpected validation errors when asserting status (#38046)
  • Ability to return the default value of a request whenHas and whenFilled methods (#38060)
  • Added Filesystem::replaceInFile() method (#38069)

Fixed

  • Fixed passing cursor to pagination methods (#37996)
  • Fixed issue with cursor pagination and Json resources (#38026)
  • ErrorException: Undefined array key "exception" (#38059)
  • Fixed unvalidated array keys without implicit attributes (#38052)

Changed

  • Passthrough excluded uri's in maintenance mode (#38041)
  • Allow for named arguments via dispatchable trait (#38066)

Added

  • Added ability to cancel notifications immediately prior to sending (#37930)
  • Added the possibility of having "Prunable" models (#37889)
  • Added support for both CommonMark 1.x and 2.x (#37954)
  • Added Illuminate/Validation/Factory::excludeUnvalidatedArrayKeys() (#37943)

Fixed

  • Fixed Illuminate/Bus/PendingBatch::add() (108385b)
  • Cursor pagination fixes (#37915)

Changed

  • Mixed orders in cursor paginate (#37762)
  • Clear config after dumping auto-loaded files (#37985)

Added

  • Adds ResponseReceived events to async requests of HTTP Client (#37917)

Fixed

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

Fixed

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

Reverted

Fixed

  • Fixed undefined array key in SqlServerGrammar when using orderByRaw (#37859)
  • Fixed facade isMock to recognise LegacyMockInterface (#37882)

Changed

  • Reset the log context after each worker loop (#37865)
  • Improve pretend run Doctrine failure message (#37879)

Added

  • Add context to subsequent logs (#37847)

Added

  • Added parameter casting for cursor paginated items (#37785, 31ebfc8)
  • Added Illuminate/Http/ResponseTrait::statusText() (#37795)
  • Track a loop variable for sequence and pass it with count to closure (#37799)
  • Added "precedence" order to route:list command (#37824)

Fixed

  • Remove ksort in pool results that modifies intended original order (#37775)
  • Make sure availableIn returns positive values in /Illuminate/Cache/RateLimiter::availableIn() (#37809)-
  • Ensure alias is rebound when mocking items in the container in tests (#37810)
  • Move primary after collate in /MySqlGrammar.php modifiers (#37815))

Fixed

  • Order of Modifiers Amended in MySqlGrammar (#37782)

Added

  • Added a queue:prune-failed command (#37696, 7aca658)
  • Added Illuminate/Filesystem/FilesystemManager::build() (#37720, c21fc12)
  • Allow customising the event.stub file (#37761)
  • Added Illuminate/Collections/Collection::sliding() and Illuminate/Collections/LazyCollection::sliding() (#37751)
  • Make Illuminate\Http\Client\Request macroable (#37744)
  • Added GIF, WEBP, WBMP, BMP support to FileFactory::image() (#37743)
  • Dispatch 'connection failed' event in http client (#37740)

Fixed

  • Adds a small fix for unicode with blade echo handlers (#37697)
  • Solve the Primary Key issue in databases with sql_require_primary_key enabled (#37715)

Changed

  • Removed unnecessary checks in RequiredIf validation, fixed tests (#37700)
  • Replace non ASCII apostrophe in the email notification template (#37709)
  • Change the order of the bindings for a Sql Server query with a offset and a subquery order by (#37728, 401928b)
  • Bind mock instances as singletons so they are not overwritten (#37746)
  • Encode objects when casting as JSON (#37759)
  • Call on_stats handler in Http stub callbacks (#37738)

Changed

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

Added

  • Introduce scoped instances (#37521, 2971b64)
  • Added whereContains AssertableJson method (#37631, 2d2d108)
  • Added Illuminate/Database/Connection::setRecordModificationState() (ee1e6b4)
  • Added match() and matchAll() methods to Illuminate/Support/Str.php (#37642)
  • Copy password rule to current_password (#37650)
  • Allow tap() on Paginator (#37682)

Revert

Fixed

  • Remove illuminate/foundation dependency from Password validation (#37648)
  • Fixed callable password defaults in validator (0b1610f)
  • 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)

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

  • Allow Custom Notification Stubs (#37584)
  • Added methods for indicating the write connection should be used (94dbf76)
  • Added timestamp reference to schedule:run artisan command output (#37591)
  • Columns in the order by list must be unique (#37582)

Changed

  • Fire a trashed model event and listen to it for broadcasting events (#37618)
  • Cast JSON strings containing single quotes (#37619)

Fixed

  • Fixed for cloning issues with PendingRequest object (#37596, 96518b9)
  • Makes the retrieval of Http client transferStats safe (#37597)
  • Fixed inconsistency in table names in validator (#37606)
  • Fixes for Stringable for views (#37613)
  • Fixed one-of-many bindings (#37616)
  • Fixed infinity loop on transaction committed (#37626)
  • Added missing fix to DatabaseRule::resolveTableName fix #37580 (#37621)

Added

  • Introduce Conditional trait (#37504, 45ff23c, #37561)
  • Allow multiple SES configuration with IAM Role authentication (#37523)
  • Adds class handling for Blade echo statements (#37478)
  • Added Illuminate/Session/DatabaseSessionHandler::setContainer() (7a71c29)
  • Allow connecting to read or write connections with the db command (#37548)
  • Added assertDownloadOffered test method to TestResponse class (#37532)
  • Added Illuminate/Http/Client/Response::close() (#37566)
  • Allow setting middleware on queued Mailables (#37568)
  • Adds new RequestSent and ResponseReceived events to the HTTP Client (#37572)

Changed

  • Rename protected method Illuminate/Foundation/Console/StorageLinkCommand::removableSymlink() to Illuminate/Foundation/Console/StorageLinkCommand::isRemovableSymlink() (#37508)
  • Correct minimum Predis version to 1.1.2 (#37554)
  • Columns in the order by list must be unique (#37550)
  • More Convenient Model Broadcasting (#37491)

Fixed

  • Get queueable relationship when collection has non-numeric keys (#37556)

Added

  • Delegate lazy loading violation to method (#37480)
  • Added force option to Illuminate/Foundation/Console/StorageLinkCommand (#37501, 3e547d2)

Fixed

  • Fixed aggregates with having (#37487, c986e12)
  • Bugfix passing errorlevel when command is run in background (#37479)

Changed

  • Init the traits when the model is being unserialized (#37492)
  • Relax the lazy loading restrictions (#37503)

Added

  • Added Illuminate\Auth\Authenticatable::getAuthIdentifierForBroadcasting() (#37408)
  • Added eloquent strict loading mode (#37363)
  • Added default timeout to NotPwnedVerifier validator (#37440, 45567e0)
  • Added beforeQuery to base query builder (#37431)
  • Added Illuminate\Queue\Jobs\Job::shouldFailOnTimeout() (#37450)
  • Added ValidatorAwareRule interface (#37442)
  • Added model support for database assertions (#37459)

Fixed

  • Fixed eager loading one-of-many relationships with multiple aggregates (#37436)

Changed

  • Improve signed url signature verification (#37432)
  • Improve one-of-many performance (#37451)
  • Update Illuminate/Pagination/Cursor::parameter() (#37458)
  • Reconnect the correct connection when using ::read or ::write (#37471, d1a32f9)

Added

  • Add default "_of_many" to join alias when relation name is table name (#37411)

Changed

  • Allow dababase password to be null in MySqlSchemaState (#37418)
  • Accept any instance of Rule and not just Password in password rule (#37407)

Fixed

  • Fixed aggregates (e.g.: withExists) for one of many relationships (#37413, 498e1a0)

Added

  • Support views in SQLServerGrammar (#37348)
  • Added new assertDispatchedSync methods to BusFake (#37350, 414f382)
  • Added withExists method to QueriesRelationships (#37302)
  • Added ability to define default Password Rule (#37387, f7e5b1c)
  • Allow sending a refresh header with maintenance mode response (#37385)
  • Added loadExists on Model and Eloquent Collection (#37388)
  • Added one-of-many relationship (inner join) (#37362)

Changed

  • Avoid deprecated guzzle code (#37349)
  • Make AssertableJson easier to extend by replacing self with static (#37380)
  • Raise ScheduledBackgroundTaskFinished event to signal when a run in background task finishes (#37377)

Added

  • Added Illuminate\Database\Eloquent\Model::updateQuietly() (#37169)
  • Added Illuminate\Support\Str::replace() (#37186)
  • Added Model key extraction to id on whereKey() and whereKeyNot() (#37184)
  • Added support for Pusher 6.x (#37223, 819db15)
  • Added Illuminate/Foundation/Http/Kernel::getMiddlewarePriority() (#37271)
  • Added cursor pagination (aka keyset pagination) (#37216, #37315)
  • Support mass assignment to SQL Server views (#37307)
  • Added Illuminate/Support/Stringable::unless() (#37326)

Fixed

  • Fixed Illuminate\Database\Query\Builder::offset() with non numbers $value (#37164)
  • Treat missing UUID in failed Queue Job as empty string (failed driver = database) (#37251)
  • Fixed fields not required with required_unless (#37262)
  • SqlServer Grammar: Bugfixes for hasTable and dropIfExists / support for using schema names in these functions (#37280)
  • Fix PostgreSQL dump and load for Windows (#37320)

Changed

  • Add fallback when migration is not anonymous class (#37166)
  • Ably expects clientId as string in Illuminate\Broadcasting\Broadcasters\AblyBroadcaster::validAuthenticationResponse() (#37249)
  • Computing controller middleware before getting excluding middleware (#37259)
  • Update mime extension check (#37332)
  • Added exception to chunkById() when last id cannot be determined (#37294)

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)

Added

  • Added Illuminate\Database\Eloquent\Builder::withOnly() (#37144)
  • Added Illuminate\Bus\PendingBatch::add() (#37151)

Fixed

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

Changed

  • Added has environment variable to startProcess method in ServeCommand (#37142)
  • Some cast to int in Illuminate\Database\Query\Grammars\SqlServerGrammar (09bf145)

Fixed

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

Changed

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

Added

  • Added Illuminate\Collections\Collection::sole() method (#37034)
  • Support url for php artisan db command (#37064)
  • Added Illuminate\Foundation\Bus\DispatchesJobs::dispatchSync() (#37063)
  • Added Illuminate\Cookie\CookieJar::expire() (#37072, fa3a14f)
  • Added Illuminate\Database\DatabaseManager::setApplication() (#37068)
  • Added Illuminate\Support\Stringable::whenNotEmpty() (#37080)
  • Added Illuminate\Auth\SessionGuard::attemptWhen() (#37090, e3fcd97)
  • Added password validation rule (#36960)

Fixed

  • Fixed JsonResponse::fromJasonString() double encoding string (#37076)
  • Fallback to primary key if owner key doesnt exist on model at all in MorphTo relation (a011109)
  • Fixes for PHP 8.1 (#37087, #37101)
  • Do not execute beforeSending callbacks twice in HTTP client (#37116)
  • Fixed nullable values for required_if (#37128, 86fd558)

Changed

  • Schedule list timezone command (#37117)

Fixed

Added

  • Added a wordCount() string helper (#36990)
  • Allow anonymous and class based migration coexisting (#37006)
  • Added Illuminate\Broadcasting\Broadcasters\PusherBroadcaster::setPusher() (#37033)

Fixed

  • Fixed required_if boolean validation (#36969)
  • Correctly merge object payload data in Illuminate\Queue\Queue::createObjectPayload() (#36998)
  • Allow the use of temporary views for Blade testing on Windows machines (#37044)
  • Fixed Http::withBody() not being sent (#37057)

Fixed

  • Fixed required_if boolean validation (#36969)

Added

  • Allow to retry jobs by queue name (#36898, f2d9b59, c351a30)
  • Added strings to the DetectsLostConnections.php (4210258)
  • Allow testing of Blade components that return closures (#36919)
  • Added anonymous migrations (#36906)
  • Added Session\Store::missing() method (#36937)
  • Handle concurrent asynchronous requests in the HTTP client (#36948, 245a712)
  • Added tinyText data type to Blueprint and to available database grammars (#36949)
  • Added a method to remove a resolved view engine (#36955)
  • Added Illuminate\Database\Eloquent\Model::getAttributesForInsert() protected method (9a9f59f, 314bf87)

Fixed

  • Fixed clone() on EloquentBuilder (#36924)

Changed

  • Model::delete() throw LogicException not Exception (#36914)
  • Make pagination linkCollection() method public (#36959)

Added

  • Added strings to the DetectsLostConnections.php (4210258)
  • Revert blade changes (#36902)

Fixed

  • Fixed escaping within quoted strings in blade (#36893)

Changed

  • Call transaction callbacks after updating the transaction level (#36890, #36892)
  • Support maxExceptions option on queued listeners (#36891)

Revert

Added

  • Added support useCurrentOnUpdate for MySQL datetime column types (#36817)
  • Added dispatch_sync() helper (#36835)
  • Allowing skipping TransformRequests middlewares via Closure (#36856)
  • Added type option to make controller command (#36853)
  • Added missing return $this to Illuminate\Support\Manager::forgetDrivers() (#36859)
  • Added unfinished option to PruneBatchesCommand (#36877)
  • Added a simple Str::repeat() helper function (#36887)

Fixed

  • Fixed getMultiple and increment / decrement on tagged cache (0d21194)
  • Implement proper return types in cache increment and decrement (#36836)
  • Fixed blade compiler regex issue (#36843, #36848)
  • Added missing temporary_url when creating flysystem (#36860)
  • Fixed PostgreSQL schema:dump when read/write hosts are arrays (#36881)

Changed

  • Improve the exception thrown when JSON encoding response contents fails in Response::setContent() (#36851, #36868)
  • Revert isDownForMaintenance function to use file_exists() (#36889)

Fixed

  • Fixed setting DynamoDB credentials (#36822)

Added

  • Added support of DynamoDB in CI suite (#36749)
  • Support username parameter for predis (#36762)
  • Added missing months() to Wormhole (#36808)

Deprecated

  • Deprecate MocksApplicationServices trait (#36716)

Fixed

  • Fixes missing lazy() and lazyById() on BelongsToMany and HasManyThrough relation query builder (#36758)
  • Ensure the compiled view directory exists (#36772)
  • Fix Artisan test method PendingCommand::doesntExpectOutput() always causing a failed test (#36806)
  • FIXED: The use of whereHasMorph in a whereHas callback generates a wrong sql statements (#36801)

Changed

  • Allow lazy collection to be instantiated from a generator (#36738)
  • Use qualified column names in pivot query (#36720)
  • Octane Prep (#36777)

Refactoring

  • Remove useless loop in Str::remove() (#36722)

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)

Inspiring

  • Added more inspiring quotes (92b7bde)

Added

  • Added WSREP communication link failure for lost connection detection (#36668)
  • Added "exclude-path" option to route:list command (#36619, 76e11ee)
  • Added Illuminate\Support\Str::remove() and Illuminate\Support\Stringable::remove() methods (#36639, 7b0259f, 20e2470)
  • Added Illuminate\Database\Eloquent\Relations\MorphPivot::getMorphType() (#36640, 7e08215)
  • Added assertion to verify type of key in JSON (#36638)
  • Added prohibited validation rule (#36667)
  • Added strict comparison to distinct validation rule (#36669)
  • Added Illuminate\Translation\FileLoader::getJsonPaths() (#36689)
  • Added Illuminate\Support\Testing\Fakes\EventFake::assertAttached() (#36690)
  • Added lazy() and lazyById() methods to Illuminate\Database\Concerns\BuildsQueries (#36699)

Fixed

  • Fixes the issue using cache:clear with PhpRedis and a clustered Redis instance. (#36665)
  • Fix replacing required :input with null on PHP 8.1 in Illuminate\Validation\Concerns\FormatsMessages::getDisplayableValue() (#36622)
  • Fixed artisan schema:dump error (#36698)

Changed

  • Adjust Fluent Assertions (#36620)
  • Added timestamp reference to schedule:work artisan command output (#36621)
  • Expect custom markdown mailable themes to be in mail subdirectory (#36673)
  • Throw exception when unable to create LockableFile (#36674)

Refactoring

  • Always prefer typesafe string comparisons (#36657)

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 Illuminate\Database\Connection::forgetRecordModificationState() (#36617)

Reverted

  • Reverted "Container - detect circular dependencies" (332844e)

Added

  • Added broken pipe exception as lost connection error (#36601)
  • Added missing option to resource (#36562)
  • Introduce StringEncrypter interface (#36578)

Fixed

  • Fixed returns with Mail & Notification components (#36559)
  • Stack driver fix: respect the defined processors in LogManager (#36591)
  • Require the correct password to rehash it when logging out other devices (#36608, 1e61612)

Changed

  • Allow nullable columns for AsArrayObject/AsCollection casts (#36526)
  • Accept callable class for reportable and renderable in exception handler (#36551)
  • Container - detect circular dependencies (dd7274d, a712f72, 6f9bb4c)
  • Initialize CronExpression class using new keyword (#36600)
  • Use different config key for overriding temporary url host in AwsTemporaryUrl method (#36612)

Added

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

Changed

  • Changed Illuminate\Queue\Middleware\ThrottlesExceptions (b8a70e9)

Added

  • Phpredis lock serialization and compression support (#36412, 10f1a93)
  • Added Fluent JSON Assertions (#36454)
  • Added methods to dump requests of the Laravel HTTP client (#36466)
  • Added ThrottlesExceptions and ThrottlesExceptionsWithRedis job middlewares for unstable services (#36473, 21fee76, 36518, 37e48ba)
  • Added support to Eloquent Collection on Model::destroy() (#36497)
  • Added rest option to php artisan queue:work command (#36521, c6ea49c)
  • Added prohibited_if and prohibited_unless validation rules (#36516)
  • Added class argument to Illuminate\Database\Console\Seeds\SeedCommand (#36513)

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)
  • Use user provided url in AwsTemporaryUrl method (#36480)
  • Allow to override discover events base path (#36515)

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 VendorTagPublished event (#36458)
  • Added new Stringable::test() method (#36462)

Reverted

Changed

  • Make user policy command fix (Windows) (#36464)

Reverted

Fixed

  • Fixed formatWheres() methods in DatabaseRule (#36441)

Added

  • Added new line to DetectsLostConnections (#36373)
  • Added Illuminate\Cache\RateLimiting\Limit::perMinutes() (#36352, 86d0a5c)
  • Make Database Factory macroable (#36380)
  • Added stop on first failure for Validators (39e1f84)
  • Added containsOneItem() method to Collections (#36428, 5b7ffc2)

Changed

  • Respect custom route key with explicit route model binding (#36375)
  • Add Buffered Console Output (#36404)
  • Don't flash 'current_password' input (#36415)
  • Check for context method in Exception Handler (#36424)

Added

  • Added new line to DetectsLostConnections (#36373)

Added

  • Support username parameter for predis (#36299)
  • Adds "setUpTestDatabase" support to Parallel Testing (#36301)
  • Added support closures in sequences (3c66f6c)
  • Added gate evaluation event (0c6f5f7)
  • Added a collect method to the HTTP Client response (#36331)
  • Allow Blade's service injection to inject services typed using class name resolution (#36356)

Fixed

  • Fixed: Using withoutMiddleware() and a closure-based middleware on PHP8 throws an exception (#36293)
  • Fixed: The label for page number in pagination links should always be a string (#36292)
  • Clean up custom Queue payload between tests (#36295)
  • Fixed flushDb (cache:clear) for redis clusters (#36281)
  • Fixed retry command for encrypted jobs (#36334, 2fb5e44)
  • Make sure trait_uses_recursive returns an array (#36335)

Changed

  • Make use of specified ownerKey in MorphTo::associate() (#36303)
  • Update pusher deps and update broadcasting (3404185)

Fixed

  • Revert "[8.x] Clean up custom Queue payload between tests" (#36287)

Added

  • Allow users to specify configuration keys to be used for primitive binding (#36241)
  • ArrayObject + Collection Custom Casts (#36245)
  • Add view path method (af3a651)

Changed

  • Allow using dot syntax for $responseKey (#36196)
  • Full trace for http errors (#36219)

Fixed

  • Fix undefined property with sole query (#36216)
  • Resolving non-instantiables corrupts Container::$with (#36212)
  • Fix attribute nesting on anonymous components (#36240)
  • Ensure $prefix is a string (#36254)
  • Add missing import (#34569)
  • Align PHP 8.1 behavior of e() (#36262)
  • Ensure null values won't break on PHP 8.1 (#36264)
  • Handle directive $value as a string (#36260)
  • Use explicit flag as default sorting (#36261)
  • Fix middleware group display (d9e28dc)

Added

  • Conditionally merge classes into a Blade Component attribute bag (#36131)
  • Allow adding multiple columns after a column (#36145)
  • Add query builder chunkMap method (#36193, 048ac6d)

Changed

  • Update CallQueuedClosure to catch Throwable/Error (#36159)
  • Allow components to use custom attribute bag (#36186)

Fixed

  • Set process timeout to null for load mysql schema into database (#36126)
  • Don't pluralise string if string ends with none alphanumeric character (#36137)
  • Add query log methods to the DB facade (#36177)
  • Add commonmark as recommended package for Illuminate\Support (#36171)
  • Fix Eager loading partially nullable morphTo relations (#36129)
  • Make height of image working with yahoo (#36201)
  • Make sole() relationship friendly (#36200)
  • Make layout in mail responsive in Gmail app (#36198)
  • Fixes parallel testing when a database is configured using URLs (#36204)

Fixed

  • Fixed merge conflict in src/Illuminate/Foundation/Console/stubs/exception-render-report.stub (#36123)

Added

  • Allow to fillJsonAttribute with encrypted field (#36063)
  • Added Route::missing() (#36035)
  • Added Illuminate\Support\Str::markdown() and Illuminate\Support\Stringable::markdown() (#36071)
  • Support retrieving URL for Sftp adapter (#36120)

Fixed

  • Fixed issues with dumping PostgreSQL databases that contain multiple schemata (#36046)
  • Fixes job batch serialization for PostgreSQL (#36081)
  • Fixed Illuminate\View\ViewException::report() (#36110)

Changed

  • Typecast page number as integer in Illuminate\Pagination\AbstractPaginator::resolveCurrentPage() (#36055)
  • Changed Illuminate\Testing\ParallelRunner::createApplication() (1c11b78)

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)

Added

  • Added Stringable::pipe & make Stringable tappable (#36017)
  • Accept a command in object form in Bus::assertChained (#36031)
  • Adds parallel testing (#36034)
  • Make Listeners, Mailables, and Notifications accept ShouldBeEncrypted (#36036)
  • Support JSON encoding Stringable (#36012)
  • Support for escaping bound attributes (#36042)
  • Added Illuminate\Foundation\Application::useLangPath() (#36044)

Changed

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

Fixed

  • Fixed issue with dumping schema from a postgres database using no default schema (#35966, 7be50a5)
  • Fixed worker --delay option (#35991)
  • Added support of PHP 7.3 to RateLimiter middleware(queue) serialization (#35986)
  • Fixed Illuminate\Foundation\Http\Middleware\TransformsRequest::cleanArray() (#36002)
  • ModelNotFoundException: ensure that the model class name is properly set (#36011)
  • Fixed bus fake (e720279)

Changed

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

Added

Fixed

  • Fixed type error in Illuminate\Http\Concerns\InteractsWithContentTypes::isJson() (#35956)
  • Fixed Illuminate\Collections\Collection::sortByMany() (#35950)
  • Fixed Limit expected bindings (#35972, 006873d)
  • Fixed serialization of rate limited with redis middleware (#35971)

Fixed

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

Fixed

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

v8.23.1 (2021-01-19)

Fixed

  • Fixed empty html mail (#35941)

v8.23.0 (2021-01-19)

Added

  • Added Illuminate\Database\Concerns\BuildsQueries::sole() (#35869, 29c7dae, #35908, #35902, #35912)
  • Added default parameter to throw_if / throw_unless (#35890)
  • Added validation support for TeamSpeak3 URI scheme (#35933)

Fixed

  • Fixed extra space on blade class components that are inline (#35874)
  • Fixed serialization of rate limited middleware (f3d4dcb, #35916)

Changed

  • Allow a specific seeder to be used in tests in Illuminate\Foundation\Testing\RefreshDatabase::migrateFreshUsing() (#35864)
  • Pass $key to closure in Collection and LazyCollection's reduce method as well (#35878)

v6.20.13 (2021-01-19)

Fixed

  • Fixed empty html mail (#35941)

v8.22.1 (2021-01-13)

Fixed

  • Limit expected bindings (#35865)

v7.30.2 (2021-01-13)

Added

  • Added strings to DetectsLostConnections (#35752)

Fixed

  • Fixed error from missing null check on PHP 8 (#35797)
  • Limit expected bindings (#35865)

Changed

  • Retry connection if DNS lookup fails (#35790)

v6.20.11 (2021-01-13)

Fixed

  • Limit expected bindings (#35865)

v8.22.0 (2021-01-12)

Added

  • Added new lines to DetectsLostConnections (#35752, #35790)
  • Added Illuminate\Support\Testing\Fakes\EventFake::assertNothingDispatched() (#35835)
  • Added reduce with keys to collections and lazy collections (#35839)

Fixed

  • Fixed error from missing null check on PHP 8 in Illuminate\Validation\Concerns\ValidatesAttributes::validateJson() (#35797)
  • Fix bug with RetryCommand (4415b94, #35828)
  • Fixed Illuminate\Testing\PendingCommand::expectsTable() (#35820)
  • Fixed morphTo() attempting to map an empty string morph type to an instance (#35824)

Changes

  • Update Illuminate\Http\Resources\CollectsResources::collects() (1fa20dd)
  • "null" constraint prevents aliasing SQLite ROWID (#35792)
  • Allow strings to be passed to the report function (#35803)

v6.20.10 (2021-01-12)

Added

  • Added new line to DetectsLostConnections (#35790)

Fixed

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

v8.21.0 (2021-01-05)

Added

  • Added command to clean batches table (#35694, 33f5ac6)
  • Added item to list of causedByLostConnection errors (#35744)
  • Make it possible to set Postmark Message Stream ID (#35755)

Fixed

  • Fixed php artisan db command for the Postgres CLI (#35725)
  • Fixed OPTIONS method bug with use same path and diff domain when cache route (#35714)

Changed

  • Ensure DBAL custom type doesn't exists in Illuminate\Database\DatabaseServiceProvider::registerDoctrineTypes() (#35704)
  • Added missing dispatchAfterCommit to DatabaseQueue (#35715)
  • Set chain queue when inside a batch (#35746)
  • Give a more meaningul message when route parameters are missing (#35706)
  • Added table prefix to Illuminate\Database\Console\DumpCommand::schemaState() (4ffe40f)
  • Refresh the retryUntil time on job retry (#35780, 45eb7a7)

v8.20.0 (2020-12-22)

Added

  • Added Illuminate\Database\DBAL\TimestampType (a5761d4, cff3705 382445f, 810047e)
  • Added ability to specify a separate lock connection (#35621, 3d95235)
  • Added Illuminate\Database\Eloquent\Relations\Concerns\InteractsWithPivotTable::syncWithPivotValues() (#35644, 49b3ce0)

Fixed

  • Fixed Illuminate\Validation\Concerns\ValidatesAttributes::validateJson() for PHP8 (#35646)
  • Fixed assertCookieExpired() and assertCookieNotExpired() methods in Illuminate\Testing\TestResponse (#35637)
  • Fixed: Account for a numerical array of views in Mailable::renderForAssertions() (#35662)
  • Catch DecryptException with invalid X-XSRF-TOKEN in Illuminate\Foundation\Http\Middleware\VerifyCsrfToken (#35671)

Changed

  • Check configuration in Illuminate\Foundation\Console\Kernel::scheduleCache() (a253d0e)
  • Modify Model::mergeCasts to return $this (#35683)
  • Clear a cached user in RequestGuard if a request is changed (#35692)

v7.30.1 (2020-12-22)

Fixed

  • Backport for fix issue with polymorphic morphMaps with literal 0 (#35487)
  • Fixed mime validation for jpeg files (#35518)
  • Fixed Illuminate\Validation\Concerns\ValidatesAttributes::validateJson() for PHP8 (#35646)
  • Catch DecryptException with invalid X-XSRF-TOKEN in Illuminate\Foundation\Http\Middleware\VerifyCsrfToken (#35671)

v6.20.8 (2020-12-22)

Fixed

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

v8.19.0 (2020-12-15)

Added

Fixed

  • Handle Throwable exceptions on Illuminate\Redis\Limiters\ConcurrencyLimiter::block() (#35546)
  • Fixed PDO passing in SqlServerDriver (#35564)
  • When following redirects, terminate each test request in proper order (#35604)

v8.18.1 (2020-12-09)

Fixed

  • Bumped minimum Symfony version (#35535)
  • Fixed passing model instances to factories (#35541)

v8.17.3 (2020-12-08)

Added

  • Added Illuminate\Http\Client\Factory::assertSentInOrder() (#35525, d257ce2, 2fd1411)
  • Added Illuminate\Http\Client\Response::handlerStats() (#35520)
  • Added support for attaching existing model instances in factories (#35494)
  • Added assertChained() and assertDispatchedWithoutChain() methods to Illuminate\Support\Testing\Fakes\BusFake class (#35523, f1b8cac, 236c67d)
  • Allow testing of html and plain text bodies right off mailables (afb858a, b7391e4)

Fixed

  • Fixed Application flush method (#35482)
  • Fixed mime validation for jpeg files (#35518)

Revert

v6.20.7 (2020-12-08)

Fixed

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

v8.17.2 (2020-12-03)

Added

  • Added Illuminate\Database\Eloquent\Relations\BelongsToMany::orderByPivot() (#35455, 6f83a50)

v8.17.1 (2020-12-02)

Fixed

  • Fixed an issue with the database queue driver (#35449)

v8.17.0 (2020-12-01)

Added

Fixed

  • Fix issue with polymorphic morphMaps with literal 0 (#35364)
  • Fixed Self-Relation issue in withAggregate method (#35392, aec5cca, #35394)
  • Fixed Use PHP_EOL instead of \n in PendingCommand (#35409)
  • Fixed validating image/jpeg images after Symfony/Mime update (#35419)
  • Fixed fail to morph with custom casting to objects (#35420)
  • Fixed Illuminate\Collections\Collection::sortBy() (307f6fb)
  • Don't overwrite minute and hour when specifying a time with twiceMonthly() (#35436)

Changed

  • Make DownCommand retryAfter available to prerendered view (#35357, b1ee97e)
  • Set default value on cloud driver (0bb7fe4)
  • Update Tailwind pagination focus styles (#35365)
  • Redis: allow to pass connection name (#35402)
  • Change Wormhole to use the Date Factory (#35421)

v7.30.0 (2020-12-01)

Fixed

  • Turn the eloquent collection into a base collection if mapWithKeys loses models (#35129)
  • Fixed pivot restoration (#35218)
  • Fixing BroadcastException message in [email protected] (#35290)
  • Fixed generic DetectsLostConnection string (#35323)
  • Backport Redis context option (#35370)
  • Fixed validating image/jpeg images after Symfony/Mime update (#35419)

Changed

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

v6.20.6 (2020-12-01)

Fixed

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

v8.16.1 (2020-11-25)

Fixed

  • Fixed reflection exception in Illuminate\Routing\Router::gatherRouteMiddleware() (c6e8357)

v8.16.0 (2020-11-17)

Added

  • Added Illuminate\Console\Concerns\InteractsWithIO::withProgressBar() (4e52a60, 169fd2b)
  • Added Illuminate\Console\Concerns\CallsCommands::callSilently() as alias for callSilent() (7f3101b, 0294433)
  • Added option to release unique job locks before processing (#35255, b53f13e)
  • Added ably broadcaster (e0f3f8e, 6381aa9)
  • Added ability to define table name as default morph type (#35257)
  • Allow overriding the MySQL server version for database queue driver (#35263)
  • Added Illuminate\Foundation\Testing\Wormhole::back() (#35261)
  • Support delaying notifications per channel (#35273)
  • Allow sorting on multiple criteria (#35277, 53eb307)
  • Added Illuminate/Database/Console/DbCommand.php command (#35304, b559b3e)
  • Added Collections splitIn methods (#35295)

Fixed

  • Fixed rendering of notifications with config custom theme (325a335)
  • Fixing BroadcastException message in [email protected] (#35290)
  • Fixed generic DetectsLostConnection string (#35323)
  • Fixed SQL Server command generation (#35317)
  • Fixed route model binding on cached closure routes (eb3e262)

Changed

  • Disable CSRF on broadcast route (acb4b77)
  • Easily set a null cache driver (#35262)
  • Updated aws/aws-sdk-php suggest to ^3.155 (#35267)
  • Ensure ShouldBeUniqueUntilProcessing job lock is released once (#35270)
  • Rename qualifyColumn to qualifyPivotColumn in BelongsToMany & MorphToMany (#35276)
  • Check if AsPivot trait is used instead of Pivot Model in Illuminate\Database\Eloquent\Relations\BelongsToMany (#35271)
  • Avoid no-op database query in Model::destroy() with empty ids (#35294)
  • Use --no-owner and --no-acl with pg_restore (#35309)

v6.20.5 (2020-11-24)

Fixed

Changed

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

v8.15.0 (2020-11-17)

Added

  • Added lock support for file and null cache drivers (#35139, a345185)
  • Added a doesntExpectOutput method for console command testing (#35160, c90fc5f)
  • Added support of MorphTo relationship eager loading constraints (#35190)
  • Added Illuminate\Http\ResponseTrait::withoutCookie() (e9483c4)
  • Use dynamic app namespace in Eloquent Factory instead of App\ string (#35204, 4885bd2)
  • Added read / unread scopes to database notifications (#35215)
  • Added classBasename() method to Stringable (#35219)
  • Added before resolving callbacks to container (#35228)
  • Adds the possibility of testing file upload content (#35231)
  • Added lost connection messages for MySQL persistent connections (#35224)
  • Added Support DBAL v3.0 (#35236)

Fixed

  • Update MySqlSchemaState.php to support MariaDB dump (#35184)
  • Fixed pivot and morphpivot fresh and refresh methods (#35193)
  • Fixed pivot restoration (#35218)

Changed

  • Updated EmailVerificationRequest.php to check if user is not already verified (#35174)
  • Make Validator::parseNamedParameters() public (#35183)
  • Ignore max attempts if retryUntil is set in queue:work (#35214)
  • Explode string channels on Illuminate/Log/LogManager::createStackDriver() (e5b86f2)

v6.20.4 (2020-11-17)

Fixed

  • Fixed pivot restoration (#35218)

v8.14.0 (2020-11-10)

Added

  • Added ability to dispatch unique jobs (#35042, 2123e60)
  • Added Model::encryptUsing() (#35080)
  • Added support to MySQL dump and import using socket (#35083, c43054b)
  • Allow custom broadcastWith in notification broadcast channel (#35142)
  • Added Illuminate\Routing\CreatesRegularExpressionRouteConstraints::whereAlphaNumeric() (#35154)

Fixed

  • Fixed typo in make:seeder command name inside ModelMakeCommand (#35107)
  • Fix SQL Server grammar for upsert (missing semicolon) (#35112)
  • Respect migration table name in config when dumping schema (110eb15)
  • Respect them when previewing notification (ed4411d)
  • Fix appendable attributes in Blade components (#35131)
  • Remove decrypting array cookies from cookie decrypting (#35130)
  • Turn the eloquent collection into a base collection if mapWithKeys loses models (#35129)

Changed

  • Move dispatching of DatabaseRefreshed event to fire before seeders are run (#35091)
  • Handle returning false from reportable callback (55f0b5e)
  • Update Illuminate\Database\Schema\Grammars\MySqlGrammar::typeTimestamp() (#35143)
  • Remove expectedTables after converting to expectedOutput in PendingCommand (#35163)
  • Change SQLite schema command environment variables to work on Windows (#35164)

v6.20.3 (2020-11-10)

Fixed

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

v8.13.0 (2020-11-03)

Added

  • Added loadMax() | loadMin() | loadSum() | loadAvg() methods to Illuminate\Database\Eloquent\Collection. Added loadMax() | loadMin() | loadSum() | loadAvg() | loadMorphMax() | loadMorphMin() | loadMorphSum() | loadMorphAvg() methods to Illuminate\Database\Eloquent\Model (#35029)
  • Modify Illuminate\Database\Eloquent\Concerns\QueriesRelationships::has() method to support MorphTo relations (#35050)
  • Added Illuminate\Support\Stringable::chunk() (#35038)

Fixed

  • Fixed a few issues in Illuminate\Database\Eloquent\Concerns\QueriesRelationships::withAggregate() (#35061, #35063)

Changed

  • Set chain queue | connection | delay only when explicitly configured in (#35047)

Refactoring

  • Remove redundant unreachable return statements in some places (#35053)

v7.29.3 (2020-11-03)

Fixed

  • Added php 8 support for Illuminate Testing 7.x (#35045)

v8.12.3 (2020-10-30)

Fixed

  • Fixed Illuminate\Database\Eloquent\Concerns\QueriesRelationships::withAggregate() (20b0c6e)

v8.12.1 (2020-10-29)

Fixed

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

v8.12.0 (2020-10-29)

Added

  • Added ability to create observers with custom path via make:observer command (#34911)
  • Added Illuminate\Database\Eloquent\Factories\Factory::lazy() (#34923)
  • Added ability to make cast with custom stub file via make:cast command (#34930)
  • ADDED: Custom casts can implement increment/decrement logic (#34964)
  • Added encrypted Eloquent cast (#34937, #34948)
  • Added DatabaseRefreshed event to be emitted after database refreshed (#34952, f31bfe2)
  • Added withMax()|withMin()|withSum()|withAvg() methods to Illuminate/Database/Eloquent/Concerns/QueriesRelationships (#34965, f4e4d95, #35004)
  • Added explain() to Query\Builder and Eloquent\Builder (#34969)
  • Make multiple_of validation rule handle non-integer values (#34971)
  • Added setKeysForSelectQuery method and use it when refreshing model data in Models (#34974)
  • Full PHP 8.0 Support (#33388)
  • Added Illuminate\Support\Reflector::isCallable() (#34994, 8c16891, 31917ab, 11cfa4d, #34999)
  • Added route regex registration methods (#34997, 3d405cc, c2df0d5)
  • Added dontRelease option to RateLimited and RateLimitedWithRedis job middleware (#35010)

Fixed

  • Fixed check of file path in Illuminate\Database\Schema\PostgresSchemaState::load() (268237f)
  • Fixed: PhpRedis (v5.3.2) cluster - set default connection context to null (#34935)
  • Fixed Eloquent Model loadMorph and loadMorphCount methods (#34972)
  • Fixed ambigious column on many to many with select load (5007986)
  • Fixed Postgres Dump (#35018)

Changed

  • Changed make:factory command (#34947, 4f38176)
  • Make assertSee, assertSeeText, assertDontSee and assertDontSeeText accept an array (#34982, 2b98bcc)

v7.29.1 (2020-10-29)

Fixed

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

v7.29.0 (2020-10-29)

Added

Changed

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

Fixed

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

v6.20.1 (2020-10-29)

Fixed

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

v6.20.0 (2020-10-28)

Added

Changed

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

Fixed

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

v8.11.1 (2020-10-20)

Fixed

v8.11.0 (2020-10-20)

Added

  • Added job middleware to prevent overlapping jobs (#34794, eed05b4)
  • Bring Rate Limiters to Jobs (#34829, ae00294)
  • Added multiple_of custom replacer in validator (#34858)
  • Preserve eloquent collection type after calling ->fresh() (#34848)
  • Provisional support for PHP 8.0 for 6.x (Changed some code in 8.x) (#34884, 28bb76e)

Fixed

  • Fixed fresh() and refresh() on pivots and morph pivots (#34836)
  • Fixed config batching typo (#34852)
  • Fixed Illuminate\Queue\Console\RetryBatchCommand for un-found batch id (#34878)

Changed

  • Change loadRoutesFrom() to accept group $attributes (#34866)

v6.19.1 (2020-10-20)

Fixed

v6.19.0 (2020-10-20)

Added

v8.10.0 (2020-10-13)

Added

  • Allow for chains to be added to batches (#34612, 7b4a9ec)
  • Added is() method to 1-1 relations for model comparison (#34693, 7ba2577)
  • Added upsert to Eloquent and Base Query Builders (#34698, #34712, 58a0e1b)
  • Support psql and pg_restore commands in schema load (#34711)
  • Added Illuminate\Database\Schema\Builder::dropColumns() method on the schema class (#34720)
  • Added yearlyOn() method to scheduler (#34728)
  • Added restrictOnDelete method to ForeignKeyDefinition class (#34752)
  • Added newLine() method to InteractsWithIO trait (#34754)
  • Added isNotEmpty method to HtmlString (#34774)
  • Added delay() to PendingChain (#34789)
  • Added 'multiple_of' validation rule (#34788)
  • Added custom methods proxy support for jobs ::dispatch() (#34781)
  • Added QueryBuilder::clone() (#34780)
  • Support bus chain on fake (a952ac24)
  • Added missing force flag to queue:clear command (#34809)
  • Added dropConstrainedForeignId to `Blueprint (#34806)
  • Implement supportsTags() on the Cache Repository (#34820)
  • Added canAny to user model (#34815)
  • Added when() and unless() methods to MailMessage (#34814)

Fixed

  • Fixed collection wrapping in BelongsToManyRelationship (9245807)
  • Fixed LengthAwarePaginator translations issue (#34714)

Changed

  • Improve schedule:work command (#34736, bbddba2)
  • Guard against invalid guard in make:policy (#34792)
  • Fixed router inconsistency for namespaced route groups (#34793)

v6.18.43 (2020-10-13)

Fixed

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

v8.9.0 (2020-10-06)

Added

  • Added support times() with raw() from Illuminate\Database\Eloquent\Factories\Factory (#34667)
  • Added Illuminate\Pagination\AbstractPaginator::through() (#34657)
  • Added extendsFirst method similar to includesFirst to view (#34648)
  • Allowed Illuminate\Http\Client\PendingRequest::attach() method to accept many files (#34697, 1bb7ad6)
  • Allowed serializing custom casts when converting a model to an array (#34702)

Fixed

  • Added missed RESET_THROTTLED constant to Password Facade (#34641)
  • Fixed queue clearing when blocking (#34659)
  • Fixed missing import in TestView.php (#34677)
  • Use getRealPath to ensure console command class names are generated correctly in Illuminate\Foundation\Console\Kernel (#34653)
  • Added pg_dump --no-owner and --no-acl to avoid owner/permission issues in Illuminate\Database\Schema\PostgresSchemaState::baseDumpCommand() (#34689)
  • Fixed queue:failed command when Class not exists (#34696)

Performance

  • Increase performance of Str::before() by over 60% (#34642)

v7.28.4 (2020-10-06)

Fixed

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

v6.18.42 (2020-10-06)

Fixed

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

v8.8.0 (2020-10-02)

Added

  • Proxy URL Generation in VerifyEmail (#34572)
  • Added Illuminate\Collections\Traits\EnumeratesValues::pipeInto() (#34600)
  • Added Illuminate\Http\Client\PendingRequest::withUserAgent() (#34611)
  • Added schedule:work command (#34618)
  • Added support for appendable (prepends) component attributes (09b887b, 53fbc9f)

Fixed

  • Fixed Illuminate\Http\Client\Response::throw() (#34597)
  • Fixed breaking change in migrate command (b2a3641)

Changed

  • Changing the dump and restore method for a PostgreSQL database (#34293)

v8.7.1 (2020-09-29)

Fixed

v8.7.0 (2020-09-29)

Added

  • Added tg:// protocol in "url" validation rule (#34464)
  • Allow dynamic factory methods to obey newFactory method on model (#34492, 4708e9e)
  • Added no-reload option to serve command (9cc2622)
  • Added perHour and perDay methods to Illuminate\Cache\RateLimiting\Limit (#34530)
  • Added Illuminate\Http\Client\Response::onError() (#34558, d034e2c)
  • Added X-Message-ID to Mailgun and Ses Transport (#34567)

Fixed

  • Fixed incompatibility with Lumen route function in Illuminate\Session\Middleware\StartSession (#34491)
  • Fixed: Eager loading MorphTo relationship does not honor each models $keyType (#34531, c3f44c7)
  • Fixed translation label ("Pagination Navigation") for the Tailwind blade (#34568)
  • Fixed save keys on increment / decrement in Model (77db028)

Changed

  • Allow modifiers in date format in Model (#34507)
  • Allow for dynamic calls of anonymous component with varied attributes (#34498)
  • Cast Expression as string so it can be encoded (#34569)

v6.18.41 (2020-09-29)

Fixed

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

v8.6.0 (2020-09-22)

Added

  • Added Illuminate\Collections\LazyCollection::takeUntilTimeout() (0aabf24)
  • Added --schema-path option to migrate:fresh command (#34419)

Fixed

  • Fixed problems with dots in validator (#34355)
  • Maintenance mode: Fix empty Retry-After header (#34412)
  • Fixed bug with error handling in closure scheduled tasks (#34420)
  • Dont double escape on ComponentTagCompiler.php (12ba0d9)
  • Fixed mysqldump: unknown variable 'column-statistics=0 for MariaDB schema dump (#34442)

v8.5.0 (2020-09-19)

Added

  • Allow clearing an SQS queue by queue:clear command (#34383, de811ea)
  • Added Illuminate\Foundation\Auth\EmailVerificationRequest (4bde31b)
  • Auto handle Jsonable values passed to castAsJson() (#34392)
  • Added crossJoinSub method to the query builder (#34400)
  • Added Illuminate\Session\Store::passwordConfirmed() (fb3f45a)

Changed

  • check for view existence first in Illuminate\Mail\Markdown::render() (5f78c90)
  • Guess the model name when using the make:factory command (#34373)

v7.28.3 (2020-09-17)

Fixed

  • Fixed problems with dots in validator (#34355)

v8.4.0 (2020-09-16)

Added

Fixed

  • Fixed minimal.blade.php (#34379)
  • Dont double escape on ComponentTagCompiler.php (ec75487)
  • Fixed dots in attribute names in DynamicComponent (2d1d962)

Changed

  • Show warning when view exists when using artisan make:component (#34376, 0ce75e0)
  • Call the booting/booted callbacks from the container (#34370)

v8.3.0 (2020-09-15)

Added

  • Added Illuminate\Foundation\Testing\Concerns\InteractsWithDatabase::castAsJson() (#34302)
  • Handle array hosts in Illuminate\Database\Schema\MySqlSchemaState (0920c23)
  • Added Illuminate\Pipeline\Pipeline::setContainer() (#34343)
  • Allow including a closure in a queued batch (#34333)

Fixed

Changed

  • Bumped minimum vlucas/phpdotenv version (#34336)
  • Pass an instance of the job to queued closures (#34350)

v7.28.2 (2020-09-15)

Fixed

  • Do not used now helper in Illuminate/Cache/DatabaseLock::expiresAt() (#34262)
  • Fixed Illuminate\View\ComponentAttributeBag::whereDoesntStartWith() (#34329)

v8.2.0 (2020-09-14)

Added

  • Added Illuminate\Database\Eloquent\Factories\HasFactory::newFactory() (4a95372, a2cea84)

Fixed

  • Do not used now helper in Illuminate/Cache/DatabaseLock::expiresAt() (#34262)
  • Change placeholder in Illuminate\Database\Schema\MySqlSchemaState::load() (#34303)
  • Fixed bug in dynamic attributes Illuminate\View\ComponentAttributeBag::setAttributes() (93f4613)
  • Fixed Illuminate\View\ComponentAttributeBag::whereDoesntStartWith() (#34329)
  • Fixed Illuminate\Routing\Middleware\ThrottleRequests::handleRequestUsingNamedLimiter() (#34325)

Changed

  • Create Faker when a Factory is created (#34298)

v8.1.0 (2020-09-11)

Added

  • Added Illuminate\Database\Eloquent\Factories\Factory::raw() (#34278)
  • Added Illuminate\Database\Eloquent\Factories\Factory::createMany() (#34285, 69072c7)
  • Added the Countable interface to AssertableJsonString (#34284)

Fixed

  • Fixed the new maintenance mode (#34264)

Changed

  • Optimize command can also cache view (#34287)

v8.0.4 (2020-09-11)

Changed

  • Allow Illuminate\Collections\Collection::implode() when instance of Stringable (#34271)

Fixed

  • Fixed DatabaseUuidFailedJobProvider::find() job record structure (#34251)
  • Cast linkCollection to array in JSON pagination responses (#34245)
  • Change the placeholder of schema dump according to symfony placeholder in MySqlSchemaState::dump() (#34261)
  • Fixed problems with dots in validator (8723739)

v8.0.3 (2020-09-10)

Added

  • Added links property to JSON pagination responses (13751a1)

Fixed

  • Fixed bugs with factory creation in FactoryMakeCommand (c7186e0)

v8.0.2 (2020-09-09)

Revert

Changed

  • Update Illuminate\Database\Schema\MySqlSchemaState::executeDumpProcess() (#34233)

v8.0.1 (2020-09-09)

Added

  • Support array syntax in Illuminate\Routing\Route::uses() (f80ba11)

Fixed

  • Fixed BatchRepositoryFake TypeError (#34225)
  • Fixed dynamic component bug (4b1e317)

Changed

  • Give shadow a rounded edge to match content in tailwind.blade.php (#34198)
  • Pass the request to the renderable callback in Illuminate\Foundation\Exceptions\Handler::render() (#34200)
  • Update Illuminate\Database\Schema\MySqlSchemaState (d67be130, c87794f)
  • Respect local env in Illuminate\Foundation\Console\ServeCommand::startProcess() (75e792d)

v8.0.0 (2020-09-08)

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

v7.28.0 (2020-09-08)

Added

Fixed

  • Use getTouchedRelations when touching owners (#34100)
  • Fixed for empty fallback_locale in Illuminate\Translation\Translator (#34136)
  • Fixed Illuminate\Database\Schema\Grammars\SqlServerGrammar::compileColumnListing() for tables with schema (#34076)
  • Fixed Significant performance issue in Eloquent Collection loadCount() method (#34177)

v6.18.39 (2020-09-08)

Fixed

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

v7.27.0 (2020-09-01)

Added

  • Allow to use alias of morphed model (#34032)
  • Introduced basic padding (both, left, right) methods to Str and Stringable (#34053)

Refactoring

Changed

  • allow to reset forced scheme and root-url in UrlGenerator (#34039)
  • Updating the make commands to use a custom views path (#34060, b593c62)
  • Using "public static property" in View Component causes an error (#34058)
  • Changed postgres processor (#34055)

v6.18.38 (2020-09-01)

Changed

  • Changed postgres processor (#34055)

v7.26.1 (2020-08-27)

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)

v6.18.37 (2020-08-27)

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)

v7.26.0 (2020-08-25)

Added

  • Added whenHas and whenFilled methods to Illuminate\Http\Concerns\InteractsWithInput class (#33829)
  • Added email validating with custom class (#33835)
  • Added Illuminate\View\ComponentAttributeBag::whereDoesntStartWith() (#33851)
  • Allow setting synchronous_commit for Postgres (#33897)
  • Allow nested errors in Illuminate\Testing\TestResponse::assertJsonValidationErrors() (#33989)
  • Added support for stream reads to FilesystemManager (#34001)

Fixed

  • Fix defaultTimezone not respected in scheduled Events (#33834)
  • Fixed usage of Support Collection#countBy($key) (#33852)
  • Fixed route registerar bug (42ba0ef)
  • Fixed key composition for attribute with dot at validation error messages (#33932)
  • Fixed the dump method for LazyCollection (#33944)
  • Fixed dimension ratio calculation in Illuminate\Validation\Concerns\ValidatesAttributes::failsRatioCheck() (#34003)

Changed

  • Implement LockProvider on DatabaseStore (#33844)
  • Publish resources.stub in stub:publish command (#33862)
  • Handle argon failures robustly (#33856)
  • Normalize scheme in Redis connections (#33892)
  • Cast primary key to string when $keyType is string (#33930)
  • Load anonymous components from packages (#33954)
  • Check no-interaction flag exists and is true for Artisan commands (#33950)

Deprecated

  • Deprecate Illuminate\Database\Eloquent\Model::removeTableFromKey() (#33859)

v6.18.36 (2020-08-25)

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)

v7.25.0 (2020-08-11)

Added

  • Added support to use where in apiResource method (#33790, 3dcc4a6)
  • Support tls:// scheme when using url in Redis config (#33800)
  • Scoped resource routes (#33752)
  • Added Once blade Blocks (#33812)
  • Let mailables accept a simple array of email addresses as cc or bcc (#33810)
  • Added support for PhpRedis 5.3 options parameter (#33799)

Changed

  • Removed quotes when setting isolation level for mysql connections (#33805)
  • Make LazyCollection#countBy be lazy (#33801)

Fixed

  • Revert changes to MailMessage (#33816)

v7.24.0 (2020-08-07)

Added

  • Added possibility to configure isolation level for mysql connections (#33783, c6a3174)
  • Added plain text only notifications (#33781)

Changed

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

v6.18.35 (2020-08-07)

Changed

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

v7.23.2 (2020-08-06)

Fixed

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

v7.23.1 (2020-08-06)

Added

  • Added isNotFilled() method to Request (#33732)

Fixed

v6.18.34 (2020-08-06)

Fixed

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

v6.18.33 (2020-08-06)

Fixed

v7.23.0 (2020-08-04)

Added

  • Added dynamic slot (directive) name support (#33724)
  • Added plain mail to notifications (#33725)
  • Support the sink option when using Http::fake() (#33720, fba984b)
  • Added whereBetweenColumns | orWhereBetweenColumns | whereNotBetweenColumns | orWhereNotBetweenColumns methods to Illuminate\Database\Query\Builder (#33728)

Changed

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

v6.18.32 (2020-08-04)

Changed

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

v7.22.4 (2020-07-27)

Update

  • Update cookies encryption (release)

v7.22.3 (2020-07-27)

Update

  • Update cookies encryption (release)

v7.22.2 (2020-07-27)

Fixed

v7.22.1 (2020-07-27)

Fixed

v7.22.0 (2020-07-27)

Added

  • Added sectionMissing Blade Directive (#33614)
  • Added range option to queue:retry command (#33627)

Fixed

  • Prevent usage of get*AtColumn() when model has no timestamps (#33634)
  • Dont 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

  • Throw a TypeError if concrete is not a string or closure in Illuminate\Container\Container::bind() (#33539)
  • Add HTML comment block around inline inspiring quote for consistency with blade template version (#33625)
  • Improve cookie encryption (#33662)

v6.18.31 (2020-07-27)

Update

  • Update cookies encryption (release)

v6.18.30 (2020-07-27)

Update

  • Update cookies encryption (release)

v6.18.29 (2020-07-27)

Fixed

v6.18.28 (2020-07-27)

Fixed

v6.18.27 (2020-07-27)

Fixed

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

v7.21.0 (2020-07-21)

Added

  • Added Illuminate\Database\Schema\ForeignKeyDefinition::nullOnDelete() (#33551)
  • Added getFallbackLocale() and setFallbackLocale() methods to Illuminate\Foundation\Application (#33595)