Release Notes for 6.x
Fixed
- Fixed digits_between with fractions (#40278)
Fixed
- Fixed inconsistent escaping of artisan argument (#39953)
Changed
- Do not return anything
Illuminate/Foundation/Application::afterLoadingEnvironment()
Fixed
- Fixed for dropping columns when using MSSQL as (#39905)
- Fixed parent call in View (#39908)
Added
- Added phar to list of shouldBlockPhpUpload() in validator (2d1f76a)
Fixed
- Fixes
Illuminate/Database/Query/Builder::limit() to only cast integer when given other than null (#39644)
Fixed
- Fixed $value in
Illuminate/Database/Query/Builder::limit() (ddfa71e)
Added
- Added new lost connection error message for sqlsrv (#39466)
Fixed
- Fixed rate limiting unicode issue (#39375)
Fixed
- Add new lost connection message to DetectsLostConnections for Vapor (#39209)
Added
- Added new lost connection message to DetectsLostConnections (#39028)
Fixed
- Silence validator date parse warnings (#38670)
Changed
- Error out when detecting incompatible DBAL version (#38543)
Fixed
Fixed
Refactoring
- Remove hardcoded Carbon reference from scheduler event (#38063)
Fixed
- Fix edge case causing a BadMethodCallExceptions to be thrown when using loadMissing() (#37871)
Changed
- Removed unnecessary checks in RequiredIf validation, fixed tests (#37700)
Fixed
- Fixed dns_get_record loose check of A records for active_url rule (#37675)
- Type hinted arguments for Illuminate\Validation\Rules\RequiredIf (#37688)
- Fixed when passed object as parameters to scopes method (#37692)
Added
- Support mass assignment to SQL Server views (#37307)
Fixed
- Fixed
Illuminate\Database\Query\Builder::offset() with non numbers $value (#37164)
- Fixed unless rules (#37291)
Changed
- Allow reporting reportable exceptions with the default logger (#37235)
Fixed
- Fixed Cache store with a name other than 'dynamodb' (#37145)
Changed
- Some cast to int in
Illuminate\Database\Query\Grammars\SqlServerGrammar (09bf145)
Fixed
Fixed
- Fixed required_if boolean validation (#36969)
Added
- Added strings to the
DetectsLostConnections.php (4210258)
Fixed
- Fixed setting DynamoDB credentials (#36822)
Added
- Added support of DynamoDB in CI suite (#36749)
- Support username parameter for predis (#36762)
Changed
- Use qualified column names in pivot query (#36720)
Added
- Added WSREP communication link failure for lost connection detection (#36668)
Fixed
- Fixes the issue using cache:clear with PhpRedis and a clustered Redis instance. (#36665)
Added
- Added broken pipe exception as lost connection error (#36601)
Fixed
- Fix validator treating null as true for (required|exclude)_(if|unless) due to loose
in_array() check (#36504)
Changed
- Delete existing links that are broken in
Illuminate\Foundation\Console\StorageLinkCommand (#36470)
Added
- Added new line to
DetectsLostConnections (#36373)
Fixed
- Fixed
Illuminate\View\ViewException::report() (#36110)
- Fixed
Illuminate\Redis\Connections\PhpRedisConnection::spop() (#36106)
Changed
- Typecast page number as integer in
Illuminate\Pagination\AbstractPaginator::resolveCurrentPage() (#36055)
Changed
- Pipe new through render and report exception methods (#36037)
Fixed
- Fixed type error in
Illuminate\Http\Concerns\InteractsWithContentTypes::isJson() (#35956)
- Limit expected bindings (#35972, 006873d)
Fixed
- Fixed empty html mail (#35941)
Fixed
- Limit expected bindings (#35865)
Added
- Added new line to
DetectsLostConnections (#35790)
Fixed
- Fixed error from missing null check on PHP 8 in
Illuminate\Validation\Concerns\ValidatesAttributes::validateJson() (#35797)
Added
Fixed
- Fixed
Illuminate\Validation\Concerns\ValidatesAttributes::validateJson() for PHP8 (#35646)
- Catch DecryptException with invalid X-XSRF-TOKEN in
Illuminate\Foundation\Http\Middleware\VerifyCsrfToken (#35671)
Fixed
- Backport for fix issue with polymorphic morphMaps with literal 0 (#35487)
- Fixed mime validation for jpeg files (#35518)
Fixed
- Backport Redis context option (#35370)
- Fixed validating image/jpeg images after Symfony/Mime update (#35419)
Fixed
- Fixing BroadcastException message in PusherBroadcaster@broadcast (#35290)
- Fixed generic DetectsLostConnection string (#35323)
Changed
- Updated
aws/aws-sdk-php suggest to ^3.155 (#35267)
Fixed
- Fixed pivot restoration (#35218)
Fixed
- Turn the eloquent collection into a base collection if mapWithKeys loses models (#35129)
Fixed
Fixed
- Fixed alias usage in
Eloquent (6091048)
- Fixed
Illuminate\Support\Reflector::isCallable() (a90f344)
Added
Changed
- Bump minimum PHP version to v7.2.5 (#34928)
Fixed
- Fixed ambigious column on many to many with select load (5007986)
Fixed
Added
Fixed
- Matched
symfony/debug version with other symfony reqs (6ce02a2)
Fixed
- Added missed RESET_THROTTLED constant to Password Facade (#34641)
Fixed
- Added support for stream reads in FileManager for S3 driver (#34480)
Revert
Fixed
- Fixed for empty fallback_locale in
Illuminate\Translation\Translator (#34136)
Changed
- Changed postgres processor (#34055)
Fixed
- Fixed offset error on invalid remember token (#34020)
- Only prepend scheme to PhpRedis host when necessary (#34017)
- Fixed
whereKey and whereKeyNot in Illuminate\Database\Eloquent\Builder (#34031)
Fixed
- Fix dimension ratio calculation in
Illuminate\Validation\Concerns\ValidatesAttributes::failsRatioCheck() (#34003)
Changed
- Normalize scheme in Redis connections (#33892)
- Check no-interaction flag exists and is true for Artisan commands (#33950)
Changed
- Verify column names are actual columns when using guarded (#33777)
Fixed
- Fixed
Illuminate\Support\Arr::query() (c6f9ae2)
- Don't allow mass filling with table names (9240404, f5fa6e3)
Fixed
Changed
- Ignore numeric field names in validators (#33712)
- Fixed validation rule 'required_unless' when other field value is boolean. (#33715)
Update
- Update cookies encryption (release)
Update
- Update cookies encryption (release)
Fixed
Fixed
Fixed
- Don't 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)
This change will invalidate all existing cookies. Please see this security bulletin for more information.
Fixed
- Align (fix) nested arrays support for
assertViewHas & assertViewMissing in Illuminate\Testing\TestResponse (#33566)
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
Fixed
- Fixed notifications database channel for anonymous notifiables (#33409)
- Added float comparison null checks (#33421)
- Improve SQL Server last insert id retrieval (#33453)
Fixed
- Fixed
ConfigurationUrlParser query decoding (#33340)
- Correct implementation of float casting comparison (#33322)
Revert
Fixed
- Fixed
Model::originalIsEquivalent() with floats (#33259, d68d915)
Changed
- Improved the reflector (#33184)
Fixed
- Fixed
Model::withoutEvents() not registering listeners inside boot() (#33149, 4bb32ae)
Fixed
- Fixed
Illuminate\Database\Eloquent\Relations\MorphToMany::getCurrentlyAttachedPivots() (110b129)
Added
- Support PHP 8's reflection API (#33039)
Fixed
- Fixed
Illuminate\Database\Eloquent\Collection::getQueueableRelations() (00e9ed7)
- Fixed bug with update existing pivot and polymorphic many to many (684208b)
Added
- Added
Illuminate\Http\Middleware\TrustHosts (9229264)
Fixed
Changed
- Added explicit
symfony/polyfill-php73 dependency (5796b1e)
- Set
Cache\FileStore file permissions only once (#32845, 11c533b)
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
- Remove the undocumented dot keys support in validators (#32764)
- Remove
strval from Illuminate/Validation/ValidationRuleParser::explodeWildcardRules() 1c76a6f
Fixed
- Fixed
Illuminate\Database\Eloquent\Collection::getQueueableRelations() (7b32460)
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 and collation for some columns on change (fccdf7c)
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)
- Fixed boolean value in
Illuminate\Foundation\Testing\TestResponse::assertSessionHasErrors() (#32555)
Fixed
Fixed
- Fix
refresh() to support AsPivot trait (#32420)
- Fix orderBy with callable (#32471)
Fixed
- Removed dots (e78d24f)
- Duplicated mailable in-memory data attachments with different names (#32392)
- Fix a regression caused by #32315 (#32388)
- Duplicated mailable storage attachments with different names (#32394)
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)
Security
- Prevent insecure characters in locale (c248521)
Fixed
- Revert "Fix setting mail header" (#32278)
Fixed
- Added missing return in the sendNow pending mail fake (#32095)
- Prevent long URLs from breaking email layouts (#32189)
- Fix setting mail header (#32272)
Fixed
- Corrected suggested dependencies (#32072, c01a70e)
- Avoid deadlock in test when sharing process group (#32067)
Fixed
- Fixed scheduler dependency assumptions (#31894)
- Corrected suggested dependencies (bb0ec42)
- Unset
pivotParent on Pivot::unsetRelations() (#31956)
- Fixed
cookie helper signature , matching match CookieFactory (#31974)
Fixed
- Fixed array lock release behavior (#31795)
- Fixed model restoring right after being soft deleting (#31719)
- Fixed phpredis "zadd" and "exists" on cluster (#31838)
- Fixed "srid" mysql schema (#31852)
- Fixed Microsoft ODBC lost connection handling (#31879)
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
- Make
newPivotQuery() method public (#31677)
- Allowed easier customization of the queued mailable job (#31684)
- Expose Notification Id within Message Data in
Illuminate\Notifications\Channels\MailChannel (#31632)
Changed
- Don`t do chmod in File cache in case if permission not set (#31593)
Added
- Allowed private-encrypted pusher channels (#31559, ceabaef, 8215e0d)
- Added file
permission config option for the File cache store (#31579)
- Added
Connection refused and running with the --read-only option so it cannot execute this statement to DetectsLostConnections (#31539)
Reverted
Fixed
- Fixed issue
Content Type not specified (#31533)
Changed
- Allowed
cache helper to have an optional expiration 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)
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
- Change MySql nullable modifier to allow generated columns to be not null (#31452)
- Throw exception on empty collection in
assertSentTo() \ assertNotSentTo() methods in NotificationFake class (#31471)
Added
- Added
whereNull and whereNotNull to Collection (#31425)
- Added
Illuminate\Foundation\Testing\MockStream class (#31447)
Fixed
- Fixed
event:list command for shows non-registered events (#31444)
- Fixed postgres grammar for nested json arrays with (#31448, b3d0da1)
Added
- Added
Illuminate\Auth\Events\Validated event (#31357, 7ddac28)
- Make
Blueprint support Grammar's macro (#31365)
- Added
Macroable trait to Illuminate\Console\Scheduling\Schedule class (#31354)
- Added support
dispatchAfterResponse in BusFake (#31418, e59597f)
- Added
Illuminate\Foundation\Exceptions\Handler::getHttpExceptionView() (#31420)
- Allowed appending of rows to Artisan tables (#31426)
Fixed
- Fixed
locks for sqlsrv 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 on Application::flush() (#31413)
- Remove serializer option in
PhpRedisConnector::createClient() (#31417)
Added
- Added
Illuminate\Bus\Dispatcher::dispatchAfterResponse() method (#31300, 8a3cdb0)
- Added
Illuminate\Support\Testing\Fakes\QueueFake::assertPushedWithoutChain() method (#31332, 7fcc6b5)
- Added
Macroable trait to the Illuminate\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)
- Don't merge middleware from method and property in
Illuminate\Bus\Queueable::middleware() (#31301)
- Split
specifyParameter() from Illuminate\Console\Command to HasParameters trait (#31254)
- Make sure changing a database field to json does not include charset (#31343)
Fixed
- Fixed error on
queue:work database on Windows (#31277)
Added
- Added
--api option to the make: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)
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
- Replace Event Dispatcher in resolved cache repositories when
Event::fake() is used (#31119, 0a70beb)
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
- Remove all indentation in blade templates (917ee51)
- Added mailable names to assertion messages in
MailFake::assertNothingSent() and MailFake::assertNothingQueued() (#31106)
- Search for similar results in
assertDatabaseHas() (#31042, 2103eb7)
Changed
- Updated some blade templates (f17e347)
Added
- Added
withoutMix() and withMix() test helpers (#30900)
- Added
validateWithBag() macro to Request (#30896)
- Added PHPUnit 9 support (#30947, #30989)
- Added
exclude_if and exclude_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 from Illuminate\Console\Command (#31026, ef72716)
- Allowed absolute file path for
Storage::putFile() (#31040)
Changed
- Handled passing too many arguments to
@slot (#30893, 878f159)
- Make
ThrottleRequestsException extend TooManyRequestsHttpException (#30943)
- Used
league/commonmark instead of erusev/parsedown for mail markdown (#30982)
- Regenerate token on logout (b2af428)
- Make
RedisQueue::getConnection() public (#31016)
- Resolve
Faker\Generator out of the container if it is bound (#30992)
Fixed
- Fixed
float database types in Blueprint (#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 from 6.0-dev to 6.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)
Added
- Added
MIME type argument to Testing/FileFactory::create() (#30870)
- Added
seed to all option when creating the model (make:model command) (#30874)
- Allowed configurable emergency logger (#30873)
- Added
prependMiddlewareToGroup() / appendMiddlewareToGroup() / prependToMiddlewarePriority() / appendToMiddlewarePriority() to Kernal for manipulating middleware (6f33feb)
Reverted
Fixed
- Fixed
Builder::withCount() binding error when a scope is added into related model with binding in a sub-select (#30869)
Changed
- Don't throw exception when session is not set in
AuthenticateSession middleware (4de1d24)
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 the make:controller resource (#30856)
- Allowed passing an array to
Resource::collection() (#30800)
- Implemented ArrayAccess on
JsonResponse and TestResponse (#30817)
- Added
--seed option to the make::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 in Lumen (#30819)
- Fixed non-eloquent model validation in database validation rules (#30840)
Changed
- Changed
rescue() helper (#30838)
- Added previous exception to
EntryNotFoundException thrown in Container.php (#30862)
- Changed
DatabaseNotification::$keyType to match uuid (#30823)
Added
- Added
getQualifiedCreatedAtColumn() and getQualifiedUpdatedAtColumn() methods to HasTimestamps concern (#30792)
- Added
exceptionContext() method to the Exceptions\Handler (#30780)
- Added ability for postmark transport to throw errors (#30799, 4320b82)
- Added
withoutRelations() and unsetRelations() methods to HasRelationships (#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
- Reconnect
PhpRedisConnection on connection missing (#30778)
- Improved ShouldBroadcastNow performance (#30797, 5b3cc97)
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 from protected to public in all schema builders (#30757)
Added
- Added
setInput() and setOutput() methods to Illuminate\Console\Command (#30706)
Fixed
- Fixed RouteUrlGenerator with empty string for required parameter (#30714)
Changed
- Force usage getting timestamps columns in model (#30697)
Reverted
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() and orWherePivotNotIn() methods to BelongsToMany (#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
- Updated error message in
PhpRedisConnector::createClient() if redis extension is not loaded (#30673, 184a0f4)
- Updated
windows_os() helper to use PHP_OS_FAMILY (#30660)
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 and geography types for Postgres (#30545)
- Added
createWithContent() method to Illuminate\Http\Testing\File and Illuminate\Http\Testing\FileFactory (2cc6fa3, 181db51)
Refactoring
- Improved
PostgresGrammar::formatPostGisType() method readability (#30593)
Changed
- Added
symfony/debug dependency to illuminate/pipeline (#30611)
- Override
BelongsToMany::cursor() to hydrate pivot relations (#30580)
- Ignore Redis prefix when verifying channel access in RedisBroadcaster (#30597, d77ce36)
Added
- Added
includeUnless Blade 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() with collection / object casts (#30565)
- Fixed
bcc in MailgunTransport::send() (#30569)
Changed
- Remove
illuminate/support dependency from Container package (#30518, #30528)
Added
- Added
LazyCollection::remember() method (#30443)
- Added
Str::afterLast() and Str::beforeLast() methods (#30507)
- Added
existsOr() and doesntExistOr() methods to the query builder (#30495)
- Added
unless condition to Blade custom if directives (#30492)
Changed
- Added reconnect if missing connection when beginning transaction (#30474)
- Set Redis cluster prefix with PhpRedis (#30461)
Added
- Added
ScheduledTaskSkipped event when a scheduled command was filtered from running (#30407)
- Added
Login timeout expired to DetectsLostConnections (#30362)
- Added
missing method to Illuminate\Filesystem\Filesystem and Illuminate\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 with artisan up (#30422)
- Changed
!empty to isset 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)
Added
- Added
missing() method to Request class (#30320)
- Added
Pipeline::pipes() method (#30346)
- Added
TestResponse::assertCreated() method (#30368)
Changed
- Added
connection is no longer usable to DetectsLostConnections (#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 in SetCacheHeader (#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:
Added
- Added ability to override
setUserPassword on password reset (#30218)
- Added firing
deleting / deleted events in MorphPivot (#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 in RouteUrlGenerator::getRouteQueryString() (#30280)
Changed
- Updated list of URI schemes for
Url validator (#30220)
- Added schema name when dropping all FKs in SQL Server (#30221)
- Used contracts in
RequirePassword middleware (#30215)
- Added ability to return array in
receivesBroadcastNotificationsOn if channelName is array (#30242, 2faadcd)
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() handle image/svg MIME (#30204)
Added
- Added
Illuminate\Support\LazyCollection::eager() method (#29832)
- Added
forgetChannel() and getChannels() methods to Illuminate\Log\LogManager (#30132, a52a0dd)
- Added
Illuminate\Foundation\Testing\TestResponse::assertNoContent() method (#30125)
- Added
InteractsWithQueue to SendQueueNotifications (#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 to Foundation\Testing\Concerns\InteractsWithDatabase::assertSoftDeleted() (#30111)
Improved
- Improved
AuthServiceProvider::registerEventRebindHandler() in case if guard is not initialized (#30105)
Added
- Added
TestResponse::assertJsonPath() method (#29957)
- Added
hasMacro / getGlobalMacro / hasGlobalMacro methods to Eloquent 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
__() with null 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 of Responsable 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
- Changed imports to Alpha ordering in stubs (#29954, #29958)
- Used value helper where possible (#29959)
- Improved readability in
auth.throttle translation (#30011, #30017)
Reverted
Refactoring
- Converted
call_user_func where appropriate to native calls (#29932)
- Changed imports to Alpha ordering (#29933)
Changed
- Used
Application::normalizeCachePath() method to define cache path`s (#29890, ac9dbf6)
- Wrapped
MySQL default values in parentheses (#29878)
Fixed
- Prevent
event auto discovery from crashing when trying to instantiate files without php classes (#29895)
- Fix resolving class command via container (#29869)
Fixed
- Fixed
Schedule::runInBackground() not fired on Windows (#29826)
Changed
- Throw
Symfony\Component\Routing\Exception\RouteNotFoundException instead of InvalidArgumentException in UrlGenerator::route() (#29861)
Reverted
Check the upgrade guide in the Official Laravel Upgrade Documentation. Also you can see some release notes in the Official Laravel Release Documentation.