Laravel Framework
https://github.com/laravel/framework
- [10.x] Fix
Dispatcher::until
return type by @Neol3108 in https://github.com/laravel/framework/pull/47585 - [10.x] Add Collection::wrap to add method on BatchFake by @schonhoff in https://github.com/laravel/framework/pull/47589
- [10.x] Fixes grammar in FoundationServiceProvider by @adampatterson in https://github.com/laravel/framework/pull/47593
- [10.x] Ensure duration is present by @timacdonald in https://github.com/laravel/framework/pull/47596
- [10.x] Add test for
withCookies
method in RedirectResponse by @milwad-dev in https://github.com/laravel/framework/pull/47383 - [10.x] Add new error message "SSL: Handshake timed out" handling to PDO Deteā¦ by @yehorherasymchuk in https://github.com/laravel/framework/pull/47392
- [10.x] Add new error messages for detecting lost connections by @mfn in https://github.com/laravel/framework/pull/47398
- [10.x] Update phpdoc
except
method in Middleware by @milwad-dev in https://github.com/laravel/framework/pull/47408 - [10.x] Fix inconsistent type hint for
$passwordTimeoutSeconds
by @devfrey in https://github.com/laravel/framework/pull/47414 - Change visibility of
path
method in FileStore.php by @foremtehan in https://github.com/laravel/framework/pull/47413 - [10.x] Fix return type of
buildException
method by @milwad-dev in https://github.com/laravel/framework/pull/47422 - [10.x] Allow serialization of NotificationSent by @cosmastech in https://github.com/laravel/framework/pull/47375
- [10.x] Incorrect comment in
PredisConnector
andPhpRedisConnector
by @hungthai1401 in https://github.com/laravel/framework/pull/47438 - [10.x] Can set custom Response for denial within
Gate@inspect()
by @cosmastech in https://github.com/laravel/framework/pull/47436 - [10.x] Remove unnecessary param in
addSingletonUpdate
by @milwad-dev in https://github.com/laravel/framework/pull/47446 - [10.x] Fix return type of
prefixedResource
&prefixedResource
by @milwad-dev in https://github.com/laravel/framework/pull/47445 - [10.x] Add Factory::getNamespace() by @tylernathanreed in https://github.com/laravel/framework/pull/47463
- [10.x] Add
whenAggregated
method toConditionallyLoadsAttributes
trait by @akr4m in https://github.com/laravel/framework/pull/47417 - [10.x] Add PendingRequest
withHeader()
method by @ralphjsmit in https://github.com/laravel/framework/pull/47474 - [10.x] Fix $exceptTables to allow an array of table names by @cwilby in https://github.com/laravel/framework/pull/47477
- [10.x] Fix
eachById
onHasManyThrough
relation by @cristiancalara in https://github.com/laravel/framework/pull/47479 - [10.x] Allow object caching to be disabled for custom class casters by @CalebDW in https://github.com/laravel/framework/pull/47423
- [10.x] "Can" validation rule by @stevebauman in https://github.com/laravel/framework/pull/47371
- [10.x] refactor(Parser.php): Removing the extra "else" statement by @saMahmoudzadeh in https://github.com/laravel/framework/pull/47483
- [10.x] Add
UncompromisedVerifier::class
toprovides()
inValidationServiceProvider
by @xurshudyan in https://github.com/laravel/framework/pull/47500 - [9.x] Fix SES V2 Transport "reply to" addresses by @jacobmllr95 in https://github.com/laravel/framework/pull/47522
- [10.x] Reindex appends attributes by @hungthai1401 in https://github.com/laravel/framework/pull/47519
- [10.x] Fix
ListenerMakeCommand
deprecations by @dammy001 in https://github.com/laravel/framework/pull/47517 - [10.x] Add
HandlesPotentiallyTranslatedString
trait by @xurshudyan in https://github.com/laravel/framework/pull/47488 - [10.x] update [JsonResponse]: using match expression instead of if-elseif-else by @saMahmoudzadeh in https://github.com/laravel/framework/pull/47524
- [10.x] Add
withQueryParameters
to the HTTP client by @mnapoli in https://github.com/laravel/framework/pull/47297 - [10.x] Allow
%
symbol in component attribute names by @JayBizzle in https://github.com/laravel/framework/pull/47533 - [10.x] Fix Http client pool return type by @srdante in https://github.com/laravel/framework/pull/47530
- [10.x] Use
match
expression inresolveSynchronousFake
by @osbre in https://github.com/laravel/framework/pull/47540 - [10.x] Use
match
expression incompileHaving
by @osbre in https://github.com/laravel/framework/pull/47548 - [10.x] Use
match
expression ingetArrayableItems
by @osbre in https://github.com/laravel/framework/pull/47549 - [10.x] Fix return type in
SessionGuard
by @PerryvanderMeer in https://github.com/laravel/framework/pull/47553 - [10.x] Fix return type in
DatabaseQueue
by @PerryvanderMeer in https://github.com/laravel/framework/pull/47552 - [10.x] Fix return type in
DumpCommand
by @PerryvanderMeer in https://github.com/laravel/framework/pull/47556 - [10.x] Fix return type in
MigrateMakeCommand
by @PerryvanderMeer in https://github.com/laravel/framework/pull/47557 - [10.x] Add missing return to
Factory
by @PerryvanderMeer in https://github.com/laravel/framework/pull/47559 - [10.x] Update doc in Eloquent model by @alirezasalehizadeh in https://github.com/laravel/framework/pull/47562
- [10.x] Fix return types by @PerryvanderMeer in https://github.com/laravel/framework/pull/47561
- [10.x] Fix PHPDoc throw type by @fernandokbs in https://github.com/laravel/framework/pull/47566
- [10.x] Add hasAny function to ComponentAttributeBag, Allow multiple keys in has function by @indykoning in https://github.com/laravel/framework/pull/47569
- [10.x] Ensure captured time is in configured timezone by @timacdonald in https://github.com/laravel/framework/pull/47567
- [10.x] Add Method to Report only logged exceptions by @joelharkes in https://github.com/laravel/framework/pull/47554
- [10.x] Add global middleware to
Http
client by @timacdonald in https://github.com/laravel/framework/pull/47525 - [9.x] Fixes unable to use
trans()->has()
on JSON language files. by @crynobone in https://github.com/laravel/framework/pull/47582
- Revert "[10.x] Update Kernel::load() to use same
classFromFile
logic as events" by @taylorotwell in https://github.com/laravel/framework/pull/47382
- Narrow down array type for
$attributes
inCastsAttributes
by @devfrey in https://github.com/laravel/framework/pull/47365 - Add test for
assertViewHasAll
method by @milwad-dev in https://github.com/laravel/framework/pull/47366 - Fix
schedule:list
to display named Jobs by @liamkeily in https://github.com/laravel/framework/pull/47367 - Support
ConditionalRules
withinNestedRules
by @cosmastech in https://github.com/laravel/framework/pull/47344 - Small test fixes by @stevebauman in https://github.com/laravel/framework/pull/47369
- Pluralisation typo in queue:clear command output by @sebsobseb in https://github.com/laravel/framework/pull/47376
- Add getForeignKeyFrom method by @iamgergo in https://github.com/laravel/framework/pull/47378
- Add shouldHashKeys to ThrottleRequests middleware by @fosron in https://github.com/laravel/framework/pull/47368
- Fixes usage of
Redis::many()
with empty array by @nunomaduro in https://github.com/laravel/framework/pull/47307 - Fix PHPStan description of Closure returning a union type by @ondrejmirtes in https://github.com/laravel/framework/pull/47352
Added
- Added
Illuminate/Http/Client/PendingRequest::replaceHeaders()
(#47335) - Added
Illuminate/Notifications/Messages/MailMessage::attachMany()
(#47345)
Reverted
- Revert "[10.x] Remove session on authenticatable deletion v2" (#47354)
Fixed
- Fixes usage of Redis::many() with empty array (#47307)
- Fix mapped renderable exception handling (#47347)
- Avoid duplicates in fillable/guarded on merge in Illuminate/Database/Eloquent/Concerns/GuardsAttributes.php (#47351)
Changed
v10.13.1 (2023-06-02)
Added
- Added
Illuminate\Contracts\Database\Query\ConditionExpression
interface and functional for this (#47210) - Added return type for
Illuminate/Notifications/Channels/MailChannel::send()
(#47310)
Reverted
- Revert "[10.x] Fix inconsistentcy between report and render methods" (#47326)
Changed
- Display queue runtime in human readable format (#47227)
Added
- Added
Illuminate/Hashing/HashManager::isHashed()
(#47197) - Escaping functionality within the Grammar (#46558)
- Provide testing hooks in
Illuminate/Support/Sleep.php
(#47228) - Added missing methods to AssertsStatusCodes (#47277)
- Wrap response preparation in events (#47229)
Fixed
- Fixed bug when function wrapped around definition of related factory (#47168)
- Fixed inconsistentcy between report and render methods (#47201)
- Fixes Model::isDirty() when AsCollection or AsEncryptedCollection have arguments (#47235)
- Fixed escaped String for JSON_CONTAINS (#47244)
- Fixes missing output on ProcessFailedException exception (#47285)
Changed
- Remove useless else statements (#47186)
- RedisStore improvement - don't open transaction unless all values are serialaizable (#47193)
- Use carbon::now() to get current timestamp in takeUntilTimeout lazycollection-method (#47200)
- Avoid duplicates in visible/hidden on merge (#47264)
- Add a missing semicolon to CompilesClasses (#47280)
- Send along value to InvalidPayloadException (#47223)
Added
- Added
Illuminate/Queue/Events/JobTimedOut.php
(#47068) - Added
when()
andunless()
methods toIlluminate/Support/Sleep
(#47114) - Adds inline attachments support for markdown mailables (#47140)
- Added
Illuminate/Testing/Concerns/AssertsStatusCodes::assertMethodNotAllowed()
(#47169) - Added
forceCreateQuietly
method (#47162) - Added parameters to timezone validation rule (#47171)
Fixed
- Fixes singleton and api singletons creatable|destryoable|only|except combinations (#47098)
- Don't use empty key or secret for DynamoDBClient (#47144)
Changed
- Remove session on authenticatable deletion (#47141)
- Added error handling and ensure re-enabling of foreign key constraints in
Illuminate/Database/Schema/Builder::withoutForeignKeyConstraints()
(#47182)
Refactoring
- Remove useless else statements (#47161)
Added
- Added the ability to extend the generic types for DatabaseNotificationCollection (#47048)
- Added
/Illuminate/Support/Carbon::createFromId()
(#47046) - Added Name attributes on slots (#47065)
- Added Precognition-Success header (#47081)
- Added Macroable trait to Sleep class (#47099)
Fixed
- Fixed
Illuminate/Database/Console/ShowModelCommand::getPolicy()
(#47043)
Changed
Added
- Added
/Illuminate/Collections/Arr::mapWithKeys()
(#47000) - Added
dd
anddump
methods toIlluminate/Support/Carbon.php
(#47002) - Added
Illuminate/Queue/Failed/FileFailedJobProvider
(#47007) - Added arguments to the signed middleware to ignore properties (#46987)
Fixed
- Added keys length check to prevent mget error in
Illuminate/Cache/RedisStore::many()
(#46998) - 'hashed' cast - do not rehash already hashed value (#47029)
Changed
Added
- Added
$isolated
andisolatedExitCode
properties toIlluminate/Console/Command
(#46925) - Added ability to restore/set Global Scopes (#46922)
- Added
Illuminate/Collections/Arr::sortRecursiveDesc()
(#46945) - Added
Illuminate/Support/Sleep
(#46904, #46963) - Added
Illuminate/Database/Eloquent/Concerns/HasAttributes::castAttributeAsHashedString()
([#46947]https://github.com/laravel/framework/pull/46947) - Added url support for mail config (#46964)
Fixed
- Fixed replace missing_unless (89ac58a)
- Gracefully handle invalid code points in e() (#46914)
- HasCasts returning false instead of true (#46992)
Changed
- Use method on UploadedFile to validate image dimensions (#46912)
- Expose Js::json() helper (#46935)
- Respect parents on middleware priority (#46972)
- Do reconnect when redis throws connection lost error (#46989)
- Throw timeoutException instead of maxAttemptsExceededException when a job times out (#46968)
Added
- Add new HTTP status assertions (#46841)
- Allow pruning all cancelled and unfinished queue batches (#46833)
- Added
IGNITION_LOCAL_SITES_PATH
to$passthroughVariables
inServeCommand.php
(#46857) - Added named static methods for middleware (#46362)
Fixed
- Fix date_format rule throw ValueError (#46824)
Changed
- Allow separate directory for locks on filestore (#46811)
- Allow to whereMorphedTo work with null model (#46821)
- Use pivot model fromDateTime instead of assuming Carbon in
Illuminate/Database/Eloquent/Relations/Concerns/InteractsWithPivotTable::addTimestampsToAttachment()
(#46822) - Make rules method in FormRequest optional (#46846)
- Throw LogicException when calling FileFactory@image() if mimetype is not supported (#46859)
- Improve job release method to accept date instance (#46854)
- Use foreignUlid if model uses HasUlids trait when call foreignIdFor (#46876)
Added
- Added syntax sugar to the Process::pipe method (#46745)
- Allow specifying index name when calling ForeignIdColumnDefinition@constrained() (#46746)
- Allow to customise redirect URL in AuthenticateSession Middleware (#46752)
- Added Class based after validation rules (#46757)
- Added max exceptions to broadcast event (#46800)
Fixed
- Fixed compiled view file ends with .php (#46755)
- Fix validation rule names (#46768)
- Fixed validateDecimal() (#46809)
Changed
Fixed
- Fixed Cache::spy incompatibility with Cache::get (#46689)
Changed
- Remove unnecessary parameters in creatable() and destroyable() methods in Illuminate/Routing/PendingSingletonResourceRegistration class (#46677)
- Allow Event::assertListening to check for invokable event listeners (#46683)
- Return non-zero exit code for uncaught exceptions (#46541)
- Release lock for job implementing ShouldBeUnique that is dispatched afterResponse() (#46806)
Changed
- Changed
Illuminate/Process/Factory::pipe()
method. It will be run pipes immediately (e34ab39)
Added
- Allow
Illuminate/Foundation/Testing/WithFaker
to be used when app is not bound (#46529) - Allow Event::assertListening to check for invokable event listeners (#46683)
- Added
Illuminate/Process/Factory::pipe()
(#46527) - Added
Illuminate/Validation/Validator::setValue
(#46716)
Fixed
- PHP 8.0 fix for Closure jobs (#46505)
- Fix preg_split error when there is a slash in the attribute in
Illuminate/Validation/ValidationData
(#46549) - Fixed Cache::spy incompatibility with Cache::get (#46689)
- server command: Fixed server Closing output on invalid $requestPort (#46726)
- Fix nested join when not JoinClause instance (#46712)
- Fix query builder whereBetween method with carbon date period (#46720)
Changed
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 RateLimiter@tooManyAttempts (#42462)
- Add flush handler to output buffer for streamed test response (bugfix) (#42481)
Changed
- Adds attaches a concise error message to SES exceptions (#42426)
- Use duplicate instead of createFromBase to clone request when routes are cached (#42420)
- Use model route key when route parameter does not specifiy custom binding field but a different parameter does (#42425)
- Adds ability to have paginate() $perPage parameter as callable with access to $total (#42429)
- Extract ServeCommand env list to static property (#42444)
- Use route parameters in view (#42461)
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)
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 PusherBroadcaster@broadcast (#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 PusherBroadcaster@broadcast (#35290)
- Fixed generic DetectsLostConnection string (#35323)
- Fixed SQL Server command generation (#35317)
- Fixed route model binding on cached closure routes (eb3e262)
Changed
- Disable CSRF on broadcast route (acb4b77)
- Easily set a null cache driver (#35262)
- Updated
aws/aws-sdk-php
suggest to^3.155
(#35267) - Ensure ShouldBeUniqueUntilProcessing job lock is released once (#35270)
- Rename qualifyColumn to qualifyPivotColumn in BelongsToMany & MorphToMany (#35276)
- Check if AsPivot trait is used instead of Pivot Model in
Illuminate\Database\Eloquent\Relations\BelongsToMany
(#35271) - Avoid no-op database query in Model::destroy() with empty ids (#35294)
- Use --no-owner and --no-acl with pg_restore (#35309)
v6.20.5 (2020-11-24)
Fixed
- Fixing BroadcastException message in PusherBroadcaster@broadcast (#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)
Fixed
- Fixed
Illuminate/Redis/Connections/PhpRedisConnection::*scan()
returns (d3d36f0) - Align (fix) nested arrays support for
assertViewHas
&assertViewMissing
inIlluminate\Testing\TestResponse
(#33566) - Fixed issue where Storage::path breaks when using cache due to missing method in CachedAdapter (#33602)
Changed
- Added a base exception for Http Client exceptions (#33581)
v6.18.26 (2020-07-21)
Fixed
- Align (fix) nested arrays support for
assertViewHas
&assertViewMissing
inIlluminate\Testing\TestResponse
(#33566)
v7.20.0 (2020-07-14)
Added
- Added
Illuminate\Database\Schema\ForeignKeyDefinition::cascadeOnUpdate()
(#33522)
Changed
v7.19.1 (2020-07-10)
Added
- Added support for SQL Server LoginTimeout to specify seconds to wait before failing connection attempt (#33472)
- Added ability to simulate "withCredentials" in test requests (#33497, aa17e75)
Fixed
- Fixed
Illuminate\Cache\FileStore::flush()
(#33458) - Fixed auto creating model by class name (#33481)
- Don't return nested data from validator when failing an exclude rule (#33435)
- Fixed validation nested error messages (6615371)
- Fixed
Illuminate\Support\Reflector
to handle parent (#33502)
Revert
v6.18.25 (2020-07-10)
Fixed
- Fixed
Illuminate\Cache\FileStore::flush()
(#33458) - Fixed auto creating model by class name (#33481)
- Don't return nested data from validator when failing an exclude rule (#33435)
- Fixed validation nested error messages (6615371)
- Fixed
Illuminate\Support\Reflector
to handle parent (#33502)
Revert
v7.19.0 (2020-07-07)
Added
- Added
everyTwoHours()
|everyThreeHours()
|everyFourHours()
|everySixHours()
methods toIlluminate\Console\Scheduling\ManagesFrequencies
(#33393) - Conditionally returning appended attributes in API resources (#33422)
- Added
ScheduledTaskFailed
event (#33427) - Added
Illuminate\Support\Stringable::when()
(#33455)
Fixed
- Fixed signed urls with custom parameters (bcb133e)
- Determine model key name correctly in Illuminate/Validation/Concerns/ValidatesAttributes.php (a1fdd53)
- Fixed notifications database channel for anonymous notifiables (#33409)
Chnaged
v6.18.24 (2020-07-07)
Fixed
v7.18.0 (2020-06-30)
Added
- Added
Illuminate\Http\Client\PendingRequest::withMiddleware()
(#33315, b718d3a) - Make ComponentAttributeBag Macroable (#33354)
- Added
filter
andwhereStartsWith
andthatStartWith
toIlluminate\View\ComponentAttributeBag
(0abe2db, 07ee3e8) - Added
Illuminate\Database\Eloquent\Collection::toQuery()
(#33356, 15586fa) - Added
first()
toIlluminate\View\ComponentAttributeBag
(#33358, 731b94f) - Added
everyTwoMinutes()
|everyThreeMinutes()
|everyFourMinutes()
methods toIlluminate/Console/Scheduling/ManagesFrequencies
(#33379)
Fixed
- Fixed
ConfigurationUrlParser
query decoding (#33340) - Fixed exists in
Illuminate\Database\Eloquent\Relations\Concerns\AsPivot::delete()
(#33347)
Changed
- Replace placeholder for dots and asterisks in validator (#33367)
v6.18.23 (2020-06-30)
Fixed
v7.17.2 (2020-06-24)
Added
Fixed
- Fixed
Illuminate\Database\Eloquent\Concerns\HasAttributes::getOriginal()
(b20125d, 899c765, 2937cce)
Revert
v6.18.22 (2020-06-24)
Revert
- Revert [Fixed
Model::originalIsEquivalent()
with floats (#33259, d68d915)](https://github.com/laravel/framework/commit/bf3cb6f6979df2d6965d2e0aa731724d0e2b15e5)
v7.17.1 (2020-06-23)
Fixed
- Fixed "Undefined variable: current" exception in
Illuminate\Database\Eloquent\Concerns\HasAttributes::originalIsEquivalent()
#33308
v7.17.0 (2020-06-23)
Added
- Added
Illuminate\Console\Scheduling\ManagesFrequencies::lastDayOfMonth()
(#33241, be194a8) - Allow array based event listeners (7594267)
- Allow array callback format with non-static methods in
Illuminate\Auth\Access\Gate::define()
(b7977d3) - Added
Illuminate\Console\Scheduling\ManagesFrequencies::time()
parameter on twiceMonthly function (#33274) - Added
providerIsLoaded
method toIlluminate\Foundation\Application
(#33286, b87233f)
Fixed
v7.16.0 (2020-06-16)
Added
- Added
makeVisibleIf
andmakeHiddenIf
methods toIlluminate\Database\Eloquent\Concerns\HidesAttributes
(#33176, 42383e4) - Added option to specify a custom guard for the
make:policy
command (#33210, 13e3b65) - Added
theme
property toIlluminate\Mail\Mailable
class (#33218)
Changed
v7.15.0 (2020-06-09)
Added
- Added extendable relations for models (#33025)
- Added
Illuminate\Foundation\Testing\Concerns\MakesHttpRequests::withToken()
(#33075, 79383a1) - Added the ability to
Illuminate\Database\Eloquent\Relations\HasOneOrMany::makeMany()
(create many without saving) (#33021) - Added
Illuminate\Database\Schema\Blueprint::foreignUuid()
(#33129) - Allow setting the event handler queue via a
viaQueue()
method (#32770, 852a927)
Fixed
v6.18.19 (2020-06-09)
Fixed
v7.14.1 (2020-06-03)
Added
- Added missing
symfony/mime
suggest (#33067)
Fixed
- Fixed
Illuminate\Database\Eloquent\Relations\MorphToMany::getCurrentlyAttachedPivots()
(110b129)
v7.14.0 (2020-06-02)
Added
- Views: make attributes available within render method (#32978)
- Added
forceDeleted
method toSoftDeletes
(#32982) - Added
Illuminate\Filesystem\Filesystem::guessExtension()
method (#33001, d26be90) - Added
Illuminate\Http\Client\Request::toPsrRequest()
(#33016) - Added
Illuminate\Support\MessageBag::addIf()
method (50efe09) - Provide
psr/container-implementation
(#33020) - Support PHP 8's reflection API (#33039, 6018c1d)
Fixed
- Restore
app()->getCached*Path()
absolute '/' behavior in Windows (#32969) - Fixed Issue with using "sticky" option with Postgresql driver and read/write connections. (#32973)
- Fixed custom class cast with dates (2d52abc)
- Fixed
Illuminate\Database\Eloquent\Collection::getQueueableRelations()
(00e9ed7) - Fixed bug with update existing pivot and polymorphic many to many (684208b)
- Fixed localization in tailwind view (f2eb9ab)
Changed
v6.18.18 (2020-06-03)
Fixed
- Fixed
Illuminate\Database\Eloquent\Relations\MorphToMany::getCurrentlyAttachedPivots()
(110b129)
v7.13.0 (2020-05-26)
Added
Fixed
- Fixed route list command for excluded middleware (7ebd211)
- Fixed behavior of oneachside = 1 with paginator in
Illuminate\Pagination\UrlWindow
(c59cffa, 5d817be)
Changed
- Using an indexed array as the limit modifier for phpredis zrangebyscore (#32952)
v7.12.0 (2020-05-19)
Added
- Added
Illuminate\Http\Middleware\TrustHosts
(9229264) - Added ability to skip middleware from resource routes (#32891)
Fixed
- Fixed Queued Mail MessageSent Listener With Attachments (#32795)
- Added error clearing before sending in
Illuminate\Mail\Mailer::sendSwiftMessage()
(#32799) - Avoid foundation function call in the auth component (#32805)
- Fixed inferred table reference for
Illuminate\Database\Schema\ForeignIdColumnDefinition::constrained()
(#32847) - Fixed wrong component generation (73060db)
- Fixed bug with request rebind and url defaults in
Illuminate\Routing\UrlGenerator
(6ad92bf) - Fixed
Illuminate\Cache\ArrayStore::increment()
bug that changes expiration to forever (#32875)
Changed
- Dont cache non objects in
Illuminate/Database/Eloquent/Concerns/HasAttributes::getClassCastableAttributeValue()
(894fe22) - Added explicit
symfony/polyfill-php73
dependency (5796b1e) - Set
Cache\FileStore
file permissions only once (#32845, 11c533b) - Added alias as key of package's view components (#32863)
v6.18.15 (2020-05-19)
Added
- Added
Illuminate\Http\Middleware\TrustHosts
(9229264)
Fixed
- Revert of "Remove
strval
fromIlluminate/Validation/ValidationRuleParser::explodeWildcardRules()
" (52940cf) - Fixed Queued Mail MessageSent Listener With Attachments (#32795)
- Added error clearing before sending in
Illuminate\Mail\Mailer::sendSwiftMessage()
(#32799) - Avoid foundation function call in the auth component (#32805)
Changed
v7.11.0 (2020-05-12)
Added
- Added support for FILTER_FLAG_EMAIL_UNICODE via "email:filter_unicode" in email validator (#32711, 43a1ed1)
- Added
Illuminate\Support\Stringable::split()
(#32713, 19c5054) - Added
orWhereIntegerInRaw()
andorWhereIntegerNotInRaw()
toIlluminate\Database\Query\Builder
(#32710) - Added
Illuminate\Cache\DatabaseStore::add()
(7fc452b) - Implement env and production Blade directives (#32742)
- Added
Illuminate\Database\Eloquent\Relations\MorphTo::morphWithCount()
method (#32738) - Added
Illuminate\Database\Eloquent\Collection::loadMorphCount()
method (#32739) - Added support
viaQueues
method for notifications (e97d17c) - Added
loadMorph
andloadMorphCount
methods toIlluminate\Database\Eloquent\Model
(#32760) - Added
Illuminate\Database\DatabaseManager::usingConnection()
method (#32761, 5f8c7de) - Added
Illuminate\Http\Client\PendingRequest::head()
method (#32782)
Fixed
- Fixed belongsToMany child relationship solving (c5e88be)
- Allow overriding the MySQL server version for strict mode (#32708)
- Added boolean to types that don't need character options (#32716)
- Fixed
Illuminate\Foundation\Testing\PendingCommand
that do not resolve 'OutputStyle::class' from the container (#32687) - Clear resolved event facade on
Illuminate\Foundation\Testing\Concerns\MocksApplicationServices::withoutEvents()
(d1e7f85) - Fixed
Illuminate\Database\Eloquent\Collection::getQueueableRelations()
for filtered collections (#32747) - Fixed
Illuminate\Database\Eloquent\Collection::loadCount
method to ensure count is set on all models (#32740) - Fixed deprecated "Doctrine/Common/Inflector/Inflector" class (#32734)
- Fixed
Illuminate\Validation\Validator::getPrimaryAttribute()
(#32775) - Revert of "Remove
strval
fromIlluminate/Validation/ValidationRuleParser::explodeWildcardRules()
" (52940cf)
Changed
v6.18.14 (2020-05-13)
Added
- Added SSL SYSCALL EOF as a lost connection message (#32697)
Fixed
- Fixed
FakerGenerator
Unique caching issue (#32703) - Added boolean to types that don't need character options (#32716)
- Fixed
Illuminate\Foundation\Testing\PendingCommand
that do not resolve 'OutputStyle::class' from the container (#32687) - Clear resolved event facade on
Illuminate\Foundation\Testing\Concerns\MocksApplicationServices::withoutEvents()
(d1e7f85) - Fixed deprecated "Doctrine/Common/Inflector/Inflector" class (#32734)
Changed
v7.10.3 (2020-05-06)
Added
- Added
Illuminate\Http\Client\Response::failed()
(#32699) - Added SSL SYSCALL EOF as a lost connection message (#32697)
Fixed
v7.10.2 (2020-05-06)
Fixed
- Updated
Illuminate\Database\Query\Builder::runPaginationCountQuery()
to support groupBy and sub-selects (#32688)
v7.10.1 (2020-05-05)
Fixed
- Fixed
Illuminate\Database\Eloquent\Collection::getQueueableRelations()
(7b32460)
v7.10.0 (2020-05-05)
Added
- Added
artisan make:cast
command (#32594) - Added
Illuminate\Foundation\Testing\Concerns\InteractsWithDatabase::assertDatabaseCount()
(#32597) - Allow configuring the auth_mode for SMTP mail driver (#32616)
- Added
hasNamedScope()
function to the Base Model (#32622, #32631) - Allow doing truth-test assertions with just a closure (#32626, f69ad90, 22d6fca)
- Run pagination count as subquery for group by and havings (#32624)
- Added Callbacks with Output to Console Schedule (#32633, 35a7883, 8d8d620)
- Added
Cache::lock()
support for the database cache driver (#32639, 573831b) - Same-session ID request concurrency limiting (#32636)
- Add
skipUntil
andskipWhile
methods to the collections (#32672, #32676) - Support delete with limit on sqlsrv (f16d325)
- Added
mergeFillable()
andmergeGuarded()
toModel
(#32679)
Fixed
- Prevents a memory leak in Faker (2228233)
- Fixed setting component name and attributes (#32599, f8ff3ca)
- Fixed
Illuminate\Foundation\Testing\TestResponse::assertSessionHasInput()
(f0639fd) - Set relation connection on eager loaded MorphTo (#32602)
- Filtering null's in
hasMorph()
(#32614) - Fixed
Illuminate\Foundation\Console\EventMakeCommand::alreadyExists()
(7bba4bf) - Fixed
Illuminate\Console\Scheduling\Schedule::compileParameters()
(cfc3ac9, 36e215d) - Fixed bug with model name in
Illuminate\Database\Eloquent\RelationNotFoundException::make()
(f72a166) - Allow trashed through parents to be included in has many through queries (#32609)
Changed
- Changed
Illuminate/Database/Eloquent/Relations/Concerns/AsPivot::fromRawAttributes()
(6c502c1) - Restore Š¾nly common relations (#32613, d82f78b, 48e4d60)
- Use single space if plain email is empty in
Illuminate\Mail\Mailer::addContent()
(0557622) - Remove wasted file read when loading package manifest in
Illuminate\Foundation\PackageManifest::getManifest()
(#32646) - Do not change
character
andcollation
for some columns on change (fccdf7c) - Use table name when resolving has many through / one relationships (8d69454)
v6.18.13 (2020-05-05)
Fixed
- Fixed
Illuminate\Database\Eloquent\Collection::getQueueableRelations()
(7b32460)
v6.18.12 (2020-05-05)
Added
- Add pdo try again as lost connection message (#32605)
Fixed
- Fixed
Illuminate\Foundation\Testing\TestResponse::assertSessionHasInput()
(f0639fd) - Set relation connection on eager loaded MorphTo (#32602)
- Fixed
Illuminate\Database\Schema\Grammars\SqlServerGrammar::compileDropDefaultConstraint()
was ignoring Table prefixes (#32606) - Filtering null's in
hasMorph()
(#32614) - Fixed
Illuminate\Console\Scheduling\Schedule::compileParameters()
(cfc3ac9, 36e215d) - Fixed bug with model name in
Illuminate\Database\Eloquent\RelationNotFoundException::make()
(f72a166) - Fixed
Illuminate\Foundation\Testing\TestResponse::assertJsonCount()
not accepting falsey keys (#32655)
Changed
- Changed
Illuminate/Database/Eloquent/Relations/Concerns/AsPivot::fromRawAttributes()
(6c502c1) - Restore Š¾nly common relations (#32613, d82f78b, 48e4d60)
- Use single space if plain email is empty in
Illuminate\Mail\Mailer::addContent()
(0557622) - Remove wasted file read when loading package manifest in
Illuminate\Foundation\PackageManifest::getManifest()
(#32646) - Cache
FakerGenerator
instances (#32585) - Do not change
character
andcollation
for some columns on change (fccdf7c)
v7.9.2 (2020-04-28)
Changed
v7.9.1 (2020-04-28)
Added
- Added more proxy methods to deferred value from
Illuminate\View\Component::createInvokableVariable()
(08c4012)
v7.9.0 (2020-04-28)
Added
- Add pdo try again as lost connection message (#32544)
- Compile Echos Within Blade Component Attributes (#32558)
- Parameterless Component Methods Invokable With & Without Parens (#32560)
Fixed
- Fixed
firstWhere
behavior for relations (#32525) - Added check to avoid endless loop in
MailManager::createTransport()
(#32549) - Fixed table prefixes with
compileDropDefaultConstraint()
(#32554) - Fixed boolean value in
Illuminate\Foundation\Testing\TestResponse::assertSessionHasErrors()
(#32555) - Fixed
Model::getOriginal()
with custom casts (9e22c7c)
Changed
- Added
withName
toIlluminate\View\Component::ignoredMethods()
(2e9eef2)
Fixed
- Auth with each master on flushdb (d0afa58)
- Clear resolved facades earlier (f2ea1a2)
- Register opis key so it is not tied to a deferred service provider (a4574ea)
- Pass status code to schedule finish (b815dc6)
- Fix firstWhere behavior for relations (#32525)
- Fix boolean value in assertSessionHasErrors (#32555)
v7.8.1 (2020-04-24)
Fixed
- Fixed
Illuminate\Http\Resources\Json\PaginatedResourceResponse::toResponse()
(d460374)
v7.8.0 (2020-04-24)
Added
- Added
signedRoute()
andtemporarySignedRoute()
methods toIlluminate\Routing\Redirector
(#32489) - Added
takeUntil
andtakeWhile
collection methods (#32494, #32496) - Added
Illuminate\Container\ContextualBindingBuilder::giveTagged()
(#32514) - Added methods
withFragment
andwithoutFragment
toIlluminate\Http\RedirectResponse
(11d6bef, 0099591, 42c67a1, a1e741a) - Added
exclude_without
validation rule (4083ae5)
Fixed
- Fixed compiled route actions without a namespace (#32512)
- Reset select bindings when setting select (#32531)
Changed
- Added warn in
Illuminate/Support/Facades/Auth::routes()
when laravel/ui is not installed (#32482) - Added auth to each master on
Illuminate\Redis\Connections\PhpRedisConnection::flushdb()
(837921b) - Register opis key so it is not tied to a deferred service provider (Illuminate/Encryption/EncryptionServiceProvider.php) (62d8a07)
- Pass status code to schedule finish (#32516)
- Check route:list --columns option case insensitively (#32521)
Deprecated
- Deprecate
Illuminate\Support\Traits\EnumeratesValues::until
(#32517)
v7.7.1 (2020-04-21)
Added
- Allow developers to specify accepted keys in array rule (#32452)
Changed
- Add check is_object to
Illuminate\Database\Eloquent\Model::refresh()
(1b0bdb4)
v7.7.0 (2020-04-21)
Added
- Added ArrayAccess support for Http client get requests (#32401)
- Added
Illuminate\Http\Client\Factory::assertSentCount()
(#32407) - Added
Illuminate\Database\Schema\Blueprint::rawIndex()
(#32411) - Added getGrammar into passthru in Eloquent builder (#32412)
- Added
--relative
option tostorage:link
command (#32457, 24b705e) - Added dynamic
column
key for foreign constraints (#32449) - Added container support for variadic constructor arguments (#32454, 1dd6db3)
- Added
Illuminate\Http\Client\Request::hasHeaders()
(#32462)
Fixed
- Fixed
MorphPivot::delete()
for models with primary key (#32421) - Throw exception on missing required parameter on Container call method (#32439, 44c2a8d)
- Fixed Http Client multipart request (#32428, 1f163d4)
- Fixed
Illuminate\Support\Stringable::isEmpty()
(#32447) - Fixed
whereNull
/whereNotNull
for json in MySQL (#32417, d3bb329) - Fixed
Collection::orderBy()
with callable (#32471)
Changed
v7.6.2 (2020-04-15)
Added
- Added
substrCount()
method toStringable
andStr
(#32393)
Fixed
- Fixed Lazyload
PackageManifest
(#32391) - Fixed email validator (#32388)
- Fixed
Illuminate\Mail\Mailable::attachFromStorageDisk()
(#32394)
Changed
v7.6.0 (2020-04-14)
Added
- Added
Collection::until()
method (#32262) - Added
HtmlString::isEmpty()
method (#32289, #32300) - Added
Illuminate\Support\Stringable::isNotEmpty()
method (#32293) - Added
ltrim()
andrtrim()
methods toIlluminate\Support\Stringable
class (#32288) - Added ability to skip a middleware (#32347, 412261c)
- Added
Illuminate\Http\Client\Response::object()
method (#32341) - Set component alias name (#32346)
- Added
Illuminate\Database\Eloquent\Collection::append()
method (#32324) - Added "between" clauses for BelongsToMany pivot columns (#32364)
- Support
retryAfter()
method option on Queued Listeners (#32370) - Added support for the new composer installed.json format (#32310)
- Added
uuid
change support in migrations (#32316) - Allowed store resource into postgresql bytea (#32319)
Fixed
- Fixed
*scan
methods for phpredis (#32336) - Fixed
Illuminate\Auth\Notifications\ResetPassword::toMail()
(#32345) - Call setLocale in
Illuminate\Translation\Translator::__construct()
(1c6a504) - Used a map to prevent unnecessary array access in
Illuminate\Http\Resources\Json\PaginatedResourceResponse::toResponse()
(#32296) - Prevent timestamp update when pivot is not dirty (#32311)
- Fixed CURRENT_TIMESTAMP precision bug in
Illuminate\Database\Schema\Grammars\MySqlGrammar
(#32298)
Changed
- Added default value to
HtmlString
constructor (#32290) - Used
BindingResolutionException
to signal problem with container resolution (#32349) Illuminate\Validation\Concerns\ValidatesAttributes.php ::validateUrl()
use Symfony/Validator 5.0.7 regex (#32315)
Depreciated
- Depreciate the
elixir
function (#32366)
Fixed
- Call setlocale (1c6a504)
- Use a map to prevent unnecessary array access (#32296)
- Prevent timestamp update when pivot is not dirty (#32311)
- Add support for the new composer installed.json format (#32310)
- ValidatesAttributes::validateUrl use Symfony/Validator 5.0.7 regex (#32315)
- Fix *scan methods for phpredis (#32336)
- Use the router for absolute urls (#32345)
v7.5.2 (2020-04-08)
Fixed
- Prevent insecure characters in locale (c248521)
Optimization
- Optimize
Arr::set()
method (#32282)
v7.5.1 (2020-04-07)
Fixed
v7.5.0 (2020-04-07)
Added
- Added
assertNotSent()
andassertNothingSent()
methods toIlluminate\Http\Client\Factory
(#32197) - Added enum support for
renameColumn()
(#32205) - Support returning an instance of a caster (#32225)
Fixed
- Prevent long URLs from breaking email layouts (#32189)
- Fixed camel casing relationship (#32217)
- Fixed merging boolean or null attributes in Blade components (#32245)
- Fixed Console expectation assertion order (#32258)
- Fixed
route
helper with custom binding key (#32264) - Fixed double slashes matching in UriValidator (fix inconsistencies between cached and none cached routes) (#32260)
- Fixed setting mail header (#32272)
Optimization
v7.4.0 (2020-03-31)
Added
- Makes the stubs used for
make:policy
customizable (#32040, 9d36a36) - Implement
HigherOrderWhenProxy
for Collections (#32148) - Added
Illuminate\Testing\PendingCommand::expectsChoice()
(#32139) - Added support for default values for the "props" blade tag (#32177)
- Added
Castable
interface (#32129, 9cbf908, 651371a) - Added the ability to remove orders from the query builder (#32186)
Fixed
- Added missing return in the
PendingMailFake::sendNow()
andPendingMailFake::send()
(#32093) - Fixed custom Model attributes casts (#32118)
- Fixed route group prefixing (#32135, 870efef)
- Fixed component class view reference (#32132)
Changed
- Remove Swift Mailer bindings (#32165)
- Publish console stub when running
stub:publish
command (#32096) - Publish rule stub when running
make:rule
command (#32097) - Adding the middleware.stub to the files that will be published when running php artisan
stub:publish
(#32099) - Adding the factory.stub to the files that will be published when running php artisan
stub:publish
(#32100) - Adding the seeder.stub to the files that will be published when running php artisan
stub:publish
(#32122)
v7.2.2 (2020-03-20)
Fixed
- Fixed empty data for blade components (#32032)
- Fixed subdirectories when making components by
make:component
(#32030) - Fixed serialization of models when sending notifications (#32051)
- Fixed route trailing slash in cached routes matcher (#32048)
Changed
v7.2.0 (2020-03-17)
Added
- Added
Illuminate\Testing\PendingCommand::expectsConfirmation()
(#31965) - Allowed configuring the timeout for the smtp mail driver (#31973)
- Added
Http client
query string support (#31996)
Fixed
- Fixed
cookie
helper signature , matching matchCookieFactory
(#31974) - Added missing
ramsey/uuid
dependency toIlluminate/Queue/composer.json
(#31988) - Fixed output of component attributes in View (#31994)
Changed
v6.18.2 (2020-03-17)
Fixed
v7.1.3 (2020-03-14)
Fixed
- Unset
pivotParent
onPivot::unsetRelations()
(#31956)
Changed
- Escape merged attributes by default in
Illuminate\View\ComponentAttributeBag
(83c8e6e)
v7.1.2 (2020-03-13)
Fixed
- Corrected suggested dependencies (bb0ec42)
- Fixed null value injected from container in routes (#31867, c666c42)
Changed
- Escape attributes automatically in some situations in
Illuminate\View\Compilers\ComponentTagCompiler
(#31945)
v7.1.1 (2020-03-12)
Added
- Added
dispatchToQueue()
toBusFake
(#31935) - Support either order of arguments for symmetry with livewire (8d558670)
Fixed
- Bring
--daemon
option back toqueue:work
command (24c1818) - Fixed scheduler dependency assumptions (#31894)
- Fixed ComponentAttributeBag merge behaviour (#31932)
Changed
v7.1.0 (2020-03-10)
Added
- Added
Illuminate\Routing\RouteRegistrar::apiResource()
method (#31857) - Added optional $table parameter to
ForeignIdColumnDefinition::constrained()
method (#31853)
Fixed
- Fixed phpredis "zadd" and "exists" on cluster (#31838)
- Fixed trailing slash in
Illuminate\Routing\CompiledRouteCollection::match()
(3d58cd9, ac6f3a8) - Fixed "srid" mysql schema (#31852)
- Fixed Microsoft ODBC lost connection handling (#31879)
Changed
v7.0.8 (2020-03-08)
Added
- Added
Illuminate\Mail\Mailable::when()
method (#31828)
Fixed
- Match Symfony's
Command::setHidden
declaration (#31840) - Fixed dynamically adding of routes during caching (#31829)
Changed
- Update the encryption algorithm to provide deterministic encryption sizes (#31721)
v7.0.7 (2020-03-07)
Fixed
v7.0.6 (2020-03-06)
Added
- Added queue suffix for SQS driver (#31784)
Fixed
- Fixed model binding when route cached (af80685)
- Fixed incompatible
Factory
contract forMailFacade
(#31809)
Changed
- Fixed typehints in
Illuminate\Foundation\Application::handle()
(#31806)
v7.0.5 (2020-03-06)
Fixed
- Fixed
Illuminate\Http\Client\PendingRequest::withCookies()
method (36d783c) - Catch Symfony
MethodNotAllowedException
exception inCompiledRouteCollection::match()
method (#31762) - Fixed a bug with slash prefix in the route (#31760)
- Fixed root URI not showing in the
route:list
(#31771) - Fixed model restoring right after being soft deleting (#31719)
- Fixed array lock release behavior (#31795)
- Fixed
Illuminate\Support\Str::slug()
method (e4f22d8)
Changed
v7.0.3 (2020-03-04)
Fixed
- Fixed route caching attempt in
Illuminate\Routing\CompiledRouteCollection::newRoute()
(90b0167) - Catch Symfony exception in
CompiledRouteCollection::match()
method (#31738) - Fixed Eloquent model casting (2b395cd)
- Fixed
UrlGenerator
constructor (#31740)
Changed
- Added message to
Illuminate\Http\Client\RequestException
(#31720)
v7.0.2 (2020-03-04)
Fixed
- Fixed
ascii()
\isAscii()
\slug()
methods on theStr
class with null value in the methods (#31717) - Fixed
trim
of the prefix in theCompiledRouteCollection::newRoute()
(ce0355c, b842c65)
Changed
- remove comments before compiling components in the
BladeCompiler
(2964d2d)
v7.0.0 (2020-03-03)
Check the upgrade guide in the Official Laravel Upgrade Documentation. Also you can see some release notes in the Official Laravel Release Documentation.
v6.18.0 (2020-03-03)
Added
- Added
Arr::hasAny()
method (#31636)
Fixed
- Use correct locale when resolving Faker from the container (#31615)
- Fixed loading deferred providers for binding interfaces and implementations (#31629, 1764ff7)
Changed
v6.17.0 (2020-02-25)
Added
- Allowed private-encrypted pusher channels (#31559, ceabaef, 8215e0d)
- Added file
permission
config option for the File cache store (#31579) - Added
Connection refused
andrunning with the --read-only option so it cannot execute this statement
toDetectsLostConnections
(#31539)
Reverted
Fixed
- Fixed issue
Content Type not specified
(#31533)
Changed
- Allowed
cache
helper to have an optionalexpiration
parameter (#31554) - Allowed passing of strings to
TestResponse::dumpSession()
method (#31583) - Consider mailto: and tel: links in the subcopy actionUrl label in emails (#31523, 641a7cd)
- Exclude mariaDB from database queue support for new SKIP LOCKED (fff96e7)
v6.16.0 (2020-02-18)
Added
- Added Guzzle 7 support (#31484)
- Added
Illuminate\Database\Query\Builder::groupByRaw()
(#31498) - Added SQLite JSON update support with json_patch (#31492)
Fixed
- Fixed
appendRow
on console table (#31469) - Fixed password check in
EloquentUserProvider::retrieveByCredentials()
(4436662)
Revert
- Revert table feature in the console output (4094d78)
Changed
v6.15.0 (2020-02-11)
Added
- Added
Illuminate\Auth\Events\Validated
event (#31357, 7ddac28) - Make
Blueprint
support Grammar'smacro
(#31365) - Added
Macroable
trait toIlluminate\Console\Scheduling\Schedule
class (#31354) - Added support
dispatchAfterResponse
inBusFake
(#31418, e59597f) - Added
Illuminate\Foundation\Exceptions\Handler::getHttpExceptionView()
(#31420) - Allowed appending of rows to Artisan tables (#31426)
Fixed
- Fixed
locks
forsqlsrv
queue (5868066) - Fixed
Illuminate\Events\Dispatcher::hasListeners()
(#31403, c80302e) - Fixed testing with unencrypted cookies (#31390)
Changed
- Allowed multiple paths to be passed to migrate fresh and migrate refresh commands (#31381)
- Split Console InteractsWithIO to external trait (#31376)
- Added sms link as valid URL in
UrlGenerator::isValid()
method (#31382) - Upgrade CommonMark and use the bundled table extension (#31411)
- Ensure
Application::$terminatingCallbacks
are reset onApplication::flush()
(#31413) - Remove serializer option in
PhpRedisConnector::createClient()
(#31417)
v6.14.0 (2020-02-04)
Added
- Added
Illuminate\Bus\Dispatcher::dispatchAfterResponse()
method (#31300, 8a3cdb0) - Added
Illuminate\Support\Testing\Fakes\QueueFake::assertPushedWithoutChain()
method (#31332, 7fcc6b5) - Added
Macroable
trait to theIlluminate\Events\Dispatcher
(#31317) - Added
NoPendingMigrations
event (#31289, 739fcea)
Fixed
- Used current DB to create Doctrine Connections (#31278)
- Removed duplicate output when publishing tags in
vendor:publish
command (#31333) - Fixed plucking column name containing a space (#31299)
- Fixed bug with wildcard caching in event dispatcher (#31313)
- Fixed infinite value for RedisStore (#31348)
- Fixed dropping columns in SQLServer with default value (#31341)
Changed
- Use SKIP LOCKED for mysql 8.1 and pgsql 9.5 queue workers (#31287)
- Dont merge middleware from method and property in
Illuminate\Bus\Queueable::middleware()
(#31301) - Split
specifyParameter()
fromIlluminate\Console\Command
toHasParameters
trait (#31254) - Make sure changing a database field to json does not include charset (#31343)
v6.13.0 (2020-01-28)
Added
- Added
--api
option to themake:model
command (#31197, #31222) - Added
PendingResourceRegistration::shallow()
method (#31208, 104c539) - Allowed formatting an implicit attribute using a closure (#31246)
- Added
Filesystem::ensureDirectoryExists()
method (8a8eed4) - Added support to
Storage::url()
for the Ftp driver (#31258, b8790e5)
Fixed
- Fixed laravel migrations when migrating to sql server (dropColumn with default value) (#31229)
- Fixed
handleBeginTransactionException()
method calling pdo property instead of getPdo() method (#31233) - Fixed channel names when broadcasting via redis (#31261)
- Replace asterisks before validation (#31257)
Changed
- Reset timeout handler after worker loop (#31198)
v6.12.0 (2020-01-21)
Added
- Added
ServiceProvider::loadFactoriesFrom()
method (#31133) - Added
TestResponse::dumpSession()
method (#31131) - Added
Str::isUuid()
method (#31148) - Restored phpunit 7 support (#31113)
- Added
Request::boolean()
method (#31160) - Added
Database\Eloquent\FactoryBuilder::createMany()
(#31171, 6553d59) - Added missing options for PhpRedis (#31182)
Fixed
- Fixed
Cache\RedisLock::acquire()
(#31168, 8683a3d) - Fixed database url parsing for connections with no database specified (#31185)
- Prevent ambiguous column with table name prefix (#31174)
Optimization
- Fixed memory usage on downloading large files (#31163)
Changed
v6.11.0 (2020-01-14)
Added
- Added
Illuminate\Database\Eloquent\Builder::firstWhere()
method (#31089) - Redis Broadcaster: Broadcast to multiple channels at once (#31108)
Fixed
- Fixed undefined property in
WithFaker::makeFaker()
(#31083) - Fixed
Str::afterLast()
method (#31095) - Fixed insert float into MySQL with PHP 7.3 (#31100)
- Fixed refresh on Model with customized pivot attribute name (#31125, 678b26b)
Changed
v6.10.0 (2020-01-07)
Added
- Added
withoutMix()
andwithMix()
test helpers (#30900) - Added
validateWithBag()
macro toRequest
(#30896) - Added PHPUnit 9 support (#30947)
- Added
exclude_if
andexclude_unless
validation rules (#30835, c0fdb56) - Added generated columns (virtual/stored) support for PostgreSQL (#30971)
- Added
mixin
support to Eloquent builder (#30978, 28fa74e) - Make the Redis Connection
Macroable
(#31020) - Added
PackageManifest::config()
method (#31039, 9b73540) - Added
redis.connection
aliases in container (#31034) - Extracted
CallsCommands
feature fromIlluminate\Console\Command
(#31026, ef72716) - Allowed absolute file path for
Storage::putFile()
(#31040)
Changed
- Handled passing too many arguments to
@slot
(#30893, 878f159) - Make
ThrottleRequestsException
extendTooManyRequestsHttpException
(#30943) - Used
league/commonmark
instead oferusev/parsedown
for mail markdown (#30982) - Regenerate token on logout (b2af428)
- Make
RedisQueue::getConnection()
public (#31016) - Delete dependency
graham-campbell/testbench-core
(#30989) - Resolve
Faker\Generator
out of the container if it is bound (#30992)
Fixed
- Fixed
float
database types inBlueprint
(#30891) - Fixed code that depended on
getenv()
(#30924) - Prevented making actual pdo connections while reconnecting (#30998)
- Fixed
exclude_if
\exclude_unless
validation rules for nested data (#31006) - Update
dev-master
branch aliases from6.0-dev
to6.x-dev
(d06cc79) - Utilize Symfonyās PSR Factory. Fixed #31017 (#31018, #31027)
- Used model connection by default in the database validators (#31037)
Optimization
- Optimize Service Provider registration (#30960)
- Optimize
runningInConsole
method (#30922) - Delay instantiation of translator and view factory (#31009)
Deprecated
- Deprecate
PendingMail::sendNow()
and remove unneeded check (#30999)
Reverted
Refactoring
- Refactoring of
BladeCompiler::compileString()
method (08887f9)
v6.9.0 (2019-12-19)
Added
- Added
MIME
type argument toTesting/FileFactory::create()
(#30870) - Added
seed
toall
option when creating the model (make:model
command) (#30874) - Allowed configurable emergency logger (#30873)
- Added
prependMiddlewareToGroup()
/appendMiddlewareToGroup()
/prependToMiddlewarePriority()
/appendToMiddlewarePriority()
toKernal
for manipulating middleware (6f33feb)
Reverted
- Reverted Added
Model::setRawAttribute()
(#30885)
Fixed
- Fixed
Builder::withCount()
binding error when a scope is added into related model with binding in a sub-select (#30869)
Changed
- Dont throw exception when session is not set in
AuthenticateSession
middleware (4de1d24)
v6.8.0 (2019-12-17)
Added
- Allowed packages to use custom markdown mail themes (#30814, 2206d52)
- Added more quotes to
Inspiring
(4a7d566, 9693ced) - Added support for nested arrays in
TestResponse::assertViewHas()
(#30837) - Added
Model::setRawAttribute()
(#30853) - Added
--force
option to themake:controller
resource (#30856) - Allowed passing an array to
Resource::collection()
(#30800) - Implemented ArrayAccess on
JsonResponse
andTestResponse
(#30817) - Added
--seed
option to themake::model
resource (#30828, 2cd9417)
Fixed
- Fixed two index creation instead of one when using
change()
(#30843) - Prevent duplicate attachments in the
Mailable
(3c8ccc2) - Fixed
ServiceProvider
for PHP 7.4 inLumen
(#30819) - Fixed non-eloquent model validation in database validation rules (#30840)
Changed
v6.7.0 (2019-12-10)
Added
- Added
getQualifiedCreatedAtColumn()
andgetQualifiedUpdatedAtColumn()
methods toHasTimestamps
concern (#30792) - Added
exceptionContext()
method to theExceptions\Handler
(#30780) - Added ability for postmark transport to throw errors (#30799, 4320b82)
- Added
withoutRelations()
andunsetRelations()
methods toHasRelationships
(#30802) - Added
ResourceCollection::preserveQueryParameters()
for preserve query parameters on paginated api resources (#30745, e92a708)
Fixed
- Fixed explicit models in string-based database validation rules (#30790)
- Fixed
Routing\RedirectController()
(#30783)
Changed
v6.6.2 (2019-12-05)
Added
- Added
Illuminate\Support\Facades\Facade::partialMock()
method (#30754) - Added of support
retryAfter
option on queued listeners (#30743)
Fixed
- Fixed zero parameter for routes (#30768)
Changed
- Changed
getAllViews()
method visibility fromprotected
topublic
in all schema builders (#30757)
v6.6.1 (2019-12-03)
Added
- Added
setInput()
andsetOutput()
methods toIlluminate\Console\Command
(#30706)
Fixed
- Fixed RouteUrlGenerator with empty string for required parameter (#30714)
Changed
- Force usage getting timestamps columns in model (#30697)
Reverted
v6.6.0 (2019-11-26)
Added
- Allowed explicit Model definitions in database rules (#30653, 9beceac)
- Allowed
ResponseFactory::view()
to return first view (#30651) - Added
Foundation\Testing\Concerns\InteractsWithDatabase::assertDeleted()
method (#30648) - Added
Illuminate\Routing\Router::head()
(#30646) - Added
wherePivotNotIn()
andorWherePivotNotIn()
methods toBelongsToMany
(#30671) - Added options in
SqlServerConnector
to encrypt data with Azure Key vault (#30636)
Fixed
- Fixed errors in
Illuminate\Http\Testing\FileFactory::create()
(#30632) - Fixed routing bug that causes missing parameters to be ignored (#30659)
Changed
v6.5.2 (2019-11-19)
Added
- Allowed model serialization on jobs for typed properties (#30604, #30605, 920c364)
- Allowed fallback when facade root accessor has previously been resolved (#30616)
- Added support for separation between
geometry
andgeography
types forPostgres
(#30545) - Added
createWithContent()
method toIlluminate\Http\Testing\File
andIlluminate\Http\Testing\FileFactory
(2cc6fa3, 181db51)
Refactoring
- Improved
PostgresGrammar::formatPostGisType()
method readability (#30593)
Changed
v6.5.1 (2019-11-12)
Added
- Added
includeUnless
directive (#30538)
Fixed
- Fixed default value for $count in
PhpRedisConnection::spop()
method (#30546) - Fixed breaking compatibility with multi-schema postgres (#30562, 6460d2b)
- Fixed
Model::isDirty()
withcollection
/object
casts (#30565) - Fixed
bcc
inMailgunTransport::send()
(#30569)
Changed
v6.5.0 (2019-11-05)
Added
- Added
LazyCollection::remember()
method (#30443) - Added
Str::afterLast()
andStr::beforeLast()
methods (#30507) - Added
existsOr()
anddoesntExistOr()
methods to the query builder (#30495) - Added
unless
condition to Blade customif
directives (#30492)
Changed
v6.4.1 (2019-10-29)
Added
- Added
ScheduledTaskSkipped
event when a scheduled command was filtered from running (#30407) - Added
Login timeout expired
toDetectsLostConnections
(#30362) - Added
missing
method toIlluminate\Filesystem\Filesystem
andIlluminate\Filesystem\FilesystemAdapter
classes (#30441)
Changed
- Make
vendor:publish
command more informative (#30408, 65d040d) - Accepted underscores URL in the
URL
validator (#30417) - Updated
artisan down
output to be consistent withartisan up
(#30422) - Changed
!empty
toisset
for changing redis database (#30420) - Throw an exception when signing route got in parameter keys
signature
(#30444, 71af732)
Fixed
- Fixed of retrieving view config in
ServiceProvider::loadViewsFrom()
for Lumen (#30404)
v6.4.0 (2019-10-23)
Added
- Added
missing()
method toRequest
class (#30320) - Added
Pipeline::pipes()
method (#30346) - Added
TestResponse::assertCreated()
method (#30368)
Changed
- Added
connection is no longer usable
toDetectsLostConnections
(#30362) - Implemented parse ID on find method for many to many relation (#30359)
- Improvements on subqueries (#30307, 3f3b621)
- Pass mail data to theme css in
Markdown::render()
method (#30376) - Handle ajax requests in RequirePassword middleware (#30390, 331c354)
Fixed
- Fixed
retry()
with$times
value less then 1 (#30356) - Fixed
last_modified
option inSetCacheHeader
(#30335) - Fixed the Filesystem manager's exception on unsupported driver (#30331, #30369)
- Fixed
shouldQueue()
check for bound event listeners (#30378) - Used exit code
1
when migration table not found (#30321) - Alleviate breaking change introduced by password confirm feature (#30389)
Security:
v6.3.0 (2019-10-15)
Added
- Added ability to override
setUserPassword
on password reset (#30218) - Added firing
deleting
\deleted
events inMorphPivot
(#30229) - Added locking mechanism for the array cache driver (#30253)
- Added
dropAllViews
functionality to the SQL Server builder (#30222)
Optimization
- Optimize eager loading memory handling (#30248)
Fixed
- Fixed extra
?
for empty query string inRouteUrlGenerator::getRouteQueryString()
(#30280)
Changed
v6.2.0 (2019-10-08)
Added
- Added support for callable objects in
Container::call()
(#30156) - Add multipolygonz type for postgreSQL (#30173)
- Add "unauthenticated" method in auth middleware (#30177)
- Add partialMock shorthand (#30202)
- Allow Storage::put to accept a Psr StreamInterface (#30179)
- Implement new password rule and password confirmation (#30214)
Changed
- Remove unnecessary param passed to updatePackageArray method (#30155)
- Add optional connection name to DatabaseUserProvider (#30154)
- Remove brackets arround URL php artisan serve (#30168)
- Apply limit to database rather than collection (#30148)
- Allow to use scoped macro in nested queries (#30127)
- Added array to json conversion for sqlite (#30133)
- Use the
policies()
method instead of the property policies (#30189) - Split hasValidSignature method (#30208)
Fixed
validateDimensions()
handleimage/svg
MIME (#30204)
v6.1.0 (2019-10-01)
Added
- Added
Illuminate\Support\LazyCollection::eager()
method (#29832) - Added
forgetChannel()
andgetChannels()
methods toIlluminate\Log\LogManager
(#30132, a52a0dd) - Added
Illuminate\Foundation\Testing\TestResponse::assertNoContent()
method (#30125) - Added
InteractsWithQueue
toSendQueueNotifications
(#30140) - Added
SendQueueNotifications::retryUntil()
method (#30141) - Added methods for sending cookies with test requests (#30101)
- Added support of job middleware for queued notifications (#30070)
Fixed
- Fixed migration class duplicate check in
make:migration
command (#30095) - Fixed monolog v2 handler preparation (#30123)
- Fixed return of callback value for DurationLimiter (#30143)
Changed
- Added runtime information output for seeders (#30086)
- Added strict parameter to
Illuminate\Foundation\Testing\TestResponse::assertJsonPath()
(#30142) - Added
deletedAtColumn
optional parameter toFoundation\Testing\Concerns\InteractsWithDatabase::assertSoftDeleted()
(#30111)
Improved
- Improved
AuthServiceProvider::registerEventRebindHandler()
in case if guard is not initialized (#30105)
v6.0.4 (2019-09-24)
Added
- Added
TestResponse::assertJsonPath()
method (#29957) - Added
hasMacro
\getGlobalMacro
\hasGlobalMacro
methods toEloquent Builder
(#30008) - Added
Illuminate\Database\Eloquent\Relations\BelongsToMany::getPivotColumns()
method (#30049) - Added
ScheduledTaskFinished
\ScheduledTaskStarting
events to signal when scheduled task runs (#29888) - Allowing adding command arguments and options with
InputArgument
\InputOption
objects (#29987)
Fixed
- Fixed
__()
withnull
parameter (#29967) - Fixed modifying
updated_at
column on custom pivot model (#29970) - Fixed
Illuminate\Redis\Limiters\ConcurrencyLimiter
(#30005) - Fixed
VerifyCsrfToken
middleware when response object instance ofResponsable
interface (#29972) - Fixed Postgresql column creation without optional precision (#29873)
- Fixed migrations orders with multiple path with certain filenames (#29996)
- Fixed adding
NotFoundHttpException
to "allowed" exceptions in tests (#29975)
Changed
- Make it possible to disable encryption via
0
/false
(#29985) - Allowed a symfony file instance in validate dimensions (#30009)
- Create storage fakes with custom configuration (#29999)
- Set locale in
PendingMail
only if locale present conditionally (dd1e0a6) - Improved sorting of imports alphabetically on class generation from stub (#29951)
Refactoring
v6.0.2 (2019-09-10)
Changed
- Used
Application::normalizeCachePath()
method to define cache path`s (#29890, ac9dbf6) - Wrapped
MySQL
default values in parentheses (#29878)
Fixed
v6.0.1 (2019-09-06)
Fixed
- Fixed
Schedule::runInBackground()
not fired on Windows (#29826)
Changed
- throw
Symfony\Component\Routing\Exception\RouteNotFoundException
instead ofInvalidArgumentException
inUrlGenerator::route()
(#29861)
Reverted
Check the upgrade guide in the Official Laravel Documentation.
v5.8.35 (2019-09-03)
Added
- Added support of
NOT RLIKE
SQL operator (#29788) - Added hebrew letters to
Str:slug
language array (#29838, ba772d6) - Added support of
php7.4
(#29842)
Fixed
- Fixed self-referencing
MorphOneOrMany
existence queries (#29765) - Fixed
QueueFake::size()
method (#29761, ddaf6e6)
Changed
v5.8.34 (2019-08-27)
Fixed
- Fixed
MailMessage::render()
ifview
method was used (#29698) - Fixed setting of numeric values as model attribute (#29714)
- Fixed mocking of events
until
method inMocksApplicationServices
(#29708) - Fixed: Use custom attributes in lt/lte/gt/gte rules messages (#29716)
Changed:
- Changed applying of Aws Instance Profile (#29738)
v5.8.33 (2019-08-20)
Added
- Added
ValidatesWhenResolvedTrait::passedValidation()
callback (#29549) - Implement new types for email validation support (#29589)
- Added Redis 5 support (#29606)
- Added
insertOrIgnore
support (#29639, 46d7e96, #29645) - Allowed to override the existing
Whoops
handler.(#29564)
Fixed
- Fixed non-displayable boolean values in validation messages (#29560)
- Avoid undefined index errors when using AWS IAM (#29565)
- Fixed exception message in the
ProviderRepository::writeManifest()
(#29568) - Fixed invalid link expiry count in ResetPassword (#29579)
- Fixed command testing of
output
andquestions
expectations (#29580) - Added ignoring of classes which are not instantiable during event discovery (#29587)
- Used real classname for seeders in the output (#29601)
Refactoring
- Simplified
isset()
(#29581)
v5.8.31 (2019-08-06)
Fixed
- Fixed FatalThrowableError in
updateExistingPivot()
when pivot is non-existent (#29362) - Fixed worker timeout handler when there is no job processing (#29366)
- Fixed
assertJsonValidationErrors()
with muliple messages (#29380) - Fixed UPDATE queries with alias (#29405)
Changed
Illuminate\Cache\ArrayStore::forget()
returns false on missing key (#29427)- Allow chaining on
QueryBuilder::dump()
method (#29437) - Change visibility to public for
hasPivotColumn()
method (#29367) - Added line break for plain text mails (#29408)
- Use
date_create
to prevent date validator warnings (#29342, #29389)
v5.8.30 (2019-07-30)
Added
- Added
MakesHttpRequests::option()
andMakesHttpRequests::optionJson()
methods (#29258) - Added
Blueprint::uuidMorphs()
andBlueprint::nullableUuidMorphs()
methods (#29289) - Added
MailgunTransport::getEndpoint()
andMailgunTransport::setEndpoint()
methods (#29312) - Added
WEBP
to image validation rule (#29309) - Added
TestResponse::assertSessionHasInput()
method (#29327) - Added support for custom redis driver (#29275)
- Added Postgres support for
collation()
on columns (#29213)
Fixed
- Fixed collections with JsonSerializable items and mixed values (#29205)
- Fixed MySQL Schema Grammar
$modifiers
order (#29265) - Fixed UPDATE query bindings on PostgreSQL (#29272)
- Fixed default theme for Markdown mails (#29274)
- Fixed UPDATE queries with alias on SQLite (#29276)
- Fixed UPDATE and DELETE queries with join bindings on PostgreSQL (#29306)
- Fixed support of
DateTime
objects andint
values inorWhereDay()
,orWhereMonth()
,orWhereYear()
methods in theBuilder
(#29317) - Fixed DELETE queries with joins on PostgreSQL (#29313)
- Prevented a job from firing if job marked as deleted (#29204, 1003c27)
- Fixed model deserializing with custom
Model::newCollection()
(#29196)
Reverted
Changed
v5.8.29 (2019-07-16)
Added
- Added possibility for
WithFaker::makeFaker()
use localapp.faker_locale
config (#29123) - Added ability to set theme for mail notifications (#29132)
- Added runtime for each migration to output (#29149)
- Added possibility for
whereNull
andwhereNotNull
to accept array columns argument (#29154) - Allowed
Console\Scheduling\ManagesFrequencies::hourlyAt()
to accept array of integers (#29173)
Performance
- Improved eager loading performance for MorphTo relation (#29129)
Fixed
- Fixed
Builder::whereDay()
andBuilder::whereMonth()
with raw expressions - Fixed DELETE queries with alias on SQLite (#29164)
- Fixed queue jobs using SerializesModels losing order of passed in collections (#29136)
- Fixed conditional binding for nested optional dependencies (#29180)
- Fixed: validator not failing on custom rule when message is null (#29174)
- Fixed DELETE query bindings (#29165)
v5.8.28 (2019-07-09)
Added
- Make TestResponse tappable (#29033)
- Added
Support\Collection::mergeRecursive()
method (#29084) - Added
Support\Collection::replace()
andSupport\Collection::replaceRecursive()
methods (#29088) - Added
Session\Store::only()
method (#29107)
Fixed
- Fixed cache repository setMultiple with an iterator (#29039)
- Fixed cache repository getMultiple implementation (#29047)
Reverted
Changed
- Fail job immediately after it timeouts if it wont be retried (#29024)
v5.8.27 (2019-07-02)
Added
- Let
mix
helper useapp.mix_url
config (#28952) - Added
RedisManager::setDriver()
method (#28985) - Added
whereHasMorph()
and corresponding methods to work withMorphTo
relations (#28928)
Fixed
- Fixed: Changing a database field to binary include
collation
(#28975) - Fixed app.stub for jquery components loading (#29001)
- Fixed equivalent for greek letter theta in
Str::ascii()
(#28999)
Changed
- Prevented
TestResponse::dump()
andTestResponse::dumpHeaders()
methods from ending execution of the script (#28960) - Allowed
TestResponse::dump()
andTestResponse::dumpHeaders()
methods chaining (#28967) - Allowed to
NotificationFake
accept custom channels (#28969) - Replace contents of service manifest atomically (#28973)
- Pass down the
serverVersion
database connection option to Doctrine DBAL connection (#28964, 1b55b28) - Replace
self::
withstatic::
in theRelation::getMorphedModel()
(#28974) - Set a message for
SuspiciousOperationException
(#29000) - Storing Mailgun Message-ID in the headers after sending (#28994)
v5.8.25 (2019-06-25)
Added
- Added
json
option toroute:list
command (#28894)
Fixed
- Fixed columns parameter on paginate method (#28937)
- Prevent event cache from firing multiple times the same event(s) (#28904)
- Fixed
TestResponse::assertJsonMissingValidationErrors()
on empty response (#28595, #28913) - Fixed percentage sign in filename fallback in the
FilesystemAdapter::response()
(#28947)
Changed
v5.8.24 (2019-06-19)
Added
- Added possibility to assert that the session contains a given piece of data using a closure in
TestResponse::assertSessionHas()
(#28837) - Added
TestResponse::assertUnauthorized()
(#28851) - Allowed to define port in
ServeCommand
viaSERVER_PORT
env variable (#28849, 6a18e73) - Allowed console environment argument to be separated with a space (#28869)
- Added
@endcomponentFirst
directive (#28884) - Added optional parameter
$when
toretry
helper (85c0801)
Fixed
- Fixed
Builder::dump()
andBuilder::dd()
with global scopes (#28858)
Reverted
Changed
- Handle
SuspiciousOperationException
in router asNotFoundHttpException
(#28866)
v5.8.23 (2019-06-14)
Fixed
- Fixed strict comparison in redis configuration Parsing. (#28830)
Changed
- Improved support for arrays on
TestResponse::assertJsonValidationErrors()
(2970dab)
v5.8.22 (2019-06-12)
Added
- Added
@componentFirst
directive (#28783) - Added support for typed eager loads (#28647, d72e3cd)
- Added
Related
andRecommended
to Pluralizer (#28749) - Added
Str::containsAll()
method (#28806) - Added: error handling for maintenance mode commands (#28765, 9e20849)
- Added message value assertion to
TestResponse::assertJsonValidationErrors()
(#28787) - Added: Automatically bind the viewAny method to the index controller action (#28820)
Fixed
- Fixed database rules with where clauses (#28748)
- Fixed: MorphTo Relation ignores parent $timestamp when touching (#28670)
- Fixed: Sql Server issue during
dropAllTables
when foreign key constraints exist (#28750, #28770) - Fixed
Model::getConnectionName()
whenModel::cursor()
used (#28804)
Changed
v5.8.20 (2019-06-04)
Added
- Added
viewAny()
to dummy policy class (#28654, #28671) - Added
fullpath
option tomake:migration
command (#28669)
Performance improvement
Fixed
- Fixed
artisan cache:clear
command with a redis cluster using the Predis library (#28706)
v5.8.19 (2019-05-28)
Added
- Added optional
DYNAMODB_ENDPOINT
env variable to configure endpoint for DynamoDB (#28600) - Added
Illuminate\Foundation\Application::isProduction()
method (#28602) - Allowed exception reporting in
rescue()
to be disabled (#28617) - Allowed to parse Url in Redis configuration (#28612, f4cfb32)
- Allowed setting additional (
sourceip
andlocaldomain
) smtp config options (#28631, 435c05b)
Fixed
- Fixed Eloquent UPDATE queries with alias (#28607)
- Fixed
Illuminate\Cache\DynamoDbStore::forever()
(#28618) - Fixed
event:list
command, when using a combination of manually registering events and event auto discovering (#28624)
Performance improvement
- Improve performance for
Arr::flatten()
(#28614)
Changed
- Added
id
toModelNotFoundException
exception inImplicitRouteBinding
(#28588)
v5.8.18 (2019-05-21)
Added
- Added
html
as a new valid extension for views (#28541) - Added: provide notification callback
withSwiftMessage
inMailMessage
(#28535)
Fixed
- Fixed
Illuminate\Cache\FileStore::getPayload()
in case of broken cache (#28536) - Fixed exception:
The filename fallback must only contain ASCII characters
in theIlluminate\Filesystem\FilesystemAdapter::response()
(#28551)
Changed
- Make
Support\Testing\Fakes\MailFake::failures()
returns an empty array (#28538) - Make
Support\Testing\Fakes\BusFake::pipeThrough()
returns$this
(#28564)
Refactoring
- Cleanup html (#28583)
2019/05/14
Added
- Added
Illuminate\Foundation\Testing\TestResponse::dumpHeaders()
(#28450) - Added
ends_with
validation rule (#28455) - Added possibility to use a few
columns
arguments in theroute:list
command (#28459) - Added
retryAfter
inMail\SendQueuedMailable
andNotifications\SendQueuedNotifications
object (#28484) - Added
Illuminate\Foundation\Console\Kernel::scheduleCache()
(6587e78) - Added support for multiple
--path
options within migrate commands (#28495) - Added
Tappable
trait (#28507) - Added support auto-discovery for events in a custom application directory, that sets via
Illuminate\Foundation\Application::useAppPath()
(#28493) - Added passing of notifiable email through reset link (#28475)
- Added support flush db on clusters in
PhpRedisConnection
andPredisConnection
(f4e8d5c)
Fixed
- Fixed session resolver in
RoutingServiceProvider
(without bind ofsession
inContainer
) (#28438) - Fixed
route:list
command when routes were dynamically modified (#28460, #28463) - Fixed
required
validation with multiplepasses()
calls (#28502) - Fixed the collation bug when changing columns in a migration (#28514)
- Added password to the
RedisCluster
only ifredis
>=4.3.0
(1371940) - Used
escapeshellarg
on windows symlink inFilesystem::link()
(44c3feb)
Changed
- Reset webpack file for none preset (#28462)
v5.8.16 (2019-05-07)
Added
- Added: Migration Events (#28342)
- Added ability to drop types when running the
migrate:fresh
command (#28382) - Added
Renderable
functionality toMailMessage
(#28386)
Fixed
- Fixed the remaining issues with registering custom Doctrine types (#28375)
- Fixed
fromSub()
andjoinSub()
with table prefix inQuery\Builder
(#28400) - Fixed false positives for
Schema::hasTable()
with views (#28401) - Fixed
sync
results with customPivot
model (#28416, e31d131)
Changed
- Modified
None
AndReact
presets withvue-template-compiler
(#28389) - Changed
navbar-laravel
class tobg-white shadow-sm
class inlayouts\app.stub
(#28417) - Don't execute query in
Builder::findMany()
when ids are emptyArrayable
(#28432) - Added parameter
password
forRedisCluster
construct function (#28434) - Pass email verification URL to callback in
Auth\Notifications\VerifyEmail
(#28428) - Updated
RouteAction::parse()
(#28397) - Updated
Events\DiscoverEvents
(#28421, #28426)
v5.8.15 (2019-04-27)
Added
Changed:
- Fix BelongsToMany read wrong parent key (#28317)
- Fix make:auth not using apps configured views path (#28324, e78cf02)
- Add custom message to thrown exception (#28335)
- Fix recursive replacements in Str::replaceArray() (#28338)
- Add the
dd
method to the query builder (#28357) - Improve output of "assertSessionDoesntHaveErrors" when called with no arguments (#28359)
- Allow logging out other devices without setting remember me cookie (#28366)
- Break out password reset credentials into a method (#28370)
v5.8.14 (2019-04-23)
Added
- Implemented
Job Based Retry Delay
(#28265)
Changed
- Update auth stubs with
@error
blade directive (#28273) - Convert email data tables to layout tables (#28286)
Reverted
- Partial reverted ability of register custom Doctrine DBAL, since of #28282 issue (#28301)
Refactoring
v5.8.13 (2019-04-18)
Added
- Added
@error
blade directive (#28062) - Added the ability to register
custom Doctrine DBAL
types in the schema builder (#28214, 91a6afe)
Fixed
Reverted
- Reverted of
possibility for use in / not in operators in the query builder
since of issue withwherePivot()
method (04a547ee)
v5.8.12 (2019-04-16)
Added
- Added
Illuminate\Support\Collection::duplicates()
(#28181) - Added
Illuminate\Database\Eloquent\Collection::duplicates()
(#28194) - Added
Illuminate\View\FileViewFinder::getViews()
(#28198) - Added helper methods
onSuccess()
\onFailure()
\pingOnSuccess()
\pingOnFailure()
\emailOnFailure()
toIlluminate\Console\Scheduling\Event
(#28167) - Added
SET
datatype on MySQL Grammar (#28171) - Added possibility for use
in
/not in
operators in the query builder (#28192)
Fixed
- Fixed memory leak in JOIN queries (#28220)
- Fixed circular dependency in
Support\Testing\Fakes\QueueFake
for undefined methods (#28164) - Fixed exception in
lt
\lte
\gt
\gte
validations with different types (#28174) - Fixed
string quoting
forSQL Server
(#28176) - Fixed
whereDay
andwhereMonth
when passingint
values (#28185)
Changed
- Added
autocomplete
attributes to the html stubs (#28226) - Improved
event:list
command (#28177, cde1c5d) - Updated
Illuminate\Database\Console\Factories\FactoryMakeCommand
to generate more IDE friendly code (#28188) - Added missing
LockProvider
interface onDynamoDbStore
(#28203) - Change session's user_id to unsigned big integer in the stub (#28206)
v5.8.11 (2019-04-10)
Added
- Allowed to call
macros
directly onIlluminate\Support\Facades\Date
(#28129) - Allowed
lock
to be configured inlocal filesystems
(#28124) - Added tracking of the exit code in scheduled event commands (#28140)
Fixed
- Fixed of escaping single quotes in json paths in
Illuminate\Database\Query\Grammars\Grammar
(#28160) - Fixed event discovery with different Application Namespace (#28145)
Changed
- Added view path to end of compiled blade view (in case if path is not empty) (#28117, #28141)
- Added
realpath
toapp_path
during string replacement inIlluminate\Foundation\Console\Kernel::load()
(82ded9a)
Refactoring
v5.8.9 (2019-04-02)
Added
Fixed
- Fixed serializing a collection from a
Resource
withpreserveKeys
property (#27985) - Fixed:
SoftDelete::runSoftDelete
andSoftDelete::performDeleteOnModel
with overwrittenModel::setKeysForSaveQuery
(#28081)
Changed
- Update forever cache duration for database driver from minutes to seconds (#28048)
Refactoring:
- Refactoring of
Illuminate\Auth\Access\Gate::callBeforeCallbacks()
(#28079)
v5.8.8 (2019-03-26)
Added
- Added
Illuminate\Database\Query\Builder::forPageBeforeId()
method (#28011)
Fixed
- Fixed
BelongsToMany::detach()
with custom pivot class (#27997) - Fixed incorrect event namespace in generated listener by
event:generate
command (#28007) - Fixed unique validation without ignored column (#27987)
Changed
- Added
parameters
argument toresolve
helper (#28020) - Don't add the path only if path is
empty
in compiled view (#27976)
Refactoring
- Refactoring of
env()
helper (#27965)
Fixed
- Fix: Locks acquired with block() are not immediately released if the callback fails (#27957)
Changed
- Allowed retrieving
env
variables withgetenv()
(#27958, c37702c) - Used
stripslashes
forValidation\Rules\Unique.php
(#27940, 34759cc)
Refactoring
- Refactoring of
Illuminate\Http\Concerns::allFiles()
(#27955)
Added
- Added
Illuminate\Database\DatabaseManager::setReconnector()
(#27845) - Added
Illuminate\Auth\Access\Gate::none()
(#27859) - Added
OtherDeviceLogout
event (#27865, 5e87f2d) - Added
even
andodd
flags to theLoop
variable in theblade
(#27883)
Changed
- Add replacement for lower danish
Ʀ
(#27886) - Show error message from exception, if message exist for
403.blade.php
and503.blade.php
error (#27893, #27902)
Fixed
- Fixed seeding logic in
Arr::shuffle()
(#27861) - Fixed
Illuminate\Database\Query\Builder::updateOrInsert()
with empty$values
(#27906) - Fixed
Application::getNamespace()
method (#27915) - Fixed of store previous url (#27935, 791992e)
Security
v5.8.4 (2019-03-12)
Added
- Added
Illuminate\Support\Collection::join()
method (#27723) - Added
Illuminate\Foundation\Http\Kernel::getRouteMiddleware()
method (#27852) - Added danish specific transliteration to
Str
class (#27857)
Fixed
- Fixed JSON boolean queries (#27847)
v5.8.3 (2019-03-05)
Added
- Added
Collection::countBy
(#27770) - Added protected
EloquentUserProvider::newModelQuery()
(#27734, 9bb7685) - Added protected
StartSession::saveSession()
method (#27771, 76c7126) - Allow
belongsToMany
to takeModel/Pivot
class name as a second parameter (#27774)
Fixed
- Fixed environment variable parsing (#27706)
- Fixed guessed policy names when using
Gate::forUser
(#27708) - Fixed
via
asstring
in theNotification
(#27710) - Fixed
StartSession
middleware (499e4fe) - Fixed
stack
channel's bug related to thelevel
(#27726, bc884bb) - Fixed
email
validation for not string values (#27735)
Changed
- Check if
MessageBag
is empty before checking keys exist in theMessageBag
(#27719)
v5.8.1 (2019-02-27)
Added
- Added
Illuminate\View\FileViewFinder::setPaths()
(#27678)
Changed
- Return fake objects from facades (#27680)
Reverted
- reverted changes related to the
Facade
(63d87d7)
v5.8.0 (2019-02-26)
Check the upgrade guide in the Official Laravel Documentation.
v5.7.28 (2019-02-26)
Added
Changed
- Update vue preset to exclude
@babel/preset-react
(#27645) - Reflash the session for the broadcasting auth call (#27647)
- Improving readability in
AuthenticateWithBasicAuth
Middleware (#27661) - Use safe container getter on
Pipeline
(#27648)
Fixed
v5.7.26 (2019-02-12)
Added
- Added
Illuminate\Pipeline\Pipeline::thenReturn()
(#27429) - Added
Illuminate\Cache\TaggedCache::getTags()
(#27445) - Added
Illuminate\Http\ResponseTrait::getCallback()
(#27464) - Added license file to each component (9e57e8b)
- Added
Model::withoutEvents()
method (#27419, 5c5d6b2)
Reverted
- Revert of "Fixed wrong class being used when eager loading nullable
MorphTo
withwithDefault()
(#27411)"(9bbf644)
Changed
v5.7.25 (2019-02-05)
Added
- Allowed specifying custom translation for date relative messages (#27341)
- Add computed support to SQL Server schema grammar (#27346, 1c74d7f)
- Allowed
ENV
to control paths ofcache files
forservices
,packages
androutes
(#27389)
Fixed
- Fixed
BelongsToMany
pivot relationship child with loaded relations wakeup (#27358) - Fixed wrong class being used when eager loading nullable
MorphTo
withwithDefault()
(#27411)
Changed
- Removed
php_network_getaddresses: getaddrinfo failed: Name or service not known
inDetectsLostConnections
trait (#27418)
v5.7.23 (2019-01-29)
Added
- Added
AbstractPaginator::getOptions()
method (#27273) - Added
Communication link failure
toDetectsLostConnections
trait (#27307) - Added
orWhere()
proxy
forscopes
toEloquentBuilder
(#27281, 2e6fe85) - Allow the
app path
to be configured (#27332, d73e672) - Added config for using
WhatFailureGroupHandler
whenStackDriver
created for Logger (#27308 ,6a92651)
Fixed
- Fixed
QueueableCollection
serialization of Eloquent Models when usingBinary IDs
(#27271) - Replaced
newModelQuery()
withnewQueryWithoutRelationships()
forUPDATE
/DELETE
queries (#27277)
Changed
v5.7.22 (2019-01-22)
Fixed
- Fixed
TestResponse::assertJsonValidationErrors()
when there are no errors (#27190)
Changed
v5.7.21 (2019-01-15)
Fixed
- Fixed
Blueprint::removeColumn()
(#27115, #27122) - Fixed allowing of null broadcast connection driver (#27135)
- Fixed
ModelMakeCommand::handle()
should always returnbool
value (#27156) - Fixed
TestResponse::assertSessionDoesntHaveErrors()
when there is no errors (#27145) - Fixed default message is localization twice in
403.blade.php
error page (4a08120)
Changed
v5.7.20 (2019-01-08)
Added
- Added
chunkById
support in relations (#26919) - Added
Collection::whereNotBetween
method (#27028) - Allowed predefined log channels to change formatter from config (#26895)
- Allowed storage assertions (
FilesystemAdapter::assertExists
/FilesystemAdapter::assertMissing
) to handle multiple files at once (#26975) - Added
Adaptive Server connection failed
toDetectsLostConnections
trait (#27055) - Added
Route::originalParameters()
(#27056) - Added
QueueFake::pushedJobs()
(#27089, 695ffa1)
Fixed
- Prevents unnecessary queries when lazy loading empty relationships (#26992)
- Fixed broken
Command::setHidden
method (#27005) - Fixed
Str::slug
method (#27002) - Ignore
--seed
option forartisan migrate --pretend
(#27015) - Fixed
previousUrl
in the session if the call isprefetch
(#27017) - Fixed nullable
MorphTo
touching (#27031) - Fixed
Collection::loadMissing()
with duplicate relation names (#27040) - Fixed some commands (#27020)
- Ensured the command
context
is forwarded to calls (#27012, #27065) - Fixed
Collection::loadMorph()
issue relations loading issue (#27081)
Changed
- Removed
HasOneOrMany::update()
sinceBuilder::update()
already adds theUPDATED_AT
timestamp. (#27026) - Changed
Name or service not known
tophp_network_getaddresses: getaddrinfo failed: Name or service not known
inDetectsLostConnections
trait (#27054, 5459ac1) - Changed Eloquent
ApiResource merge()
methods to acceptJsonResource
object (#27068) - Stop email re-verification with same link (#27070)
v5.7.19 (2018-12-18)
Added
- Added
Illuminate\Support\Collection::whereBetween
method (#26888)
Fixed
- Reverted changes related to
app()->call()
(fefaf46) - Reset doctrineConnection property on Database/Connection when reconnecting (#26890)
v5.7.18 (2018-12-17)
Added
- Added missing
starts_with
validation message (#26822) - Added
Facade::resolved()
method to register pending callback until the service is available. (#26824) - Added env var
APP_CONFIG_CACHE
to control cache config path (578bc83)
Changed
- Changed
TransportManager::createMailDriver
(#26846)
Fixed
- Fixed of using
illuminate/mail
outside of Laravel with driver log (#26842) - Fixed some bugs for
app()->call()
(#26852) - Added workaround for PHP-bug related to incorrect variable values when Opcache enabled in PHP v 7.3.0 (36d3436)
v5.7.17 (2018-12-12)
Added
- Added
Database\Query\Builder::insertUsing
method (#26732, 8216b46) - Added
Database\Query\Builder::havingBetween
method (#26758) - Added
Packets out of order. Expected
string toDetectsLostConnections
trait (#26760) - Added
NOT VALID
option for skipping validation when adding postgres foreign keys (#26775)
Fixed
v5.7.16 (2018-12-05)
Added
- Added localization for
403.blade.php
and503.blade.php
(#26751) - Changing the Migrator to accept not only migration directory paths, but migration file paths too (#26642, c4b13bf)
Fixed
- Fixed self-referencing HasManyThrough existence queries (#26662)
- Fixed HasManyThrough existence queries with same parent and through parent table (#26676)
- Fixed breaking eager loading with "incrementing" string keys (#26688)
- Remove the Register
<li>
when the route doesn't exist inapp.stub
(#26708) - Fixed
Collection::some
method (#26696) - Revert breaking change in
TestResponse::decodeResponseJson
method (#26713) - Fixed
PhpRedisConnection::mget
(#26716) - Fixed
Eloquent\Collection::loadCount
attribute syncing (#26714) - Fixed
Illuminate\Foundation\Testing\Concerns\InteractsWithDatabase::seed
for array accepting (#26734) - Fixed
FormRequest
validation triggering twice (#26731)
Changed
- Changed markdown on auth stub view (
Auth/Console/stubs/make/views/auth/login.stub
) (#26648) - Moved Slack and Nexmo notification channels to the own packages
laravel/nexmo-notification-channel
,laravel/slack-notification-channel
(#26689, #26727)
Deprecated
$cachedSchema
property inUrlGenerator
is deprecated. Will be renamed to the$cachedScheme
in 5.8 (#26640)
v5.7.15 (2018-11-26)
Added
- Added
date_equals
validation message (#26584) - Added
starts_with
validation rule (#26612) - Added relationship getters
BelongsToMany::getParentKeyName
,BelongsToMany::getRelatedKeyName
,HasManyThrough::getFirstKeyName
,HasManyThrough::getForeignKeyName
,HasManyThrough::getSecondLocalKeyName
,HasOneOrMany::getLocalKeyName
,MorphToMany::getInverse
(#26607) - Make
ResourceCollection
countable (#26595)
Fixed
v5.7.14 (2018-11-21)
Added
- Added
Macroable
trait toIlluminate\Cookie\CookieJar
(#26445) - Added ability to disable password reset route (#26459)
- Added ability to publish error views (#26460)
- Added ability to set notifcation tries and timeout (#26493)
- Added
mail.log_channel
config for makelog
for mail driver configurable (#26510) - Allowed
asset
root urls to be configurable viaapp.asset_url
(9172a67) - Added
Error while sending QUERY packet
string toDetectsLostConnections
trait (#26233) - Added env override for running in console (a36906a, 19f2245)
Fixed
- Fixed
UNION
aggregate queries with columns (#26466) - Allowed migration table name to be guessed without
_table
suffix (#26429) - Fixed
TestResponse::assertExactJson
for empty JSON objects (#26353, e6ebc8d, 621d91d, #26508) - Fixed cache repository for PHP from 7.2.12v (#26495)
- Fixed user authorization check for Email Verification (#26528)
- Fixed nested JOINs on SQLite (#26567)
Changed
- Improved eager loading performance (#26434, #26453, 3992140, #26471, a3738cf, #26531)
- Adjusted
mix
missing asset exceptions (#26431) - Used
asset
helper to generate full path urls in exception views (#26411) - Changed
Illuminate\Foundation\Testing\Concerns\MocksApplicationServices::withoutJobs
method (#26437) - Cached
distinct
validation rule data (#26509) - Improved DNS Prefetching in view files (#26552)
v5.7.13 (2018-11-07)
Added
- Added ability to return an array of messages in a custom validation rule (#26327)
- Added
whenEmpty
/whenNotEmpty
/unlessEmpty
/unlessNotEmpty
methods toCollection
(#26345) - Added
Illuminate\Support\Collection::some
method (#26376, 8f7e647) - Added
Illuminate\Cache\Repository::missing
method (#26351) - Added
Macroable
trait toIlluminate\View\Factory
(#26361) - Added support for UNION aggregate queries (#26365)
Changed
- Updated
AbstractPaginator::appends
to handle null (#26326) - Added "guzzlehttp/guzzle": "^6.3", to
composer.json
(#26328) - Showed exception message on 403 error page when message is available (#26356)
- Don't run TransformsRequest twice on ?query= parameters (#26366)
- Added missing logging options to slack log driver (#26360)
- Use cascade when truncating table in PostgreSQL (#26389)
- Allowed pass absolute parameter in has valid signature request macro (#26397)
Changed realization
- Used
Request::validate
macro in Auth traits (#26314)
v5.7.12 (2018-10-30)
Added
- Added
CacheManager::forgetDriver
method (#26264, fd9ef49) - Added
Illuminate\Foundation\Http\Kernel::getMiddlewareGroups
method (#26268) - Added an sqlite config option (
foreign_key_constraints
) to enable / disable foreign key constraints (#26298, 674f8be, #26306)
Fixed
- Checked
$absolute
parameter inUrlGenerator::signedRoute
(#26265) - Fixed error in resource building after running
php artisan preset none
command (41becda, #26244) - Fixed
whereDoesntHave()
anddoesntHave()
with nested relationships (#26228) - Fixed filesystem locking hangs in
PackageManifest::build()
(#26254)
Changed
- Made expectation closure optional for
InteractsWithContainer::mock
andInteractsWithContainer::spy
(#26242) - Allowed multiple
createPayloadCallback
on queues (#26250, 6e3d568) - Changed wording on default 403 view (#26258)
- Bump
vue.js
to^2.5.17
inartisan preset vue
command (89f56bf, #26244) - Allowed adding additional
$manyMethods
when extending the model class (#26307)
v5.7.11 (2018-10-24)
Added
- Added
decimal:<num>
cast to Model (#26173) - Allowed updateExistingPivot to receive an arrayable item (#26167)
- Added
setIntendedUrl
method toRouting/Redirector.php
(#26227) - Added
ORA-03114
string toDetectsLostConnections
trait (#26233)
Fixed
- Fixed an issue where the worker process would not be killed by the listener when the timeout is exceeded (#25981)
Changed
v5.7.10 (2018-10-23)
Added
- Added loadCount method to eloquent collections (#25997)
- Added support for identity columns in PostgreSQL 10+ (#26096)
- Allowed passing a model instance directly to
assertSoftDeleted
method inFoundation/Testing/Concerns/InteractsWithDatabase.php
(#26133 , #26148) - Added possibility to define exclude methods on registered
apiResource
(#26149) - Added
filp/whoops
tosuggest
incomposer.json
(#26180) - Added
mock
andspy
methods toFoundation/Testing/Concerns/InteractsWithContainer.php
(#26171, b50f9f3) - Added
uuid
validation rule to validator (#26135) - NotificationFake can assert preferred locale (#26205)
Fixed
- Fixed
whereHas
and$withCount
bindings frompolymorphic relationships
(#26145) - Fixed
getTable
method in Model (#26085) - Fixed filesystem locking hangs in
PackageManifest::build()
(#26010, 98b8256) - Fixed
Illuminate/Http/Testing/File.php
for Symfony 4.1 components (#26080) - Fixed URL in
Notifications/resources/views/email.blade.php
(22ca105) - Fixed
hasValidSignature
method when someone send anull
signature inUrlGenerator.php
(#26132) - Fixed autocomplete for container in ServiceProvider for cases when someone developed packages (#26063)
- Fixed
ColumnDefinition::default
typehint (#26041)
Changed
- Define mix as const in
react-stubs/webpack.mix.js
andvue-stubs/webpack.mix.js
presets (#26119) - Make
assertSessionHasNoErrors
inTestResponse.php
print the unexpected errors (#26039, e6bdf8a) - Replaced the remaining occurrences of
newQuery()
tonewModelQuery()
in UPDATE/DELETE queries. (#26158) - Improved
findOrFail()
exceptions inBelongsToMany.php
andHasManyThrough.php
relations (#26182)
Changed realization
- Reversed ternary condition in
Arr::wrap
to make it clearer (#26150) - Simplified
formatAction
inUrlGenerator.php
(#26121) - Simplified
isChainOfObjects
method inSupport/Testing/Fakes/QueueFake.php
(#26151) - Deleted unneeded code (#26053, #26162, #26160, #26159, #26152)
- Prefer stricter comparison (#26139, #26157)
- Removed duplicated code from
Router::updateGroupStack
method (#26206, 6debff6)
v5.7.9 (2018-10-09)
Added
- Support custom user provider names in generator commands (#25681)
- Added 401 Exception view (#26002)
- Added
Categorical imperative
quote toInspiring.php
(#25968) - Mailable
render
method respectsMailable@locale
property (#25990) - Added some meta data to the notification mails (477273c)
- Added
Macroable
trait toPendingResourceRegistration
(#25947) - Added
assertSessionDoesntHaveErrors
method toTestResponse.php
(#25949, 3005706) - Enable passing options to custom presets (#25930)
Fixed
Changed
- Improved PSR-11 implementation (#25870)
- Changed the sentence of error 403 view from unauthorised to forbidden (#26002)
- Revert email lang template changes (#25963)
- Added model checking in
assertViewHas
(#26012)
Changed realization
- Inline
Arr::pluck()
indata_get()
(#25938)
v5.7.8 (2018-10-04)
Added
- Add
--step
tomigrate:fresh
command (#25897) - Allow
destroy
method inModel
to accept a collection of ids (#25878) - Add AsPivot trait (#25851)
Fixed
- Fixed wrap table for sql server (#25896)
Changed
- Use "optimize:clear" in "app:name" command (#25922)
- Revert of "html string support in translator" (e626ab32a4afec90f80641fbcd00e6b79d15cd3a)
Changed (only realization)
- Simplify code for contextual binding (e2476c1cdfeffd1c4432ec8dc1f733815f70c000)
v5.6.39 (2018-10-04)
Fixed
- Fixed broken email sub-copy template escaping (#25734)
- Fixed required carbon version (394f79f9a6651b103f6e065cb4470b4b347239ea)
- Fixed translation escaping (25858, 4c465007bbf51d7f269871cd76b6d99de7df90bb)
Changed
- Revert of "Patch Blade's
@lang
directive", so it is not escapes HTML tags (0b7b3713e81fe571c244c2cf5d1f5085b6985f96)
Fixed
v5.7.7 (2018-10-02)
Added
- Allow array callables to be passed to Gate::before() (#25817)
- Mail recipient and notifiable can set preferred locale (#25752)
- Always show seeder info (#25872)
- Support JSON UPDATE queries on PostgreSQL (#25797)
- Makes sure changing a database field to JSON does not include a collation (#25741)
- Added Queued Closures (#25777)
- Add the ability to skip algorithm checking (#25468, 5fd4b899cc42d266fab34ee2d5f92fb47ca34fd0)
- Add queue create payload hook (3f68cbe3df82990c69e34309901fcefefdb65c95)
- Authorize Middleware Accept String Parameters (#25763)
Fixed
- Fix
each
method on BelongsToMany relationships (#25832) - Fix prefixed table indexes (#25867)
- Fix
be
method inInteractsWithAuthentication
trait (#25873) - Fixes the error when $resource is null (#25838)
- Attach all disk attachments and not only first one in the
Mail/Mailable.php
(#25793) - Fixed: in case if one job throw exception, than we will proceed to next one (#25820)
Changed
- Trim model class name when passing in
Authorize.php
middleware (#25849) - Improve JSON UPDATE queries on MySQL (#25794)
- Don't print the generated application key (#25802)
- Improve "exists" validation with array values (#25819)
- Only escape trans parameters (98046cb0c81b418fb4046ade034f3d33a4172239)
- Added type check for assertExitCode(0) (#25847)
Changed (only realization)
- Simplify
save
methodMorphOneOrMany
relation (#25864)
v5.7.6 (2018-09-25)
Added
- Support MorphTo eager loading with selected columns (#25662)
- Added possibility to define a complex condition (overwrite
shouldAddXsrfTokenCookie
method) for add cookie to response inMiddleware/VerifyCsrfToken.php
Fixed
- Fixed tag cache clearing when using Redis (#25744)
- Fixed broken email subcopy template escaping (#25723)
- Fixed MethodNotAllowedHTTPException on Intended Redirect (#25739)
Changed
- Use url() function instead of plain url in
views/illustrated-layout.blade.php
(25725)
v5.7.5 (2018-09-20)
Added
- Add callback hook for building mailable data in
\Illuminate\Mail\Mailable
(7dc3d8d35ad8bcd3b18334a44320e3162b9f6dc1)
Fixed
- Make any column searchable with
like
in PostgreSQL (#25698) - Remove trailing newline from hot url in
mix
helper (#25699)
Changed
- Revert of "Remove
Hash::check()
for password verification" (2e78bf472832cd68ef7d80c73dbb722a62ee1429)
Added
- Added restored() and forceDeleted() to observer stub (#40ba2ee)
- Added UploadedFile::getContents() (#24924)
- Added an alias for a single FactoryBuilder state definition (#24937)
Changed
- Allow closure to determine if event should be faked (#24887)
- Update error message for MailFake::assertSent() (#24911)
- Return instance of spy when swapping facade for a Mockery spy (#24918)
- Renamed Mailer::setGlobalTo() to setGlobalToAndRemoveCcAndBcc() to be more clear about what it does (#24917)
- Update the font path used in frontend stub (#24926)
Fixed
Added
- Added assertSessionHasNoErrors() test helper (#24308)
- Added support for defining and enforcing a Spatial reference system for a Point column (#24320)
- Added Builder::whereJsonDoesntContain() and Builder::orWhereJsonDoesntContain() (#24367)
- Added Queueable, SerializesModels to all notification events (#24368)
- Allow callable array syntax in route definition (#24385)
- Added JSON SELECT queries to SQL Server (#24397)
Changed
- Optimize query builder's
pluck()
method (#23482) - Allow passing object instances regardless of the parameter name to method injection (#24234)
- Extract setting mutated attribute into method (#24307)
- Let apiResource support except option (#24319)
- Skip null/empty values in SeeInOrder (#24395)
- Sync Original modal attributes after soft deletion (#24400)
Fixed
Added
- Added
FilesystemManager::forgetDisk()
method (#24057, cbfb4fb) - Added
--allow
parameter todown
command (#24003) - Added more comparison validation rules (
gt
,lt
,gte
,lte
) (#24091, #24135) - Added
TestResponse::assertCookieNotExpired()
method (#24119)
Changed
- Redis connections now implement the
Contracts/Redis/Connection
interface (#24142)
Fixed
- Fixed unsetting request parameters during
HEAD
requests (#24092) - Fixed
HasManyThrough
returning incorrect results withchunk()
(#24096, 5d3d98a) - Fixed
dateBasedWhere()
with raw expressions when using SQLite (#24102) - Fixed
whereYear()
not accepting integers when using SQLite (#24115) - Remove full base URL from generated paths (#24101)
Added
- Added support for MySQL 8 (#23948)
- Added support for custom filesystem drivers URLs (#23964)
- Added more PostgreSQL operators (#23945)
- Added support for JSONP callback when broadcasting using Pusher (#24018, b9ab427)
Changed
- Support chaining using
$this->be()
helper (#23919) - Improved pagination accessibility (#23962)
- Changed response code of
ValidationException
inThrottlesLogins
to429
(#24002) - Throw exception if called command doesn't exist (#23942)
- Made notification email translatable (#23903)
Fixed
Added
- Added helpers for subquery joins (#23818)
Changed
- Allow
PendingResourceRegistration
to be fluently registered (#23890) - Allow asserting an integer with
assertSee*()
(#23892) - Allow passing
Collection
toRule::in()
andRule::notIn()
(#23875)
Fixed
- Lock Carbon version at
1.25.*
(27b8844)
Removed
- Removed form error for password confirmation (#23887)
Added
- Support executing artisan commands using class names (#23764)
- Make
View
macroable (#23787) - Added database
Connection::unsetEventDispatcher()
method (#23832) - Support IAM role session token to be used with SES (#23766)
Changed
- Added displayable value to
required_unless
rule (#23833)
Fixed
- Fixed
RedisQueue::blockingPop()
check when using PhpRedis (#23757)
Added
- Added
view:cache
command (9fd1273, 2ab8acf) - Added
min()
andmax()
to as higher order proxies (#23560) - Added
@elseauth
and@elseguest
Blade directives (#23569) - Added support for hashing configuration (#23573, d6e3ca9)
- Allow tagged cache keys to be incremented/decremented (#23578)
- Added
SeeInOrder
constraint to avoid risky test notices (#23594, ca39449) - Support higher order
groupBy()
(#23608) - Support disabling setting
created_at
in models (#23667) - Added callback support to
optional()
helper (#23688) - Added
Eloquent\Collection::loadMorph()
method (#23626)
Changed
- Support generating a signed route with a
UrlRoutable
parameter (#23584) - Use
DIRECTORY_SEPARATOR
inApplication::environmentFilePath()
(#23596) - Support states on model factory after callbacks (#23551, #23676)
- Use
hash_equals()
for verifying URL signatures (#23618) - Refactored
Exceptions/Handler
(f9162c9, 6c5d971) - Changed status code of
InvalidSignatureException
from401
to403
(#23662, c99911f)
Fixed
Added
- Added
fromSub()
andfromRaw()
methods to query builder (#23476) - Added "Not Regex" validation rule (#23475)
- Added seed parameter to
Arr::shuffle()
(#23490) - Added after callback to model factories (#23495, d79509d)
- Added
Request::anyFilled()
method (#23499, 896d817) - Added support for signed routes (#23519)
- Added
assertNotFound()
andassertForbidden()
methods toTestResponse
(#23526) - Added test helpers to assert that a job has been queued with a chain (#23531, 696f4d8)
Changed
- Only set id on
NotificationFake
if there is no id set (#23470) - Check whether
fetch()
method exists inApplication::output()
(#23471) - Improve asset loading in
app.stub
(#23479) - Support ignoring a model during a unique validation check (#23524)
- Support multiple model observers (#23507)
LogManager
driver capable of producing logger with any Monolog handler (#23527, d499617)- Support passing model instance to
updateExistingPivot()
(#23535) - Allow for custom
TokenGuard
fields (#23542)
Fixed
- Fixed clearing the cache without a cache directory (#23538)
Added
- Added
Blueprint::dropMorphs()
(#23431) - Added
Mailable::attachFromStorage()
methods (0fa361d) - Added
orWhere*()
builder methods for day, month and year (#23449)
Changed
- Added
v-pre
to dropdown link inapp.stub
(98fdbb0) - Handle more JSON errors gracefully when
JSON_PARTIAL_OUTPUT_ON_ERROR
is set (#23410, 972b82a) - Add bubble, permission and locking config to single/daily log (#23439)
- Use
Str::contains()
instead ofstr_contains()
(ae4cb28)
Fixed
Added
- Added support for MySQLās sounds-like operator (#23351)
- Added
ThrottleRequestsException
exception (#23358 - Added
@dump
Blade directive (#23364) - Added
Collection::whereInstanceOfMethod()
(78b5b92) - Added
Dispatchable::dispatchNow()
(#23399)
Changed
- Allow extension of
DatabaseNotification
model attributes (#23337) - Made auth scaffolding translatable (#23342)
- Use
getKeyName()
ingetForeignKey()
(#23362) - Sort
FileSystem
files and directories by name (#23387) - Return validated data from
Validator::validate()
(#23397, 3657d66)
Fixed
- Fixed
serve
command escaping (#23348) - Fixed an issue with multiple select statements in combination with
withCount()
(#23357) - Fixed conditional loading issues (#23369)
- Prevent considering arrays as
callable
while building model factories (#23372) - Move
tightenco/collect
to Composerāsconflict
(#23379) - Set up loop variable correctly on all
Traversable
objects (#23388, 49770ec) - Removed attribute filling from pivot model (#23401)
Added
- Added the ability to set message ID right hand side (#23181)
- Support callbacks as custom log drivers (#23184)
- Added
Blade::include()
method for include aliases (#23172) - Added
broadcastType()
method to notifications (#23236, 4227bd7)
Changed
- Moved clone logic from
FormRequestServiceProvider
toRequest
(b0c2459) - Changed pagination arrow symbols (#23127)
- Update React version in preset (#23134)
- Added an empty error bag when rendering HTTP exception views (#23139)
- Normalized actions when using
route:list
command (#23148) - Updated required Carbon version (201bbec)
- Improved
BadMethodCallException
messages (#23232) - Support date validation rules when comparison has relative time (#23211)
Fixed
- Returns same
Logger
instance fromLogManager
(#23118) - Register missing
hash.driver
DI (#23114) - Fixed an issue with starting two database transactions in tests (#23132)
- Don't replace
tightenco/collect
(#23147, #23153, #23160) - Catch
InvalidFileException
when loading invalid environment file (#23149, 5695079) - Fixed an issue with
assertRedirect()
(#23176) - Fixed dropdown accessibility (#23191)
- Fixed
--force
flag onGeneratorCommand
(#23230)
Removed
Added
- Added Slack attachment pretext attribute (#23075)
Changed
- Added missing nested joins in
Grammar::compileJoins()
(#23059) - Improved session errors assertions in
TestResponse::assertSessionHasErrors()
(#23055)
Fixed
- Fixed
BelongsToMany
pivot relation wakeup (#23081)
Removed
- Removed monolog configurator (#23078)
General
- ā ļø Upgraded to Symfony 4 (#22450)
- ā ļø Upgraded to Bootstrap 4 (#22754, #22494, 25559cd, 12d789d)
- ā ļø Added
runningUnitTests()
toApplication
contract (#21034) - ā ļø Upgraded
cron-expression
to2.x
(#21637)
Artisan Console
- ā ļø Removed deprecated
optimize
command (#20851) - Show job id in
queue:work
output (#21204) - Show batch number in
migrate:status
output (#21391) - ā ļø Added
$outputBuffer
argument tocall()
method in contracts (#22463) - Added
--realpath
argument to migration commands (#22852, 98842da) - Added
--api
argument tomake:controller
(#22996, dcc6123)
Authentication
- Support customizing the mail message building in
ResetPassword::toMail()
(6535186) - Added
AuthServiceProvider::policies()
method (6d8e530)
Blade Templates
- Added
@csrf
and@method
directives (5f19844, #22912) - Added
Blade::component()
method for component aliases (#22796, 7c3ba0e) - ā ļø Made double encoding the default (7c82ff4)
Broadcasting
Cache
- Removed
$decayMinutes
argument fromRateLimiter::tooManyAttempts()
(#22202)
Collections
- ā ļø Fixed keyless calls to
uniqueStrict()
(#21854) - Added operator support to
Collection@partition()
(#22380) - Improve performance of
Collection::mapToDictionary()
(#22774, c09a0fd) - Accept array of keys on
Collection::except()
(#22814)
Database
- ā ļø Swap the index order of morph type and id (#21693)
- Added support for PostgreSQL comments (#21855, #22453)
- Better enumeration columns support (#22109, 9a3d71d)
- Prevent duplicated table prefix in
SQLiteGrammar::compileColumnListing()
(#22340, #22781) - Support complex
update()
calls when using SQLite (#22366) - Throws an exception if multiple calls to the underlying SQLite method aren't supported (#22364, c877cb0)
- Made
whereTime()
operator argument optional (#22378) - Changed transaction logic in
DatabaseQueue
(#22433) - Added support for row values in where conditions (#22446)
- Fixed serialization of pivot models (#22786, 8fad785, 351e3b7)
- ā ļø Accept
Throwable
inDetectsLostConnections
(#22948)
Eloquent
- ā ļø Serialize relationships (#21229)
- Allow setting custom owner key on polymorphic relationships (#21310)
- ā ļø Sync model after
refresh()
(#21905) - Make
MassAssignmentException
wording clear (#22565) - Changed
HasAttributes::getDateFormat()
visibility topublic
(#22618) - Added
BelongsToMany::getPivotClass()
method (641d087) - Ensure Pivot model's
$dateFormat
is used when creating a pivot record (a433ff8) - Added
BelongsToMany::withPivotValues()
method (#22867) - Added
forceDeleted
event (497a907) - ā ļø Relocate the existence check for factory definitions to
FactoryBuilder::getRawAttributes()
(#22936) - ā ļø Change
Resource
name away from soft-reserved name (#22969, aad6089) - Added support for casting to custom date formats (#22989, 1f902c8)
Hashing
Helpers
- ā ļø Return an empty array from
Arr::wrap()
when called withnull
(#21745) - Return class traits in use order from
class_uses_recursive()
(#22537) - Added
Str::uuid()
andStr::orderedUuid()
(3d39604)
Logging
- ā ļø Refactored Logging component (#22635, 106ac2a, 7ba0c22, 03f870c, e691230)
- Use application name as syslog identifier (#22267)
- ā ļø Added
$data
property to mail events (#21804) - ā ļø Call message Ńustomization callbacks before building content/attachments (#22995)
- Added support for setting HTML in emails (#22809)
Notifications
- Pass notification instance to
routeNotificationFor*()
methods (#22289)
Queues
- ā ļø Added
payload()
andgetJobId()
toJob
contract (#21303) - Removed unused
Worker::raiseFailedJobEvent()
method (#21901) - Support blocking pop from Redis queues (#22284, dbad055, 5923416)
Requests
- ā ļø Return
false
fromexpectsJson()
when requested content type isn't explicit (#22506, 3624d27) - Added
Request::getSession()
method (e546a5b) - Accept array of keys on
Request::hasAny()
(#22952)
Responses
- Added missing
$raw
and$sameSite
parameters toCookie\Factory
methods (#21553) - ā ļø Return
201
status if Model was recently created (#21625) - Set original response JSON responses (#22455)
- Added
streamDownload()
method (#22777) - ā ļø Allow insecure cookies when
session.secure
istrue
(#22812)
Routing
- Added
SetCacheHeaders
middleware (#22389, f6f386b, df06357) - Support pulling rate limit from the user instance in
ThrottleRequests
(c9e6100)
Service Container
Session
- Support dot notation in
Session::exists()
(#22935)
Support
- ā ļø Throw exception if
Manager::driver()
is called withnull
(#22018) - ā ļø Added
hasCommandHandler()
,getCommandHandler()
andmap()
toBus\Dispatcher
contract (#22958, #22986) - Added
useBootstrapThree()
helper to paginators (c919402)
Task Scheduling
Testing
- ā ļø Switched to PHPUnit 7 (#23005)
- Support fetching specific key when using json helpers (#22489)
- Use
DatabaseTransactions
trait inRefreshDatabase
(#22596) - Added
assertSeeInOrder()
andassertSeeTextInOrder()
methods (#22915, #23038)
Validation
Added
- Added
Model::qualifyColumn()
method (#22577) - Added support for the
author_*
fields toSlackAttachment
(#22610) - Added
UrlGenerator::getDefaultParameters()
method (#22572) - Added option to double encode escaped strings (61f8477)
- Added
BladeCompiler::doubleEncode()
method (1cc96a1) - Added support for nested keys to
TestResponse::assertJsonCount()
(#22740) - Added
s3://
to protocol to URL validation (#22752) - Added option to disable wrapping migrations in transaction (#22757)
Changed
- Use
Arr::get()
inCollection::get()
(#22554) - Pass entire config to
FtpAdapter
(#22539) - Support extending Eloquent relationships (#22617)
- Improved handling of
VerifyCsrfToken::$except
values (#22619, #22661) - Support multiple levels in
Collection::groupBy()
(#22630) - Clear user instance in
RequestGuard::setRequest()
(#22649) - Allow StudlyCase and snake_case migration names (#22648)
- Set
null
as default value foroptional()
helper (#22699) - Make sure
getRememberToken()
returns a string (#22724) - Updated Vue preset version (#22732)
- Accept
Arrayable
items inCollection::find()
(#22787)
Fixed
- Close database connection when using
RefreshDatabase
trait (#22569) - Send status code
500
when usingdd()
(#22581) - Fixed parameter usage in
RedirectController
(#22657) - Added
__set_state()
method toSupport/Carbon
(#22689) - Do not continue checking
APP_ENV
if environment file path being set successfully with--env
option (#22753) - Fixed missing table prefix in
SQLiteGrammar::compileDropColumn()
(#22745, c13322c) - Fixed prefixing in
SQLiteGrammar::compileColumnListing()
(#22781)
Added
- Support passing collections to
Collection::except()
(#22399) - Made
Command
class macroable (#22426, #22434) - Added
ProcessUtils
class for command argument escaping (#22448) - Added array support to
Optional
helper class (#22417)
Changed
- Added "cattle" as an uncountable word (#22415)
- Added
Dispatcher
contract onNotificationFake
and return fake object fromNotification::fake()
(#22396) - Only add value as query binding if it isn't an
Expression
(#22451)
Fixed
Added
- Added support for Flysystem caching (#22310, 0657496)
- Added support for
year
data type (#22377) - Added support for setting Whoops debug editor (#22350, c6e3a73)
Changed
- Use
Model::newQueryWithoutRelationships()
inCollection::load()
(#22363) - Respect
schema
config inPostgresBuilder
(#22365, de561cb)
Fixed
- Fixed SQS queue driver for PHP 7.2 (#22374)
Added
- Added a
Collection::firstWhere()
method (#22261, #22264) - Added several accessors to
BelongsToMany
(f09ea98, cbe8123, 3bcf9d1)
Changed
- Pass test value to
Collection::when()
callbacks (#22224) - Support worker sleep time of less than 1s (#22246, #22255)
- Detect persistent connection resets (#22277)
- Support chaining seeders (#22288)
Fixed
- Fixed negative comparison to objects in
Collection::where()
(#22256) - Fixed comparing strings with objects that can be casted to string in
Collection::where()
(#22295) - Fixed integer validation using
distinct:ignore_case
(#22235) - Fixes building nested JSON accessors in
MySqlGrammar
(#22254) - Remove
SELECT
bindings from MySQL delete statements (#22285)
Added
- Added
response()
anddownload()
methods to file system (#22089) - Added complete temporary table support (#22110)
- Added
Mode::newQueryForRestoration()
method (#22119) - Added precision support for date/time columns (#22122)
- Added detection for MySQL Galera deadlocks (#22214)
Changed
- Updated depreciated
MailFake::queue()
method signature (#22072) - Use
MEDIUMTEXT
instead ofTEXT
for database cache values (MySQL only) (#22091) - Include the name of the scheduled job in the output email subject (#22098)
- Support
Dblib
version config for SQL Server (#22102) - Set
Model::$exists
tofalse
when force-deleting a model usingSoftDeletes
(#22100) - Support empty strings in
HasAttributes::fromDateTime()
(#22108) - Return condition from
throw_*
helpers (#22149) - Make
Collection::where()
independent of error reporting (#22172) - Show more meaningful message when json translation file contains errors (#22165, cf29b88)
- Improve
Model::getTable()
performance (#22222) - Use transaction in migrations using SQL Server (#22187)
Fixed
- Fixed
HasManyThrough
relation with custom intermediate and local keys when used inwhereHas()
(#22071, 3788cbd) - Fixed SQL Server handling of
DATETIME
columns (#22052) - Return default value from
old()
when session isn't available (#22082) - Refactor
Arr::flatten()
to prevent performance issue (#22103) - Wrap MySQL JSON keys in double quotes when updating JSON columns (#22118)
- Fixed custom URLs with prefix (
root
) for AWS storage (#22130) - Prevent authentication if
password
is the only specified field (#22167)
Removed
- Removed
between
operator from basic where clauses (#22182)
Added
- Added
TestResponse::assertJsonMissingExact()
(#21881) - Added
assertValidationErrors()
andassertJsonCount()
toTestResponse
(#21917) - Added
allOnQueue()
andallOnConnection()
for job chaining (#21765) - Support variadic arguments on fluent
Route::middleware()
(#21930) - Added precision to
Blueprint::time()
(#21936) - Added
Router::apiResources()
method (#21956) - Support graceful handling of
SIGTERM
in queue workers (#21964)
Changed
- Added "kin" as an uncountable word (#21843)
- Improved geo spatial support (#21919)
- Include job name in the
MaxAttemptsExcededException
(#21941, #21943) - Support rendering multiple
@verbatim
and@php
blocks (#21900) - Moved
InteractsWithRedis
toIlluminate\Foundation\Testing
(#21967) - Don't bind macro when it is not a
Closure
(#21980) - Check for
before()
method on policies classes (#21989) - Detect lost pgbouncer connections (#21988)
Fixed
- Fixed
BroadcastController
namespace issue (#21844) - Fixed eager loading
HasManyThrough
relations with custom intermediate and local key (#21902) - Use table aliases when calling self-referencing
HasManyThrough
relation (#21883) - Fixed Vue component file name in React present (#21945)
- Reverted changes to
BadMethodException
in #20196 (#21929)
Added
- Added
MakesHttpRequests::followingRedirects()
method (#21771) - Added
MakesHttpRequests::from()
method (#21788) - Added
notifyNow()
method to notifiables (#21795) - Added
TestResponse::assertCookieExpired()
method (#21793) - Added
TestResponse::assertCookieMissing()
method (#21803)
Changed
- Allow the distinct validation rule to optionally ignore case (#21757)
Fixed
Added
- Made
Redirector
macroable (#21714)
Changed
- Prevent reloading default relationships while lazy eager-loading (#21710)
- Don't reload pivot relationship on refresh (#21713)
- Unify Vue.js preset (#21711, #21724)
- Revert multibyte functions in
Str
(#21722) - Remove hardcoded fields in DatabaseUserProvider (#21749)
Fixed
- Don't recreate the SQLite database file in
refreshDatabaseFile()
(#21720)
Added
- Added missing PostgreSQL network address operators (#21518)
- Added raw and same-site parameters to
cookie()
helper (#21551) - Added option to create pivot model to
make:model
command (#21549) - Added support for a
failed()
method to mailables and notifications (#21585) - Added
__toString
onViewErrorBag
(#21605) - Support higher order call of
keyBy()
(#21606) - Generate
@else*
directives forBlade::if()
(#21611) - Made
Response
andJsonResponse
macroable (#21669)
Changed
- Escape HTML characters in
@json
directive (#21574) - Only accept strings in
Session::flash()
(#21576) - Use message from
AuthenticationException
inHandler::unauthenticated()
(#21575) - Don't use global scope while touching parent timestamp (#21604)
- Accept multiple middleware when defining middleware fluently (#21621)
- Bind
true
as1
while preparing an SQL statement (#21623) - Ensure config load order across multiple installations (#21634)
- Pass previous exception to
AccessDeniedHttpException
andHttpException
(#21645) - Unify Bootstrap preset (#21686, #21685)
Fixed
Added
- Allow testing anonymous notifiables (#21379)
- Add relation and model attributes on
RelationNotFoundException
(#21426) - Allow passing a callback to
with()
(#21445) - Added
PotentiallyMissing
interface toMissingValue
class (be7dccc) - Accept
$queue
name onSchedule::job()
(#21473) - Added callback and default parameter
whenLoaded()
method (#21490) - Allow marking notifications as unread (#21497)
- Added
Collection::mapToDictionary()
method (#21505) - Added
make:exception
command (#21483)
Changed
- Reset RefreshDatabaseState after DatabaseMigrations rolls back (#21325)
- Make sure page resolver returns an integer (#21378)
- Allow single error messages in
ValidationException::withMessages()
(#21400) - Revert
Collection::sortBy()
behaviour to 5.4 (#21382) - Use fill instead of forceFill while storing pivot attributes (#21403)
- Alphabetize
vendor:publish
options (#21412) - Extract
AnonymousResourceCollection
into class to allow serialization (#21456) - Extract some methods from
Resource
intoConditionallyLoadsAttributes
trait (28d945e, 1f37ccc)
Fixed
- Ensure user is logged in before expecting user instance (#21377)
- Remove leading slash from class while resolving controllers (#21407)
- Make sure SQL for virtual columns is added after the unsigned modifier (#21441)
- Fixed
Collection::contains()
when the found value isnull
(#21442) - Fixed merge issue in
Relation::morphMap()
(#21458) - Clear count query select bindings in
Relation::getRelationExistenceCountQuery()
(#21468) - Fixed user model type hints policy stub (#21499)
Added
- Added optional config option for whoops blacklist (#21336, a83ebc1)
- Added
Collection::pad()
method (#21342)
Changed
- Made
$callback
parameter ofArr::sort()
optional (#21337) - Support setting custom
REMOTE_ADDR
inMakesHttpRequests
(#21351) - Changed visibility of
$output
to public on console events (#21356)
Fixed
Added
- Added
Route::respondWithRoute($name)
method (#21299, 66c5e46) - Added
$strict
parameter toTestResponse::assertJson()
(#21301)
Changed
- Added "firmware" as an uncountable word (#21306)
- Allow
MorphTo::associate()
acceptnull
(#21318) - Changed
__()
signature to matchTranslation::trans()
(10c013c)
Fixed
- Add missing
driver
parameter to doctrine connection (#21297)
Security
- Perform constant-time token comparison in
DatabaseUserProvider
(#21320)
Fixed
- Fixed issue with routes sorting (https://github.com/laravel/framework/pull/21261)
Added
- Added
:input
placeholder in validation error messages (#21175) - Added
@includeFirst
Blade directive (#21172) - Allow setting column styles for tables in Artisan commands (#21169)
- Added
ValidatesRequests::extractInputFromRules()
method (#21192) - Added
-m
shortcut tomake:factory
(#21219) - Added ability to set a fallback (catch-all) route (#21234)
Changed
- Support
null
onModel::UPDATED_AT
(#21178) - Render views from config while building error views (#21145)
- Use multibyte functions in some
Str
methods (#21207) - Perform stable sort in
Collection::sortBy()
(#21214)
Fixed
Added
- Added
Blueprint::spatialIndex()
method (#21070) - Added support for SQL Server's
TransactionIsolation
DSN key (#21069) - Added
ManagesFrequencies::everyFifteenMinutes()
method (#21092) - Added
Mailable::hasReplyTo()
method (#21093) - Added
MailMessage::template()
method (#21154) - Added support for Rackspace to
Storage::url()
(#21157) - Added support to use sub-queries as a where condition on a join clause (#21008)
Changed
- Return
null
fromRoute::getAction()
if$key
is not found (#21083) - Restore non-static signature of
Router::prepareResponse()
(#21114, e1a1265) - Removed
Model
type hint fromModel::isNot()
(4d8f0a1) - Prefer
Jsonable
overArrayable
inJsonResponse::setData()
(#21136) - Reset
cc
andbcc
inMailer::setGlobalTo()
(#21137) - Avoid trace
args
in JSON exceptions (#21149)
Fixed
- Fixed
@json
directive parameter logic (2a25ee7) - Fixed a problem with
withoutExceptionHandling()
when called more than once (#21086) - Added a
compileForeign()
method toPostgresGrammar
(#21038) - Reset the index after a
MissingValue
while resolving resource (#21127) - Fixed
getQualifiedParentKey()
onBelongsToMany
relationships (#21128) - Fixed parameters on
Route::view()
when usingwhere()
(#21113) - Show real directory name in the exception message thrown by
PackageManifest
(#21099) - Fixed undefined offset error when refreshing a database collection (#21159)
Added
- Added
$action
parameter toRoute::getAction()
for simpler access (#20975) - Added
@json
blade directive (#21004) - Added
rescue()
helper (#21010, 74ecb34, c4d1c47) - Support commas in
In
andNotIn
parameters (#21012, 3c3c5e4) - Added
RedisManager::connections()
method (#21014, 1deaaa9) - Added exception class to JSON exceptions (#21043)
- Added
Gate::policies()
method (#21036) - Added geo spatial blueprint methods (#21056)
Changed
- Fixed migrations not being run in batch order (#20986)
- Flush application resources on teardown (#21022)
- Catch errors while building exception context (#21047)
- Return
$this
fromValidator::setCustomMessages()
(#21046)
Fixed
- Make
Request::validate()
return the value of parent key (#20974) - Fixed date comparison validators failing when a format is specified (#20940)
- Fixed login throttling failing when
decayMinutes
is more than1
(#20997) - Only use reflection on classes in
Kernel::load()
(#20998) - Specify lower case
column_name
inMySqlGrammar::compileColumnListing()
(#21037) - Fixed eager loading problem with
BelongsToMany
(#21044)
Removed
Added
- Added
mov
extension andMimeType::search()
method (#20917) - Added support for
dont-discover
in packages (#20921, 4a6f1f2) - Added
retrieved
model event (#20852, 84291a6) - Added
HasOneOrMany::setForeignAttributesForCreate()
method (#20871) - Made
Route
macroable (#20970)
Changed
- Load deferred providers before commands (366c50e)
- Don't pass cache instance to Schedule anymore (#20916, #20933)
- Simplified
mix
require (#20929) - Return
null
if resource attribute contains relation with a null value (#20969)
Fixed
- Prevent
ErrorException
inCollection::operatorForWhere()
method (#20913) - Create default console input/output in
Application::run()
(#20922, 7647399) - Ignore abstract classes in
Kernel::load()
(#20931) - Fixed
listener-queued-duck.stub
filename (#20937) - Fixed faking notification sending while using AnonymousNotifiable (#20965)
- Fixed
eachSpread()
andmapSpread()
with nested collections (#20962) - Fixed generating names for classes beginning with slash (#20961)
Added
- Added getter methods on
MimeType
(#20826)
Changed
- Moved console commands auto discovery to
Kernel::bootstrap()
(#20863) - Use classes instead of helper functions (#20879, #20880)
- Changed
Resource::$collects
visibility topublic
(#20885)
Fixed
- Fixed
choice()
on non-tty terminals (#20840) - Fixed Macroable calls on
Optional
(#20845, #20898) - Fixed
dropAllTables()
when usingPDO::FETCH_ASSOC
mode (#20859) - Pass model name to
ModelNotFoundException::setModel()
(#20896, 891f90e) - Fixed
Basic
authentication (#20905) - Fixed
DelegatesToResource::offsetExists()
(#20887)
Removed
- Removed redundant methods from
MorphOneOrMany
(#20837)
General
- ā ļø Require PHP 7+ (06907a0, 39809ce)
- ā ļø Removed deprecated
ServiceProvider::compile()
method (10da428) - ā ļø Removed deprecated
Str::quickRandom()
method (2ef257a) - Removed
build
scripts (7c16b15) - Upgraded to Symfony 3.3 components (4db7031, 67a5367)
- Throw
RuntimeException
when app key is missing (#19145, 8adbaa7)
Artisan Console
- Added interactive prompt to
vendor:publish
(#18230) - Added
migrate:fresh
command (f6511d4, #20090) - Added
make:factory
command and added--factory
tomake:model
(a6ffd8b, #19985) - Added
make:rule
command (76853fd) - ā ļø Added
runningInConsole()
methodApplication
contract (#18658) - Support default value(s) on command arguments (#18572)
- Improved CLI detection for phpdbg (#18781)
- ā ļø Always return array from
RetryCommand::getJobIds()
(#19232) - Support passing absolute paths to
make::listener
(#19660) - ā ļø Use
handle()
method instead offire()
(#19827, #19839, #20024) - Try to guess the
--create
option when generation migrations (#20032) - Generate
make:policy
with real user model namespace (#20047) - Added
Kernel::load()
to auto register a directory of commands (2e7ddca, d607b9c) - ā ļø Removed
array
type hint fromCommand::table()
(#20120) - Support loading multiple paths in
Kernel::load()
(#20251, #20595) - Added
CommandStarting
andCommandFinished
events (#20298) - Show error message if a reverted migration is not found (#20499, a895b1e)
- Set correct namespace in model factories when using the
app:name
command (#20766) - ā ļø Switched the
-f
shortcut from--force
to--factory
onmake:model
command (#20800)
Assets
- Added frontend preset commands (463b769, too many follow-up commits)
Authentication
- ā ļø Support default user providers and pass user provider to
RequestGuard
(#18856) - Made the user provider parameter on
RequestGuard
optional (d7f0b26) - Use
setRememberToken()
inResetsPasswords
(#19189) - Added a
PasswordReset
event (#19188) - ā ļø Support multiword models in
authorizeResource()
(#19821) - Added support for no user provider in
CreatesUserProviders
(4feb847)
Authorization
- Support multiple values in
Gate::has()
(#18758) - ā ļø Prevent policies from being too greedy (#19120)
- ā ļø Added
abilities()
method toGate
contract (#19173) - ā ļø Implement
iterable
onGate::check()
andGate::any()
(#20084)
Blade Templates
- Added
Blade::if()
method (71dfe0f, 2905364, #20025) - Added
@switch
,@case
,@break
and@default
directives (#19758) - ā ļø Prevent Blade from parsing PHP code inside
@php
blocks (#20065)
Broadcasting
- ā ļø Use
AccessDeniedHttpException
instead ifHttpException
(#19611) - ā ļø Upgraded to Pusher SDK v3 (#20016)
Cache
- ā ļø PSR-16 compliance (#20194)
- Don't encrypt database cache values (f0c72ec)
- Added support cache locks (4e6b2e4, 045e6f2, #19669)
- Accept
DatetimeInterface
andDateInterval
in cache repository (#20034) - Added
getStore()
method to cacheRepository
interface (#20338) - ā ļø Made
RateLimiter
less aggressive (#20759)
Collections
- Support multiple values in
Collection::has()
(#18758) - Added
Collection::mapInto()
method (2642ac7) - Added
Collection::dd()
method (f5fafad) - Added
Collection::dump()
method (#19755) - Added
wrap()
andunwrap()
methods (#20055, #20068) - Added keys to
partition()
,eachSpread()
andmapSpread
callback (#20783, #20723)
Configuration
- Added
Config::getMany()
method (#19770)
Controllers
Database
- ā ļø Added
dropAllTables()
to schema builder (#18484, d910bc8, #19644, #19645, #20239, #20536) - Added precision to
dateTime
andtimestamp
column types (#18847, f85f6db, #18962, #20464) - Pass page number to
chunk()
callback (#19316) - Improve memory usage in
chunk()
andchunkById()
(#19345, #19369, #19368) - Fixed
compileColumnListing()
when using PostgreSQL with multiple schemas (#19553) - Allow the seeder to call multiple commands at once (#19912)
- Added pgpool message to
DetectsLostConnections
(#20418) - Prevent race conditions on replicated databases (#20445, 0ec1522, 3824a36)
- ā ļø Support sticky database connections (#20746)
Eloquent ORM
- Added API resources (#20710, too many follow-up commits)
- ā ļø Indicate soft deleted models as existing (#17613)
- ā ļø Added
$localKey
parameter toHasRelationships::belongsToMany()
andBelongsToMany
(#17903, 7c7c3bc) - ā ļø Added
$parentKey
parameter tobelongsToMany()
,BelongsToMany
andMorphToMany
(#17915, #18380) - ā ļø Renamed
$parent
property to$pivotParent
inPivot
class (#17933, #18150) - ā ļø Don't add
_count
suffix to column name when usingwithCount()
with an alias (#17871) - ā ļø Renamed
$events
to$dispatchesEvents
(#17961, b6472bf, 3dbe12f) - ā ļø Only return query builder when the result is null for
callScope()
(#18845) - Allow setting a factory's attribute to a factory instance (#18879)
- Support
null
comparison inModel::is()
(#18511) - Added
getDirty()
checks for date and castable attributes (#18400, e180e20) - Show method name in invalid relationship
LogicException
(#18749) - Add support for additional values in
firstOrCreate()
andfirstOrNew()
(#18878) - Added a second local key to
HasManyThrough
(#19114) - Respect casts declaration on custom pivot models (#19335)
- Support creating relations without attributes (#19506)
- Added
Model::only()
method (#19459) - ā ļø Support model serialization on non default connection (#19521, dd45f70)
- ā ļø Support updating nullable dates (#19672)
- ā ļø Make pivot model instantiable (#20179)
- Simplified
BelongsToMany::allRelatedIds()
logic (#20189) - Added
Relation::get()
method (#20052) - Added
hasChanges()
,wasChanged()
,getChanges()
andsyncChanges()
(#20129, #20130) - Better exception message when calling non existing methods on models (#20196, 91c1f03)
- Added support for connections on model factories (#20191)
- Check for real primary key in
Pivot
methods (8d82618) - Default
$attributes
onBelongsToMany::create()
to empty array (973bff4) - Add ability to set a custom pivot accessor (#20411)
- ā ļø Call
setConnection()
inModel::save()
(#20466) - ā ļø Touch parent timestamp only if the model is dirty (#20489)
- Added
Model::loadMissing()
method (#20630, 4166c12) - Added
Model::whereKeyNot()
method (#20817)
Encryption
- Use
openssl_cipher_iv_length()
inEncrypter
(#18684) - Added
Encrypter::generateKey()
method (6623996) - Use
json_last_error()
inEncrypter
(#20099)
Errors & Logging
- Added default 404, 419 and 500 error pages (#18483, 4d8c2c1)
- ā ļø Always show custom 500 error page for all exception types when not in debug mode (#18481, 3cb7b0f)
- ā ļø Show 419 error page on
TokenMismatchException
(#18728) - Support
render()
method on exceptions (ed51160, c8a9413) - Support
report()
method on exceptions (e77f6f7) - ā ļø Send exceptions as JSON in debug mode if the request wants JSON (5225389, #18732, 4fe6091, 9ab58fd, #19333)
- ā ļø Moved exceptions from
$dontReport
into$internalDontReport
(841b36c) - Added
Handler::context()
method, that by default adds some default context to logs (23b7d6b) - ā ļø Don't set formatter on
ErrorLogHandler
(a044f17) - Use whoops for errors (b697272, f6b67d4, #19471, #20412)
- Changed how exceptions are logged (#19698, f1971c2)
- ā ļø Return
HttpException
with code413
fromPostTooLargeException
(#19773) - Support custom logger channel names (#20133)
- ā ļø Unify exception formatting (#20173, #20067, #20167, too many follow-up commits, sorry)
- Added default
Handler::unauthenticated()
method (11b0de0)
Events
- ā ļø Removed calling queue method on handlers (0360cb1, ec96979, d9be4bf)
- Allow faking only specific events (#19429)
- Support self-registering event listeners (#19917, 4d557c5, #19962, 5ed4f50)
- Added ability to determine if queued handler should be pushed to queue (#19957, efe616c)
Filesystem
- ā ļø Made
Storage::files()
work likeStorage::allFiles()
(#18874, 7073457) - ā ļø Fixed compatibility between
FilesystemAdapter
and theFilesystem
interface (#19389)
Helpers
- Added
report()
helper (2b67619) - Added
throw_if()
andthrow_unless()
helpers (18bb4df, #19166, #19255) - Added
dispatch_now()
helper (#18668, 61f2e7b) - Added
$language
parameter tostr_slug()
helper (#19011) - Added
str_before()
helper (#19940, #20049) - Added
now()
andtoday()
helpers (3c888b6, #20716) - Added
blank()
,filled()
,optional()
andtransform()
helpers (06de9b2, 31308e3) - Handle lower case words better in as
Str::snake()
(#18764) - Removed usages of the
with()
helper (#17888) - Support multiple patterns in
Str::is()
(#20108) - Speed up
Arr::get()
calls without dot notations (#20139) - Use
report()
helper inmix()
(#20603, bf0cb82)
Localization
- ā ļø Moved
LoaderInterface
to contracts (#20460) - ā ļø Support loading JSON translation for packages (#20599, 573f85c)
- Support language specific characters in
Str
(#18974, #19694)
- Allow mailables to be rendered directly to views (d9a6dfa)
- Allow for per-mailable theme configuration (b2c35ca)
- ā ļø Removed
$data
and$callback
parameters fromMailer
andMailQueue
- ā ļø Made
Markdown
a dependency ofMailChannel
(#19349) - ā ļø Upgraded to SwiftMailer 6 (#19356)
- ā ļø Added
to()
andbcc()
toMailer
contract (#19955)
Notifications
- Added methods for Slack's
thumb_url
andunfurl_*
options (#19150, #19200) - Support sending notifications via
AnonymousNotifiable
(#19998, ba82579) - Accept other types on
SlackAttachment::timestamp()
(#20671)
Queues
- Added support for chainable jobs (81bcb03, too many follow-up commits, sorry)
- ā ļø Removed redundant
$queue
parameter fromQueue::createPayload()
(#17948) - Made all
getQueue()
methodspublic
(#18501) - Pass connection and queue to
Looping
event (#19081) - ā ļø Clone Job specific properties (#19123)
- ā ļø Declare missing abstract
Job::getRawBody()
method (#19677) - ā ļø Fail (or optionally silently delete) job when model is missing during deserialization (44b1f85, bceded6)
- Added
CallQueuedListener::__clone()
method (#20022) - Accept
DatetimeInterface
andDateInterval
in queue (#20102, 92e2aff) - ā ļø Use
dispatch()
instead offire()
(#20446) - Removed
reserved_at
index from jobs table stub (#20702) - Support job expiration (#20776, 1592b9b)
Redis
- ā ļø Several improvements on
PhpRedisConnection
(#20269, #20316) - ā ļø Removed
PhpRedisConnection::proxyToEval()
method (#17360) - Added Redis limiters (#20597, ceb260e, #20761, aba76bf, 3684f0c, #20772)
Requests
- ā ļø Made
Request::has()
work likeCollection::has()
(#18715) - Added
Request::filled()
(#18715) - ā ļø Made
Request::only()
work likeCollection::only()
(#18695) - Aliased
Request::exists()
toRequest::has()
(183bf16) - Allow passing keys to
Request::all()
to behave like oldRequest::only()
(#18754) - ā ļø Removed
Request::intersect()
(#18695) - Return request data from
ValidatesRequests
calls (#19033) - Added a
validate()
macro ontoRequest
(#19063) - Added
FormRequest::validated()
method (#19112) - ā ļø Made
request()
helper andRequest::__get()
consistent (a6ff272) - Made
Request::routeIs()
work likeRequest()::fullUrlIs()
(#19267, bfc5321, #19334) - Added
Request::hasAny()
method (#19367) - ā ļø Throw validation exception from
ValidatesRequests
without formatting response (#19929, 6d33675, ec88362, c264807) - Added
Request::post()
method (#20238) - Added
Request::keys()
method (#20611)
Routing
- Support fluent resource options (#18767, bb02fb2)
- Support multiple values in
Router::has()
(#18758) - ā ļø Bind empty optional route parameter to
null
instead of empty model instance (#17521) - Accept patterns on
Route::named()
,Router::is()
andRouter::currentRouteNamed()
(#19267, bfc5321) - Added
domain()
setter/getter toRoute
(#19245, bba04a1) - Added
Route::redirect()
method (#19794) - Added
Route::view()
method (#19835) - ā ļø Improved
ThrottleRequests
middleware (#19807, #19860) - ā ļø Return proper 304 responses (#19867)
- Return the resource from
Router::apiResource()
(#20029) - ā ļø Moved route model binding resolution logic to model (#20521, 370e626, #20542, #20618, d911fa8)
- Accept string on
parameters()
andnames()
methods (#20531, #20529) - Handle
HEAD
requests inRouter::view()
(#20672) - Added
ThrottleRequestsWithRedis
middleware (#20761, 0a10f9a)
Responses
- ā ļø Ensure
Arrayable
andJsonable
return aJsonResponse
(#17875) - ā ļø Ensure
Arrayable
objects are also morphed byResponse
(#17868) - Added
SameSite
support toCookieJar
(#18040, #18059, e69d722) - Accept
HeaderBag
inResponseTrait::withHeaders()
(#18161) - ā ļø Reset response content-type in
Response::setContent()
(#18314, #20313) - ā ļø Always retrieve the real original content (#20002)
Service Container
- ā ļø Refactored
Container
(#19201) - ā ļø Made container PSR-11 compliant (#19822, a6068b0, 66325c2)
- Return the bound instance from
Container::instance()
(#19442) - ā ļø Use instance instead of deferred service provider (#20714)
Session
- ā ļø Default value to
true
inStore::flash()
(#18136) - ā ļø Store the user password hash when logging in (#19843)
- ā ļø Throw
UnauthorizedHttpException
fromfailedBasicResponse
(#20673)
Support
- Autoload package providers (#19420, a5a0f3e, 2954091, #19455, #19561, #19646)
- Added support for
Responsable
objects (c0c89fd, 1229b7f, #19614, ef0e37d) - Made
Carbon
macroable and serializeable (#19771, #20568, 6a18209) - Support registering macros using classes (#19782, 353adbd)
- ā ļø Moved
InteractsWithTime
toIlluminate\Support
(#20119, #20206) - Support callable/invokable objects in
Pipeline
(#18264) - ā ļø Prevent access to protected properties using array access on
Model
andFluent
(#18403) - ā ļø Extend
MessageBag
interface fromArrayable
and addgetMessages()
method (#19768, #20334) - Handle
Arrayable
items inMessageBag
(6f1f4d8) - Added
isNotEmpty()
method to message bags and paginators (#19944) - Return the collection iterator from
AbstractPaginator::getIterator()
(#20098) - ā ļø Fixed minimum value of paginator
last_page
field (#20335)
Task Scheduling
- Fire before callbacks on closure-based scheduling events (#18861)
- Run after-callbacks even if a callback event failed (#19573)
- ā ļø Fixed bug in
quarterly()
method (#19600) - ā ļø Support passing boolean into
when()
andskip()
(1d1a96e)
Testing
- ā ļø Switched to PHPUnit 6 (#17755, #17864)
- ā ļø Renamed authentication assertion methods (#17924, 494a177)
- ā ļø Unify database testing traits into
RefreshDatabase
trait (79c6f67, 0322e32, #20308) - ā ļø Changed Blade tests namespace to
Illuminate\Tests\View\Blade
(#19675) - Added integration tests for the framework itself (182027d, #18438, #18780, #19001, #20073)
- Allow disabling of specific middleware (#18673)
- Added
withoutExceptionHandling()
method (a171f44) - Support inline eloquent factory states (#19060)
- Allow
assertSessionHasErrors()
to look into different error bags (#19172, 4287ebc) - Ensure Redis is available in cache lock tests (#19791)
- Skip tests if Memcached is not found (#20018)
- ā ļø Clear
Carbon
mock during tear down (#19934) - Added debug info to
NotFoundHttpException
inInteractsWithExceptionHandling
(#20000) - Added
MailFake::assertSentTimes()
,QueueFake::assertPushedTimes()
andBusFake::assertDispatchedTimes()
methods (#20485, e657f6e) - Added queue assertions to
MailFake
(#20454, #20701) - Added
assertNothingSent()
andassertSentTimes()
methods toNotificationFake
(#20651) - Added Mockery expectations to the assertion count (#20606)
- Fake the default storage disk by default (#20625)
- Support sending default headers with requests (#20590, c32418e)
- Support disabling of exception handling for specified exceptions (#20729, 2db9716)
Validation
- Added support for custom validation rule objects (#19155, 2aa5ea8)
- Validate against
DateTimeInterface
instead ofDateTime
(#20110) - ā ļø Made several method in
ValidatesAttributes
public (#20200) - ā ļø Added
errors()
method toValidator
interface (#20337) - Extend
Exists
andUnique
rule fromDatabaseRule
class (#20563) - Added
whereIn()
andwhereNotIn()
constraints toDatabaseRule
(#20691, #20739, 52d28e3) - Added
date_equals
rule (#20646)
Views
Added
- Added
FilesystemAdapter::path()
method (#20395)
Changed
- Allow
Collection::random()
to return0
items (#20396, #20402) - Accept options on
FilesystemAdapter::temporaryUrl()
(#20394) - Sync
withoutOverlapping
method onEvent
andCallbackEvent
(#20389) - Prevent PHP file uploads by default unless explicitly allowed (#20392, #20400)
- Allow other filesystem adapter to implement
temporaryUrl()
(#20398)
Fixed
- Reverted breaking change on
BelongsToMany::create()
(#20407)
Added
- Added
Blueprint::unsignedDecimal()
method (#20243, 3b4483d, 06dcaaa) - Added
Relation::getMorphedModel()
method (#20244) - Added
Model::isNot()
method (#20354) - Added
FilesystemAdapter::temporaryUrl()
method (#20375, 09cfd7f) - Added
Request::userAgent()
method (#20367)
Changed
- Renamed
MakeAuthCommand
toAuthMakeCommand
(#20216) - Don't use
asset()
helper insidemix()
(#20197) - Removed
array
type-hint inBuilder::orWhereRaw()
signature (#20234) - Added empty array default to
$attributes
onBelongsToMany::create()
(#20321) - Prepare for PHP 7.2 (#20258, #20330, #20336, #20378)
- Use
unsignedTinyInteger()
injobs.stub
(#20382)
Fixed
Added
- Added
ManagesFrequencies::twiceMonthly()
method (#19874) - Added
RouteCollection::getRoutesByName()
method (#19901) - Added
$expiresAt
parameter toCallbackEvent::withoutOverlapping()
(#19861) - Support keeping old files when testing uploads (#19859)
- Added
--force
option tomake:mail
,make:model
andmake:notification
(#19932) - Added support for PostgreSQL deletes with
USES
clauses (#20062, f94fc02) - Added support for CC and BBC on mail notifications (#20093)
- Added Blade
@auth
and@guest
directive (#20087, #20114) - Added option to configure MARS on SqlServer connections (#20113, c2c917c)
Changed
- Support object items in
Arr::pluck()
(#19838, #19845) MessageBag
interface now extendsArrayable
(#19849)- Made
Blueprint
macroable (#19862) - Improved performance for
Arr::crossJoin()
(#19864) - Use the correct
User
model namespace for new policies (#19965, a7094c2) - Consider scheduled event timezone in
inTimeInterval()
(#19959) - Render exception if handler can't report it (#19977)
- Made
MakesHttpRequests::withServerVariables()
public (#20086) - Invalidate session instead of regenerating it when logging out (#20107)
- Improved
InvalidPayloadException
error message (#20143)
Fixed
Added
- Added
avg()
andaverage()
as higher order proxies (#19628) - Added
fresh()
method to Eloquent collection (#19616, #19671) - Added ability to remove a global scope with another global scope (#19657)
- Added
Collection::intersectKey()
method (#19683) - Support setting queue name via
broadcastQueue()
method (#19703, #19708) - Support default return on
BelongsTo
relations (#19733, #19788, 1137d86, ed0182b) - Added
unless()
method to query builder and collection (#19738, #19740) - Added
array_random()
helper (#19741, #19818, #19826) - Support multiple manifest files on
mix()
(#19764)
Changed
- Escape default value passed to
@yield
directive (#19643) - Support passing multiple fields to
different
validation rule (#19637) - Only dispatch the
MessageSent
event if mails should be sent (#19690) - Removed duplicate
/
frompublic_path()
(#19731) - Made
ThrottlesLogins
more customizable (#19787) - Support PostgreSQL insert statements with
DEFAULT VALUES
(#19804)
Fixed
- Fixed
BelongsTo
bug with incrementing keys (#19631) - Fixed PDO return value bug in
unprepared()
(#19667) - Don't use
event()
helper inHttp\Kernel
(#19688) - Detect lock wait timeout as deadlock (#19749)
- Improved escaping special characters in MySQL comments (#19798)
- Fixed passing email as string to
Event::emailOutputTo()
(#19802) - Fixed
withoutOverlapping()
not creating mutex (#19834)
Removed
- Removed
role
attribute from forms in stubs (#19792)
Added
- Added
Event::nextRunDate()
method (#19537, 09dd336) - Added null safe operator
<=>
to query builder operators list (#19539) - Added
Macroable
trait toRequestGuard
(#19569)
Changed
- Touch
updated_at
timestamp when soft deleting (#19538) - Accept argument list in
Rule::in()
andRule::notIn()
(#19555) - Support checking for strings job names using
QueueFake
(#19575) - Improved image ratio validation precision (#19542)
Fixed
- Resume scheduled task if an error occurs (#19419)
- Decode HTML entities in plain text emails (#19518)
- Added missing locales to
MessageSelector::getPluralIndex()
(#19562) - Use strict check when object is passed to
Collection::contains()
(#19568) - Fixed jobs with a timeout of
0
(#19586) - Never pass
Throwable
tostopWorkerIfLostConnection()
(#19591)
Added
- Added
Macroable
trait toFactoryBuilder
(#19425) - Allow a plain text alternative view when using markdown within Mailables (#19436, ad2eaf7)
- Added nested transactions support for SqlServer (#19439)
Changed
- Moved
env()
helper to Support component (#19409) - Prevent
BadMethodCallException
inRedirectResponse::withErrors()
(#19426) - Suppress error if calling
Str::replaceFirst()
with an empty search (#19427) - Removed the
callable
type hint forarray_sort()
(#19483) - Return the used traits from
TestCase::setUpTraits()
(#19486)
Fixed
- Fixes and optimizations for
Str::after()
(#19428) - Fixed queue size when using Beanstalkd driver (#19465)
- Check if a mutex can be created before running the callback task in
CallbackEvent::run()
(#19466) - Flip expected and actual value on
TestResponse::assertCookie()
(#19495) - Fixed undefined variable error in
Mailable
class (#19504) - Prevent error notice when
database.collation
is not set (#19507)
Added
- Support magic controller methods (#19168)
- Added
Gate
resources (#19124) - Added
Request::routeIs()
method (#19202, 26681eb) - Route
Route::isName()
shorthand method (#19227) - Added support for custom columns in
softDeletes()
method (#19203) - Added
ManagesLayouts::getSection()
method (#19213) - Added
Model::refresh()
shorthand (#19174) - Added
Container::forgetExtenders()
method (#19269, 7c17bf5) - Added
Filesystem::hash()
method (#19256) - Added
TestResponse::assertViewIs()
method (#19291) - Added
path
toPaginator
(#19314) - Added
Collection::concat()
method (#19318, 0f5337f) - Added
make()
method toHasOneOrMany
andMorphOneOrMany
relations (#19307) - Added
str_after()
helper function (#19357) - Added
Router::apiResource()
method (#19347)
Changed
- Move
$sizeRules
and$numericRules
properties fromFormatsMessages
toValidator
(dc7e7cb) - Allows calls to
Collection::times()
without the$callback
parameter (#19278) - Don't ignore jobs with a timeout of
0
(#19266) - Resolve database paginators from the container (#19328)
- Added
news
toPluralizer::$uncountable()
(#19353) - Switched to using
app()->getLocale()
inapp.stub
(#19405)
Fixed
- Fixed
Container::makeWith()
not using parameters when resolving interfaces (#19178) - Stop validating Memcached connection (#19192)
- Fixed the position of
bound()
inContainer::instance()
(#19207) - Prevent applying global scopes on the factory while setting the connection (#19258)
- Fixed database connection issue in queue worker (#19263)
- Don't use HTML comments in notification email template (#19289)
- Fire rebinding callback when using
bind()
method to bind abstract (#19288) - Return
0
fromcallScope()
if$query->wheres
isnull
(#19381)
Added
- Added
Gate::abilities()
accessor (#19143, e9e34b5) - Added ability to eager load counts via
$withCount
property (#19154)
Fixed
- Fixed inversion of expected and actual on assertHeader (#19110)
- Fixed filesystem bug in
Filesystem::files()
method on Windows (#19157) - Fixed bug in
Container::build()
(#19161, bf669e1)
Removed
- Removed
window.Laravel
object (#19135)
Added
- Support dynamic number of keys in
MessageBag::hasAny()
(#19002) - Added
Seeder::callSilent()
method (#19007) - Add
make()
method to Eloquent query builder (#19015) - Support
Arrayable
on Eloquent'sfind()
method (#19019) - Added
SendsPasswordResetEmails::validateEmail()
method (#19042) - Allow factory attributes to be factory instances themselves (#19055)
- Implemented
until()
method onEventFake
(#19062) - Added
$encoding
parameter toStr::length()
(#19047, #19079)
Changed
- Throw exception when invalid first argument is passed to
cache()
helper (d9459b2) - Use
getAuthIdentifierName()
inAuthenticatable::getAuthIdentifier()
(#19038) - Clone queries without order by for aggregates (#19064)
- Force host on password reset notification (cef1055)
Fixed
- Set data key when testing file uploads in nested array (#18954)
- Fixed a bug related to sub select queries and extra select statements (#19013)
- Resolve aliases from container when using parameters (#19071)
- Stop worker if database disconnect occurred (#19080, 583b1b8)
- Fixed internal call to
assertJson()
inassertJsonStructure()
(#19090)
Added
- Added higher order tap (3abc4fb)
- Added
Collection::mapToGroups()
(#18949) - Added
FactoryBuilder::lazy()
method (#18823) - Support Redis Sentinel configuration (#18850)
- Added
queue.prefix
option (#18860, 8510bf9) - Allow
getDisplayableAttribute()
to be used in custom replacers (#18895) - Added
resourceMethodsWithoutModels()
method toAuthorizesRequests
(#18916, #18964) - Added name to
home
route (#18942)
Changed
- Return
PendingDispatch
forKernel::queue()
(51647eb) - Made
RedisManager::resolve()
public (#18830, eb9b99d) - Changed email body color to match wrapper color (#18824)
- Break and hyphenate long words in emails (#18827)
- Force database migration to use the write PDO (#18898)
- Support
JSON_PARTIAL_OUTPUT_ON_ERROR
onJsonResponse
(#18917, db5f011)
Fixed
- Set connection on model factory (#18846, 95a0663)
- Fixed route parameter binding for routes with leading slashes (#18855)
- Don't call
cleanParameterBag()
twice during JSON request (#18840) - Prevent exception in
getActualClassNameForMorph()
when morph map isnull
(#18921) - Use protocol-relative URL in
mix()
helper (#18943) - Cast
$viaChannels
to array (#18960)
Added
- Added ability to send
link_names
parameter in Slack notification (#18765) - Added
Mailable::hasFrom()
method (#18790)
Changed
- Made
Mailer
macroable (#18763) - Made
SessionGuard
macroable (#18796) - Improved queue worker output (#18773)
- Added
newModelInstance()
method to Eloquent Builder (#18775) - Use assertions instead of exceptions in
MocksApplicationServices
(#18774)
Fixed
Added
- Added
assertSuccessful()
andassertRedirect()
toTestResponse
(#18629) - Added
assertSeeText()
andassertDontSeeText()
toTestResponse
(#18690) - Added
assertJsonMissing()
toTestResponse
(#18721, 786b782) - Added support for attaching an image to Slack attachments
$attachment->image($url)
(#18664) - Added
Validator::extendDependent()
to allow adding custom rules that depend on other fields (#18654) - Added support for
--parent
option onmake:controller
(#18606) - Added
MessageSent
event toMailer
(#18744, 6c5f3a4)
Changed
- Don't trim leading slashes on local filesystem base URLs (acd66fe)
- Accept variable on
@empty()
directive (#18738) - Added
string
validation rules toAuthenticatesUsers
(#18746)
Fixed
Added
- Added
getManager()
andsetManager()
to queue worker (#18452) - Added support for Pheanstalk's
$timeout
and$persistent
options (#18448) - Added
Collection::times()
method (#18457) - Added PostgreSQL's
REAL
data type (#18513) - Added
flatMap
to collection higher order proxies (#18529) - Support multiple
--path
parameters withmigrate:reset
(#18540) - Store SparkPost
Transmission-ID
in the header after sending message (#18594)
Changed
- Check for
Htmlable
instead ofHtmlString
inMailer::renderView()
(#18459, da7b006) - Added mutex for schedule events (#18295, ae2eb1f)
- Don't use helper functions in service providers (#18506, #18521)
- Change
user_id
to unsigned integer in database session stub (#18557) - Improved performance of
UrlGenerator::isValidUrl()
(#18566)
Fixed
- Handle missing or malformed
config/app.php
file (#18466, 92931cf) - Only call
up
anddown
on migration if the method exists (d27d94e) - Fixed overwriting of routes with identical path and method (#18475, 5aee967)
- Fixing model/route binding with identical name (#18476)
- Allow
rollbackMigrations()
path to be with string (#18535) - Use
getStatusCode()
inTestResponse::assertRedirect()
(#18559) - Case
parseIds()
to array inInteractsWithPivotTable::sync()
(#18547) - Preserve route parameter names (#18604)
Added
- Added PHPDBG detection to
runningInConsole()
(#18198) - Added
Arr:wrap()
method (#18216) - Allow scheduling of queued jobs (#18235, 7bb67e2)
- Allow skipping mail sending if a listener to
MessageSending
returnsfalse
(#18245) - Added
BcryptHasher::cost()
method (#18266) - Added
Command::alert()
method (#18272) - Added
tap()
method to query builder (#18284) - Added
orderByDesc()
methods to query builder (#18292) - Added
Container::makeWith()
method (#18271, #18320) - Added
InteractsWithDatabase::assertSoftDeleted()
(#18328, 2d4e1f0, f89f917) - Added ability to set queue parameters inside queued listeners (#18375, cf461e2)
- Added
Model::setKeyType()
(#18354) - Output migration name before starting a migration or rollback (#18379, e47e8b1)
- Added
pipeline()
,transaction()
, andexecuteRaw()
toPhpRedisConnection
(#18421) - Added
@isset()
directive (#18425) - Added
tinyIncrements()
database schema method (#18424)
Changed
- Throw exception when
bootstrap/cache
directory is not writable (#18188, b4f0005) - Use
resource_path()
helper inMakeAuthCommand
(#18215) - Added
file_exists()
check toEvent::emailOutput()
(c8eafa8) - Allow wildcards in MIME type validations (#18243)
- Only push existing jobs back into the queue using
queue:retry
(#18279, e874a56) - Support file uploads in nested array (#18276)
- Don't use
config()
helper in Mail component (#18290) - Return the insert ID from
DatabaseJob::release()
(#18288, #18291) - Changed
id
in failed jobs migration stub tobigIncrements()
(#18300) - Prevent
make:auth
from overwriting existing views (#18319, bef8f35) - Ensure Mailable view data is not overridden by order of operations (#18322)
- Use
getAuthIdentifier()
method in broadcasters (#18351) - Use atomic cache operation when checking for event overlaps (8ebb5b8)
- Return pretty JSON response from
HasInDatabase::failureDescription()
(#18377) - Allow Validator extension to use array-style callable (#18399)
- Pass the condition value to query builder's
when()
method (#18419) - Don't require returning the query from
when()
method (#18422)
Fixed
- Fixed an issue with slots when passed content equals
null
(#18246) - Do require
Closure
inorWhereHas()
(#18277) - Let PHP parse
@includeWhen
directive (#18285) - Only include
.php
files when loading database factories (#18336) - Fixed PHP 5.6 issue in
FileFactory::generateImage()
(#18345) - Allow
ImplicitRouteBinding
to match camelcase method parameter names (#18307, 4ae31a1) - Fixing weird behaviour of
Connection::getConfig()
whennull
was passed (#18356) - Attempt to solve an issue with using
required_*
rules while theConvertEmptyStringToNull
middleware is applied (#18376) - Fixed faking of model events (d6cb75c)
- Prevent model event result from firing observable events (#18401, 0607db0)
- Fix issue in
authorizeResource()
with compound names (#18435)