Laravel Framework
https://github.com/laravel/framework
Added
- Added ability to set a custom class for the AsCollection and AsEncryptedCollection casts (#46619)
Changed
Added
- Added
Illuminate/Cache/CacheManager::setApplication()
(#46594)
Fixed
- Fix infinite loading on batches list on Horizon (#46536)
- Fix whereNull queries with raw expressions for the MySql grammar (#46538)
- Fix getDirty method when using AsEnumArrayObject / AsEnumCollection (#46561)
Changed
- Skip
Illuminate/Support/Reflector::isParameterBackedEnumWithStringBackingType
for non ReflectionNamedType (#46511) - Replace Deprecated DBAL Comparator creation with schema aware Comparator (#46517)
- Added Storage::json() method to read and decode a json file (#46548)
- Force cast json decoded failed_job_ids to array in DatabaseBatchRepository (#46581)
- Handle empty arrays for DynamoDbStore multi-key operations (#46579)
- Stop adding constraints twice on *Many to *One relationships via one() (#46575)
- allow override of the Builder paginate() total (#46415)
- Add a possibility to set a custom on_stats function for the Http Facade (#46569)
Fixed
- Fixed
Illuminate/Foundation/Testing/Concerns/InteractsWithDatabase::expectsDatabaseQueryCount()
$connection parameter (#46228) - PHP 8.0 fix for Closure jobs (#46505)
- Fix preg_split error when there is a slash in the attribute (#46549)
Changed
- Allow WithFaker to be used when app is not bound (#46529)
Added
- Added
Illuminate/Testing/Concerns/AssertsStatusCodes::assertUnsupportedMediaType()
(#46426) - Added curl_error_code: 77 to DetectsLostConnections (#46429)
- Allow for converting a HasMany to HasOne && MorphMany to MorphOne (#46443)
- Add option to create macroable method for paginationInformation (#46461)
- Added
Illuminate/Filesystem/Filesystem::json()
(#46481)
Fixed
- Fix parsed input arguments for command events using dispatcher rerouting (#46442)
- Fix enums uses with optional implicit parameters (#46483)
- Fix deprecations for embedded images in symfony mailer (#46488)
Changed
- Added alternative database port in Postgres DSN (#46403)
- Allow calling getControllerClass on closure-based routes (#46411)
- Remove obsolete method_exists(ReflectionClass::class, 'isEnum') call (#46445)
- Convert eloquent builder to base builder in whereExists (#46460)
- Refactor shared static methodExcludedByOptions method to trait (#46498)
Reverted
Added
- Adding Pipeline Facade (#46271)
- Add Support for SaveQuietly and Upsert with UUID/ULID Primary Keys (#46161)
- Add charAt method to both Str and Stringable (#46349, dfb59bc2)
- Adds Countable to the InvokedProcessPool class (#46346)
- Add processors to logging (placeholders) (#46344)
Fixed
- Fixed
Illuminate/Mail/Mailable::buildMarkdownView()
(791f8ea7) - FIX on CanBeOneOfMany trait giving erroneous results (#46309)
Changed
Added
- Adding
Conditionable
train to Logger (#46259) - Added "dot" method to Illuminate\Support\Collection class (#46265)
- Added a "channel:list" command (#46248)
- Added JobPopping and JobPopped events (#46220)
- Add isMatch method to Str and Stringable helpers (#46303)
- Add ArrayAccess to Stringable (#46279)
Reverted
- Revert "[10.x] Fix custom themes not reseting on Markdown renderer" (#46328)
Fixed
- Fix typo in function
createMissingSqliteDatbase
name insrc/Illuminate/Database/Console/Migrations/MigrateCommand.php
(#46326)
Changed
- Generate default command name based on class name in
ConsoleMakeCommand
(#46256) - Do not mutate underlying values on redirect (#46281)
- Do not use null to initialise $lastExecutionStartedAt in
ScheduleWorkCommand
(#46285) - Remove obsolete function_exists('enum_exists') calls (#46319)
- Cast json decoded failed_job_ids to array in DatabaseBatchRepository::toBatch (#46329)
Please consult the upgrade guide and release notes in the official Laravel documentation.
Added
- Added methods to Enumerable contract (#46021)
- Added new mailer transport for AWS SES V2 API (#45977)
- Add S3 temporaryUploadUrl method to AwsS3V3Adapter (#45753)
- Add index hinting support to query builder (#46063)
- Add mailer name to data for SentMessage and MessageSending events (#46079)
- Added --pending option to migrate:status (#46089)
Fixed
- Fixed pdo exception when rollbacking without active transaction (#46017)
- Fix duplicated columns on select (#46049)
- Fixes memory leak on anonymous migrations (â„–46073)
- Fixed race condition in locks issued by the file cache driver (#46011)
Changed
- Allow choosing tables to truncate in
Illuminate/Foundation/Testing/DatabaseTruncation::truncateTablesForConnection()
(#46025) - Update afterPromptingForMissingArguments method (#46052)
- Accept closure in bus assertion helpers (#46075)
- Avoid mutating the $expectedLitener between loops on Event::assertListening (#46095)
Added
- Added
Illuminate/Foundation/Testing/Concerns/InteractsWithDatabase::expectsDatabaseQueryCount()
(#45932) - Added pending has-many-through and has-one-through builder (#45894)
- Added
Illuminate/Http/Client/PendingRequest::withUrlParameters()
(#45982)
Fixed
- Fix: prevent duplicated content-type on HTTP client (#45960)
- Add missing php extensions in composer (#45941)
Changed
- Command schedule:work minor features: schedule:run output file & environment specific verbosity (#45949)
- Added missing self reserved word to reservedNames array in
Illuminate/Console/GeneratorCommand.php
(#46001) - pass value along to ttl callback in
Illuminate/Cache/Repository::remember()
(#46006) - Make sure the lock_connection is used for schedule's withoutOverlapping() (#45963)
Added
- Added
Illuminate/Translation/Translator::stringable()
(#45874) - Added
Illuminate/Foundation/Testing/DatabaseTruncation
(#45726) - Added @style Blade directive (#45887)
Reverted
Fixed
- Fixed LazyCollection::makeIterator() to accept non Generator Function (#45881)
Changed
- Solve data to be dumped for separate schemes (#45805)
Added
- Added
Illuminate/Database/Schema/ForeignKeyDefinition::noActionOnDelete()
(#45712) - Added new throw helper methods to the HTTP Client (#45704)
- Added configurable timezone support for WorkCommand output timestamps (#45722)
- Added support for casting arrays containing enums (#45621)
- Added "missing" validation rules (#45717)
- Added
/Illuminate/Database/Eloquent/SoftDeletes::forceDeleteQuietly()
(#45737) - Added
Illuminate/Collections/Arr::sortDesc()
(#45761) - Added CLI Prompts (#45629, #45864)
- Adds assertJsonIsArray and assertJsonIsObject for TestResponse (#45731)
- Added
Illuminate/Database/Eloquent/Relations/HasOneOrMany::createQuietly()
(#45783) - Add validation rules: ascii_alpha, ascii_alpha_num, ascii_alpha_dash (#45769)
- Extract status methods to traits (#45789)
- Add "addRestoreOrCreate" extension to SoftDeletingScope (#45754)
- Added connection established event (f850d99)
- Add forceDeleting event to models (#45836)
- Add title tag in mail template (#45859)
- Added new methods to Collection (#45839)
- Add skip cancelled middleware (#45869)
Fixed
- Fix flushdb on cluster for
PredisClusterConnection.php
(#45544) - Fix blade tag issue with nested calls (#45764)
- Fix infinite loop in blade compiler (#45780)
- Fix ValidationValidator not to accept terminating newline (#45790)
- Fix stubs publish command generating incorrect controller stubs (#45812)
- fix: normalize route pipeline exception (#45817)
- Fix Illuminate Filesystem replace() leaves file executable (#45856)
Changed
- Ensures channel name matches from start of string (#45692)
- Replace raw invisible characters in regex expressions with counterpart Unicode regex notations (#45680)
- Optimize destroy method (#45709)
- Unify prohibits behavior around prohibits_if (#45723)
- Removes dependency on bcmath (#45729)
- Allow brick/math 0.11 also (#45762)
- Optimize findMany of BelongsToMany (#45745)
- Ensure decimal rule handles large values (#45693)
- Backed enum support for @js (#45862)
- Restart syscalls for SIGALRM when worker times out a job (#45871)
- Ensure subsiquent calls to Mailable->to() overwrite previous entries (#45885)
Added
- Added
Illuminate/Database/Schema/Builder::withoutForeignKeyConstraints()
(#45601) - Added
fragments()
\fragmentIf()
\fragmentsIf()
methods toIlluminate/View/View.php
class (#45656, #45669) - Added
incrementEach()
anddecrementEach()
toIlluminate/Database/Query/Builder
(#45577) - Added ability to drop an index when modifying a column (#45513)
- Allow to set HTTP client for mailers (#45684)
- Added 402 exception view (#45682)
- Added
notFound()
helper to Http Client response (#45681)
Fixed
- Fixed decimal cast (#45602)
Changed
- Ignore whitespaces/newlines when finding relations in model:show command (#45608)
- Fail queued job with a string messag (#45625)
- Allow fake() helper in unit tests (#45624)
- allow egulias/email-validator v4 (#45649)
- Force countBy method in EloquentCollection to return base collection (#45663)
- Allow for the collection of stubs to be published (#45653)
Added
- Added Support Lazy Collections in
BatchFake::add()
(#45507) - Added Decimal to list of Numeric rules (#45533)
- Added
Illuminate/Routing/PendingSingletonResourceRegistration::destroyable()
(#45549) - Added setVisible and setHidden to Eloquent Collection (#45558)
Fixed
- Fix bound method contextual binding (#45500)
- Fixed Method explodeExplicitRule with regex rule (#45555)
- Fixed
Illuminate/Database/Query/Builder::whereIntegerInRaw()
(#45584) - Fixes blade tags (#45490)
Changed
Added
- Added Passthrough PATH variable to serve command (#45402)
- Added whenHas to JsonResource (#45376)
- Added ./fleet directory to .gitignore (#45432)
- Added unless to JsonResource (#45419)
Fixed
- Fixed credentials check (#45437)
- Fixed decimal cast precision issue (#45456, #45492)
- Precognitive validation with nested arrays doesn't throw validation error (#45405)
- Fixed issue on which class to check increment and decrement methods for custom cast (#45444)
Changed
- Update decimal validation rule to allow validation of signed numbers (24a48b2)
- Output only unique asset / preload tags in Vite (#45404)
- Optimize whereKey method in Query Builder (#45453)
- Remove extra code in Model.php to optimize performance (#45476)
- Exception Handler prepareResponse add previous Exception (#45499)
Added
- Allows the registration of custom, root-level anonymous component search paths. (#45338, 1ff0379)
- Added decimal validation rule (#45356, e89b2b0)
- Added align property to button mail component (#45362)
- Added whereUlid(param) support for routing (#45372)
Fixed
- Fixed single line @php statements to not be parsed as php blocks in BladeCompiler (#45333)
- Added missing code to set locale from model preferred locale in Maillable (#45308)
Changed
Added
- Added
Illuminate/Auth/GuardHelpers::forgetUser()
(#45208) - Added sort option for schedule:list (#45198)
- Added
ascii
andulid
validation rules (#45218) - Http client - allow to provide closure as "throwif" condition (#45251)
- Support '/' as a possible column name in database (#45268)
- Added Granular notifications queue connections (#45264)
- Add support for native rename/drop column commands (#45258)
- Add $encoding parameter to substr method (#45300)
- Use Macroable in Session facade (#45310)
Fixed
- Fixed aliasing with cursor pagination (#45188)
- Fixed email verification request (#45227)
- Return 500 http error, instead of 200, when dotenv fails to load (#45235)
- Fixed bug on Job Batchs Table (#45263)
- Fixed schedule:list crash when call() is given class-string (#45306)
- Fixed Lack of Memory when failing a job with wrong variable passed on the method fail() (#45291)
- Fixed errors occurring when encrypted cookies has been tampered with (#45313)
- bug fix, change array_merge to array_replace to prevent reindex (#45309)
Changed
- Allow BusFake to use custom BusRepository (#45202)
- Improved error logging for unmatched routes and route not found (#45206)
- Improve assertSeeText and assertDontSeeText test methods (#45274)
- Improved
Illuminate/Auth/SessionGuard::clearUserDataFromStorage()
(#45305) - Allows shouldIgnoresDeprecationError() to be overriden (#45299)
Changed
- Improved stubs and
Illuminate/Routing/ResourceRegistrar::getResourceMethods()
(6ddf3b0)
Added
- Added --rest option to queue:listen (00a12e2, 82fde9e)
- Added
Illuminate/Support/Stringable::isUlid()
(#45100) - Add news report_if and report_unless helpers functions (#45093)
- Add callback to resolve custom mutex name of schedule events (#45126)
- Add WorkOptions to WorkerStopping Event (#45120)
- Added
singleton
andcreatable
options toIlluminate/Routing/Console/ControllerMakeCommand
(#44872)
Fixed
- Fix pure enums validation (#45121)
- Prevent test issues with relations with the $touches property (#45118)
- Fix factory breaking when trying to determine whether a relation is empty (#45135)
Changed
Added
- Added
Illuminate/Validation/Rules/DatabaseRule::onlyTrashed()
(#44989) - Add some class rules in class Rule (#44998)
- Added
Illuminate/View/ComponentAttributeBag::missing()
(#45016) - Added
Illuminate/Http/Concerns/InteractsWithInput::whenMissing()
(#45019) - Add isolation levels to SQL Server Connector (#45023)
- Fix php artisan serve with PHP_CLI_SERVER_WORKERS > 1 (#45041)
- Add ability to prune cancelled job batches (#45034)
- Adding option for custom manifest filename on Vite Facade (#45007)
Fixed
- Fix deprecation warning when comparing a password against a NULL database password (#44986, 206e465)
- Outlook web dark mode email layout fix (#45024)
Changed
- Improves queue:work command output (#44971)
- Optimize Collection::containsStrict (#44970)
- Make name required in
Illuminate/Testing/TestResponse::assertRedirectToRoute()
(98a0301) - Strip key, secret and token from root config options on aws clients (#44979)
- Allow customised implementation of the SendQueuedMailable job (#45040)
- Validate uuid before route binding query (#44945)
Added
- Include Eloquent Model Observers in model:show command (#44884)
- Added "lowercase" validation rule (#44883)
- Introduce
Lottery
class (#44894) - Added
/Illuminate/Testing/TestResponse::assertRedirectToRoute()
(#44926) - Add uppercase validation rule (#44918)
- Added saveManyQuietly to the hasOneOrMany and belongsToMany relations (#44913)
Fixed
- Fix HasAttributes::getMutatedAttributes for classes with constructor args (#44829)
Changed
- Remove argument assignment for console (#44888)
- Pass $maxExceptions from mailable to underlying job when queuing (#44903)
- Make Vite::isRunningHot public (#44900)
- Add method to be able to override the exception context format (#44895)
- Add zero-width space to trimmed characters in TrimStrings middleware (#44906)
- Show error if key:generate artisan command fails (#44927)
- Update database version check for lock popping for PlanetScale (#44925)
- Move function withoutTrashed into DatabaseRule (#44938)
- Use write connection on Schema::getColumnListing() and Schema::hasTable() for MySQL and PostgreSQL (#44946)
Added
- Added template fragments to Blade (#44774)
- Added source file to Collection's dd method output (#44793, d2e0e85)
- Added
Illuminate/Support/Testing/Fakes/PendingBatchFake::dispatchAfterResponse()
(#44815) - Added
Illuminate/Foundation/Testing/Concerns/InteractsWithDatabase::assertDatabaseEmpty()
(#44810)
Fixed
- Fixed
InteractsWithContainer::withoutMix()
(#44822)
Changed
- Update
UpCommand::handle
that must return int (#44807) - Decouple database component from console component (#44798)
- Improve input argument parsing for commands (#44662, #44826)
- Added DatabaseBatchRepository to provides() in BusServiceProvider (#44833)
- Move reusable onNotSuccessfulTest functionality to TestResponse (#44827)
- Add CSP nonce to Vite reactRefresh inline script (#44816)
- Allow route group method to be chained (#44825)
- Remove __sleep() & __wakeup() from SerializesModels trait. (#44847)
- Handle SQLite without ENABLE_DBSTAT_VTAB enabled in
Illuminate/Database/Console/DatabaseInspectionCommand::getSqliteTableSize()
(#44867) - Apply force flag when necessary in
Illuminate/Queue/Listener
(#44862) - De-couple Console component from framework (#44864)
- Update Vite mock to return empty array for preloadedAssets (#44858)
Added
- Added
Illuminate/Routing/Route::flushController()
(#44393) - Added
Illuminate/Session/Store::setHandler()
(#44736) - Added dictionary to slug helper (#44730)
- Added ability to set middleware based on notifiable instance and channel (#44767)
- Added touchQuietly convenience method to Model (#44722)
- Added
Illuminate/Routing/Router::removeMiddlewareFromGroup()
(#44780) - Allow queueable notifications to set maxExceptions (#44773)
- Make migrate command isolated (#44743, ac3252a)
Fixed
- Fixed whenPivotLoaded(As) api resource methods when using Eloquent strict mode (#44792)
- Fixed components view error when using $attributes in parent view (#44778)
- Fixed problem with disregarding global scopes when using existOr and doesntExistOr methods on model query (#44795)
Changed
Added
- Added rawValue to Database Query Builder (and Eloquent as wrapper) (#44631)
- Added TransactionCommitting (#44608)
- Added dontIncludeSource to CliDumper and HtmlDumper (#44623)
- Added
Illuminate/Filesystem/FilesystemAdapter::checksum()
(#44660) - Added handlers for silently discarded and missing attribute violations (#44664)
Reverted
Changed
Reverted
- Reverts micro-optimization on view events (#44653)
Fixed
- Fixes blade not forgetting compiled views on view:clear (#44643)
- Fixed
Illuminate/Database/Eloquent/Model::offsetExists()
(#44642) - Forget component's cache and factory between tests (#44648)
Changed
- Bump Testbench dependencies (#44651)
Added
- Added mailable assertions (#44563)
- Added
Illuminate/Testing/TestResponse::assertContent()
(#44580) - Added to
Illuminate/Console/Concerns/InteractsWithIO::alert()
$verbosity
param (#44614)
Optimization
- Makes blade components blazing fast (#44487)
Fixed
- Fixed
Illuminate/Filesystem/Filesystem::relativeLink()
(#44519) - Fixed for
model:show
failing with models that have null timestamp columns (#44576) - Allow Model::shouldBeStrict(false) to disable "strict mode" (#44627)
Changed
Fixed
- Remove check for
$viewFactory->exists($component)
inIlluminate/View/Compilers/ComponentTagCompiler::componentClass
(7c6db00)
Added
- Allow loading trashed models for resource routes (#44405)
- Added
Illuminate/Database/Eloquent/Model::shouldBeStrict()
and other (#44283) - Controller middleware without resolving controller (#44516)
- Alternative Mailable Syntax (#44462)
Fixed
- Fix issue with aggregates (withSum, etc.) for pivot columns on self-referencing many-to-many relations (#44286)
- Fixes issue using static class properties as blade attributes (#44473)
- Traversable should have priority over JsonSerializable in EnumerateValues (#44456)
- Fixed
make:cast --inbound
so it's a boolean option, not value (#44505)
Changed
- Testing methods. Making error messages with json_encode more readable (#44397)
- Have 'Model::withoutTimestamps()' return the callback's return value (#44457)
- only load trashed models on relevant routes (#44478)
- Adding additional PHP extensions to shouldBlockPhpUpload Function (#44512)
- Register cutInternals casters for particularly noisy objects (#44514)
- Use get methods to access application locale (#44521)
- return only on non empty response from channels (09d53ee, 3944a3e)
- Correct channel matching (#44531)
- Migrate mail components (#44527)
Added
- Short attribute syntax for Self Closing Blade Components (#44413)
- Adds support for PHP's BackedEnum to be "rendered" on blade views (#44445)
Fixed
- Fixed Precognition headers for Symfony responses (#44424)
- Allow to create databases with dots (#44436)
- Fixes dd source on windows (#44451)
Changed
- Adds error output to db command when missing host (#44394)
- Changed
Illuminate/Database/Schema/ForeignIdColumnDefinition::constrained()
(#44425) - Allow maintenance mode events to be listened to in closure based listeners (#44417)
- Allow factories to recycle multiple models of a given typ (#44328)
- Improves dd clickable link on multiple editors and docker environments (#44406)
Added
- Added
Illuminate/Support/Testing/Fakes/MailFake::cc()
(#44319) - Added Ignore Case of Str::contains and Str::containsAll to Stringable contains and containsAll (#44369)
- Added missing morphs methods for the ULID support (#44364)
- Introduce Laravel Precognition (#44339)
- Added
Illuminate/Routing/Route::flushController()
(#44386)
Fixed
- Fixes memory leak on PHPUnit's Annotations registry (#44324, #44336)
- Fixed
Illuminate/Filesystem/FilesystemAdapter::url()
with configprefix
(#44330) - Fixed the "Implicit conversion from float to int loses precision" error in Timebox Class (#44357)
Changed
Added
- New env:encrypt and env:decrypt commands (#44034)
- Share WithoutOverlapping key across jobs (#44227)
- Add missing citext type mapping to
Illuminate/Database/Console/DatabaseInspectionCommand::$typeMappings
(#44237) - Short attribute syntax for Blade Components (#44217)
- Adds source file to dd function output (#44211)
- Add methods to get request data as integer or float (#44239)
- Adds Eloquent User Provider query handler (#44226)
- Added
Illuminate/Support/Testing/Fakes/BusFake::dispatchFakeBatch()
(#44176) - Added methods to cast Stringables (#44238)
- Added
Illuminate/Routing/UrlGenerator::withKeyResolver()
(#44254) - Add a hook to the serialisation of collections (#44272)
- Allow enum route bindings to have default values (#44255)
- Added benchmark utility class (b4293d7, #44297)
- Added
Illuminate/Console/Scheduling/ManagesFrequencies::everyOddHour()
(#44288)
Fixed
- Fix incrementing string keys (#44247)
- Fix bug in Fluent Class with named arguments in migrations (#44251)
- Fix "about" command caching report (#44305)
- Fixes memory leaks (#44306, #44307)
Changed
Added
- Added unique deferrable initially deferred constants for PostgreSQL (#44127)
- Request lifecycle duration handler (#44122)
- Added Model::withoutTimestamps(...) (#44138)
- Added manifestHash function to Illuminate\Foundation\Vite (#44136)
- Added support for operator <=> in
/Illuminate/Collections/Traits/EnumeratesValues::operatorForWhere()
(#44154) - Added that Illuminate/Database/Connection::registerDoctrineType() can accept object as well as classname for new doctrine type (#44149)
- Added Fake Batches (#44104, #44173)
- Added
Model::getAppends()
(#44180) - Added missing Str::wrap() static method (#44207)
- Added require
symfony/uid
(#44202) - Make Vite macroable (#44198)
Fixed
- Async fix in
Illuminate/Http/Client/PendingRequest
(#44179) - Fixes artisan serve command with PHP_CLI_SERVER_WORKERS environment variable (#44204)
- Fixed
InteractsWithDatabase::castAsJson($value)
incorrectly handles SQLite Database (#44196)
Changed
Added
- Allow using a model instance in place of nested model factories (#44107)
- Added UUID and ULID support for Eloquent (#44074)
- Implement except method for fake classes to define what should not be faked (#44117)
- Added interacts with queue middleware to send queued mailable (#44124)
- Added new exception string to
Illuminate/Database/DetectsLostConnections
(#44121)
Fixed
Changed
Added
- Added RequiredIfAccepted validation rule (#44035)
- Added
Illuminate/Foundation/Vite::assetPath()
(#44037) - Added ability to discard Eloquent Model changes (#43772)
- Added ability to determine if attachments exist to
Illuminate/Mail/Mailable
(#43967) - Added
Illuminate/Support/Testing/Fakes/BusFake::assertNothingBatched()
(#44056)
Reverted
Fixed
- Avoid Passing null to parameter exception on PHP 8.1 (#43951)
- Align Remember Me Cookie Duration with CookieJar expiration (#44026)
- Fix Stringable typehints with Enumerable (#44030)
- Fixed middleware "SetCacheHeaders" with file responses (#44063)
Changed
Added
- Added view data assertions to TestView (#43923)
- Added
Illuminate/Routing/Redirector::getIntendedUrl()
(#43938) - Added Eloquent mode to prevent prevently silently discarding fills for attributes not in $fillable (#43893)
- Added
Illuminate/Testing/PendingCommand::assertOk()
(#43968) - Make Application macroable (#43966)
- Introducing Signal Traps (#43933)
- Allow registering instances of commands (#43986)
- Support Enumerable in Stringable (#44012)
Fixed
- Fixed RoueGroup::merge to format merged prefixes correctly. (#44011)
- Fixes providesTemporaryUrls on AwsS3V3Adapter (#44009)
- Fix ordering of stylesheets when using @vite (#43962)
Changed
- Allow invokable rules to specify custom messsages (#43925)
- Support objects like GMP for custom Model casts (#43959)
- Default 404 message on denyAsNotFound (#43901)
- Changed
Illuminate/Container/Container::resolvePrimitive()
for isVariadic() (#43985) - Allow validator messages to use nested arrays (#43981)
- Ensure freezeUuids always resets UUID creation after exception in callback (#44018)
Added
- Add getter and setter for connection in the DatabaseBatchRepository class (#43869)
Fixed
- Fix for potential bug with non-backed enums (#43842)
- Patch nested array validation rule regression bug (#43897)
- Fix registering event listeners with array callback (#43890)
Changed
- Explicitly add column name to SQLite query in
Illuminate/Database/Console/DatabaseInspectionCommand::getSqliteTableSize()
(#43832) - Allow broadcast on demand notifications (d2b1446)
- Make Vite::hotFile() public (#43875)
- Prompt to create sqlite db when migrating (#43867)
- Call prepare() on HttpException responses (#43895)
- Make the model:prune command easier to extend (#43919)
Added
- Adding support for non-backed enums in Models (#43728)
- Added vite asset url helpers (#43702)
- Added Authentication keyword for SqlServerConnector.php (#43757)
- Added support for additional where* methods to route groups (#43731)
- Added min_digits and max_digits validation (#43797)
- Added closure support to dispatch conditionals in bus (#43784)
- Added configurable paths to Vite (#43620)
Fixed
- Fix unique lock release for broadcast events (#43738)
- Fix empty collection class serialization (#43758)
- Fixes creation of deprecations channel (#43812)
Changed
- Improve display of failures for assertDatabaseHas (#43736)
- Always use the write PDO connection to read the just stored pending batch in bus (#43737)
- Move unique lock release to method (#43740)
- Remove timeoutAt fallback from Job base class (#43749)
- Convert closures to arrow functions (#43778)
- Use except also in
Illuminate/Routing/Middleware/ValidateSignature::handle()
(e554d47) - Adjust forever time for cookies (#43806)
- Make string padding UTF-8 safe (f1762ed)
Fixes
Added
- Added whenNotExactly to Stringable (#43700)
- Added ability to Model::query()->touch() to mass update timestamps (#43665)
Fixed
- Prevent error in db/model commands when using unsupported columns (#43635)
- Fixes ensureDependenciesExist runtime error (#43626)
- Null value for auto-cast field caused deprication warning in php 8.1 (#43706)
- db:table command properly handle table who doesn't exist (#43669)
Changed
Added
- New db:show, db:table and db:monitor commands (#43367)
- Added validation doesnt_end_with rule (#43518)
- Added
Illuminate/Database/Eloquent/SoftDeletes::restoreQuietly()
(#43550) - Added mergeUnless to resource ConditionallyLoadsAttributes trait (#43567)
- Added
Illuminate/Support/Testing/Fakes/NotificationFake::sentNotifications()
(#43558) - Added
implode
toPassthru
inIlluminate/Database/Eloquent/Builder.php
(#43574) - Make Config repository macroable (#43598)
- Add whenNull to ConditionallyLoadsAtrribute trait (#43600)
- Extract child route model relationship name into a method (#43597)
Revert
Fixed
- Fix unique locking on broadcast events (#43516)
- Fixes the issue of running docs command on windows (#43566, #43585)
- Fixes output when running db:seed or using --seed in migrate commands (#43593)
Changed
- Gracefully fail when unable to locate expected binary on the system for artisan docs command (#43521)
- Improve output for some Artisan commands (#43547)
- Alternative database name in Postgres DSN, allow pgbouncer aliased databases to continue working on 9.x (#43542)
- Allow @class() for component tags (#43140)
- Attribute Cast Performance Improvements (#43554)
- Queue worker daemon should also listen for SIGQUIT (#43607)
- Keep original keys when using Collection->sortBy() with an array of sort operations (#43609)
Added
- Added whereNot method to Fluent JSON testing matchers (#43383)
- Added deleteQuietly method to Model and use arrow func for related methods (#43447)
- Added conditionable trait to Filesystem adapters (#43450)
- Introduce artisan docs command (#43357)
- Added Support CSP nonce, SRI, and arbitrary attributes with Vite (#43442)
- Support conditionables that get condition from target object (#43449)
- Added
whereIn
toIlluminate/Routing/RouteRegistrar::allowedAttributes
(#43509)
Fixed
- Prevent redis crash when large number of jobs are scheduled for a specific time (#43310)
Changed
Added
- Added ability to attach an array of files in MailMessage (#43080)
- Added conditional lines to MailMessage (#43387)
- Add support for multiple hash algorithms to
Illuminate/Filesystem/Filesystem::hash()
(#43407)
Fixed
- Fixes for model:show when attribute default is an enum (#43370)
- Fixed DynamoDB locks with 0 seconds duration (#43365)
- Fixed overriding global locale (#43426)
Changed
Revert
Revert
Added
- Added inspiring quote (#43180, #43189)
- Introducing a fresh new look for Artisan (#43065)
- Added whenCounted to JsonResource (#43101)
- Artisan model:show command (#43156)
- Artisan
about
Command (#43147, 51b5eda, #43225, #43276) - Adds enum casting to Request (#43239)
Revert
- Revert "Fix default parameter bug in routes" (#43208)
- Revert route change PR (#43255)
Fixed
- Fix transaction attempts counter for sqlsrv (#43176)
Changed
- Make assertDatabaseHas failureDescription more multibyte character friendly (#43181)
- ValidationException summarize only when use strings (#43177)
- Improve mode function in collection (#43240)
- clear Facade resolvedInstances in queue worker resetScope callback (#43215)
- Improves queue:work command (#43252)
- Remove null default attributes names when UPDATED_AT or CREATED_AT is null at Model::replicate (#43279)
- Protect against ambiguous columns (#43278)
- Use readpast query hint instead of holdlock for sqlsrv database queue (#43259)
- Vendor publish flag that restricts to only existing files (#43212)
Added
- Added quote from Mustafa Kemal Atatürk (#43022)
- Allow Collection random() to accept a callable (#43028)
- Added
Str::inlineMarkdown()
(#43126) - Allow authorization responses to specify HTTP status codes (#43097)
- Added required directive (#43103)
- Added replicateQuietly to Model (#43141)
- Added ignore param to ValidateSignature middleware (#43160)
Fixed
- Fixed forceCreate on MorphMany not returning newly created object (#42996)
- Fixed missing return in
Illuminate/Mail/Attachment::fromStorageDisk()
(#43023) - Fixed inconsistent content type when using ResponseSequence (#43051)
- Prevent double throwing chained exception on sync queue (#42950)
- Avoid matching multi-line imports in GenerateCommand stub templates (#43093)
Changed
- Disable Column Statistics for php artisan schema:dump on MariaDB (#43027)
- Bind a Vite Null Object to the Container instead of a Closure in
Illuminate/Foundation/Testing/Concerns/InteractsWithContainer::withoutVite()
(#43040) - Early return when message format is the default in
Illuminate/Support/MessageBag::transform()
(#43149)
Added
- Add new allowMaxRedirects method to PendingRequest (#42902)
- Add support to detect dirty encrypted model attributes (#42888)
- Added Vite (#42785)
Fixed
- Fixed bug on forceCreate on a MorphMay relationship not including morph type (#42929)
- Fix default parameter bug in routes (#42942)
- Handle cursor paginator when no items are found (#42963)
- Fixed Str::Mask() for repeating chars (#42956)
- Fix undefined constant error when use slot name as key of object (#42943)
- Fix BC break for Log feature tests (#42987)
Changed
- Allow instance of Enum pass Enum Rule (#42906)
Added
- Improve file attachment for mail and notifications (#42563)
- Introduce Invokable validation classes (#42689)
- Predis v2.0 (#42577)
- Added
Illuminate/View/Compilers/Concerns/CompilesConditionals::compileReadonly()
(#42717) - Apply where's from union query builder in cursor pagination (#42651)
- Added ability to define "with" relations as a nested array (#42690)
- Added ability to set backoff in broadcast events (#42737)
- Added host(), httpHost(), schemeAndHttpHost() to Request (#42797)
- Allow invokable rules to push messages to nested (or other) attributes (#42801)
- Adds compilePushIf and compileEndpushIf functions to View compiler (#42762)
- Added: Allow removing token during tests (#42841)
- Added predefined_constants to reservedNames array in
Illuminate/Console/GeneratorCommand
(#42832) - Handle collection creation around a single enum (#42839)
- Allow for nullable morphs in whereNotMorphedT (#42878)
- Introduce a fake() helper to resolve faker singletons, per locale (#42844)
- Allow handling cumulative query duration limit per DB connection (#42744)
- Add invokable option to make rule command (#42742)
Fixed
- Fix deprecation error in the route:list command (#42704)
- Fixed Request offsetExists without routeResolver (#42754)
- Fixed: Loose comparison causes the value not to be saved (#42793)
- Fixed: Fix database session driver keeps resetting CSRF token (#42782)
- Fixed: Arr::map - Fix map-by-reference w/ built-ins (#42815)
- Fixed league/flysystem suggest (#42872)
Changed
- Start session in TestResponse to allow marshalling of error bag from JSON (#42710)
- Rename methods in
Illuminate/Broadcasting/BroadcastManager
(753e9fd) - Avoid throwing on invalid mime-type in
Illuminate/Filesystem/FilesystemAdapter::mimeType()
(#42761) - Do not resolve already set headers in
Illuminate/Filesystem/FilesystemAdapter
(#42760) - Standardise invokable rule translation functionality (#42873)
- Clear cast cache when setting attributes using arrow (#42852)
Added
- Added Illuminate/Database/Eloquent/Builder::withoutEagerLoad() (#42641)
- Allow random string generation to be controlled (#42669)
- Adds doesnt_start_with validation (#42683, de35bf2)
- Added quarterlyOn cron schedule frequency command (#42692)
Fixed
- Free reserved memory before handling fatal errors (#42630, #42646)
- Prevent $mailer being reset when testing mailables that implement ShouldQueue (#42695)
- Added checks for Pusher 7.1 preps (#42632)
- Fixed grouping for user authorization (#42664)
Changed
- Allow assertions against pushed string based pushed jobs (#42676)
Added
- Added Eloquent withWhereHas method (#42597)
- User authentication for Pusher (#42531)
- Added additional uuid testing helpers (#42619)
Fixed
- Fix queueable notification's ID overwritten (#42581)
- Handle undefined array key error in route (#42606)
Deprecated
- Illuminate/Routing/Redirector::home() (#42600)
Added
- Added --only-vendor option to route:list command (#42549)
- Added
Illuminate/Http/Client/PendingRequest::throwUnless()
(#42556) - Added
Illuminate/Support/Str::isJson()
(#42545) - Added
Illuminate/Filesystem/Filesystem::isEmptyDirectory()
(#42559) - Added
Add counts to route:list command
(#42551) - Support kebab case for slot name shortcut (#42574)
Revered
Fixed
- Fix getting '0' from route parameter in Authorize middleware (#42582)
Changed
- Retain the original attribute value during validation of an array key with a dot for correct failure message (#42395)
- Allow bootable test traits to teardown (#42521)
- Pass thrown exception to $sleepMilliseconds closure in retry helper (#42532)
- Make HasTimestamps::updateTimestamps chainable (#42533)
- Remove meaningless parameter in
Illuminate/View/Concerns/ManagesEvents
(#42546) - Map integer parameter to parameter name when resolving binding field (#42571)
- Conditionable should return HigherOrderWhenProxy only when the args number is exactly 1 (#42555)
Added
- Added ability to add table comments for MySQL and Postgres (#42401)
- Added dynamic trashed factory state (#42414)
- Added Illuminate/Collections/Arr::prependKeysWith() (#42448)
- Added bootable traits to TestCase (#42394)
Fixed
- Fix clone issue on updateOrCreate and firstOrCreate (#42434)
- Prevent double sanitized key in [email protected] (#42462)
- Add flush handler to output buffer for streamed test response (bugfix) (#42481)
Changed
- Adds attaches a concise error message to SES exceptions (#42426)
- Use duplicate instead of createFromBase to clone request when routes are cached (#42420)
- Use model route key when route parameter does not specifiy custom binding field but a different parameter does (#42425)
- Adds ability to have paginate() $perPage parameter as callable with access to $total (#42429)
- Extract ServeCommand env list to static property (#42444)
- Use route parameters in view (#42461)
Added
- Added Illuminate/Collections/Traits/EnumeratesValues::value() (#42257)
- Added new TestResponse helper: assertJsonMissingPath (#42361)
- Added Illuminate/Support/Testing/Fakes/NotificationFake::assertCount() (#42366)
- Added new DetectLostConnections (#42377, #42382)
- Added Illuminate/Testing/TestResponse::collect() (#42384)
- Added full callable support to schedule:list (#42400)
- Added
Illuminate/Collections/Arr::map()
(#42398)
Fixed
- Fixed PruneCommand finding its usage within other traits (#42350)
- Fix assert that exception is thrown without message (#42360)
Changed
- Skip parameter parsing for raw post body in HTTP Client (#42364)
- Consistency between digits and digits_between validation rules (#42358)
- Corrects the use of "failed_jobs" instead of "job_batches" in BatchedTableCommand (#42389)
- Update email.blade.php (#42388)
- Remove old monolog 1.x compat code (#42392)
- SesTransport: use correct Tags argument (#42390)
- Implement robust handling of forwarding of exception codes (#42393)
Fixed
- Factory fails to eval models and factories when returned from closure (#42344)
Changed
- Added is_string check to [email protected] (#42341)
Added
- Added closure based exceptions testing (#42155)
- Allow forcing requests made via the Http client to be faked (#42230)
- Added 'throwIf' method to PendingRequest (#42260)
- Allow passing key/value arrays to getArguments and getOptions (#42268)
- Add whereNotMorphedTo, orWhereNotMorphedTo (#42264)
- Add method to extend localeArray generation (#42275)
- Added ability to set delay per channel based on notifiable instance (#42239)
- Added Illuminate/Pagination/CursorPaginator::onLastPage() (#42301)
- Added findOr method to Query/Builder (#42290)
Fixed
- Fix too many channels with pusher broadcasting (#42287)
- Fix Str::Mask() for repeating chars (#42295)
- Fix EventFake::assertListening() for asserting string-based observer listeners (#42289)
- Fixed Loose comparison causes the value not to be saved (#41337)
- Fix multiple dots for digits_between rule (#42330)
Changed
- Enable to modify HTTP Client request headers when using beforeSending() callback (#42244)
- Make throttle lock acquisition retry configurable for concurrency limiter (#42242)
- Defers expanding callables on Factories (#42241)
- Add wherehas soft deleting scopes (#42100)
- Improve password checks (#42248)
- Set relation parent key when using forceCreate on HasOne and HasMany relations (#42281)
- Make sure the prefix override behaviours are the same between phpredis and predis drivers (#42279)
- Share logging context across channels and stacks (#42276)
Added
- Add the ability to use alias when performing upsert via MySQL (#42053)
- Illuminate/Routing/Router::middlewareGroup() will support array of the middlewares (#42004, e6b84fb)
- Added Missing AsCommand attribute on schedule:list (#42069)
- Add the beforeRefreshingDatabase function to the Testing/RefreshDatabase trait (#42073)
- Added doesntExpectOutputToContain assertion method (#42096)
- Added a findOr method to Eloquent (#42092)
- Allow extension in
Illuminate/View/Compilers/Compiler.php
(68e41fd) - Support 'IS' and 'IS NOT' PostgreSQL operators (#42123)
- Added
str
andstring
methods to Illuminate/Http/Concerns/InteractsWithInput (c9d34b7) - Added methods to append and prepend jobs to existing chain (#42138)
Fixes
- Make it so non-existent jobs run down the failed path instead of crashing (#42079)
- Fix schedule:work command Artisan binary name (#42083)
- Fix TrimStrings middleware with non-UTF8 characters (#42065)
- Copy locale and defaultLocale from original request in Request::createFrom() (#42080)
- Fix ViewErrorBag for JSON session serialization (#42090)
- Fix array keys from cached routes in CompiledRouteCollection::getRoutesByMethod() (#42078)
- Fix json_last_error issue with JsonResponse::setData (#42125)
- Fix bug in BelongsToMany where non-related rows are returned (#42087)
- Fix HasAttributes::mutateAttributeForArray when accessing non-cached attribute (#42130)
Changed
- Make password rule errors translatable (#42060)
- Redesign of the event:list Command. (#42068)
- Changed event:list command (#42084)
- Throw LostDbConnectionException instead of LogicException (#42102)
- Throw deadlock exception (#42129)
- Support Arr::forget() for nested ArrayAccess objects (#42142)
- Allow Illuminate/Collections/Enumerable::jsonSerialize() to return other types (#42133)
- Update schedule:list colouring output (#42153
Added
- Add getAllTables support for SQLite and SQLServer schema builders (#41896)
- Added withoutEagerLoads() method to Builder (#41950)
- Added 'throw' method to PendingRequest (#41953)
- Configurable pluralizer language and uncountables (#41941)
Fixed
- Fixed Error in Illuminate/Routing/Exceptions/StreamedResponseException (#41955)
- Fix PHP warnings when rendering long blade string (#41956)
- Fix ExcludeIf regression to use Closure over is_callable() (#41969)
- Fixes applying replacements to multi-level localization arrays (#42022)
Changed
Added
- Added inbound option to CastMakeCommand (#41838)
- Added a way to retrieve the first column of the first row from a query (#41858)
- Make DatabaseManager Macroable (#41868)
- Improve Str::squish() (#41877, #41924)
- Added option to disable cached view (#41859)
- Make Connection Class Macroable (#41865)
- Added possibility to discover anonymous Blade components in other folders (#41637)
- Added
Illuminate/Database/Eloquent/Factories/Factory::set()
(#41890) - Added multibyte support to string padding helper functions (#41899)
- Allow to use custom log level in exception handler reporting (#41925)
Fixed
- Illuminate/Support/Stringable::exactly() with Stringable value (#41846)
- Fixed afterCommit and RefreshDatabase (#41782)
- Fix null name for email address in
Illuminate/Mail/Message
(#41870) - Fix seeder property for in-memory tests (#41869)
- Fix empty paths for server.php (#41933)
- Fix ExcludeIf constructor (#41931)
Changed
- Set custom host to the serve command with environment variable (#41831)
- Add handling of object being passed into old method in Model (#41842)
- Catch permission exception when creating directory (#41871)
- Restore v8 behaviour of base query for relations (#41918, #41923)
- Standardize withCount() & withExists() eager loading aggregates (#41914)
Added
- Make whereBelongsTo accept Collection (#41733)
- Database queries containing JSON paths support array index braces (#41767)
- Fire event before route matched (#41765)
- Added to
Illuminate/Http/Resources/ConditionallyLoadsAttributes::whenNotNull
method (#41769) - Added "whereIn" route parameter constraint method (#41794)
- Added
Illuminate/Queue/BeanstalkdQueue::bulk()
(#41789) - Added
Illuminate/Queue/SqsQueue::bulk()
(#41788) - Added String::squish() helper (#41791)
- Added query builder method whereJsonContainsKey() (#41802)
- Enable dispatchAfterResponse for batch (#41787)
Fixed
- Factory generation fixes (#41688)
- Fixed Http Client throw boolean parameter of retry method (#41762, #41792)
- Ignore empty redis username string in PhpRedisConnector (#41773)
- Fixed support of nullable type for AsArrayObject/AsCollection (#41797, 05846e7)
- Fixed adding jobs from iterable to the pending batch (#41786)
- Http client: fix retry handling of connection exception (#41811)
Changed
- Enable batch jobs delay for database queue (#41758)
- Enable batch jobs delay for redis queue (#41783)
- Http client: dispatch "response received" event for every retry attempt (#41793)
- Http Client: provide pending request to retry callback (#41779)
- Allow non length limited strings and char for postgresql (#41800)
- Revert some Carbon::setTestNow() removals (#41810)
- Allow cleanup of databases when using parallel tests (#41806)
Added
- Added whenTableHasColumn and whenTableDoesntHaveColumn on Schema Builder (#41517)
- Added Illuminate/Mail/Mailable::hasSubject() (#41575)
- Added
Illuminate/Filesystem/Filesystem::hasSameHash()
(#41586)
Fixed
- Fixed deprecation warning in
Str::exists()
(d39d92d) - Fix artisan make:seeder command nested namespace and class name problem (#41534)
- Fixed Illuminate/Redis/Connections/PhpRedisConnection::handle() (#41546)
- Stop throwing LazyLoadingViolationException for recently created model instances (#41549)
- Close doctrineConnection on disconnect (#41584)
Changed
- Make throttle lock acquisition retry time configurable (#41516)
- Allows object instead of array when adding to PendingBatch (#41475)
- Exactly match scheduled command --name in schedule:test (#41528)
- Handle Symfony defaultName deprecation (#41555, #41595)
- Improve ScheduleListCommand (#41552, #41535, #41494)
- Remove useless if statement in Str::mask() (#41570)
Added
- Added callback support on implode Collection method. (#41405)
- Added
Illuminate/Filesystem/FilesystemAdapter::assertDirectoryEmpty()
(#41398) - Implement email "metadata" for SesTransport (#41422)
- Make assertPath() accepts Closure (#41409)
- Added callable support to operatorForWhere on Collection (#41414, #41424)
- Added partial queue faking (#41425)
- Added --name option to schedule:test command (#41439)
- Define
Illuminate/Database/Eloquent/Concerns/HasRelationships::newThroughInstance()
(#41444) - Added
Illuminate/Support/Stringable::wrap()
(#41455) - Adds "freezeTime" helper for tests (#41460)
- Allow for callables with beforeSending in
Illuminate/Http/Client/PendingRequest.php::runBeforeSendingCallbacks()
(#41489)
Fixed
- Fixed deprecation warnings from route:list when filtering on name or domain (#41421)
- Fixes HTTP::pool response when a URL returns a null status code (#41412)
- Fixed recaller name resolution in
Illuminate/Session/Middleware/AuthenticateSession.php
(#41429) - Fixed the guard instance used in /Illuminate/Session/Middleware/AuthenticateSession.php (#41447)
- Fixed route:list --except-vendor hiding Route::view() & Route::redirect() (#41465)
Changed
- Add null typing to connection property in \Illuminate\Database\Eloquent\Factories\Factory (#41418)
- Update reserved names in GeneratorCommand (#41441)
- Redesign php artisan schedule:list Command (#41445)
- Extend eloquent higher order proxy properties (#41449)
- Allow passing named arguments to dynamic scopes (#41478)
- Throw if tag is passed but is not supported in
Illuminate/Encryption/Encrypter.php
(#41479) - Update PackageManifest::$vendorPath initialisation for cases, when composer vendor dir is not in project director (#41463)
Added
- Support modifying a char column type (#41320)
- Add "Mutex" column to 'schedule:list' command (#41338)
- Allow eloquent whereNot() and orWhereNot() to work on column and value (#41296)
- Allow VerifyCsrfToken's CSRF cookie to be extended (#41342)
- Added
soleValue()
to query builder (#41368) - Added
lcfirst()
toStr
andStringable
(#41384) - Added retryUntil method to queued mailables (#41393)
Fixed
- Fixed middleware sorting for authenticating sessions (50b46db)
- Fixed takeUntilTimeout method of LazyCollection (#41354, #41370)
- Fixed directory for nested markdown files for mailables (#41366)
- Prevent serializing default values of queued jobs (#41348)
- Fixed get() and head() in
Illuminate/Http/Client/PendingRequest.php
(a54f481)
Changed
v8.83.4 (2022-03-08)
Added
- Added
Illuminate/Bus/Batch::__get()
(#41361)
Fixed
- Fixed get and head options in
Illuminate/Http/Client/PendingRequest
(23ff879)
Added
- Optionally cascade thrown Flysystem exceptions by @driesvints in https://github.com/laravel/framework/pull/41308
Changed
- Allow overriding transport type on Mailgun transporter by @jnoordsij in https://github.com/laravel/framework/pull/41309
- Change how Laravel handles strict morph map with pivot classes by @crynobone in https://github.com/laravel/framework/pull/41304
Fixed
- $job can be an object in some methods by @villfa in https://github.com/laravel/framework/pull/41244
- Fix docblock on Batch class by @yoeriboven in https://github.com/laravel/framework/pull/41295
- Correct
giveConfig
param doc by @Neol3108 in https://github.com/laravel/framework/pull/41314 - Fix MySqlSchemaState does not add --ssl-ca to mysql cli by @DeepDiver1975 in https://github.com/laravel/framework/pull/41315
- Do not prepend baseUrl to absolute urls by @JaZo in https://github.com/laravel/framework/pull/41307
- Fixes getting the trusted proxies IPs from the configuration file by @nunomaduro in https://github.com/laravel/framework/pull/41322
Fixed
- $job can be an object in some methods by @villfa in https://github.com/laravel/framework/pull/41244
- Fixes getting the trusted proxies IPs from the configuration file by @nunomaduro in https://github.com/laravel/framework/pull/41322
Added
- Add NotificationFake::assertNothingSentTo() by @axlon (#41232)
- Support --ssl-ca on schema load and dump by @DeepDiver1975 (#40931)
- Add whereNot() to Query Builder and Eloquent Builder by @marcovo (#41096)
- Added support for index and position placeholders in array validation messages by @Bird87ZA (#41123)
- Add resource binding by @aedart (#41233)
- Add ability to push additional pipes onto a pipeline via chain($pipes) by @stevebauman (#41256)
- Add option to filter out routes defined in vendor packages in route:list command by @amiranagram (#41254)
Fixed
- Query PostgresBuilder fixes for renamed config 'search_path' by @derekmd (#41215)
- Improve doctypes for Eloquent Factory guessing methods by @bastien-phi (#41245)
- Fix Conditional::when and Conditional::unless when called with invokable by @bastien-phi (#41270)
- Improves Support\Collection reduce method type definition by @fdalcin (#41272)
- Fix inconsistent results of firstOrNew() when using withCasts() by @Attia-Ahmed (#41257)
- Fix implicitBinding and withTrashed route with child with no SoftDeletes trait by @stein-j (#41282)
Changed
Added
- Added
Illuminate/Database/Eloquent/Casts/Attribute::make()
(#41014) - Added
Illuminate/Collections/Arr::keyBy()
(#41029) - Added expectsOutputToContain to the PendingCommand. (#40984)
- Added ability to supply HTTP client methods with JsonSerializable instances (#41055)
- Added
Illuminate/Filesystem/AwsS3V3Adapter::getClinet()
(#41079) - Added Support for enum in Builder::whereRelation (#41091)
- Added X headers when using Mail::alwaysTo (#41101)
- Added of support Bitwise operators in query (#41112)
- Integrate Laravel CORS into framework (#41137)
- Added
Illuminate/Support/Str::betweenFirst()
(#41144) - Allow specifiying custom messages for Rule objects (#41145)
Fixed
- Fixed Queue Failed_jobs insert issue with Exception contain UNICODE (#41020)
- Fixes attempt to log deprecations on mocks (#41057)
- Fixed loadAggregate not correctly applying casts (#41050)
- Do not transform JsonSerializable instances to array in HTTP client methods (#41077)
- Fix parsing config('database.connections.pgsql.search_path') (#41088)
- Eloquent: firstWhere returns Object instead of NULL (#41099)
- Fixed updated with provided qualified updated_at (#41133)
- Fix setPriority Call for MailChannel (#41120)
- Fixed route:list command output (#41177)
- Fix database migrations $connection property (#41161)
Changed
- Cursor pagination: convert original column to expression (#41003)
- Cast $perPage to integer on Paginator (#41073)
- Restore S3 client extra options (#41097)
- Use
latest()
withinnotifications()
inIlluminate/Notifications/HasDatabaseNotifications.php
(#41095) - Remove duplicate queries to find batch (#41121)
- Remove redundant check in FormRequest::validated() (#41115)
- Illuminate/Support/Facades/Storage::fake() changed (#41113)
- Use coalesce equal as provided by PHP >= 7.4 (#41174)
- Simplify some conditions with is_countable() (#41168)
- Pass AWS temporary URL options to createPresignedRequest method (#41156)
- Let Multiple* exceptions hold the number of records and items found (#41164)
Added
- Added the ability to use the uniqueFor method for Jobs by @andrey-helldar in https://github.com/laravel/framework/pull/40974
- Add filtering of route:list by domain by @Synchro in https://github.com/laravel/framework/pull/40970
- Added dropForeignIdFor method to match foreignIdFor method by @bretto36 in https://github.com/laravel/framework/pull/40950
- Adds
Str::excerpt
by @nunomaduro in https://github.com/laravel/framework/pull/41000 - Make:model --morph flag to generate MorphPivot model by @michael-rubel in https://github.com/laravel/framework/pull/41011
- Add doesntContain to higher order proxies by @edemots in https://github.com/laravel/framework/pull/41034
Changed
- Improve types on model factory methods by @axlon in https://github.com/laravel/framework/pull/40902
- Add support for passing array as the second parameter for the group method. by @hossein-zare in https://github.com/laravel/framework/pull/40945
- Makes
ExceptionHandler::renderForConsole
internal on contract by @nunomaduro in https://github.com/laravel/framework/pull/40956 - Put the error message at the bottom of the exceptions by @nshiro in https://github.com/laravel/framework/pull/40886
- Expose next and previous cursor of cursor paginator by @gdebrauwer in https://github.com/laravel/framework/pull/41001
Fixed
- Fix FTP root config by @driesvints in https://github.com/laravel/framework/pull/40939
- Allows tls encryption to be used with port different than 465 with starttls by @nicolalazzaro in https://github.com/laravel/framework/pull/40943
- Catch suppressed deprecation logs by @nunomaduro in https://github.com/laravel/framework/pull/40942
- Fix typo in method documentation by @shadman-ahmed in https://github.com/laravel/framework/pull/40951
- Patch regex rule parsing due to
Rule::forEach()
by @stevebauman in https://github.com/laravel/framework/pull/40941 - Fix replacing request options by @driesvints in https://github.com/laravel/framework/pull/40954
- Fix
MessageSent
event by @driesvints in https://github.com/laravel/framework/pull/40963 - Add firstOr() function to BelongsToMany relation by @r-kujawa in https://github.com/laravel/framework/pull/40828
- Fix
isRelation()
failing to check anAttribute
by @rodrigopedra in https://github.com/laravel/framework/pull/40967 - Fix default pivot attributes by @iamgergo in https://github.com/laravel/framework/pull/40947
- Fix enum casts arrayable behaviour by @diegotibi in https://github.com/laravel/framework/pull/40885
- Solve exception error: Undefined array key "", in artisan route:list command by @manuglopez in https://github.com/laravel/framework/pull/41031
- Fix Duplicate Route Namespace by @moisish in https://github.com/laravel/framework/pull/41021
- Fix the error message when no routes are detected by @LukeTowers in https://github.com/laravel/framework/pull/41017
- Fix mails with tags and metadata are not queuable by @joostdebruijn in https://github.com/laravel/framework/pull/41028
Added
- Add disabled directive by @belzaaron in https://github.com/laravel/framework/pull/40900
Changed
- Widen the type of
Collection::unique
$key
parameter by @NiclasvanEyk in https://github.com/laravel/framework/pull/40903 - Makes
ExceptionHandler::renderForConsole
internal by @nunomaduro in https://github.com/laravel/framework/pull/40936 - Removal of Google Font integration from default exception templates by @bashgeek in https://github.com/laravel/framework/pull/40926
- Allow base JsonResource class to be collected by @jwohlfert23 in https://github.com/laravel/framework/pull/40896
Fixed
- Fix Support\Collection reject method type definition by @joecampo in https://github.com/laravel/framework/pull/40899
- Fix SpoofCheckValidation namespace change by @eduardor2k in https://github.com/laravel/framework/pull/40923
- Fix notification email recipient by @driesvints in https://github.com/laravel/framework/pull/40921
- Fix publishing visibility by @driesvints in https://github.com/laravel/framework/pull/40918
- Fix Mailable->priority() by @giggsey in https://github.com/laravel/framework/pull/40917
Changed
- Improves
Support\Collection
each method type definition by @zingimmick in https://github.com/laravel/framework/pull/40879
Fixed
- Update Mailable.php by @rentalhost in https://github.com/laravel/framework/pull/40868
- Switch to null coalescing operator in Conditionable by @inxilpro in https://github.com/laravel/framework/pull/40888
- Bring back old return behaviour by @ankurk91 in https://github.com/laravel/framework/pull/40880
Check the upgrade guide in the Official Laravel Upgrade Documentation. Also you can see some release notes in the Official Laravel Release Documentation.
Added
- Add isolation level configuration for Postgres connector by @rezaamini-ir in https://github.com/laravel/framework/pull/40767
- Add a string helper to swap multiple keywords in a string by @amitmerchant1990 in https://github.com/laravel/framework/pull/40831 & https://github.com/laravel/framework/commit/220f4ac11d462b4ee9ff2cb9b48b93d6f560223a
Changed
- Make
PendingRequest
Conditionable
by @phillipfickl in https://github.com/laravel/framework/pull/40762 - Add a BladeCompiler::renderComponent() method to render a component instance by @tobyzerner in https://github.com/laravel/framework/pull/40745
- Doc block tweaks in
BladeCompiler.php
by @JayBizzle in https://github.com/laravel/framework/pull/40772 - Revert Bit operators by @driesvints in https://github.com/laravel/framework/pull/40791
- Improves
Support\Reflector
to support checking interfaces by @hassanhe in https://github.com/laravel/framework/pull/40822 - Support cursor pagination with union query by @deleugpn in https://github.com/laravel/framework/pull/40848
- Consistent
Stringable::swap()
&Str::swap()
implementations by @derekmd in https://github.com/laravel/framework/pull/40855
Fixed
- Do not set SYSTEMROOT to false by @Galaxy0419 in https://github.com/laravel/framework/pull/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
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)
Fixed
- Fixed inconsistent escaping of artisan argument (#39953)
Changed
- Do not return anything
Illuminate/Foundation/Application::afterLoadingEnvironment()
Added
- Added
Illuminate/Support/Testing/Fakes/NotificationFake::assertSentTimes()
(667cca8) - Added Conditionable trait to ComponentAttributeBag (#39861)
- Added scheduler integration tests (#39862)
- Added on-demand gate authorization (#39789)
- Added countable interface to eloquent factory sequence (#39907, 1638472a, #39915)
- Added Fulltext index for PostgreSQL (#39875)
- Added method filterNulls() to Arr (#39921)
Fixed
- Fixes AsEncrypted traits not respecting nullable columns (#39848, 4c32bf8)
- Fixed http client factory class exists bugfix (#39851)
- Fixed calls to Connection::rollBack() with incorrect case (#39874)
- Fixed bug where columns would be guarded while filling Eloquent models during unit tests (#39880)
- Fixed for dropping columns when using MSSQL as database (#39905)
Changed
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 new line to
DetectsLostConnections
(#36373)
Fixed
- Fixed
Illuminate\View\ViewException::report()
(#36110) - Fixed
Illuminate\Redis\Connections\PhpRedisConnection::spop()
(#36106) - Fixed
Illuminate/Database/Query/Builder::limit()
to only cast integer when given other than null (#39653) - Fixes database offset value with non numbers (#39656)
Changed
Fixed
- Fixes
Illuminate/Database/Query/Builder::limit()
to only cast integer when given other than null (#39644)
Added
- Added declined and declined_if validation rules (#39579)
- Arrayable/collection support for Collection::splice() replacement param (#39592)
- Introduce
@js()
directive (#39522) - Enum casts accept backed values (#39608)
- Added a method to the Macroable trait that removes all configured macros. (#39633)
Fixed
- Fixed auto-generated Markdown views (#39565)
- DB command: Cope with missing driver parameters for mysql (#39582)
- Fixed typo in Connection property name in
Illuminate/Database/Connection
(#39590) - Fixed: prevent re-casting of enum values (#39597)
- Casts value to the int in
Illuminate/Database/Query/Builder::limit()
(62273d2) - Fix $component not being reverted if component doesn't render (#39595)
Changed
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
Fixed
- Fix edge case causing a BadMethodCallExceptions to be thrown when using loadMissing() (#37871)
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))
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
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
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)
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
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
v7.30.2 (2021-01-13)
Added
- Added strings to
DetectsLostConnections
(#35752)
Fixed
Changed
- Retry connection if DNS lookup fails (#35790)
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
v6.20.10 (2021-01-12)
Added
- Added new line to
DetectsLostConnections
(#35790)
Fixed
- Fixed error from missing null check on PHP 8 in
Illuminate\Validation\Concerns\ValidatesAttributes::validateJson()
(#35797)
v8.21.0 (2021-01-05)
Added
- Added command to clean batches table (#35694, 33f5ac6)
- Added item to list of causedByLostConnection errors (#35744)
- Make it possible to set Postmark Message Stream ID (#35755)
Fixed
- Fixed
php artisan db
command for the Postgres CLI (#35725) - Fixed OPTIONS method bug with use same path and diff domain when cache route (#35714)
Changed
- Ensure DBAL custom type doesn't exists in
Illuminate\Database\DatabaseServiceProvider::registerDoctrineTypes()
(#35704) - Added missing
dispatchAfterCommit
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
v7.30.1 (2020-12-22)
Fixed
- Backport for fix issue with polymorphic morphMaps with literal 0 (#35487)
- Fixed mime validation for jpeg files (#35518)
- Fixed
Illuminate\Validation\Concerns\ValidatesAttributes::validateJson()
for PHP8 (#35646) - Catch DecryptException with invalid X-XSRF-TOKEN in
Illuminate\Foundation\Http\Middleware\VerifyCsrfToken
(#35671)
v6.20.8 (2020-12-22)
Fixed
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
v6.20.7 (2020-12-08)
Fixed
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
v7.30.0 (2020-12-01)
Fixed
- Turn the eloquent collection into a base collection if mapWithKeys loses models (#35129)
- Fixed pivot restoration (#35218)
- Fixing BroadcastException message in [email protected] (#35290)
- Fixed generic DetectsLostConnection string (#35323)
- Backport Redis context option (#35370)
- Fixed validating image/jpeg images after Symfony/Mime update (#35419)
Changed
- Updated
aws/aws-sdk-php
suggest to^3.155
(#35267)
v6.20.6 (2020-12-01)
Fixed
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 [email protected] (#35290)
- Fixed generic DetectsLostConnection string (#35323)
- Fixed SQL Server command generation (#35317)
- Fixed route model binding on cached closure routes (eb3e262)
Changed
- Disable CSRF on broadcast route (acb4b77)
- Easily set a null cache driver (#35262)
- Updated
aws/aws-sdk-php
suggest to^3.155
(#35267) - Ensure ShouldBeUniqueUntilProcessing job lock is released once (#35270)
- Rename qualifyColumn to qualifyPivotColumn in BelongsToMany & MorphToMany (#35276)
- Check if AsPivot trait is used instead of Pivot Model in
Illuminate\Database\Eloquent\Relations\BelongsToMany
(#35271) - Avoid no-op database query in Model::destroy() with empty ids (#35294)
- Use --no-owner and --no-acl with pg_restore (#35309)
v6.20.5 (2020-11-24)
Fixed
- Fixing BroadcastException message in [email protected] (#35290)
- Fixed generic DetectsLostConnection string (#35323)
Changed
- Updated
aws/aws-sdk-php
suggest to^3.155
(#35267)
v8.15.0 (2020-11-17)
Added
- Added lock support for file and null cache drivers (#35139, a345185)
- Added a
doesntExpectOutput
method for console command testing (#35160, c90fc5f) - Added support of MorphTo relationship eager loading constraints (#35190)
- Added
Illuminate\Http\ResponseTrait::withoutCookie()
(e9483c4) - Use dynamic app namespace in Eloquent Factory instead of App\ string (#35204, 4885bd2)
- Added
read
/unread
scopes to database notifications (#35215) - Added
classBasename()
method 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)
v6.20.3 (2020-11-10)
Fixed
- Turn the eloquent collection into a base collection if mapWithKeys loses models (#35129)
v8.13.0 (2020-11-03)
Added
- Added
loadMax()
|loadMin()
|loadSum()
|loadAvg()
methods 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
v7.29.1 (2020-10-29)
Fixed
v6.20.1 (2020-10-29)
Fixed
v8.11.0 (2020-10-20)
Added
- Added job middleware to prevent overlapping jobs (#34794, eed05b4)
- Bring Rate Limiters to Jobs (#34829, ae00294)
- Added
multiple_of
custom replacer in validator (#34858) - Preserve eloquent collection type after calling ->fresh() (#34848)
- Provisional support for PHP 8.0 for 6.x (Changed some code in 8.x) (#34884, 28bb76e)
Fixed
- Fixed
fresh()
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
v7.28.2 (2020-09-15)
Fixed
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.
v7.28.0 (2020-09-08)
Added
Fixed
- Use
getTouchedRelations
when touching owners (#34100) - Fixed for empty fallback_locale in
Illuminate\Translation\Translator
(#34136) - Fixed
Illuminate\Database\Schema\Grammars\SqlServerGrammar::compileColumnListing()
for tables with schema (#34076) - Fixed Significant performance issue in Eloquent Collection loadCount() method (#34177)
v6.18.39 (2020-09-08)
Fixed
- Fixed for empty fallback_locale in
Illuminate\Translation\Translator
(#34136)
v7.27.0 (2020-09-01)
Added
- Allow to use alias of morphed model (#34032)
- Introduced basic padding (both, left, right) methods to Str and Stringable (#34053)
Refactoring
Changed
v7.26.1 (2020-08-27)
Fixed
v6.18.37 (2020-08-27)
Fixed
v7.26.0 (2020-08-25)
Added
- Added
whenHas
andwhenFilled
methods toIlluminate\Http\Concerns\InteractsWithInput
class (#33829) - Added email validating with custom class (#33835)
- Added
Illuminate\View\ComponentAttributeBag::whereDoesntStartWith()
(#33851) - Allow setting synchronous_commit for Postgres (#33897)
- Allow nested errors in
Illuminate\Testing\TestResponse::assertJsonValidationErrors()
(#33989) - Added support for stream reads to
FilesystemManager
(#34001)
Fixed
- Fix defaultTimezone not respected in scheduled Events (#33834)
- Fixed usage of Support
Collection#countBy($key)
(#33852) - Fixed route registerar bug (42ba0ef)
- Fixed key composition for attribute with dot at validation error messages (#33932)
- Fixed the
dump
method forLazyCollection
(#33944) - Fixed dimension ratio calculation in
Illuminate\Validation\Concerns\ValidatesAttributes::failsRatioCheck()
(#34003)
Changed
- Implement LockProvider on DatabaseStore (#33844)
- Publish resources.stub in stub:publish command (#33862)
- Handle argon failures robustly (#33856)
- Normalize scheme in Redis connections (#33892)
- Cast primary key to string when $keyType is string (#33930)
- Load anonymous components from packages (#33954)
- Check no-interaction flag exists and is true for Artisan commands (#33950)
Deprecated
- Deprecate
Illuminate\Database\Eloquent\Model::removeTableFromKey()
(#33859)
v6.18.36 (2020-08-25)
Fixed
- Fix dimension ratio calculation in
Illuminate\Validation\Concerns\ValidatesAttributes::failsRatioCheck()
(#34003)
Changed
v7.25.0 (2020-08-11)
Added
- Added support to use
where
inapiResource
method (#33790, 3dcc4a6) - Support
tls://
scheme when usingurl
in Redis config (#33800) - Scoped resource routes (#33752)
- Added Once blade Blocks (#33812)
- Let mailables accept a simple array of email addresses as cc or bcc (#33810)
- Added support for PhpRedis 5.3 options parameter (#33799)
Changed
- Removed quotes when setting isolation level for mysql connections (#33805)
- Make LazyCollection#countBy be lazy (#33801)
Fixed
- Revert changes to MailMessage (#33816)
v7.24.0 (2020-08-07)
Added
- Added possibility to configure isolation level for mysql connections (#33783, c6a3174)
- Added plain text only notifications (#33781)
Changed
- Verify column names are actual columns when using guarded (#33777)
v7.23.2 (2020-08-06)
Fixed
v6.18.34 (2020-08-06)
Fixed
v6.18.33 (2020-08-06)
Fixed
v7.23.0 (2020-08-04)
Added
- Added dynamic slot (directive) name support (#33724)
- Added plain mail to notifications (#33725)
- Support the
sink
option when using Http::fake() (#33720, fba984b) - Added whereBetweenColumns | orWhereBetweenColumns | whereNotBetweenColumns | orWhereNotBetweenColumns methods to
Illuminate\Database\Query\Builder
(#33728)
Changed
v6.18.32 (2020-08-04)
Changed
v7.22.0 (2020-07-27)
Added
Fixed
- Prevent usage of get*AtColumn() when model has no timestamps (#33634)
- Dont decrement transaction below 0 in
Illuminate\Database\Concerns\ManagesTransactions::handleCommitTransactionException()
(7681795) - Fixed transaction problems on closure transaction (c4cdfc7)
- Prevent to serialize uninitialized properties (#33644)
- Fixed missing statement preventing deletion in
Illuminate\Database\Eloquent\Relations\MorphPivot::delete()
(#33648)
Changed
v6.18.27 (2020-07-27)
Fixed
- Dont decrement transaction below 0 in
Illuminate\Database\Concerns\ManagesTransactions::handleCommitTransactionException()
(7681795) - Fixed transaction problems on closure transaction (c4cdfc7)
- Prevent to serialize uninitialized properties (#33644)
- Fixed missing statement preventing deletion in
Illuminate\Database\Eloquent\Relations\MorphPivot::delete()
(#33648)
Changed
- Improve cookie encryption (#33662)
v7.21.0 (2020-07-21)
Added
- Added
Illuminate\Database\Schema\ForeignKeyDefinition::nullOnDelete()
(#33551) - Added
getFallbackLocale()
andsetFallbackLocale()
methods toIlluminate\Foundation\Application
(#33595)