Laravel Version: 8.0.0
Status:
Not receiving bug or security fixes
Recommendation:
Update at least to a security-maintained version as soon as possible!
The lowest version still getting security fixes is: 10
To upgrade, follow the instructions in the docs or use Laravel Shift to upgrade automatically.
Latest Patch Release:
Major Version | Release date | Bug Fixes Until | Security Fixes Until | PHP Versions | Status |
---|---|---|---|---|---|
8 | September 8, 2020 | July 26, 2022 | January 24, 2023 | 7.3, 7.4, 8.0, 8.1 |
EOL
|
Releases
No changelog available.
No changelog available.
Fixed
- Fixed email verification request (#45227)
Fixed
- Fixes controller computed middleware (#44454)
Added
- Added
Illuminate/Routing/Route::flushController()
(#44393)
Fixed
- Fix DynamoDB locks with 0 seconds duration (#43365)
Revert
Revert
Fixed
- Backport Fix PHP warnings when rendering long blade string (#41970)
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)
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
Added
- Add isolation level configuration for Postgres connector by @rezaamini-ir in #40767
- Add a string helper to swap multiple keywords in a string by @amitmerchant1990 in #40831 & 220f4ac
Changed
- Make
PendingRequest
Conditionable
by @phillipfickl in #40762 - Add a BladeCompiler::renderComponent() method to render a component instance by @tobyzerner in #40745
- Doc block tweaks in
BladeCompiler.php
by @JayBizzle in #40772 - Revert Bit operators by @driesvints in #40791
- Improves
Support\Reflector
to support checking interfaces by @hassanhe in #40822 - Support cursor pagination with union query by @deleugpn in #40848
- Consistent
Stringable::swap()
&Str::swap()
implementations by @derekmd in #40855
Fixed
- Do not set SYSTEMROOT to false by @Galaxy0419 in #40819
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
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
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
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
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
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
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)
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
Added
- Added optional
except
parameter to the PruneCommand (#39749, be4afcc) - Added
Illuminate/Foundation/Application::hasDebugModeEnabled()
(#39755) - Added
Illuminate/Support/Facades/Event::fakeExcept()
andIlluminate/Support/Facades/Event::fakeExceptFor()
(#39752) - Added aggregate method to Eloquent passthru (#39772)
- Added
undot()
method to Arr helpers and Collections (#39729) - Added
reverse
method toStr
(#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
Revert
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 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
Changed
- Use all in
Illuminate/Database/Query/Builder::cleanBindings()
(74dcc02)
Fixed
- Fixed problem with fallback in Router (5fda5a3)
Added
- New flag
--requests
-R
tomake:controller
andmake: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
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)
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
- Revert "[8.x] Add gate policy callback" (#39290)
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 variousmake
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 ofreduceSpread
inIlluminate/Collections/Traits/EnumeratesValues
(#39201)
Fixed
- Fixed HasOneOfMany with callback issue (#39187)
Changed
- Logs deprecations instead of treating them as exceptions (#39219)
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
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 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
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
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
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
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
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)
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
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
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()
andIlluminate/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)
Added
- Introduce scoped instances (#37521, 2971b64)
- Added whereContains AssertableJson method (#37631, 2d2d108)
- Added
Illuminate/Database/Connection::setRecordModificationState()
(ee1e6b4) - Added
match()
andmatchAll()
methods toIlluminate/Support/Str.php
(#37642) - Copy password rule to current_password (#37650)
- Allow tap() on Paginator (#37682)
Revert
- Revert of "Columns in the order by list must be unique" (#37649)
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)
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)
Revert
- Revert of "Columns in the order by list must be unique" (dc2f0bb)
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()
toIlluminate/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
- 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
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
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
- 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)
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
- Revert blade changes (#36902)
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
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)
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()
andIlluminate\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()
andlazyById()
methods toIlluminate\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 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)
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
andThrottlesExceptionsWithRedis
job middlewares for unstable services (#36473, 21fee76, 36518, 37e48ba) - Added support to Eloquent Collection on
Model::destroy()
(#36497) - Added
rest
option tophp artisan queue:work
command (#36521, c6ea49c) - Added
prohibited_if
andprohibited_unless
validation rules (#36516) - Added class
argument
toIlluminate\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
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
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
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()
andIlluminate\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
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)
Added
Fixed
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
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
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
toDatabaseQueue
(#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()
andassertCookieNotExpired()
methods inIlluminate\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
v8.19.0 (2020-12-15)
Added
- Delay pushing jobs to queue until database transactions are committed (#35422, 095d922, fa34d93, db0d0ba, d9b803a, 3e55841)
- Added
Illuminate\View\ComponentAttributeBag::has()
(#35562) - Create ScheduleListCommand (#35574, 97d7834)
- Introducing Job Encryption (#35527, f80f647, 8c16156)
Fixed
v8.18.1 (2020-12-09)
Fixed
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()
andassertDispatchedWithoutChain()
methods toIlluminate\Support\Testing\Fakes\BusFake
class (#35523, f1b8cac, 236c67d) - Allow testing of html and plain text bodies right off mailables (afb858a, b7391e4)
Fixed
Revert
v8.17.2 (2020-12-03)
Added
v8.17.0 (2020-12-01)
Added
- Added: Transaction aware code execution (#35373, 9565598)
- Added dd() and dump() to the request object (#35384, c43e08f)
- Enqueue all jobs using a enqueueUsing method (#35415, 010d4d7, #35437)
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
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 forcallSilent()
(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)
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 toStringable
(#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
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)
v8.13.0 (2020-11-03)
Added
- Added
loadMax()
|loadMin()
|loadSum()
|loadAvg()
methods toIlluminate\Database\Eloquent\Collection
. AddedloadMax()
|loadMin()
|loadSum()
|loadAvg()
|loadMorphMax()
|loadMorphMin()
|loadMorphSum()
|loadMorphAvg()
methods toIlluminate\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)
v8.12.3 (2020-10-30)
Fixed
- Fixed
Illuminate\Database\Eloquent\Concerns\QueriesRelationships::withAggregate()
(20b0c6e)
v8.12.1 (2020-10-29)
Fixed
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 toIlluminate/Database/Eloquent/Concerns/QueriesRelationships
(#34965, f4e4d95, #35004) - Added
explain()
toQuery\Builder
andEloquent\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 tonull
(#34935) - Fixed Eloquent Model
loadMorph
andloadMorphCount
methods (#34972) - Fixed ambigious column on many to many with select load (5007986)
- Fixed Postgres Dump (#35018)
Changed
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()
andrefresh()
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)
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 toInteractsWithIO
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
v8.9.0 (2020-10-06)
Added
- Added support
times()
withraw()
fromIlluminate\Database\Eloquent\Factories\Factory
(#34667) - Added
Illuminate\Pagination\AbstractPaginator::through()
(#34657) - Added
extendsFirst
method similar toincludesFirst
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 inIlluminate\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)
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.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 toserve
command (9cc2622) - Added
perHour
andperDay
methods toIlluminate\Cache\RateLimiting\Limit
(#34530) - Added
Illuminate\Http\Client\Response::onError()
(#34558, d034e2c) - Added
X-Message-ID
toMailgun
andSes 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
v8.6.0 (2020-09-22)
Added
- Added
Illuminate\Collections\LazyCollection::takeUntilTimeout()
(0aabf24) - Added
--schema-path
option tomigrate: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 tocastAsJson()
(#34392) - Added crossJoinSub method to the query builder (#34400)
- Added
Illuminate\Session\Store::passwordConfirmed()
(fb3f45a)
Changed
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
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
- Fixed broken Seeder (9e4a866)
Changed
v8.2.0 (2020-09-14)
Added
Fixed
- Do not used
now
helper inIlluminate/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 toAssertableJsonString
(#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 ofStringable
(#34271)
Fixed
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
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.