- 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)
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_createto prevent date validator warnings (#29342, #29389)
- Added
MakesHttpRequests::option()andMakesHttpRequests::optionJson()methods (#29258) - Added
Blueprint::uuidMorphs()andBlueprint::nullableUuidMorphs()methods (#29289) - Added
MailgunTransport::getEndpoint()andMailgunTransport::setEndpoint()methods (#29312) - Added
WEBPto 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 collections with JsonSerializable items and mixed values (#29205)
- Fixed MySQL Schema Grammar
$modifiersorder (#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
DateTimeobjects andintvalues 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)
- Allocate memory for error handling to allow handling memory exhaustion limits (#29226)
- Teardown test suite after using fail() method (#29267)
- Added possibility for
WithFaker::makeFaker()use localapp.faker_localeconfig (#29123) - Added ability to set theme for mail notifications (#29132)
- Added runtime for each migration to output (#29149)
- Added possibility for
whereNullandwhereNotNullto accept array columns argument (#29154) - Allowed
Console\Scheduling\ManagesFrequencies::hourlyAt()to accept array of integers (#29173)
- Improved eager loading performance for MorphTo relation (#29129)
- 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)
- 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 cache repository setMultiple with an iterator (#29039)
- Fixed cache repository getMultiple implementation (#29047)
- Fail job immediately after it timeouts if it wont be retried (#29024)
- Let
mixhelper useapp.mix_urlconfig (#28952) - Added
RedisManager::setDriver()method (#28985) - Added
whereHasMorph()and corresponding methods to work withMorphTorelations (#28928)
- 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)
- Prevented
TestResponse::dump()andTestResponse::dumpHeaders()methods from ending execution of the script (#28960) - Allowed
TestResponse::dump()andTestResponse::dumpHeaders()methods chaining (#28967) - Allowed to
NotificationFakeaccept custom channels (#28969) - Replace contents of service manifest atomically (#28973)
- Pass down the
serverVersiondatabase 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)
- Reverted: Let
mixhelper useapp.asset_url(#28950)
- Added
jsonoption toroute:listcommand (#28894)
- 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)
- Allow
TestResponse::assertViewHas()to see all data (#28893) - Let
mixhelper useapp.asset_url(#28905)
- 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
ServeCommandviaSERVER_PORTenv variable (#28849, 6a18e73) - Allowed console environment argument to be separated with a space (#28869)
- Added
@endcomponentFirstdirective (#28884) - Added optional parameter
$whentoretryhelper (85c0801)
- Fixed
Builder::dump()andBuilder::dd()with global scopes (#28858)
- Handle
SuspiciousOperationExceptionin router asNotFoundHttpException(#28866)
- Fixed strict comparison in redis configuration Parsing. (#28830)
- Improved support for arrays on
TestResponse::assertJsonValidationErrors()(2970dab)
- Added
@componentFirstdirective (#28783) - Added support for typed eager loads (#28647, d72e3cd)
- Added
RelatedandRecommendedto 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 database rules with where clauses (#28748)
- Fixed: MorphTo Relation ignores parent $timestamp when touching (#28670)
- Fixed: Sql Server issue during
dropAllTableswhen foreign key constraints exist (#28750, #28770) - Fixed
Model::getConnectionName()whenModel::cursor()used (#28804)
- Made
forcean optional feature when usingConfirmableTrait. (#28742) - Suggest resolution when no relationship value is returned in the
Model::getRelationshipFromMethod()(#28762)
- Fixed redis cluster connection parsing (2bcb405)
- Added
viewAny()to dummy policy class (#28654, #28671) - Added
fullpathoption tomake:migrationcommand (#28669)
- Fixed
artisan cache:clearcommand with a redis cluster using the Predis library (#28706)
- Added optional
DYNAMODB_ENDPOINTenv 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 (
sourceipandlocaldomain) smtp config options (#28631, 435c05b)
- Fixed Eloquent UPDATE queries with alias (#28607)
- Fixed
Illuminate\Cache\DynamoDbStore::forever()(#28618) - Fixed
event:listcommand, when using a combination of manually registering events and event auto discovering (#28624)
- Improve performance for
Arr::flatten()(#28614)
- Added
idtoModelNotFoundExceptionexception inImplicitRouteBinding(#28588)
- Added
htmlas a new valid extension for views (#28541) - Added: provide notification callback
withSwiftMessageinMailMessage(#28535)
- Fixed
Illuminate\Cache\FileStore::getPayload()in case of broken cache (#28536) - Fixed exception:
The filename fallback must only contain ASCII charactersin theIlluminate\Filesystem\FilesystemAdapter::response()(#28551)
- Make
Support\Testing\Fakes\MailFake::failures()returns an empty array (#28538) - Make
Support\Testing\Fakes\BusFake::pipeThrough()returns$this(#28564)
- Cleanup html (#28583)
- Added
Illuminate\Foundation\Testing\TestResponse::dumpHeaders()(#28450) - Added
ends_withvalidation rule (#28455) - Added possibility to use a few
columnsarguments in theroute:listcommand (#28459) - Added
retryAfterinMail\SendQueuedMailableandNotifications\SendQueuedNotificationsobject (#28484) - Added
Illuminate\Foundation\Console\Kernel::scheduleCache()(6587e78) - Added support for multiple
--pathoptions within migrate commands (#28495) - Added
Tappabletrait (#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
PhpRedisConnectionandPredisConnection(f4e8d5c)
- Fixed session resolver in
RoutingServiceProvider(without bind ofsessioninContainer) (#28438) - Fixed
route:listcommand when routes were dynamically modified (#28460, #28463) - Fixed
requiredvalidation with multiplepasses()calls (#28502) - Fixed the collation bug when changing columns in a migration (#28514)
- Added password to the
RedisClusteronly ifredis>=4.3.0(1371940) - Used
escapeshellargon windows symlink inFilesystem::link()(44c3feb)
- Reset webpack file for none preset (#28462)
- Added: Migration Events (#28342)
- Added ability to drop types when running the
migrate:freshcommand (#28382) - Added
Renderablefunctionality toMailMessage(#28386)
- 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
syncresults with customPivotmodel (#28416, e31d131)
- Modified
NoneAndReactpresets withvue-template-compiler(#28389) - Changed
navbar-laravelclass tobg-white shadow-smclass inlayouts\app.stub(#28417) - Don't execute query in
Builder::findMany()when ids are emptyArrayable(#28432) - Added parameter
passwordforRedisClusterconstruct function (#28434) - Pass email verification URL to callback in
Auth\Notifications\VerifyEmail(#28428) - Updated
RouteAction::parse()(#28397) - Updated
Events\DiscoverEvents(#28421, #28426)
- Added handling of database URL as database connections (#28308, 4560d28, 05b029e)
- Added the
dd()/dumpmethods to theIlluminate\Database\Query\Builder.php(#28357)
- Fixed
BelongsToManyparent key (#28317) - Fixed
make:authcommand with apps configured views path (#28324, e78cf02) - Fixed recursive replacements in
Str::replaceArray()(#28338)
- Added custom message to
TokenMismatchExceptionexception withinVerifyCsrfTokenclass (#28335) - Improved output of
Foundation\Testing\TestResponse::assertSessionDoesntHaveErrorswhen called with no arguments (#28359)
- Allowed logging out other devices without setting remember me cookie (#28366)
- Implemented
Job Based Retry Delay(#28265)
- Update auth stubs with
@errorblade directive (#28273) - Convert email data tables to layout tables (#28286)
- Partial reverted ability of register custom Doctrine DBAL, since of #28282 issue (#28301)
- Added
@errorblade directive (#28062) - Added the ability to register
custom Doctrine DBALtypes in the schema builder (#28214, 91a6afe)
- Reverted of
possibility for use in / not in operators in the query buildersince of issue withwherePivot()method (04a547ee)
- 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
SETdatatype on MySQL Grammar (#28171) - Added possibility for use
in/not inoperators in the query builder (#28192)
- Fixed memory leak in JOIN queries (#28220)
- Fixed circular dependency in
Support\Testing\Fakes\QueueFakefor undefined methods (#28164) - Fixed exception in
lt\lte\gt\gtevalidations with different types (#28174) - Fixed
string quotingforSQL Server(#28176) - Fixed
whereDayandwhereMonthwhen passingintvalues (#28185)
- Added
autocompleteattributes to the html stubs (#28226) - Improved
event:listcommand (#28177, cde1c5d) - Updated
Illuminate\Database\Console\Factories\FactoryMakeCommandto generate more IDE friendly code (#28188) - Added missing
LockProviderinterface onDynamoDbStore(#28203) - Change session's user_id to unsigned big integer in the stub (#28206)
- Allowed to call
macrosdirectly onIlluminate\Support\Facades\Date(#28129) - Allowed
lockto be configured inlocal filesystems(#28124) - Added tracking of the exit code in scheduled event commands (#28140)
- Fixed of escaping single quotes in json paths in
Illuminate\Database\Query\Grammars\Grammar(#28160) - Fixed event discovery with different Application Namespace (#28145)
- Added view path to end of compiled blade view (in case if path is not empty) (#28117, #28141)
- Added
realpathtoapp_pathduring string replacement inIlluminate\Foundation\Console\Kernel::load()(82ded9a)
- Exclude non-existing directories from event discovery (#28098)
- Fixed serializing a collection from a
ResourcewithpreserveKeysproperty (#27985) - Fixed:
SoftDelete::runSoftDeleteandSoftDelete::performDeleteOnModelwith overwrittenModel::setKeysForSaveQuery(#28081)
- Update forever cache duration for database driver from minutes to seconds (#28048)
- Refactoring of
Illuminate\Auth\Access\Gate::callBeforeCallbacks()(#28079)
- Added
Illuminate\Database\Query\Builder::forPageBeforeId()method (#28011)
- Fixed
BelongsToMany::detach()with custom pivot class (#27997) - Fixed incorrect event namespace in generated listener by
event:generatecommand (#28007) - Fixed unique validation without ignored column (#27987)
- Added
parametersargument toresolvehelper (#28020) - Don't add the path only if path is
emptyin compiled view (#27976)
- Refactoring of
env()helper (#27965)
- Fix: Locks acquired with block() are not immediately released if the callback fails (#27957)
- Allowed retrieving
envvariables withgetenv()(#27958, c37702c) - Used
stripslashesforValidation\Rules\Unique.php(#27940, 34759cc)
- Refactoring of
Illuminate\Http\Concerns::allFiles()(#27955)
- Added
Illuminate\Database\DatabaseManager::setReconnector()(#27845) - Added
Illuminate\Auth\Access\Gate::none()(#27859) - Added
OtherDeviceLogoutevent (#27865, 5e87f2d) - Added
evenandoddflags to theLoopvariable in theblade(#27883)
- Add replacement for lower danish
æ(#27886) - Show error message from exception, if message exist for
403.blade.phpand503.blade.phperror (#27893, #27902)
- 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)
- Added
Illuminate\Support\Collection::join()method (#27723) - Added
Illuminate\Foundation\Http\Kernel::getRouteMiddleware()method (#27852) - Added danish specific transliteration to
Strclass (#27857)
- Fixed JSON boolean queries (#27847)
- Added
Collection::countBy(#27770) - Added protected
EloquentUserProvider::newModelQuery()(#27734, 9bb7685) - Added protected
StartSession::saveSession()method (#27771, 76c7126) - Allow
belongsToManyto takeModel/Pivotclass name as a second parameter (#27774)
- Fixed environment variable parsing (#27706)
- Fixed guessed policy names when using
Gate::forUser(#27708) - Fixed
viaasstringin theNotification(#27710) - Fixed
StartSessionmiddleware (499e4fe) - Fixed
stackchannel's bug related to thelevel(#27726, bc884bb) - Fixed
emailvalidation for not string values (#27735)
- Check if
MessageBagis empty before checking keys exist in theMessageBag(#27719)
- Fixed quoted environment variable parsing (#27691)
- Added
Illuminate\View\FileViewFinder::setPaths()(#27678)
- Return fake objects from facades (#27680)
- reverted changes related to the
Facade(63d87d7)
Check the upgrade guide in the Official Laravel Documentation.