Laravel Versions Logo

Phiên bản Laravel: 8.0.0

Trạng thái:

Không nhận được các bản sửa lỗi thông thường hoặc lỗi bảo mật

Khuyến nghị:

Cập nhật tối thiểu sang phiên bản được bảo trì lỗi bảo mật sớm nhất có thể!
Phiên bản thấp nhất vẫn nhận được các bản sửa lỗi bảo mật là: 10
Để nâng cấp, hãy làm theo hướng dẫn trong tài liệu hoặc sử dụng Laravel Shift để nâng cấp tự động.

Bản vá mới nhất:

8.83.27

Phiên bản lớn Ngày phát hành Sửa Lỗi Cho Đến Khi Vá Lỗi bảo mật Cho đến khi PHP Versions Trạng thái
8 tháng 9 8, 2020 tháng 7 26, 2022 tháng 1 24, 2023 7.3, 7.4, 8.0, 8.1
EOL

Releases

8.83.27

Fixed

  • Fixed email verification request (#45227)
8.83.26

Fixed

  • Fixes controller computed middleware (#44454)
8.83.25

Added

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

Fixed

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

Changed

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

Fixed

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

Fixed

  • Fixed transaction attempts counter for sqlsrv (#43176)

Changed

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

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

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

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

Fixed

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

Reverted

Changed

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

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

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

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

Fixed

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

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

Fixed

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

Added

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

Fixed

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

Fixed

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

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

Fixed

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

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

Fixed

  • $job can be an object in some methods by @villfa in #41244
  • Fixes getting the trusted proxies IPs from the configuration file by @nunomaduro in #41322
8.83.2

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

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

Added

Changed

Fixed

  • Do not set SYSTEMROOT to false by @Galaxy0419 in #40819
8.82.0

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

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

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

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

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

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

Fixed

  • Fixed prune command with default options (#40127)
8.77.0

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

Added

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

Reverted

8.76.0

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

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

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

Added

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

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

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

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

Changed

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

Fixed

  • Fixed problem with fallback in Router (5fda5a3)
8.70.0

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

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

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

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

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

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

8.65.0

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

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

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

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

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

Added

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

Reverted

8.59.0

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

Added

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

Changed

8.57.0

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

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

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

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

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

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

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

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

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

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

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

Added

  • Add context to subsequent logs (#37847)
8.48.2

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

Fixed

  • Order of Modifiers Amended in MySqlGrammar (#37782)
8.48.0

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

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

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

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

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

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

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

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

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

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

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

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

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)
8.36.2
  • Revert blade changes (#36902)
8.36.1

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

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

Fixed

  • Fixed setting DynamoDB credentials (#36822)
8.35.0

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

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

Added

  • Added Illuminate\Database\Connection::forgetRecordModificationState() (#36617)

Reverted

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

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

Changed

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

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

Added

  • Added new VendorTagPublished event (#36458)
  • Added new Stringable::test() method (#36462)

Reverted

Changed

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

Reverted

Fixed

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

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

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

Fixed

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

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

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

Fixed

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

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

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

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

v8.23.1 (2021-01-19)

Fixed

  • Fixed empty html mail (#35941)
8.23.0

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

v8.22.1 (2021-01-13)

Fixed

  • Limit expected bindings (#35865)
8.22.0

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

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

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

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

v8.18.1 (2020-12-09)

Fixed

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

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

8.17.2

v8.17.2 (2020-12-03)

Added

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

v8.17.1 (2020-12-02)

Fixed

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

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

v8.16.1 (2020-11-25)

Fixed

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

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 PusherBroadcaster@broadcast (#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)
8.15.0

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

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

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

v8.12.3 (2020-10-30)

Fixed

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

v8.12.1 (2020-10-29)

Fixed

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

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

v8.11.1 (2020-10-20)

Fixed

8.11.0

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

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

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

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

v8.7.1 (2020-09-29)

Fixed

8.7.0

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

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

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

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

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

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

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

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

v8.0.3 (2020-09-10)

Added

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

Fixed

  • Fixed bugs with factory creation in FactoryMakeCommand (c7186e0)
8.0.2

v8.0.2 (2020-09-09)

Revert

Changed

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

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

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.