Changelog
September 2, 2026 ยท View on GitHub
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog. This project adheres to Semantic Versioning.
You can find and compare releases at the GitHub release page.
Unreleased
v6.70.1
Fixed
- Throw client-safe errors for malformed date literals instead of reporting them as server errors https://github.com/nuwave/lighthouse/pull/2788
v6.70.0
Changed
- Classes passed to
DirectiveLocator::setResolved()take precedence inDirectiveLocator::classes()andDirectiveLocator::definitions()https://github.com/nuwave/lighthouse/pull/2787
v6.69.2
Fixed
- Honour
SaveAwareArgResolver::runBeforeSave()in nested mutations instead of only at the top level https://github.com/nuwave/lighthouse/pull/2784 - Run all pre-save arg resolvers lifted out of
@nestinstead of silently discarding those whose field name collides with a sibling https://github.com/nuwave/lighthouse/pull/2784
v6.69.1
Fixed
- Keep lazy type loading lazy on
webonyx/graphql-php >= 15.31.0by passing scalar overrides explicitly whenSchemaConfig::setScalarOverridesis available https://github.com/nuwave/lighthouse/pull/2772
v6.69.0
Added
- Add
RootResolverSignatureRectorrule to auto-fix root resolver__invokesignatures https://github.com/nuwave/lighthouse/pull/2779
v6.68.0
Added
- Add
SaveAwareArgResolverinterface for directives that need control over pre/post-save timing in mutations https://github.com/nuwave/lighthouse/pull/2777
v6.67.0
Changed
- Support
haydenpierce/class-finder^0.6, which makeslighthouse:ide-helperandDirectiveLocatorsignificantly faster https://github.com/nuwave/lighthouse/pull/2769
v6.66.0
Added
- Support Laravel 13 https://github.com/nuwave/lighthouse/pull/2766
v6.65.0
Added
- Specify identifying columns on nested mutation upserts with
@upsertand@upsertManyhttps://github.com/nuwave/lighthouse/pull/2426
v6.64.3
Fixed
- Fix
upsertforHasOnecreating a new record instead of updating when noidis provided in the input https://github.com/nuwave/lighthouse/pull/2742 - Throw error when using
createonHasOnerelation when a related model already exists https://github.com/nuwave/lighthouse/pull/2742
v6.64.2
Fixed
- Use
Stringtype forHAS.condition.columnin@whereConditionsinstead of incorrectly inheriting the parent's column enum type https://github.com/nuwave/lighthouse/pull/2725
v6.64.1
Fixed
- Handle explicit
nullforpageargument in paginated queries https://github.com/nuwave/lighthouse/pull/2735
v6.64.0
Added
- Support PHPUnit 12 with
Nuwave\Lighthouse\Testing\MocksResolvershttps://github.com/nuwave/lighthouse/pull/2730
v6.63.2
Fixed
- Make Automatic Persisted Queries work with hybrid cache mode https://github.com/nuwave/lighthouse/pull/2727
v6.63.1
Fixed
- Use atomic file writes for query cache https://github.com/nuwave/lighthouse/pull/2716
v6.63.0
Added
- Add a file based query cache to leverage OPcache for improved performance https://github.com/nuwave/lighthouse/pull/2713
Deprecated
- Deprecate command
lighthouse:clear-cachein favor oflighthouse:clear-schema-cachehttps://github.com/nuwave/lighthouse/pull/2713
v6.62.3
Fixed
- Allow serializing any
DateTimeInterfaceinstance in date scalars https://github.com/nuwave/lighthouse/pull/2711
v6.62.2
Changed
- Simplify cache configuration access https://github.com/nuwave/lighthouse/pull/2706
v6.62.1
Fixed
- Write schema cache to temporary file before atomically updating it https://github.com/nuwave/lighthouse/pull/2703
v6.62.0
Changed
- Refresh schema cache lazily when GraphQL requests are made through
MakesGraphQLRequestshttps://github.com/nuwave/lighthouse/pull/2702
Deprecated
- Deprecate Lumen support https://github.com/nuwave/lighthouse/pull/2702
v6.61.1
Fixed
- Improve
@candirective docs https://github.com/nuwave/lighthouse/commit/70bea571382dae21165d81887fc4a9c0bdb91dee
v6.61.0
Added
- Add option
--sortto commandlighthouse:print-schemahttps://github.com/nuwave/lighthouse/pull/2696
v6.60.0
Changed
- Allow combining
@lazyLoadand@paginatehttps://github.com/nuwave/lighthouse/pull/2695
v6.59.0
Added
- Add method
ASTCache::path()https://github.com/nuwave/lighthouse/pull/2694
v6.58.0
Changed
- Expose original resolver errors in
@can*directives instead of always wrapping them https://github.com/nuwave/lighthouse/pull/2686
v6.57.1
Changed
- Use exclusive lock when writing the parsed schema to a file in
ASTCachehttps://github.com/nuwave/lighthouse/pull/2685
v6.57.0
Changed
- Update generated protobuf code https://github.com/nuwave/lighthouse/pull/2683
v6.56.1
Fixed
- Initialize
Argument::$typewithnulland make it nullable https://github.com/nuwave/lighthouse/pull/2682
v6.56.0
Added
- Add method
ArgumentSet::exists()https://github.com/nuwave/lighthouse/pull/2680
v6.55.0
Added
- Add field
operation_idtomessage QueryMetadatainreports.protohttps://github.com/nuwave/lighthouse/pull/2678
v6.54.0
Added
- Support Laravel 12 https://github.com/nuwave/lighthouse/pull/2665
v6.53.0
Added
- Support encrypted subscription channels https://github.com/nuwave/lighthouse/pull/2663
v6.52.1
Fixed
- Pass specific parent model instances to builder enhancers when resolving paginated relations on lists https://github.com/nuwave/lighthouse/pull/2671
v6.52.0
Added
- Expose query complexity score in lifecycle event
BuildExtensionsResponsehttps://github.com/nuwave/lighthouse/pull/2637
v6.51.2
Fixed
- Fix shortcut foreign key selection for morphTo relationships that use inline fragments in field selection https://github.com/nuwave/lighthouse/pull/2670
v6.51.1
Fixed
- Update generated code in
Nuwave\Lighthouse\Tracing\FederatedTracing\Proto
v6.51.0
Fixed
- Apply shortcut foreign key selection logic when
__typenameis included in related model's field selection https://github.com/nuwave/lighthouse/pull/2666
Changed
- Update
reports.protowithClient awareness contextshttps://github.com/nuwave/lighthouse/pull/2667
v6.50.0
Added
- Allow
thecodingmachine/safe3 https://github.com/nuwave/lighthouse/pull/2657
v6.49.1
Fixed
- Pull empty IDs instead of filling them with upsert https://github.com/nuwave/lighthouse/pull/2656
v6.49.0
Added
- Make reporting of client-safe errors configurable https://github.com/nuwave/lighthouse/issues/2647
v6.48.0
Added
- Add
@binddirective as a GraphQL analogue for Laravel's Route Model Binding https://github.com/nuwave/lighthouse/pull/2645
v6.47.1
Fixed
- Cast model count to
intinCountModelsLoaderhttps://github.com/nuwave/lighthouse/pull/2646
v6.47.0
Added
- Support Laravel Reverb as a subscriptions broadcasting driver https://github.com/nuwave/lighthouse/pull/2639
v6.46.0
Added
- Allow
@show,@hide, and@featuredirectives to be used on types, arguments and input types https://github.com/nuwave/lighthouse/pull/2638
v6.45.1
Fixed
- Fix field middleware directive stub https://github.com/nuwave/lighthouse/commit/21edcfe4762b4b6f14134e8b5c636662f97443ff
v6.45.0
Added
- Cache query validation results https://github.com/nuwave/lighthouse/pull/2603
v6.44.2
Fixed
- Apply
@convertEmptyStringsToNullto input fields when used upon fields https://github.com/nuwave/lighthouse/issues/2610
v6.44.1
Fixed
- Ensure
deprecationReasonis set on arguments and input fields https://github.com/nuwave/lighthouse/pull/2609
v6.44.0
Added
- Allow
@deprecateddirective on arguments and input fields https://github.com/nuwave/lighthouse/pull/2607
v6.43.1
Changed
- Improve formatting of
_lighthouse_ide_helper.phphttps://github.com/nuwave/lighthouse/pull/2604
v6.43.0
Added
- Remove expired members from subscription topic stored in Redis set map https://github.com/nuwave/lighthouse/pull/2601
v6.42.2
Fixed
- Restore correct function of nested
HasManyandMorphOnemutations https://github.com/nuwave/lighthouse/pull/2591
v6.42.1
Changed
- Improve validation message when using output types as inputs https://github.com/nuwave/lighthouse/pull/2594
v6.42.0
Added
- Add
@hasOneThroughdirective https://github.com/nuwave/lighthouse/pull/2585
v6.41.1
Fixed
- Handle errors thrown in lifecycle events per operation https://github.com/nuwave/lighthouse/pull/2584
v6.41.0
Added
- Add
@withoutGlobalScopesdirective https://github.com/nuwave/lighthouse/pull/2577
v6.40.0
Added
- Make
GraphQL::loadPersistedQuerypublic https://github.com/nuwave/lighthouse/pull/2579
v6.39.0
Added
- Add directives
@createMany,@updateManyand@upsertManyto mutate multiple models at once https://github.com/nuwave/lighthouse/pull/2578
Changed
- Split
MutationExecutorDirectiveintoOneModelMutationDirectiveandManyModelMutationDirectivehttps://github.com/nuwave/lighthouse/pull/2578
v6.38.1
Fixed
- Correct decay value calculation in
@throttledirective https://github.com/nuwave/lighthouse/pull/2573
v6.38.0
Added
- Add option
builderto@limitto apply an actualLIMITclause https://github.com/nuwave/lighthouse/pull/2571
v6.37.1
Fixed
- Eliminate redundant
Model::save()calls in nested mutations https://github.com/nuwave/lighthouse/pull/2570
v6.37.0
Changed
- Also report instances of
GraphQL\Error\Errorwithout previous exceptions inReportingErrorHandlerhttps://github.com/nuwave/lighthouse/pull/2567 - Report all errors thrown during the execution of async mutations regardless of client-safety https://github.com/nuwave/lighthouse/pull/2567
v6.36.3
Fixed
- Actually use raw attributes in comparison of paginated related models https://github.com/nuwave/lighthouse/pull/2550
v6.36.2
Changed
- Compare raw attributes only when ensuring uniqueness of paginated related models https://github.com/nuwave/lighthouse/pull/2540
v6.36.1
Fixed
- Native PHP Enums registered through the
TypeRegistrymay be used as morph type in nestedMorphTorelations https://github.com/nuwave/lighthouse/pull/2544
v6.36.0
Added
- Support Laravel 11 https://github.com/nuwave/lighthouse/pull/2508
v6.35.0
Added
- Add
ClientSafeModelNotFoundExceptionto wrap original exception in@canand@canFindhttps://github.com/nuwave/lighthouse/pull/2522
v6.34.1
Fixed
- Fix
Datescalar trying to parseIlluminate\Support\Carbonasstringhttps://github.com/nuwave/lighthouse/pull/2470
v6.34.0
Added
- Merge directives from Scalar/Enum/Type/Input/Interface extension node into target node https://github.com/nuwave/lighthouse/pull/2512
v6.33.4
Fixed
- Fix stub for type resolvers used in
lighthouse:unionandlighthouse:interfaceartisan commands https://github.com/nuwave/lighthouse/pull/2518
v6.33.3
Fixed
- Allow custom model name in
@canFindhttps://github.com/nuwave/lighthouse/pull/2515
v6.33.2
Fixed
- Fix
ThrottleDirectiveto not reuse the firstRequestit had encountered https://github.com/nuwave/lighthouse/pull/2511
v6.33.1
Fixed
- Remove duplicate
CanArgsfrom directive definition https://github.com/nuwave/lighthouse/pull/2510
v6.33.0
Added
- Expose pivot field on pagination edge https://github.com/nuwave/lighthouse/pull/2464
v6.32.0
Added
- Add
@asyncdirective https://github.com/nuwave/lighthouse/pull/2501
Changed
- Move and rename
Nuwave\Lighthouse\Subscriptions\Contracts\ContextSerializertoNuwave\Lighthouse\Support\Contracts\SerializesContexthttps://github.com/nuwave/lighthouse/pull/2501 - Do not bind
CreatesContextandCanStreamResponseas singletons https://github.com/nuwave/lighthouse/pull/2501
Fixed
- Fix parsing reserialized
LaravelEnumTypefromResolveInfo::$variableValueshttps://github.com/nuwave/lighthouse/pull/2501
v6.31.1
Fixed
- Fix
@limitdirective definition
v6.31.0
Added
- Add
InputFieldManipulatordirective interface https://github.com/nuwave/lighthouse/pull/2476
v6.30.0
Added
- Add configuration option
parse_source_locationhttps://github.com/nuwave/lighthouse/pull/2499
v6.29.1
Fixed
- Ensure
@ruleis never applied to argument lists themselves https://github.com/nuwave/lighthouse/pull/2489
v6.29.0
Fixed
- Return empty results for pagination
first: 0https://github.com/nuwave/lighthouse/pull/2480
v6.28.0
Added
- Mark common pagination types as
@shareablefor Apollo Federation v2 https://github.com/nuwave/lighthouse/pull/2485
v6.27.0
Added
- Split up
@candirective into@canFind,@canModel,@canQuery,@canResolvedand@canRoothttps://github.com/nuwave/lighthouse/pull/2483 - Added
actionandreturnValuearguments to@can*family of directives https://github.com/nuwave/lighthouse/pull/2483 - Allows using any objects in
@can*family of directives https://github.com/nuwave/lighthouse/pull/2483
v6.26.1
Fixed
- Add
scalar link__Importandenum link__Purposeto@linkdefinition https://github.com/nuwave/lighthouse/pull/2484
v6.26.0
Added
- Support federated tracing https://github.com/nuwave/lighthouse/pull/2479
v6.25.0
Added
- Add
@namespaceddirective for namespacing by separation of concerns https://github.com/nuwave/lighthouse/pull/2469
v6.24.0
Added
- Add support for
extend unionsyntax https://github.com/nuwave/lighthouse/pull/2468
v6.23.2
Fixed
- Exclude unnecessary
extend schemafrom federation schema printer https://github.com/nuwave/lighthouse/pull/2477
v6.23.1
Fixed
- Fix
FieldResolverdirective stubs
v6.23.0
Added
- Support Apollo Federation v2, except for federated tracing https://github.com/nuwave/lighthouse/pull/2460
v6.22.0
Added
- Add option
rootto@candirective https://github.com/nuwave/lighthouse/pull/2452
v6.21.0
Added
- Add option
ignoreNullto@wheredirective https://github.com/nuwave/lighthouse/pull/2447
v6.20.0
Added
- Allow
@cacheControldirective on type level https://github.com/nuwave/lighthouse/pull/2451
Fixed
- Inherit
@cacheControlin pagination on fields https://github.com/nuwave/lighthouse/pull/2451
v6.19.0
Added
- Allow customizing the definition of the root
Queryfieldnodeadded by@nodehttps://github.com/nuwave/lighthouse/pull/2449
v6.18.2
Fixed
- Handle explicit
nullin@notIn,@whereBetweenand@whereNotBetweendirectives https://github.com/nuwave/lighthouse/pull/2446
v6.18.1
Fixed
- Handle explicit
nullin@indirective https://github.com/nuwave/lighthouse/pull/2445
v6.18.0
Added
- Add directive
@featureto conditionally add annotated elements based on the state of a feature using Laravel Pennant https://github.com/nuwave/lighthouse/pull/2442
v6.17.0
Added
- Improve stubs for PHP 8.2 and above https://github.com/nuwave/lighthouse/pull/2441
v6.16.2
Fixed
- Fix
NOT_LIKEoperator in@whereConditionshttps://github.com/nuwave/lighthouse/pull/2432
v6.16.1
Fixed
- Reset cached values of arguments in
BaseDirective::hydrate()https://github.com/nuwave/lighthouse/pull/2430
v6.16.0
Changed
ScoutEnhancer::enhanceBuilder()will process not only the first but allScoutBuilderDirectiveattached to argument https://github.com/nuwave/lighthouse/pull/2429ResolveInfo::enhanceBuilder()will pass$directiveFilterintoScoutEnhancer::enhanceBuilder()https://github.com/nuwave/lighthouse/pull/2429
v6.15.0
Added
- Ensure
@scopesupports custom query builders https://github.com/nuwave/lighthouse/pull/2423
v6.14.0
Added
- Add support to generate tests when generating field classes https://github.com/nuwave/lighthouse/pull/2419
v6.13.0
Added
- Validate arguments with list types do not use
@spreadhttps://github.com/nuwave/lighthouse/pull/2421
v6.12.0
Changed
- Add
PaginatorInfo,SimplePaginatorInfo,PageInfoonly when required https://github.com/nuwave/lighthouse/pull/2413
v6.11.0
Added
- Add option
findOrFailto@candirective https://github.com/nuwave/lighthouse/pull/2416
v6.10.1
Fixed
- Guess type names of programmatically registered types for models https://github.com/nuwave/lighthouse/pull/2415
v6.10.0
Added
- Allow default model class resolution for
uniontypes https://github.com/nuwave/lighthouse/pull/2406
v6.9.2
Fixed
- Fix
DirectiveLocatorassertion
v6.9.1
Fixed
- Ensure built-in directives have the lowest priority in registration https://github.com/nuwave/lighthouse/pull/2403
v6.9.0
Added
- Add feature toggles via
@hideand@showdirective https://github.com/nuwave/lighthouse/pull/2392
v6.8.1
Fixed
- Fix
scalar.stubreturn type
v6.8.0
Added
- Add the ability to specify the disk the artisan command
lighthouse:print-schemawill write to via the--diskoption https://github.com/nuwave/lighthouse/pull/2379
v6.7.0
Added
- Simplify exposing root type
Queryin nested results https://github.com/nuwave/lighthouse/pull/2384
v6.6.1
Fixed
- Add
Nodeinterface as soon as a type uses it with@nodehttps://github.com/nuwave/lighthouse/pull/2387
v6.6.0
Fixed
- Correctly exclude all built-in types when calling
lighthouse:ide-helperwith--omit-built-inflag https://github.com/nuwave/lighthouse/pull/2376
v6.5.0
Added
- Add
Nuwave\Lighthouse\Schema\AST\ASTHelper::addDirectiveToNode()to simplify dynamic addition of directives https://github.com/nuwave/lighthouse/pull/2369
v6.4.0
Added
- Allow customizing query complexity calculation of
@paginatewith argumentcomplexityResolverhttps://github.com/nuwave/lighthouse/pull/2372
v6.3.1
Fixed
- Leverage relations for resolving composite object
@keyin default model entity resolver for federation
v6.3.0
Added
- Hydrate external fields for models resolved from representations in federation https://github.com/nuwave/lighthouse/pull/2366
v6.2.1
Fixed
- Fixed resolving composite object
@keyin default model entity resolver for federation https://github.com/nuwave/lighthouse/pull/2365
v6.2.0
Changed
- Automatically set up test traits
RefreshSchemaCacheandTestsSubscriptions
v6.1.0
Added
- Add option
--omit-built-intolighthouse:ide-helperto avoid duplicate built-in definitions https://github.com/nuwave/lighthouse/pull/2362
v6.0.0
Changed
- Use the strongest possible native types over PHPDocs
- Use
declare(strict_types=1) - Add validation support to
Paginatorwithresolvermode - Pass resolver arguments to
FieldBuilderDirective::handleFieldBuilder()https://github.com/nuwave/lighthouse/pull/2234 - Expected resolver arguments in
ResolveInfo::enhanceBuilder() - Pass the path array to
CacheKeyAndTags::key()https://github.com/nuwave/lighthouse/pull/2176 - Require implementations of
BatchedEntityResolverto maintain the keys given inarray $representationshttps://github.com/nuwave/lighthouse/pull/2286 - Require filter directives such as
@whereKeyin@delete,@forceDeleteand@restorehttps://github.com/nuwave/lighthouse/pull/2289 - Subscriptions can now be filtered via
$subscriber->socket_idandrequest()->header('X-Socket-ID')https://github.com/nuwave/lighthouse/pull/2298 - Make pagination argument
firstnon-nullable - Calculate complexity for
@paginateaccording to the number of items requested - Require argument
resolverin directive@complexity - Move interface
Nuwave\Lighthouse\Support\Contracts\GlobalIdtoNuwave\Lighthouse\GlobalId\GlobalId - Use union type for
$idargument inNodeDirective - Replace
Arr::first(array_keys())witharray_key_first()inOrderByDirective - Limit constructor argument
$paginationTypeinPaginationTypeto literal constant values - Change visibility of
BaseDirective::directiveHasArgumentfrompublictoprotected - Replace
Illuminate\Database\DatabaseManagerwithIlluminate\Database\ConnectionResolverInterfaceinRelationDirective - Replace
DirectiveLocator::beforeLastwithStr::beforeLast - Default
subscriptions.exclude_emptytotrue - Allow
FieldManipulatorandArgManipulatordirectives on interfaces https://github.com/nuwave/lighthouse/pull/1955 - Apply argument transformation only once per field https://github.com/nuwave/lighthouse/pull/1706
- Expect
FieldResolver::resolveField()to return resolver function directly https://github.com/nuwave/lighthouse/pull/1706 - Simplify
FieldMiddlewaredirective interface https://github.com/nuwave/lighthouse/pull/1706 - Rename configuration option
schema.registertoschema_path - Restructure cache related configuration options
- Register all non-user namespaces through
RegisterDirectiveNamespacesevent https://github.com/nuwave/lighthouse/pull/2337 - Guard default configuration options in
lighthouse.phpallows multiple guards https://github.com/nuwave/lighthouse/pull/2345 - Make
@authand@whereAuthsupport multiple guards https://github.com/nuwave/lighthouse/pull/2345 - Make
Illuminate\Http\Requestoptional inNuwave\Lighthouse\Support\Contracts\GraphQLContexthttps://github.com/nuwave/lighthouse/pull/2353 - Move namespace
Nuwave\Lighthouse\Support\HttptoNuwave\Lighthouse\Httphttps://github.com/nuwave/lighthouse/pull/2358
Fixed
- Return proper error for unknown types in variable definitions
- Ensure
_entitiesmaintains order of representations in result https://github.com/nuwave/lighthouse/pull/2286 - Allow combining
@canwith non-default@guardhttps://github.com/nuwave/lighthouse/pull/2276 - Fix error message when failing to find class in namespace https://github.com/nuwave/lighthouse/pull/2342
- Prevent regression to simple paginator type on fields using
@cachedirective https://github.com/nuwave/lighthouse/issues/2354
Added
- Add method
TypeRegistry::search()that maybe finds a type with a given name - Decode fields with directive
@globalIdin federation model entity resolver - Add
GraphQLContext:: setUser(?Authenticatable $user): void - Add directive
@whereKeyto filter Models by their primary key https://github.com/nuwave/lighthouse/pull/2289 - Allow directive
@whereon fields https://github.com/nuwave/lighthouse/pull/2306 - Allow passing route parameters in
MakeGraphQLRequeststest methods https://github.com/nuwave/lighthouse/pull/2333 - Add subscription assertion methods in
MakesGraphQLRequestsandTestResponseMixinand docs in phpunit integration section https://github.com/nuwave/lighthouse/pull/2343 - Allow
laragraph/utils:^2https://github.com/nuwave/lighthouse/pull/2356 - Add directives
@whereNulland@whereNotNullhttps://github.com/nuwave/lighthouse/pull/2357 - Add configurable namespace to allow custom non-root type field resolvers without FQN https://github.com/nuwave/lighthouse/pull/2351
Removed
- Remove mixin
TestResponse::assertGraphQLErrorCategory() - Remove class
Nuwave\Lighthouse\Exceptions\GenericException - Remove error extension field
category - Remove interface
Nuwave\Lighthouse\Exceptions\RendersErrorsExtensions - Remove
Nuwave\Lighthouse\Execution\ExtensionErrorHandler - Remove support for PHP 7.2, 7.3, 7.4
- Remove support for Laravel 5, 6, 7, 8
- Remove
Serializableimplementation - Remove trait
ClearsSchemaCache - Remove config option
lighthouse.unbox_bensampo_enum_enum_instances - Remove
ArgumentSet::enhanceBuilder(), useResolveInfo::enhanceBuilder() - Remove the
globalIdargument from@delete,@forceDeleteand@restorehttps://github.com/nuwave/lighthouse/pull/2289 - Remove
MockResolver - Remove deprecated
BatchLoader::forgetInstances()inGraphQL - Remove method check for
Illuminate\Foundation\Exceptions\Handler::renderable - Remove setting
non_null_pagination_resultsand always behave as if it weretrue - Remove
Nuwave\Lighthouse\Subscriptions\Contracts\StoresSubscriptions::subscriberByRequest() - Remove deprecated methods from
FieldValue - Remove deprecated
GraphQL::executeQuery()andGraphQL::prepSchema() - Remove
@fielddirective argumentargshttps://github.com/nuwave/lighthouse/pull/1706 - Remove schema caching v1 https://github.com/nuwave/lighthouse/pull/2321
- Do not register
ScoutServiceProviderby default - Remove alias/Facade
graphql - Remove subscriptions version 1
- Remove
MiddlewareAdapterhttps://github.com/nuwave/lighthouse/pull/2358
v5.72.0
Added
- Add configuration option
parse_source_locationhttps://github.com/nuwave/lighthouse/pull/2498
v5.71.0
Added
- Support Laravel 10
v5.70.3
Fixed
- Allow
Illuminate\Http\UploadedFilein test helpermultipartGraphQL()argumentarray $files
v5.70.2
Fixed
- Fix batch loading relations of parents that were partially cached https://github.com/nuwave/lighthouse/issues/2269
v5.70.1
Fixed
- Fix batch loading a paginated BelongsToMany relation with duplicates https://github.com/nuwave/lighthouse/pull/2277
v5.70.0
Added
- Allow configuring regular expression constraints for the registered route with
lighthouse.route.where
v5.69.1
Fixed
- Wrap base
ResolveInfoclass and extend it withpublic ArgumentSet $argumentSetin response to PHP 8.2 deprecating dynamic properties
v5.69.0
Added
- Add argument
builderto directive@aggregatehttps://github.com/nuwave/lighthouse/pull/2255
v5.68.1
Fixed
- Avoid duplicated data in relation directives with paginator with non-unique foreign keys https://github.com/nuwave/lighthouse/pull/2252
v5.68.0
Added
- Allow interfaces to implement interfaces https://github.com/nuwave/lighthouse/pull/2248
Fixed
- Mark
@clearCachedirectiverepeatablehttps://github.com/nuwave/lighthouse/pull/2243
v5.67.0
Added
- Throw on unsafe usage of
@candirective argumentresolvedon mutations https://github.com/nuwave/lighthouse/pull/2238
v5.66.0
Added
- Support returning data in a
Paginatorfrom optionresolverin@paginatordirective https://github.com/nuwave/lighthouse/pull/2232
v5.65.0
Added
- Validate only one of any mutually exclusive directive arguments is defined https://github.com/nuwave/lighthouse/pull/2233
v5.64.1
Fixed
- Handle unset properties in
field_middlewaredirectives https://github.com/nuwave/lighthouse/pull/2224
v5.64.0
Changed
- Allow requests with header
X-Requested-With: XMLHttpRequestinEnsureXHRmiddleware https://github.com/nuwave/lighthouse/pull/2221
v5.63.1
Fixed
- Fix GraphQL enum names generation from column names containing symbols https://github.com/nuwave/lighthouse/pull/2219
v5.63.0
Added
- Allow easily overwriting enum description generation from
bensampo/laravel-enumhttps://github.com/nuwave/lighthouse/pull/2218
v5.62.0
Changed
- Extract uploaded file name calculation to method in
@uploaddirective https://github.com/nuwave/lighthouse/pull/2215
v5.61.0
Added
- Add
@uploaddirective https://github.com/nuwave/lighthouse/pull/2121
v5.60.0
Added
- Allow configuring
security.disable_introspectionthrough the env variableLIGHTHOUSE_SECURITY_DISABLE_INTROSPECTIONhttps://github.com/nuwave/lighthouse/pull/2205
v5.59.0
Added
- Open
EnsureXHRmiddleware for extension https://github.com/nuwave/lighthouse/pull/2202
v5.58.2
Fixed
- Clean duplicate
@paraminfield_full.stubhttps://github.com/nuwave/lighthouse/pull/2198
v5.58.1
Fixed
- Allow pagination amount to be 0 https://github.com/nuwave/lighthouse/pull/2105
v5.58.0
Added
- Add description generation to
LaravelEnumTypebased onBenSampo\Enum\Enum::getClassDescription()https://github.com/nuwave/lighthouse/pull/2177
v5.57.6
Fixed
- Fix
@convertEmptyStringsToNullon fields and matrices https://github.com/nuwave/lighthouse/pull/2142
v5.57.5
Fixed
- Fix directive option
modelon schema elements using built-in types https://github.com/nuwave/lighthouse/pull/2196
v5.57.4
Fixed
- Respect explicit
maxCount: nullordefaultCount: nullin pagination directives over configlighthouse.paginationhttps://github.com/nuwave/lighthouse/pull/2193
v5.57.3
Fixed
- Fix cursor pagination always returning the first page when no fields from the
pageInfoare requested https://github.com/nuwave/lighthouse/pull/2190
v5.57.2
Fixed
- Allow returning
Laravel\Scout\Builderfrom custombuilderin@alland@paginatehttps://github.com/nuwave/lighthouse/pull/2183
v5.57.1
Fixed
- Handle missing models in
@canwith optionresolvedhttps://github.com/nuwave/lighthouse/pull/2187
v5.57.0
Added
- Allow checking policies against resolved models in
@canhttps://github.com/nuwave/lighthouse/pull/2159
Fixed
- Fix static analysis error in testing traits https://github.com/nuwave/lighthouse/pull/2180
v5.56.0
Added
- Implement
@hasManyThroughdirective https://github.com/nuwave/lighthouse/pull/2178
v5.55.1
Fixed
- Always register
TestingServiceProviderin order to ensure macros are recognized by Larastan https://github.com/nuwave/lighthouse/pull/2171
v5.55.0
Changed
@paginatedirective will use a simple pagination strategy when the paginator info is not requested https://github.com/nuwave/lighthouse/pull/2170
v5.54.0
Changed
- Cache related code moves to the cache namespace, add new contract
CacheKeyAndTagshttps://github.com/nuwave/lighthouse/pull/2162
v5.53.0
Changed
- Include field that produced a
RateLimitExceptionin its message https://github.com/nuwave/lighthouse/pull/2149
v5.52.1
Fixed
- Show proper validation error when referencing standard types in
unionhttps://github.com/nuwave/lighthouse/pull/2157
v5.52.0
Added
- Allow pagination types for
@morphToManyhttps://github.com/nuwave/lighthouse/pull/2154
v5.51.1
Fixed
- Consider
@renamewhen picking the value of a key in@cachehttps://github.com/nuwave/lighthouse/pull/2155
v5.51.0
Added
- Add
columnsanddistinctargs to@countdirective https://github.com/nuwave/lighthouse/pull/2138
v5.50.0
Added
- Add
@cacheControldirective https://github.com/nuwave/lighthouse/pull/2136
v5.49.0
Added
- Provide additional information about detected usages of deprecated elements https://github.com/nuwave/lighthouse/pull/2141
v5.48.2
Fixed
- Allow
@cacheKeyon field definition https://github.com/nuwave/lighthouse/pull/2131
v5.48.1
Fixed
- Omit non-nullable arguments in
@convertEmptyStringsToNullhttps://github.com/nuwave/lighthouse/pull/2130
v5.48.0
Changed
- Generate classes as
finalthrough artisan commands https://github.com/nuwave/lighthouse/pull/2127
v5.47.1
Fixed
RelationDirective/batchload_relationswill considernulland default connection name the same connection https://github.com/nuwave/lighthouse/pull/2125
v5.47.0
Added
- Add
@convertEmptyStringsToNulldirective https://github.com/nuwave/lighthouse/pull/2123
Fixed
- Allow returning
Relationfrom custom builder on@alland@paginatedirective https://github.com/nuwave/lighthouse/pull/2120
v5.46.2
Fixed
- Respect non-default primary key in nested one-to-many relations https://github.com/nuwave/lighthouse/pull/2119
v5.46.1
Fixed
- Distinguish between client-safe and non-client-safe errors in
TestResponse::assertGraphQLError()
v5.46.0
Added
- Add method
TestResponse::assertGraphQLDebugMessage()to test internal errors https://github.com/nuwave/lighthouse/pull/2117
v5.45.4
Fixed
- Revert breaking schema change in generate pagination types https://github.com/nuwave/lighthouse/pull/2104
v5.45.3
Fixed
- Annotate generated schema with correct model in paginated relations https://github.com/nuwave/lighthouse/pull/2093
v5.45.2
Fixed
- Fix definition of
@clearCacheargumentidSourcehttps://github.com/nuwave/lighthouse/pull/2100
v5.45.1
Fixed
- Fix
mgetreturning false for entries https://github.com/nuwave/lighthouse/pull/2095
v5.45.0
Added
- Add
@dropdirective to ignore incoming values https://github.com/nuwave/lighthouse/pull/2092
v5.44.1
Changed
- Expire query cache after one day by default https://github.com/nuwave/lighthouse/pull/2089
v5.44.0
Changed
- Register artisan commands not only when running in console https://github.com/nuwave/lighthouse/pull/2088
v5.43.0
Added
- Allow lazy registration of types https://github.com/nuwave/lighthouse/pull/2086
v5.42.3
Fixed
- Improve error message when passing non-existing class-string to
LaravelEnumType
v5.42.2
Fixed
- Handle invalid subscriber cache entries from redis https://github.com/nuwave/lighthouse/pull/2084
v5.42.1
Fixed
- Normalize rules input to ensure Laravel 9 support https://github.com/nuwave/lighthouse/pull/2070
v5.42.0
Added
- Batched federation entity resolvers https://github.com/nuwave/lighthouse/pull/2043
v5.41.0
Added
- Add testing trait
RefreshesSchemaCachehttps://github.com/nuwave/lighthouse/pull/2076
Fixed
- Add proper error handling for invalid schema cache file contents https://github.com/nuwave/lighthouse/pull/2076
Deprecated
- Deprecate testing trait
ClearsSchemaCachehttps://github.com/nuwave/lighthouse/pull/2076
v5.40.1
Fixed
- Properly handle any kind of deferred resolved value https://github.com/nuwave/lighthouse/pull/2064
v5.40.0
Added
- Support Laravel 9
v5.39.2
Fixed
- Handle expired subscriber keys in
RedisStorageManager::subscribersByTopic()https://github.com/nuwave/lighthouse/issues/2035
v5.39.1
Fixed
- Remove unused configuration option
batched_querieshttps://github.com/nuwave/lighthouse/issues/2046
v5.39.0
Added
- Add field
hasMorePagesfor pagination typeSIMPLEhttps://github.com/nuwave/lighthouse/pull/2051
v5.38.2
Fixed
- Only shortcut foreign key selection if
shortcut_foreign_key_selectionis enabled inlighthouse.phphttps://github.com/nuwave/lighthouse/pull/2049
v5.38.1
Fixed
- Consider
transactional_mutationsin@delete,@forceDeleteand@restorehttps://github.com/nuwave/lighthouse/pull/2050
v5.38.0
Added
- Detect usage of deprecated elements in queries https://github.com/nuwave/lighthouse/pull/2004
v5.37.2
Fixed
- Fix
EnsureXHRmiddleware to handle additional fields in theContent-Typeheader https://github.com/nuwave/lighthouse/pull/2036 - Fix
EnsureXHRmiddleware to handle method override via_methodparameter https://github.com/nuwave/lighthouse/pull/2036
v5.37.1
Fixed
- Separate eager loaded relations for fields with aliases https://github.com/nuwave/lighthouse/pull/2019
v5.37.0
Changed
- Improve default schema https://github.com/nuwave/lighthouse/pull/2032
v5.36.0
Added
- Allow caching parsed query strings https://github.com/nuwave/lighthouse/pull/2017
- Support Automatic Persisted Queries https://github.com/nuwave/lighthouse/pull/2017
Deprecated
- Deprecate
Nuwave\Lighthouse\GraphQL::executeQuery()https://github.com/nuwave/lighthouse/pull/2017
v5.35.3
Fixed
- Fix
thecodingmachine/safeversion constraint
Fixed
v5.35.2
Fixed
- Ensure compatibility with
thecodingmachine/safe:2https://github.com/nuwave/lighthouse/pull/2028
v5.35.1
Fixed
- Fix partitioning of arguments where the model has a non-relation method returning primitive https://github.com/nuwave/lighthouse/pull/2026
v5.35.0
Added
- Shortcut
@belongsToand@morphToif the client only selects the ID of the relation
v5.34.0
Added
- Allow marking
enumvalues derived frombensampo/laravel-enumas@deprecatedthrough PHPDoc https://github.com/nuwave/lighthouse/pull/2025
v5.33.1
Fixed
- Fix ASTCache with
LIGHTHOUSE_CACHE_VERSION=1in env https://github.com/nuwave/lighthouse/pull/2020
v5.33.0
Added
- Add
@clearCachedirective that clears a resolver cache by tags https://github.com/nuwave/lighthouse/pull/1931
Fixed
- Do not change capitalization of types and fields in cache keys https://github.com/nuwave/lighthouse/pull/1931
- Add hidden config option
lighthouse.cache.tagsinconfig/lighthouse.phphttps://github.com/nuwave/lighthouse/pull/1931 - Set up correct authentication context for subscriptions with
@guardfields https://github.com/nuwave/lighthouse/pull/1769
Changed
- Include empty placeholder for parent cache key in root fields to ensure predictable cache key https://github.com/nuwave/lighthouse/pull/1931
- Prefix all generate cache keys or tags with
lighthousehttps://github.com/nuwave/lighthouse/pull/1931
v5.32.0
Added
- Added middleware
Nuwave\Lighthouse\Support\Http\Middleware\EnsureXHRto mitigate CSRF attacks without Laravel Sanctum https://github.com/nuwave/lighthouse/pull/2013
v5.31.3
Fixed
- Use
StartExecutionevent to determine per-operation Tracing timestamps https://github.com/nuwave/lighthouse/pull/2009
v5.31.2
Fixed
- Trigger model events on nested mutation disconnect of one to many relationships https://github.com/nuwave/lighthouse/pull/2008
v5.31.1
Fixed
- Ensure
_ide_helper.phpworks as PHPStan stub file https://github.com/nuwave/lighthouse/pull/2006
v5.31.0
Added
- Add method
assertGraphQLError()toTestResponsemixin https://github.com/nuwave/lighthouse/pull/2005
v5.30.0
Added
- Mixin method
assertGraphQLErrorFree()toIlluminate\Testing\TestResponse
Fixed
- Add missing types to
programmatic-types.graphqlin artisan commandlighthouse:ide-helper
v5.29.0
Added
- Add ability to provide custom handler for
@whereConditionsand@whereHasConditionshttps://github.com/nuwave/lighthouse/pull/2001
v5.28.1
Added
- Improve error message when calling
TestResponse::assertGraphQLErrorMessage()on successful response
v5.28.0
Added
- Allow clients to order a list of models by an aggregated value of their relations with
@orderByhttps://github.com/nuwave/lighthouse/pull/1848
v5.27.3
Fixed
- Prevent possible
Undefined array key 0error when there's an interface implemented by two renamed models https://github.com/nuwave/lighthouse/pull/1997
v5.27.2
Fixed
- Prevent
Undefined array keyerror when using cache version 2 and not having all version 1 configuration present https://github.com/nuwave/lighthouse/pull/1994
v5.27.1
Changed
- Regenerate cache when calling
php artisan lighthouse:cachehttps://github.com/nuwave/lighthouse/pull/1990
v5.27.0
Fixed
- Avoid PHP 8.1 deprecation warning by implementing
__serialize()and__unserialize()https://github.com/nuwave/lighthouse/pull/1987
Deprecated
- Deprecate
Serializableimplementation in favor of magic methods https://github.com/nuwave/lighthouse/pull/1987
v5.26.1
Changed
- Improve error message when failing to find classes in namespaces https://github.com/nuwave/lighthouse/pull/1983
v5.26.0
Added
- Allow specifying headers in
MakesGraphQLRequestsandMakesGraphQLRequestsLumentest helpers - Render
GraphQL\Error\ClientAwareexceptions outside GraphQL context with extensions content
Fixed
- Do not batchload relations with different database connections
v5.25.1
Fixed
- Consider renamed models in default type resolver https://github.com/nuwave/lighthouse/pull/1967
v5.25.0
Added
- Add setting
unbox_bensampo_enum_enum_instancesto turn offBenSampo\Enum\Enumunboxing https://github.com/nuwave/lighthouse/pull/1971
Deprecated
- Deprecate
BenSampo\Enum\Enumunboxing https://github.com/nuwave/lighthouse/pull/1971
v5.24.0
Added
- Add
Nuwave\Lighthouse\Support\Contracts\ComplexityResolverDirectiveinterface to allow overwriting the default query complexity calculation https://github.com/nuwave/lighthouse/pull/1947 - Allow omitting
namein@scopeby defaulting to the argument name https://github.com/nuwave/lighthouse/pull/1957
Changed
- Lazily resolve field type https://github.com/nuwave/lighthouse/pull/1950
Fixed
- Ensure non-pagination related arguments called
firstdo not mistakenly increase@complexityhttps://github.com/nuwave/lighthouse/pull/1947
Deprecated
- Deprecate methods to set a query complexity resolver through
Nuwave\Lighthouse\Schema\Values\FieldValuehttps://github.com/nuwave/lighthouse/pull/1947 - Deprecate smart methods in
Nuwave\Lighthouse\Schema\Values\FieldValuehttps://github.com/nuwave/lighthouse/pull/1951
v5.23.1
Fixed
- Apply
@spreadto inputs nested within lists https://github.com/nuwave/lighthouse/pull/1944
v5.23.0
Added
- Add
--federationoption tolighthouse:print-schemacommand to print the schema with federation directives and without federation spec additions, like_service.sdlhttps://github.com/nuwave/lighthouse/pull/1932
v5.22.5
Fixed
- Allow Laravel default guard to be
nullfor applications that do not use auth at all
v5.22.4
Fixed
- Fall back to Laravel default guard if Lighthouse default is undefined https://github.com/nuwave/lighthouse/pull/1930
Changed
- Move authentication and authorization functionality to
Nuwave\Lighthouse\Authand a dedicatedAuthServiceProviderhttps://github.com/nuwave/lighthouse/pull/1930
v5.22.3
Fixed
- Make
TestReponse::assertGraphQLValidationError()work for fields with multiple messages https://github.com/nuwave/lighthouse/pull/1926
v5.22.2
Fixed
- Support schema without
Querytype when using federation https://github.com/nuwave/lighthouse/pull/1925
v5.22.1
Fixed
- Allow
Carbon\CarbonImmutablefor date scalars https://github.com/nuwave/lighthouse/pull/1924
v5.22.0
Added
- Add
AuthenticationException::fromLaravel()andAuthenticationErrorHandlerto handle laravel nativeAuthenticationExceptionhttps://github.com/nuwave/lighthouse/pull/1922 - Add
AuthorizationException::fromLaravel()andAuthorizationErrorHandlerto handle laravel nativeAuthorizationExceptionhttps://github.com/nuwave/lighthouse/pull/1922
v5.21.0
Added
- Add trait
ClearsSchemaCacheto clear the schema cache once before any tests are run https://github.com/nuwave/lighthouse/pull/1920
v5.20.0
Added
- Include definition when generating directives via
artisan lighthouse:directivehttps://github.com/nuwave/lighthouse/pull/1921
v5.19.0
Added
- Add
queryandscopesarguments to the@candirective https://github.com/nuwave/lighthouse/issues/1916
v5.18.1
Fixed
- Fix compatibility with Laravel Octane https://github.com/nuwave/lighthouse/pull/1911
v5.18.0
Changed
- Mark
@guardand@namespacedirectives asrepeatablehttps://github.com/nuwave/lighthouse/issues/1907
v5.17.0
Added
- Add support for custom rules that reference other arguments https://github.com/nuwave/lighthouse/pull/1903
v5.16.2
Fixed
- Allow using date validation rules that reference other arguments https://github.com/nuwave/lighthouse/pull/1900
v5.16.1
Fixed
- Fix
ValidationErrorHandlerreturned error type https://github.com/nuwave/lighthouse/commit/e9f97c117a50aab3c61cb104628696a97b5bfa2b
v5.16.0
Added
- Add
ValidationException::fromLaravel()andValidationErrorHandlerto include validation messages in extensions https://github.com/nuwave/lighthouse/pull/1899
v5.15.3
Changed
- Provide context for syntax errors thrown during schema parsing https://github.com/nuwave/lighthouse/pull/1892
v5.15.2
Fixed
- Fix usage of validation rules with chained query builders with
@validatorhttps://github.com/nuwave/lighthouse/pull/1890
v5.15.1
Fixed
- Call
lighthouse:clear-cachein other commands to handle schema cache version 2 https://github.com/nuwave/lighthouse/pull/1894
v5.15.0
Added
- Add method
rethrowGraphQLErrors()to testing helper to leverage PHPUnit exception testing https://github.com/nuwave/lighthouse/pull/1885
v5.14.0
Added
- Add config setting
cache.versionto use a PHP file for the schema cache and leverage OPcache https://github.com/nuwave/lighthouse/pull/1842
v5.13.1
Fixed
- Fix model name determination when using interfaces https://github.com/nuwave/lighthouse/pull/1882
v5.13.0
Added
- Add config setting
non_null_pagination_resultsto mark the generated result type of paginated lists as non-nullable https://github.com/nuwave/lighthouse/pull/1878
Changed
- Improve descriptions of generated pagination types https://github.com/nuwave/lighthouse/pull/1878
v5.12.7
Fixed
- Fix incorrect config key for subscriptions redis storage connection https://github.com/nuwave/lighthouse/pull/1874
v5.12.6
Fixed
- Avoid conflicting relation batch loader overlaps when using dot notation in
@withhttps://github.com/nuwave/lighthouse/pull/1871
v5.12.5
Fixed
- Allow integer zero, empty string and false as valid cached values with
@cachehttps://github.com/nuwave/lighthouse/pull/1869
v5.12.4
Fixed
- Fix combining
@lazyLoadwith paginated relations https://github.com/nuwave/lighthouse/pull/1867
v5.12.3
Fixed
- Allow JSON notation
->in column references for complex where conditions https://github.com/nuwave/lighthouse/pull/1864
v5.12.2
Fixed
- Handle
nullwhen encoding or decoding with@globalIdhttps://github.com/nuwave/lighthouse/pull/1862
v5.12.1
Fixed
- Fix resolving relation items and count in one query https://github.com/nuwave/lighthouse/pull/1859
v5.12.0
Added
- Add
ValidationException::withMessages()https://github.com/nuwave/lighthouse/pull/1857
v5.11.0
Added
- Add lifecycle events
StartOperationOrOperationsandEndOperationOrOperationshttps://github.com/nuwave/lighthouse/pull/1856
v5.10.0
Added
- Support Laravel Octane https://github.com/nuwave/lighthouse/pull/1854
Changed
- Improve performance through
graphql-phplazy field definitions https://github.com/nuwave/lighthouse/pull/1851 - Load individual subscription fields lazily instead of loading them all eagerly https://github.com/nuwave/lighthouse/pull/1851
- Require
webonyx/graphql-php:^14.7https://github.com/nuwave/lighthouse/pull/1851
v5.9.1
Fixed
- Pass plain values to
ScoutBuilderDirective::handleScoutBuilder()https://github.com/nuwave/lighthouse/pull/1853
v5.9.0
Added
- Add
@aggregatedirective https://github.com/nuwave/lighthouse/pull/1849
Changed
- Split
DataLoaderfunctionality intoBatchLoaderandModelsLoaderhttps://github.com/nuwave/lighthouse/pull/1849 - Combine eager loads that produce identical results https://github.com/nuwave/lighthouse/pull/1849
v5.8.2
Fixed
- Allow
@builderin combination with@searchhttps://github.com/nuwave/lighthouse/pull/1850
v5.8.1
Fixed
- Avoid setting multiple
@modeldirectives on generated paginator types https://github.com/nuwave/lighthouse/pull/1837
v5.8.0
Added
- Add
SIMPLEpagination type https://github.com/nuwave/lighthouse/pull/1816
v5.7.2
Fixed
- Fix problem with table name on HAS condition with relationship on same table https://github.com/nuwave/lighthouse/pull/1795
v5.7.1
Fixed
- Fix usage of closures in validation https://github.com/nuwave/lighthouse/pull/1831
v5.7.0
Added
- Add
builderoption to@alldirective https://github.com/nuwave/lighthouse/pull/1826
v5.6.2
Changed
- Update behavior of
TestReponse::assertGraphQLErrorMessageto work when multiple errors are present https://github.com/nuwave/lighthouse/pull/1827
v5.6.1
Fixed
- Fix overly eager validation of repeatable directive usage by requiring
webonyx/graphql-php:^14.6.2https://github.com/nuwave/lighthouse/pull/1824 - Fix conversion of
repeatabledirective nodes into executable definitions https://github.com/nuwave/lighthouse/pull/1824
v5.6.0
Added
- Support for Apollo Federation https://github.com/nuwave/lighthouse/pull/1728
v5.5.1
Fixed
- Add placeholder type
_toschema-directives.graphqlhttps://github.com/nuwave/lighthouse/pull/1823
v5.5.0
Fixed
- Allow
@limitonFIELD_DEFINITIONto fix validation errors https://github.com/nuwave/lighthouse/pull/1821
Added
- Add method
assertGraphQLErrorMessage()toTestResponsemixin https://github.com/nuwave/lighthouse/pull/1819
v5.4.0
Added
- Add
GraphQLContexttoStartExecutionevent - Add
connectanddisconnectoperations in nested mutations for HasMany and MorphMany relations https://github.com/nuwave/lighthouse/pull/1730 - Add
ValidateSchemaevent https://github.com/nuwave/lighthouse/pull/1764 - Add config option
subscriptions.exclude_emptyhttps://github.com/nuwave/lighthouse/pull/1799
Changed
- Optimize
@deferby avoiding parsing the request multiple times - Move HTTP and Schema handling out of the GraphQL class https://github.com/nuwave/lighthouse/pull/1748
- Move subscription related classes into Subscription namespace https://github.com/nuwave/lighthouse/pull/1803
- Consolidate GlobalId namespace https://github.com/nuwave/lighthouse/pull/1804
Fixed
- Apply error handling and debug settings consistently https://github.com/nuwave/lighthouse/pull/1749
- Fix typo
comparisiontocomparisonin generated input types for@whereHas - Fix redis
mgetbeing called with an empty list of subscriber IDs https://github.com/nuwave/lighthouse/pull/1759 - Fix
lighthouse:clear-cachenot clearing cache when a custom cache store is used https://github.com/nuwave/lighthouse/pull/1788 - Fix subscription storage in redis for predis users https://github.com/nuwave/lighthouse/pull/1814
- Prepend rule arguments that refer to other arguments with the full path https://github.com/nuwave/lighthouse/pull/1739
Deprecated
- Deprecate the
globalIdargument of the@upsertdirective https://github.com/nuwave/lighthouse/pull/1804
v5.3.0
Added
- Validate that
@withand@withCountare not used on root fields https://github.com/nuwave/lighthouse/pull/1714 - Add events to cover the lifecycle of a GraphQL request:
EndExecution,EndRequesthttps://github.com/nuwave/lighthouse/pull/1726 - Include the client given query, variables and operation name in the
StartExecutionevent https://github.com/nuwave/lighthouse/pull/1726 - Apply
logoption from thebroadcastingconfig to the Pusher subscription driver https://github.com/nuwave/lighthouse/pull/1733 - Support
pusher/pusher-php-serverversion 5 https://github.com/nuwave/lighthouse/pull/1741
Changed
- Prepend directives when transferring them from types to fields https://github.com/nuwave/lighthouse/pull/1734
- For
echodriver-based subscriptions, the event name will belighthouse-subscriptionhttps://github.com/nuwave/lighthouse/pull/1733 - Echo driver will always broadcast through the
privatechannel https://github.com/nuwave/lighthouse/pull/1733
Fixed
- Apply custom error handlers for syntax or request errors https://github.com/nuwave/lighthouse/pull/1726
- Define scalars instead of
Mixedtype in directive definitions https://github.com/nuwave/lighthouse/pull/1742 - Fix subscription extension version default value https://github.com/nuwave/lighthouse/pull/1744
v5.2.0
Added
- Allow using the
@builderdirective on fields https://github.com/nuwave/lighthouse/pull/1687 - Add dedicated
Nuwave\Lighthouse\Scout\ScoutBuilderDirectivehttps://github.com/nuwave/lighthouse/pull/1691 - Allow
@eqdirective on fields https://github.com/nuwave/lighthouse/pull/1681 - Add
@throttledirective to set field rate limit using Laravel rate limiting services https://github.com/nuwave/lighthouse/pull/1708 - Add subscriptions v2 https://github.com/nuwave/lighthouse/pull/1716
Changed
- Clarify semantics of combining
@searchwith other directives https://github.com/nuwave/lighthouse/pull/1691 - Move Scout related classes into
Nuwave\Lighthouse\Scouthttps://github.com/nuwave/lighthouse/pull/1698 BaseDirectiveloads all arguments and caches them after the firstdirectiveHasArgument/directiveArgValuecall https://github.com/nuwave/lighthouse/pull/1707- Use gate response in authorization errors of
@candirective https://github.com/nuwave/lighthouse/pull/1715
Fixed
- Fix nested
ORconditions inHASrelations https://github.com/nuwave/lighthouse/pull/1713
Deprecated
- Specify
@guard(with: "api")should be changed to@guard(with: ["api"])https://github.com/nuwave/lighthouse/pull/1705
v5.1.0
Added
- Allow spec-compliant definition of the
messagesargument of@rulesand@rulesForArrayhttps://github.com/nuwave/lighthouse/pull/1662 - Validate correct usage of
@rulesand@rulesForArrayhttps://github.com/nuwave/lighthouse/pull/1662 - Allow eager-loading multiple relations on a single field using
@withhttps://github.com/nuwave/lighthouse/pull/1528 - Add
Nuwave\Lighthouse\Execution\DataLoader\BatchLoaderRegistryto instantiate arbitrary batch loaders https://github.com/nuwave/lighthouse/pull/1528 - Add
@limitdirective to allow clients to specify the maximum number of results to return https://github.com/nuwave/lighthouse/pull/1674 - Predefine default field ordering by using
@orderByon fields https://github.com/nuwave/lighthouse/pull/1678 - Add
@likedirective to use a client given value to add aLIKEconditional to a database query https://github.com/nuwave/lighthouse/issues/1644
Changed
- Improve batch loading performance https://github.com/nuwave/lighthouse/pull/1528
- Require
webonyx/graphql-phpversion^14.5
Deprecated
- Deprecate the
globalIdargument of the@delete,@forceDeleteand@restoredirectives https://github.com/nuwave/lighthouse/pull/1660 - Deprecate passing the
messagesargument of@rulesand@rulesForArrayas a map with arbitrary keys https://github.com/nuwave/lighthouse/pull/1662 - Deprecate
Nuwave\Lighthouse\Execution\DataLoader\BatchLoaderin favour ofNuwave\Lighthouse\Execution\DataLoader\BatchLoaderRegistryhttps://github.com/nuwave/lighthouse/pull/1528
Fixed
- Remove non-functional
globalIdargument definition from@updatehttps://github.com/nuwave/lighthouse/pull/1660 - Resolve field middleware directives in lexical order https://github.com/nuwave/lighthouse/pull/1666
- Ensure
Carbon\Carbonis cast toIlluminate\Support\Carbonin date scalars https://github.com/nuwave/lighthouse/pull/1672 - Fix Laravel 5.6 compatibility for
@withCountand paginated relationship directives https://github.com/nuwave/lighthouse/pull/1528 - Fix issue where argument names where used instead of variable names in subscription queries https://github.com/nuwave/lighthouse/pull/1683
- Fix issue with TTL breaking subscriptions https://github.com/nuwave/lighthouse/pull/1685
v5.0.2
Fixed
- Make
@nodeforce load the type if it has not been loaded https://github.com/nuwave/lighthouse/pull/1659
v5.0.1
Fixed
- Make
@modelnot extend@nodeaccidentally
Deprecated
- Deprecate
Nuwave\Lighthouse\Subscriptions\Subscriber::setRoot()in favour of property access
v5.0.0
Added
- Apply validation rules to input types by providing a validator class https://github.com/nuwave/lighthouse/pull/1185
- Include schema directives when running
php artisan lighthouse:validate-schemahttps://github.com/nuwave/lighthouse/pull/1494 - Add ability to query for the existence of relations in where conditions https://github.com/nuwave/lighthouse/pull/1412
- Handle content types
application/graphqlandapplication/x-www-form-urlencodedproperly https://github.com/nuwave/lighthouse/pull/1424 - Mark directives that can be used more than once per location as
repeatablehttps://github.com/nuwave/lighthouse/pull/1529 - Allow configuring global field middleware directives in
config/lighthouse.phphttps://github.com/nuwave/lighthouse/pull/1533 - Add custom attributes to validations https://github.com/nuwave/lighthouse/pull/1628
- Add new directive interface
FieldBuilderDirectivehttps://github.com/nuwave/lighthouse/pull/1636 - Add
@whereAuthdirective for filtering a field based on authenticated user https://github.com/nuwave/lighthouse/pull/1636 - Use the
@trimdirective on fields to sanitize all input strings https://github.com/nuwave/lighthouse/pull/1641 - Add Laravel Echo compatible subscription broadcaster https://github.com/nuwave/lighthouse/pull/1370
- Allow auxiliary types in directive definitions https://github.com/nuwave/lighthouse/pull/1649
Changed
- Use
Illuminate\Support\Carboninstead ofCarbon\Carbon Nuwave\Lighthouse\Exceptions\ValidationExceptionno longer extendsIlluminate\Validation\ValidationExceptionhttps://github.com/nuwave/lighthouse/pull/1185- Move validation related classes into namespace
Nuwave\Lighthouse\Validationhttps://github.com/nuwave/lighthouse/pull/1185 - Run
ArgDirectivesin distinct phases: Sanitize, Validate, Transform https://github.com/nuwave/lighthouse/pull/1185 - The directive interfaces
ArgBuilderDirective,ArgTransformerDirectiveandArgDirectiveForArrayextendDirectiveinstead ofArgDirectivehttps://github.com/nuwave/lighthouse/pull/1185 - Change the autogeneration of the
OrderByClauseinput for@orderBy, the argumentfieldis now always calledcolumnhttps://github.com/nuwave/lighthouse/pull/1337 - Names for autogenerated types are now prepended with the name of the fields parent type
This affects
@orderBy,@whereConditionsand@whereHasConditionshttps://github.com/nuwave/lighthouse/pull/1337 __invokeis now the only supported method name for convention based field resolver classes https://github.com/nuwave/lighthouse/pull/1422- Change
Nuwave\Lighthouse\Support\Contracts\Directiveto require all directives to have an SDL definition by implementingpublic static definition(): stringhttps://github.com/nuwave/lighthouse/pull/1386 - Combine
Nuwave\Lighthouse\Schema\Factories\DirectiveNamespacerandNuwave\Lighthouse\Schema\Factories\DirectiveFactoryintoLighthouse\Schema\DirectiveLocatorhttps://github.com/nuwave/lighthouse/pull/1494 - Require
haydenpierce/class-finderas a built-in dependency https://github.com/nuwave/lighthouse/pull/1494 - Add method
defaultHasOperatortoNuwave\Lighthouse\WhereConditions\Operatorhttps://github.com/nuwave/lighthouse/pull/1412 - Change default configuration options in
lighthouse.php:'guard' => 'api''forceFill' => true
- Use
laragraph/utilsfor parsing HTTP requests https://github.com/nuwave/lighthouse/pull/1424 - Replace the subscription broadcast queued event handler with a queued job to allow the queue name to be specified https://github.com/nuwave/lighthouse/pull/1507
- Make
@methodcall the underlying method with the arguments as ordered parameters instead of the full resolver arguments https://github.com/nuwave/lighthouse/pull/1509 - Change
ErrorHandlermethodhandle()to non-static__invoke()and allow discarding errors by returningnull - Allow subscriptions without named operations, base channels on the field name
- Set
lighthouse.debugconfig through envLIGHTHOUSE_DEBUGhttps://github.com/nuwave/lighthouse/pull/1592 - Test helper
multipartGraphQLnow accepts arrays instead of JSON strings https://github.com/nuwave/lighthouse/pull/1615/ - Use
DateTime::ATOMfor DateTimeTZ ISO 8601 compatibility https://github.com/nuwave/lighthouse/pull/1622 - Split
ProvidesRulesinterface intoArgumentValidationandArgumentSetValidationhttps://github.com/nuwave/lighthouse/pull/1628 - Update to PHP 8 compatible mll-lab/graphql-php-scalars 4 https://github.com/nuwave/lighthouse/pull/1639
- Add
TrimDirectiveto the defaultfield_middlewareconfig inlighthouse.phphttps://github.com/nuwave/lighthouse/pull/1641 - Field keys in validation errors now match the client given input, ignoring transformations such as
@spreadhttps://github.com/nuwave/lighthouse/issues/1631
Removed
- Remove support for PHP 7.1, Laravel 5.5 and PHPUnit 6 https://github.com/nuwave/lighthouse/pull/1192
- Remove
TestResponse::jsonGet()helper, use->json()instead https://github.com/nuwave/lighthouse/pull/1192/files - Remove
Nuwave\Lighthouse\Execution\GraphQLValidatoras validation now uses Laravel's native validator https://github.com/nuwave/lighthouse/pull/1185 - Remove interfaces
HasArgumentPathandHasErrorBufferand the parts ofFieldFactorythat calls them https://github.com/nuwave/lighthouse/pull/1185 - Remove the
ValidationDirectiveabstract class in favour of validator classes https://github.com/nuwave/lighthouse/pull/1185 - Remove configuration option
lighthouse.orderBy, always usescolumnnow https://github.com/nuwave/lighthouse/pull/1337 - Remove
Nuwave\Lighthouse\Support\Contracts\DefinedDirectiveinterface, moving its functionality toNuwave\Lighthouse\Support\Contracts\Directivehttps://github.com/nuwave/lighthouse/pull/1386 - Remove fallback for
lighthouse.cache.ttlsetting https://github.com/nuwave/lighthouse/pull/1423 - Remove
Nuwave\Lighthouse\Schema\AST\PartialParserin favor ofGraphQL\Language\Parserhttps://github.com/nuwave/lighthouse/pull/1457 - Remove
Nuwave\Lighthouse\Execution\GraphQLRequestsingleton https://github.com/nuwave/lighthouse/pull/1424 - Remove
@bcryptin favor of@hashhttps://github.com/nuwave/lighthouse/pull/1200 - Remove the
@middlewaredirective, as it violates the boundary between HTTP and GraphQL request handling. Use@guardor other field middleware directives instead https://github.com/nuwave/lighthouse/pull/1135 - Remove configuration option
pagination_amount_argument, it is alwaysfirstnow
Fixed
- Prefix complex conditions with table name to avoid ambiguous SQL https://github.com/nuwave/lighthouse/pull/1530
- Merge type interfaces when extending type https://github.com/nuwave/lighthouse/pull/1635
Deprecated
- Deprecate values for the
typeargument of@paginatethat are notPAGINATORorCONNECTION
v4.18.0
Added
- Add
@morphToManydirective https://github.com/nuwave/lighthouse/pull/1604
v4.17.0
Added
- Support Laravel 8 https://github.com/nuwave/lighthouse/pull/1549 and https://github.com/nuwave/lighthouse/pull/1578
v4.16.3
Fixed
- Fix the type hint in
GraphQLContext::user()
v4.16.2
Fixed
- Provide the definition for
@nest
v4.16.1
Fixed
- Ensure the
@withdirective works properly with polymorphic relations https://github.com/nuwave/lighthouse/pull/1517
v4.16.0
Added
- Add artisan command
lighthouse:cacheto compile GraphQL AST https://github.com/nuwave/lighthouse/pull/1451 - Add middleware
Nuwave\Lighthouse\Support\Http\Middleware\LogGraphQLQueriesthat logs every incoming GraphQL query https://github.com/nuwave/lighthouse/pull/1454 - Allow custom query validation rules selection by rebinding the interface
Nuwave\Lighthouse\Support\Contracts\ProvidesValidationRuleshttps://github.com/nuwave/lighthouse/pull/1487 - Add
DateTimeUtcscalar https://github.com/nuwave/lighthouse/pull/1320
Changed
- Publish config file with tag
lighthouse-configand default schema with taglighthouse-schemainstead of the previously used tagsconfigandschemahttps://github.com/nuwave/lighthouse/issues/1489 - Throw partial errors when failing to delete, forceDelete or restore a model https://github.com/nuwave/lighthouse/pull/1420
- Add
Nuwave\Lighthouse\Execution\ErrorPoolto allow collection of partial errors https://github.com/nuwave/lighthouse/pull/1420
Fixed
- Ensure the
@countdirective works properly with polymorphic relations https://github.com/nuwave/lighthouse/pull/1466 - Take route prefix into account in
graphQLEnpointUrl()test helper https://github.com/nuwave/lighthouse/pull/1439
Deprecated
- Deprecate
Nuwave\Lighthouse\Execution\ErrorBufferin favor ofNuwave\Lighthouse\Execution\ErrorPoolhttps://github.com/nuwave/lighthouse/pull/1420
v4.15.0
Added
- Add
@withCountdirective to eager load relationship counts on field access https://github.com/nuwave/lighthouse/pull/1390 - Extend
lighthouse:directiveartisan command to allow choosing interfaces https://github.com/nuwave/lighthouse/pull/1251 - Add
lighthouse.cache.storeconfiguration option to set the cache store to use for schema caching https://github.com/nuwave/lighthouse/pull/1446
Changed
- Eager load relationship count in
@countdirective https://github.com/nuwave/lighthouse/pull/1390 - Simplify the default field resolver classes generated by the artisan commands
lighthouse:queryandlighthouse:mutation, add option--fullto include the seldom needed resolver arguments$contextand$resolveInfo
Fixed
- Restore application of global scopes in nested relation queries when batching pagination https://github.com/nuwave/lighthouse/pull/1447
- Avoid unnecessarily reloading models with count in nested relation queries https://github.com/nuwave/lighthouse/pull/1447
v4.14.1
Fixed
- Safeguard deletion of
programmatic-types.graphqlinartisan lighthouse:ide-helper
v4.14.0
Added
- Write definitions for programmatically registered types to
programmatic-types.graphqlwhen running thelighthouse:ide-helperartisan command https://github.com/nuwave/lighthouse/pull/1371
Fixed
- Fix the error message when using multiple exclusive directives on a single node https://github.com/nuwave/lighthouse/pull/1387
- Allow passing additional headers to
multipartGraphQLLumen test helper too https://github.com/nuwave/lighthouse/pull/1395 - Rectify that
@orderBy,@whereConditionsand@whereHasConditionsonly work on field arguments https://github.com/nuwave/lighthouse/pull/1402 - Make mass assignment behavior configurable through
force_filloption inlighthouse.phphttps://github.com/nuwave/lighthouse/pull/1405
Deprecated
Nuwave\Lighthouse\Support\Contracts\DefinedDirective::definition()will be moved toNuwave\Lighthouse\Support\Contracts\Directiveand replace itsname()method. This requires all directives to have an SDL definition.
v4.13.1
Fixed
- Pull primary key from arguments in
@updatebefore force filling them into the Model https://github.com/nuwave/lighthouse/pull/1377
v4.13.0
Added
- Allow passing additional headers to
multipartGraphQLtest helper https://github.com/nuwave/lighthouse/pull/1342 - Add empty root types automatically when extending them https://github.com/nuwave/lighthouse/pull/1347
- Configure a default
guardfor all authentication functionality https://github.com/nuwave/lighthouse/pull/1343 - Configure the default amount of items in paginated lists with
pagination.default_counthttps://github.com/nuwave/lighthouse/pull/1352 - Add new methods
has(),overwrite()andregisterNew()toTypeRegistryto control if types should be overwritten when registering duplicates https://github.com/nuwave/lighthouse/pull/1361
Changed
- Improve validation error when extending a type that is not defined https://github.com/nuwave/lighthouse/pull/1347
- Use
forceFill()when mutating models https://github.com/nuwave/lighthouse/pull/1348 - Namespace pagination related configuration in
lighthouse.phphttps://github.com/nuwave/lighthouse/pull/1352 - Fix publishing the config when using Lumen https://github.com/nuwave/lighthouse/pull/1355
Deprecated
- The setting
paginate_max_countwill change topagination.max_counthttps://github.com/nuwave/lighthouse/pull/1352 - The
registerNew()method ofTypeRegistrywill be removed in favor ofregister(), which will change its behavior to throw when registering duplicates https://github.com/nuwave/lighthouse/pull/1361
v4.12.4
Fixed
- Fix nesting OR within AND condition when using
@whereConditionshttps://github.com/nuwave/lighthouse/pull/1341
v4.12.3
Changed
- Throw an exception if the return type declaration class for a relation does not exist https://github.com/nuwave/lighthouse/pull/1338
v4.12.2
Fixed
- Fix converting lists of lists into ArgumentSet https://github.com/nuwave/lighthouse/pull/1335
Changed
- Make test request helper PHPDocs more accurate for Laravel 7 https://github.com/nuwave/lighthouse/pull/1336
v4.12.1
Fixed
- Fix creating multiple nested BelongsTo relationships on the same level when previous records with matching attributes exist https://github.com/nuwave/lighthouse/pull/1321
v4.12.0
Added
- Add flag
--jsontoprint-schemato output JSON instead of GraphQL SDL https://github.com/nuwave/lighthouse/pull/1268 - Add TTL option for subscriptions storage https://github.com/nuwave/lighthouse/pull/1284
- Provide assertion helpers through
TestResponseMixinhttps://github.com/nuwave/lighthouse/pull/1308 - Add scalar
DateTimeTzhttps://github.com/nuwave/lighthouse/pull/1311 - Publish
_lighthouse_ide_helper.phpwithphp artisan lighthouse:ide-helper
Fixed
- Fix nested mutations with multiple
belongsTorelations at the same level https://github.com/nuwave/lighthouse/pull/1285 - Avoid race condition that occurs when using
Cache::has()https://github.com/nuwave/lighthouse/pull/1290 - Replace usage of
resolve()helper with Lumen-compatibleapp()https://github.com/nuwave/lighthouse/pull/1305 - Fix using
@createand@updateon nested input object fields that accept an array of input types https://github.com/nuwave/lighthouse/pull/1316
Changed
- Remove subscriber reference from topic when deleted https://github.com/nuwave/lighthouse/pull/1288
- Improve subscription context serializer https://github.com/nuwave/lighthouse/pull/1283
- Allow replacing the
SubscriptionRegistryimplementation using the container https://github.com/nuwave/lighthouse/pull/1286 - Report errors that are not client-safe through Laravel's
ExceptionHandlerhttps://github.com/nuwave/lighthouse/pull/1303 - Log in subscribers when broadcasting a subscription update, so that calls to
auth()->user()return the authenticated user instead ofnullhttps://github.com/nuwave/lighthouse/pull/1306 - Replace the subscription broadcast queued event handler with a queued job to allow the queue name to be specified https://github.com/nuwave/lighthouse/pull/1301
v4.11.0
Added
- Add
AttemptAuthenticationmiddleware to optionally log in users and delegate access guards to the field level https://github.com/nuwave/lighthouse/pull/1197 - Add artisan command
lighthouse:directiveto add directive class https://github.com/nuwave/lighthouse/pull/1240
Fixed
- Eager load nested relations using the
@withdirective https://github.com/nuwave/lighthouse/pull/1068 - Avoid infinite loop with empty namespace in generator commands https://github.com/nuwave/lighthouse/pull/1245
- Automatically register
TestingServiceProviderfor@mockwhen running unit tests https://github.com/nuwave/lighthouse/pull/1244
v4.10.2
Fixed
- Ensure subscription routes are named uniquely https://github.com/nuwave/lighthouse/pull/1231
Changed
- Throw user readable
Errorinstead ofModelNotFoundExceptionwhen model is not found in@canhttps://github.com/nuwave/lighthouse/pull/1225
v4.10.1
Fixed
- Fix Laravel version detection for Lumen https://github.com/nuwave/lighthouse/pull/1224
v4.10.0
Added
- Access nested inputs with dot notation using the
findoption of@canhttps://github.com/nuwave/lighthouse/pull/1216 - Add
@hashdirective which uses Laravel's hashing configuration https://github.com/nuwave/lighthouse/pull/1200 - Add option
passOrderedto@methodto pass just the arguments as ordered parameters https://github.com/nuwave/lighthouse/pull/1208 - Add support to extend
input,interfaceandenumtypes https://github.com/nuwave/lighthouse/pull/1203 - Implement
streamGraphQL()helper inNuwave\Lighthouse\Testing\MakesGraphQLRequestsLumenhttps://github.com/nuwave/lighthouse/pull/1222 - Support Laravel 7 https://github.com/nuwave/lighthouse/pull/1219
Deprecated
- Remove
@bcryptin favor of@hashhttps://github.com/nuwave/lighthouse/pull/1200 @methodwill call the underlying method with the arguments as ordered parameters instead of the full resolver arguments https://github.com/nuwave/lighthouse/pull/1208
v4.9.0
Added
- Add optional
columnsEnumargument to the@whereConditions,@whereHasConditionsand@orderBydirectives https://github.com/nuwave/lighthouse/pull/1150 - Exclude or include trashed models in
@canwhen@forceDeleteor@restoreare used, the client does not have to filter explicitly https://github.com/nuwave/lighthouse/pull/1157 - Add test trait
Nuwave\Lighthouse\Testing\MakesGraphQLRequestsLumenfor usage with Lumen https://github.com/nuwave/lighthouse/pull/1100 - Add test trait
Nuwave\Lighthouse\Testing\UsesTestSchemato enable using a dummy schema for testing custom Lighthouse extensions https://github.com/nuwave/lighthouse/pull/1171 - Simplify mocking resolvers that just return static data https://github.com/nuwave/lighthouse/pull/1177
- Add utility
Nuwave\Lighthouse\ClientDirectives\ClientDirectiveto correctly get the arguments passed through a client directive https://github.com/nuwave/lighthouse/pull/1184 - Add
streamGraphQL()helper method toNuwave\Lighthouse\Testing\MakesGraphQLRequestsfor simple testing of streamed responses, such as@deferhttps://github.com/nuwave/lighthouse/pull/1184
Fixed
- Fix eager-loading relations where the parent type is an
interfaceorunionand may correspond to multiple different models https://github.com/nuwave/lighthouse/pull/1035 - Fix renaming input fields that are nested within lists using
@renamehttps://github.com/nuwave/lighthouse/pull/1166 - Fix handling of nested mutation operations that receive
nullhttps://github.com/nuwave/lighthouse/pull/1174 - Fix nested mutation
upsertacross two levels of BelongsTo relations https://github.com/nuwave/lighthouse/pull/1169 - Apply query filters using an
ArgBuilderDirectivesuch as@eqwhen the argument is nested deeply within the input https://github.com/nuwave/lighthouse/pull/1176 - Fix
Nuwave\Lighthouse\Testing\MakesGraphQLRequestsLumentest helper https://github.com/nuwave/lighthouse/pull/1186 - Handle multiple instances of client directives with
@defercorrectly https://github.com/nuwave/lighthouse/pull/1184
Deprecated
- Deprecate
Nuwave\Lighthouse\Schema\Source\SchemaSourceProvider#setRootPath(), this function is never called or used anywhere within Lighthouse. It will be removed from the interface.
v4.8.1
Fixed
- Avoid erasing the model information from the wrapping paginated results
typewhen defining a paginated@hasManyfield after a field with@paginatehttps://github.com/nuwave/lighthouse/pull/1149
v4.8.0
Added
- Compose complex input arguments through nested arg resolvers https://github.com/nuwave/lighthouse/pull/899
- Add
Nuwave\Lighthouse\Support\Contracts\ArgResolverdirective interface https://github.com/nuwave/lighthouse/pull/899 - Allow existing mutation directives
@create,@update,@upsertand@deleteto function as nested arg resolvers https://github.com/nuwave/lighthouse/pull/899 - Validate at schema build time that the
applyargument@rulesis an array https://github.com/nuwave/lighthouse/pull/1092 - Add support in
@whereConditionsfor IN, IS NULL and BETWEEN operators https://github.com/nuwave/lighthouse/pull/1099 - Add ability to define pivot data on nested mutations within
sync,syncWithoutDetachingandconnecthttps://github.com/nuwave/lighthouse/pull/1110 - Allow restricting the columns for
@orderByto a given whitelist and generate anenumdefinition for it https://github.com/nuwave/lighthouse/pull/1118 - Allow passing variables in
->graphQL()test helper https://github.com/nuwave/lighthouse/pull/1127 - Add missing schema descriptions to some inputs, types, and enums https://github.com/nuwave/lighthouse/pull/1131
- Add
@guarddirective to handle authentication https://github.com/nuwave/lighthouse/pull/1135 - Add
@whereHasConditionsdirective to filter query results based on the existence of a relationship https://github.com/nuwave/lighthouse/pull/1140
Changed
- Remove
Nuwave\Lighthouse\Execution\MutationExecutorin favor of modular nested arg resolvers https://github.com/nuwave/lighthouse/pull/899 - Register the operator enum for
@whereConditionsprogrammatically and allow overwriting it through a service provider https://github.com/nuwave/lighthouse/pull/1099 - Always automatically set the correct argument type when using
@whereConditionsor@orderBydirectives https://github.com/nuwave/lighthouse/pull/1118 - Implement the
name()function generically in the BaseDirective class https://github.com/nuwave/lighthouse/pull/1098 - Renamed the
@whereConstraintsdirective to@whereConditionshttps://github.com/nuwave/lighthouse/pull/1140
Fixed
- Enable chained rule provider directives (
ProvidesRules) to merge the rules before validating https://github.com/nuwave/lighthouse/pull/1082 - Apply nested
ORconditions in@whereConditionscorrectly https://github.com/nuwave/lighthouse/pull/1099 - Allow passing
nullor simply noidwhen using@upserthttps://github.com/nuwave/lighthouse/pull/1114
Deprecated
- The argument
fieldwithin theOrderByClauseused for@orderBywill be renamed tocolumnin v5 https://github.com/nuwave/lighthouse/pull/1118 - Deprecated the
@middlewaredirective, as it violates the boundary between HTTP and GraphQL request handling. Use@guardor other field middleware directives instead https://github.com/nuwave/lighthouse/pull/1135
Removed
- Remove broken
NOTconditional when using@whereConditionshttps://github.com/nuwave/lighthouse/pull/1125
v4.7.2
Fixed
- Enable multiple queries in a single request by clearing
BatchLoaderinstances after executing each query https://github.com/nuwave/lighthouse/pull/1030 - Keep the query and pagination capabilities of relation directives when disabling batch loading https://github.com/nuwave/lighthouse/pull/1083
v4.7.1
Changed
- Add
INPUT_FIELD_DEFINITIONto allowed locations for the@builderdirective https://github.com/nuwave/lighthouse/pull/1074
Fixed
- Define
@enumas a directive class so it shows up inschema-directives.graphqland can potentially be overwritten https://github.com/nuwave/lighthouse/pull/1078
v4.7.0
Added
- Add
syncWithoutDetachingoption for BelongsToMany and MorphToMany relationships https://github.com/nuwave/lighthouse/pull/1031 - Add
injectArgsoption to@candirective to pass along client defined arguments to the policy check https://github.com/nuwave/lighthouse/pull/1043 - Allow globally turning off relation batch loading through the config option
batchload_relationshttps://github.com/nuwave/lighthouse/pull/1059 - Add
Nuwave\Lighthouse\Execution\DataLoader\BatchLoader#loadMany()function https://github.com/nuwave/lighthouse/pull/973 - Extend
@renamedirective to work with arguments and input fields https://github.com/nuwave/lighthouse/issues/521
Changed
- Add ability to fetch soft deleted model within
@candirective to validate permissions using@softDeletesdirective. https://github.com/nuwave/lighthouse/pull/1042 - Improve the error message for missing field resolvers by offering a solution https://github.com/nuwave/lighthouse/pull/1045
- Throw
DefinitionExceptionwhen missing a type in the type registry https://github.com/nuwave/lighthouse/pull/1066 - Add
INPUT_FIELD_DEFINITIONtoorderBydirective location https://github.com/nuwave/lighthouse/pull/1069
v4.6.0
Added
- Add
@scopedirective for adding a scope to the query builder https://github.com/nuwave/lighthouse/pull/998
Changed
- Use detailed
$descriptionproperty when generatingenumvalues from aBenSampo\Enum\Enumclass https://github.com/nuwave/lighthouse/pull/1027
Fixed
- Handle arrays of namespaces in generator commands https://github.com/nuwave/lighthouse/pull/1033
v4.5.3
Fixed
- Handle
nullbeing passed to a nullable argument that is an input object type https://github.com/nuwave/lighthouse/pull/1021
v4.5.2
Fixed
- Fix conversion of client directives after the schema was cached https://github.com/nuwave/lighthouse/pull/1019
v4.5.1
Fixed
- Handle
nullbeing passed to a nullable argument that is a list of type https://github.com/nuwave/lighthouse/pull/1016
v4.5.0
Added
- Add
@upsertdirective and nested mutation operations to create or update a model regardless whether it exists https://github.com/nuwave/lighthouse/pull/1005
Fixed
- Fix broken behavior when using union types with schema caching https://github.com/nuwave/lighthouse/pull/1015
v4.4.2
Added
- Validate the correctness of the
buildergiven to@paginateat schema build time
Fixed
- Do not require the type of a field matching a model class when using the
builderargument of@paginatehttps://github.com/nuwave/lighthouse/pull/1011
v4.4.1
Fixed
- Fix regression in 4.4.0 that required matching the type returned from paginated relationship fields with the class name of the model https://github.com/nuwave/lighthouse/pull/1011
v4.4.0
Added
- Add
@countdirective for counting a relationship https://github.com/nuwave/lighthouse/pull/984 - Allow overwriting the name of Enum types created through
LaravelEnumTypehttps://github.com/nuwave/lighthouse/pull/968 - Resolve models through Relay's global identification using
@nodehttps://github.com/nuwave/lighthouse/pull/974 - Add experimental
@modelClassdirective to map types to models. It will be renamed to@modelin v5 https://github.com/nuwave/lighthouse/pull/974
Fixed
- Remove the extra new line from the returned value when using
@globalId(decode: "ID")https://github.com/nuwave/lighthouse/pull/982 - Throw a syntax error instead of an exception when performing an empty request or a request with an empty query https://github.com/nuwave/lighthouse/pull/989
- Properly apply
@spreadwhen used within a nested input object https://github.com/nuwave/lighthouse/pull/992
Changed
- Allow additional route configurations
prefixanddomainhttps://github.com/nuwave/lighthouse/pull/951 - Enable schema cache only when
APP_ENV!= 'local' https://github.com/nuwave/lighthouse/pull/957
Fixed
- Fix default model detection when using other directives combination with
@paginatehttps://github.com/nuwave/lighthouse/pull/974
Deprecated
- Use the
RegisterDirectiveNamespacesevent instead ofDirectiveFactory#addResolved()https://github.com/nuwave/lighthouse/pull/950 - Use
@nodeinstead of@modelto resolve models through Relay's global identification https://github.com/nuwave/lighthouse/pull/974
v4.3.0
Added
- Add
@restoreand@forceDeletedirectives, similar to@deletehttps://github.com/nuwave/lighthouse/pull/941 - Add
@softDeletesand@trasheddirectives to enable filtering soft deleted models https://github.com/nuwave/lighthouse/pull/937
Fixed
- Prevent throwing in
lighthouse:ide-helperwhen no custom directives are defined https://github.com/nuwave/lighthouse/pull/948
Changed
- Validate requirements for argument definitions of
@delete,@forceDeleteand@restoreduring schema build time https://github.com/nuwave/lighthouse/pull/941
v4.2.1
Fixed
- Actually use the specified
edgeTypein Relay style connections https://github.com/nuwave/lighthouse/pull/939
v4.2.0
Added
- Add
@morphOnedirective for polymorphic one-to-one relationships https://github.com/nuwave/lighthouse/pull/944 - Add
@morphTodirective for polymorphic one-to-one relationships https://github.com/nuwave/lighthouse/pull/921 - Add
@morphManydirective for polymorphic one-to-many relationships https://github.com/nuwave/lighthouse/pull/944 - Support Laravel
^6.0https://github.com/nuwave/lighthouse/pull/926 - Add command
lighthouse:ide-helperfor generating a definition file with all schema directives https://github.com/nuwave/lighthouse/pull/933
v4.1.1
Fixed
- Unbox laravel-enum inputs when using the builder directives https://github.com/nuwave/lighthouse/pull/927
v4.1.0
Added
- Add the
@whereJsonContainsdirective to an input value as a whereJsonContains filter - Allow using callable classes with
__invokewhen referencing methods in directives and when looking for default resolvers or type resolvers https://github.com/nuwave/lighthouse/issues/882 - Allow to restrict column names to a well-defined list in
@whereContraintsand generate definitions for anEnumtype and anInputtype that are restricted to the defined columns https://github.com/nuwave/lighthouse/pull/916 - Add test helpers for introspection queries to
MakesGraphQLRequestshttps://github.com/nuwave/lighthouse/pull/916
Deprecated
- The default name of resolver and type resolver methods will be
__invokein v5 https://github.com/nuwave/lighthouse/issues/882
Fixed
- Fixed the
ValidationDirectivenot setting the mutation or query arguments to itself https://github.com/nuwave/lighthouse/pull/915
v4.0.0
Added
- Add the
@namespacedirective as a replacement for the removed@groupdirective https://github.com/nuwave/lighthouse/pull/768 - The
@deferextension now supports deferring nested fields of mutations https://github.com/nuwave/lighthouse/pull/855 - Add a simple way to define complex validation directives by extending
Nuwave\Lighthouse\Schema\Directives\ValidationDirectivehttps://github.com/nuwave/lighthouse/pull/846 - Extend the
@belongsToManydirective to support pivot data on a custom Relay style Edge type https://github.com/nuwave/lighthouse/pull/871 - Implement
connect,disconnectanddeleteoperations for nested mutations upon MorphTo relationships https://github.com/nuwave/lighthouse/pull/879
Fixed
- Avoid growing the memory extensively when doing complex AST manipulation https://github.com/nuwave/lighthouse/pull/768
- Make nested mutations work with subclassed relationship types https://github.com/nuwave/lighthouse/pull/825
- Allow empty arrays and other falsy values as input for nested mutation operations like "sync" https://github.com/nuwave/lighthouse/pull/830
- Use
Illuminate\Contracts\Config\Repositoryinstead ofIlluminate\Config\Repositoryhttps://github.com/nuwave/lighthouse/issues/832 - Allow checking the abilities with
@canwhen issuing mass updates on multiple models https://github.com/nuwave/lighthouse/pull/838 - Allow use of
privatein@cachedirective even when the user is not authenticated https://github.com/nuwave/lighthouse/pull/843 - Fix Lumen route registration https://github.com/nuwave/lighthouse/pull/853
- Fix handling of
@includedirective, it is semantically opposite to@skip, when using it with@deferhttps://github.com/nuwave/lighthouse/pull/855 - Allow querying for null values using
@whereConstraintshttps://github.com/nuwave/lighthouse/pull/872 - Fix issue when using the
@modeldirective in a type that has a list field https://github.com/nuwave/lighthouse/pull/883 - Make the
@includeand@skipdirectives that are part of the GraphQL spec show up in introspection and fix handling of default values in custom client directives https://github.com/nuwave/lighthouse/pull/892
Changed
- Bumped the requirement on
webonyx/graphql-phpto^0.13.2https://github.com/nuwave/lighthouse/pull/768 - Rename directive interfaces dealing with types from
Node*toType*https://github.com/nuwave/lighthouse/pull/768 - Change the signature of the AST manipulating directive interfaces:
TypeManipulator,FieldManipulatorandArgManipulatorhttps://github.com/nuwave/lighthouse/pull/768 - Change the API of the
DocumentASTclass to enable a more performant implementation https://github.com/nuwave/lighthouse/pull/768 - Enable the schema caching option
lighthouse.cache.enableby default https://github.com/nuwave/lighthouse/pull/768 - Lazily load types from the schema. Directives defined on parts of the schema that are not used within the current query are no longer run on every request https://github.com/nuwave/lighthouse/pull/768
- Simplify the default route configuration. Make sure to review your
config/lighthouse.phpand bring it up to date with the latest changes in the base configuration file https://github.com/nuwave/lighthouse/pull/820 - Move
SubscriptionExceptionHandlerinto namespaceNuwave\Lighthouse\Subscriptions\Contractshttps://github.com/nuwave/lighthouse/pull/819 - The pagination field argument that controls the amount of results now defaults to
firstinstead ofcount. The configpagination_amount_argumentcan be used to change the argument name https://github.com/nuwave/lighthouse/pull/852 - Rename
ArgValidationDirectivetoProvidesRulesand dropgetprefix from the methods within https://github.com/nuwave/lighthouse/pull/846 - Make the argument used for finding a model to check
@canagainst configurable. The previous behavior of implicitly using theidargument for finding a specific model to authorize against now no longer works. https://github.com/nuwave/lighthouse/pull/856 - Change the
Nuwave\Lighthouse\Schema\Types\LaravelEnumTypewrapper to map to Enum instances internally https://github.com/nuwave/lighthouse/pull/908
Removed
- Remove
@groupdirective in favor of@middlewareand@namespacehttps://github.com/nuwave/lighthouse/pull/768 - Remove the
ArgFilterDirectiveinterface in favor of theArgBuilderDirectiveinterface https://github.com/nuwave/lighthouse/pull/821 - Remove the old style
@whereBetweenand@whereNotBetweendirectives https://github.com/nuwave/lighthouse/pull/821 - Use the
@spreaddirective instead of theflattenargument of@create/@updatehttps://github.com/nuwave/lighthouse/pull/822 - Remove
dispatchaliasesfireandclassfor dispatching through@eventhttps://github.com/nuwave/lighthouse/pull/823 - Remove the
GraphQLfacade and the container aliasgraphqlhttps://github.com/nuwave/lighthouse/pull/824 - Remove the alias
iffor specifying theabilitythat has to be met in@canhttps://github.com/nuwave/lighthouse/pull/838
Deprecated
- The configuration option
pagination_amount_argumentwill be removed in v5
v3.7.0
Added
- Add compatibility layer to allow
@middlewareto support Lumen https://github.com/nuwave/lighthouse/pull/786 - Add option
decodeto@globaldIdto control the result of decoding https://github.com/nuwave/lighthouse/pull/796 - Add config option
cache.ttlfor customizing expiration time of schema cache https://github.com/nuwave/lighthouse/pull/801 - Extract test helpers into a reusable trait
Nuwave\Lighthouse\Testing\MakesGraphQLRequestshttps://github.com/nuwave/lighthouse/pull/802 - Support custom rule classes in
@rulesand@rulesForArrayhttps://github.com/nuwave/lighthouse/pull/812
Fixed
- Fix querying for falsy values through
@whereConstraintshttps://github.com/nuwave/lighthouse/pull/800 - Use
Illuminate\Contracts\Events\Dispatcherinstead of concrete implementation in SubscriptionBroadcaster https://github.com/nuwave/lighthouse/pull/805
Deprecated
- The
GraphQLfacade and the container aliasgraphqlwill be removed in v4
v3.6.1
Fixed
- Use the spec-compliant default deprecation reason for
@deprecatedirective https://github.com/nuwave/lighthouse/pull/787
v3.6.0
Added
- Add
@whereConstraintsdirective that offers flexible query capabilities to the client https://github.com/nuwave/lighthouse/pull/753 - Add convenience wrapper for registering Enum types based on BenSampo/laravel-enum https://github.com/nuwave/lighthouse/pull/779
Deprecated
- The
controllerconfig option will be removed in v4 https://github.com/nuwave/lighthouse/pull/781
v3.5.3
Fixed
- Respect the model's connection for database transaction during
@createand@updatehttps://github.com/nuwave/lighthouse/pull/777
v3.5.2
Fixed
- You can now omit an
inputargument from a query that uses the@spreaddirective without getting an error https://github.com/nuwave/lighthouse/pull/774
Deprecated
- The class
SubscriptionExceptionHandlerwill be moved to the namespace Nuwave\Lighthouse\Subscriptions\Contracts
v3.5.1
Fixed
- Throw error if pagination amount
<= 0is requested https://github.com/nuwave/lighthouse/pull/765
v3.5.0
Changed
- Default the config to always set the
Accept: application/jsonheader https://github.com/nuwave/lighthouse/pull/743 - Declare a single named route which handles POST/GET instead of 2 separate routes https://github.com/nuwave/lighthouse/pull/738
- Apply the nested operations within a nested mutation in a consistent order that makes sense https://github.com/nuwave/lighthouse/pull/754
Deprecated
- The pagination field argument that controls the amount of results will default to
firstinstead ofcountin v4. The configpagination_amount_argumentcan be used to change the argument name now https://github.com/nuwave/lighthouse/pull/752
Fixed
- Instantiate the
ErrorBufferdirectly, its dependencies can not be resolved through the container https://github.com/nuwave/lighthouse/pull/756 - Refresh
GraphQLRequestsingleton between multiple requests to prevent a common error in test execution https://github.com/nuwave/lighthouse/pull/761
v3.4.0
Added
- Allow rebinding a custom GlobalId resolver https://github.com/nuwave/lighthouse/pull/739
v3.3.0
Added
- Sync existing models in belongsToMany relations using nested mutations when creating https://github.com/nuwave/lighthouse/pull/707
- Add
@spreaddirective to reshape nested input arguments https://github.com/nuwave/lighthouse/pull/680 - Add flexible
@builderdirective to quickly specify a single method to apply constraints to the query builder https://github.com/nuwave/lighthouse/pull/680 - Add
new_between_directivesconfig to use the new between directives now https://github.com/nuwave/lighthouse/pull/680
Deprecated
- Use the
@spreadinstead of theflattenargument of@create/@updatehttps://github.com/nuwave/lighthouse/pull/680 - Prefer usage of the
ArgBuilderDirectiveinstead of theArgFilterDirectivehttps://github.com/nuwave/lighthouse/pull/680 @whereBetweenand@whereNotBetweenwill take a single input object instead of being spread across two args https://github.com/nuwave/lighthouse/pull/680
v3.2.1
Changed
- Flatten the namespace for the built-in directives https://github.com/nuwave/lighthouse/pull/700
v3.2.0
Added
- Sync and connect existing models in morphToMany relations using nested mutations https://github.com/nuwave/lighthouse/pull/707
v3.1.0
Added
- Adapt to the new Laravel way and add an alias
dispatchfor the@eventdirective https://github.com/nuwave/lighthouse/pull/719
Deprecated
- Aliases
fireandclassfor dispatching through@eventhttps://github.com/nuwave/lighthouse/pull/719
v3.0.0
Added
- Support Subscriptions https://github.com/nuwave/lighthouse/pull/337
- Support
@deferclient directive https://github.com/nuwave/lighthouse/pull/422 - Define validation for list arguments themselves through
@rulesForArrayhttps://github.com/nuwave/lighthouse/pull/427 - The
@hasManyand@paginatordirectives now support an additional argumentdefaultCountthat sets a default value for the generated field argumentcounthttps://github.com/nuwave/lighthouse/pull/428 - Allow user to be guest when using the
@candirective https://github.com/nuwave/lighthouse/pull/431 - Add shortcut to get NodeValue type definition fields https://github.com/nuwave/lighthouse/pull/432
- Use
@injectwith dot notation to set nested value https://github.com/nuwave/lighthouse/pull/511 - Populate more relationship types through nested mutations https://github.com/nuwave/lighthouse/pull/514 https://github.com/nuwave/lighthouse/pull/549
- Support the
@deprecateddirective https://github.com/nuwave/lighthouse/pull/522 - Allow defining default namespaces as an array https://github.com/nuwave/lighthouse/pull/525
- Add config & directive argument for
@paginateto limit the maximum requested count https://github.com/nuwave/lighthouse/pull/569 - Add
guardargument to@authdirective https://github.com/nuwave/lighthouse/pull/584 - Support Laravel 5.8 https://github.com/nuwave/lighthouse/pull/626
- Support File Uploads https://github.com/nuwave/lighthouse/pull/628
- Add lifecycle events to hook into the execution https://github.com/nuwave/lighthouse/pull/645
- Add
@orderByargument directive for client-side dynamic ordering https://github.com/nuwave/lighthouse/pull/659 - Enable passing in model instance to
@candirective https://github.com/nuwave/lighthouse/pull/684 - Allow swapping out the default resolver https://github.com/nuwave/lighthouse/pull/690
Changed
- Change the default schema location, model and GraphQL namespaces https://github.com/nuwave/lighthouse/pull/423
- Construction and methods of the Field|Node|Arg-Value objects https://github.com/nuwave/lighthouse/pull/425
- The methods called with
@methodnow receive the same 4 resolver arguments that all other resolvers do https://github.com/nuwave/lighthouse/pull/486 - Handle mutating directives transactional by default https://github.com/nuwave/lighthouse/pull/512
- Nested mutations for BelongsTo require wrapping the ID in a
connectargument https://github.com/nuwave/lighthouse/pull/514 https://github.com/nuwave/lighthouse/pull/549 - Make the error messages returned by
@canmore friendly https://github.com/nuwave/lighthouse/pull/515 - Bump requirements for
webonyx/graphql-phpto^0.13and PHP to>= 7.1https://github.com/nuwave/lighthouse/pull/517 - Replace
DirectiveRegistrywithDirectiveFactoryto lazy load directives https://github.com/nuwave/lighthouse/pull/520 - Extensions must be registered through ServiceProviders instead of the config file https://github.com/nuwave/lighthouse/pull/645
- Increase tracing precision when nanoseconds are available https://github.com/nuwave/lighthouse/pull/674
Fixed
- Diverging paths of nested input objects can now have distinct validation rules https://github.com/nuwave/lighthouse/pull/427
- Distinguish between FieldDefinitions and InputObjectValues in AST handling https://github.com/nuwave/lighthouse/pull/425
- Set the date in the
Datescalar to startOfDay, fixes equality checks https://github.com/nuwave/lighthouse/pull/452 - Use primary key defined in model to execute update https://github.com/nuwave/lighthouse/pull/469
- Consider batched queries when using BatchLoader https://github.com/nuwave/lighthouse/pull/508
- Refresh newly created models before returning them https://github.com/nuwave/lighthouse/pull/509
- Prevent name conflict between argument names and non-relation methods when executing nested mutations https://github.com/nuwave/lighthouse/pull/519
- Prevent crash when invalid JSON variables are given https://github.com/nuwave/lighthouse/pull/581
- Handle pagination with Laravel Scout correctly https://github.com/nuwave/lighthouse/pull/661
- Handle schema defined default values for enum types correctly https://github.com/nuwave/lighthouse/pull/689
Removed
- Remove the previously broken
@validatedirective in favor of@ruleshttps://github.com/nuwave/lighthouse/pull/427 - Remove broken user mutations from the default schema https://github.com/nuwave/lighthouse/pull/435
- Remove deprecated methods https://github.com/nuwave/lighthouse/pull/435
- Limit the
@fielddirective to using theresolverargument https://github.com/nuwave/lighthouse/pull/435 - Remove the
@securitydirective in favor of defining security options through the config https://github.com/nuwave/lighthouse/pull/435 - Rename the
resolverargument of@interfaceand@uniontoresolveTypehttps://github.com/nuwave/lighthouse/pull/435 - Remove deprecated Traits https://github.com/nuwave/lighthouse/pull/435
Pre-v3
We just started maintaining a changelog starting from v3.
If someone wants to make one for previous versions, pull requests are welcome.