- 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_create
to 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
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 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)
- 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_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)
- 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
mix
helper useapp.mix_url
config (#28952) - Added
RedisManager::setDriver()
method (#28985) - Added
whereHasMorph()
and corresponding methods to work withMorphTo
relations (#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
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)
- Reverted: Let
mix
helper useapp.asset_url
(#28950)
- Added
json
option toroute:list
command (#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
mix
helper 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
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
Builder::dump()
andBuilder::dd()
with global scopes (#28858)
- Handle
SuspiciousOperationException
in router asNotFoundHttpException
(#28866)
- Fixed strict comparison in redis configuration Parsing. (#28830)
- Improved support for arrays on
TestResponse::assertJsonValidationErrors()
(2970dab)
- 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 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)
- Made
force
an 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
fullpath
option tomake:migration
command (#28669)
- Fixed
artisan cache:clear
command with a redis cluster using the Predis library (#28706)
- 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 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)
- Improve performance for
Arr::flatten()
(#28614)
- Added
id
toModelNotFoundException
exception inImplicitRouteBinding
(#28588)
- Added
html
as a new valid extension for views (#28541) - Added: provide notification callback
withSwiftMessage
inMailMessage
(#28535)
- 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)
- 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_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 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)
- Reset webpack file for none preset (#28462)
- Added: Migration Events (#28342)
- Added ability to drop types when running the
migrate:fresh
command (#28382) - Added
Renderable
functionality 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
sync
results with customPivot
model (#28416, e31d131)
- 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)
- Added handling of database URL as database connections (#28308, 4560d28, 05b029e)
- Added the
dd()
/dump
methods to theIlluminate\Database\Query\Builder.php
(#28357)
- Fixed
BelongsToMany
parent key (#28317) - Fixed
make:auth
command with apps configured views path (#28324, e78cf02) - Fixed recursive replacements in
Str::replaceArray()
(#28338)
- Added custom message to
TokenMismatchException
exception withinVerifyCsrfToken
class (#28335) - Improved output of
Foundation\Testing\TestResponse::assertSessionDoesntHaveErrors
when 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
@error
blade directive (#28273) - Convert email data tables to layout tables (#28286)
- Partial reverted ability of register custom Doctrine DBAL, since of #28282 issue (#28301)
- Added
@error
blade directive (#28062) - Added the ability to register
custom Doctrine DBAL
types in the schema builder (#28214, 91a6afe)
- Reverted of
possibility for use in / not in operators in the query builder
since 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
SET
datatype on MySQL Grammar (#28171) - Added possibility for use
in
/not in
operators in the query builder (#28192)
- 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)
- 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)
- 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 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
realpath
toapp_path
during string replacement inIlluminate\Foundation\Console\Kernel::load()
(82ded9a)
- Exclude non-existing directories from event discovery (#28098)
- Fixed serializing a collection from a
Resource
withpreserveKeys
property (#27985) - Fixed:
SoftDelete::runSoftDelete
andSoftDelete::performDeleteOnModel
with 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:generate
command (#28007) - Fixed unique validation without ignored column (#27987)
- Added
parameters
argument toresolve
helper (#28020) - Don't add the path only if path is
empty
in compiled view (#27976)
- Refactoring of
env()
helper (#27965)
- Fix: Locks acquired with block() are not immediately released if the callback fails (#27957)
- Allowed retrieving
env
variables withgetenv()
(#27958, c37702c) - Used
stripslashes
forValidation\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
OtherDeviceLogout
event (#27865, 5e87f2d) - Added
even
andodd
flags to theLoop
variable in theblade
(#27883)
- 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 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
Str
class (#27857)
- Fixed JSON boolean queries (#27847)
- 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 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)
- Check if
MessageBag
is 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.