NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #1053 most downloaded on Packagist
A framework for serving GraphQL from Laravel
Last release 10 days ago
27 Sep 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 59 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
429 releases · first in 2016
Add option builder to @limit to apply an actual LIMIT clause https://github.com/nuwave/lighthouse/pull/2571
builder to @limit to apply an actual LIMIT clause https://github.com/nuwave/lighthouse/pull/2571Eliminate redundant Model::save() calls in nested mutations https://github.com/nuwave/lighthouse/pull/2570
Model::save() calls in nested mutations https://github.com/nuwave/lighthouse/pull/2570One column per quarter.
Also report instances of GraphQL\Error\Error without previous exceptions in ReportingErrorHandler https://github.com/nuwave/lighthouse/pull/2567
GraphQL\Error\Error without previous exceptions in ReportingErrorHandler https://github.com/nuwave/lighthouse/pull/2567Actually use raw attributes in comparison of paginated related models https://github.com/nuwave/lighthouse/pull/2550
Compare raw attributes only when ensuring uniqueness of paginated related models https://github.com/nuwave/lighthouse/pull/2540
Native PHP Enums registered through the TypeRegistry may be used as morph type in nested MorphTo relations https://github.com/nuwave/lighthouse/pull/2
TypeRegistry may be used as morph type in nested MorphTo relations https://github.com/nuwave/lighthouse/pull/2544Support Laravel 11 https://github.com/nuwave/lighthouse/pull/2508
Add ClientSafeModelNotFoundException to wrap original exception in @can and @canFind https://github.com/nuwave/lighthouse/pull/2522
ClientSafeModelNotFoundException to wrap original exception in @can and @canFind https://github.com/nuwave/lighthouse/pull/2522Fix Date scalar trying to parse Illuminate\Support\Carbon as string https://github.com/nuwave/lighthouse/pull/2470
Date scalar trying to parse Illuminate\Support\Carbon as string https://github.com/nuwave/lighthouse/pull/2470Merge directives from Scalar/Enum/Type/Input/Interface extension node into target node https://github.com/nuwave/lighthouse/pull/2512
Fix stub for type resolvers used in lighthouse:union and lighthouse:interface artisan commands https://github.com/nuwave/lighthouse/pull/2518
lighthouse:union and lighthouse:interface artisan commands https://github.com/nuwave/lighthouse/pull/2518Allow custom model name in @canFind https://github.com/nuwave/lighthouse/pull/2515
@canFind https://github.com/nuwave/lighthouse/pull/2515Fix ThrottleDirective to not reuse the first Request it had encountered https://github.com/nuwave/lighthouse/pull/2511
ThrottleDirective to not reuse the first Request it had encountered https://github.com/nuwave/lighthouse/pull/2511Remove duplicate CanArgs from directive definition https://github.com/nuwave/lighthouse/pull/2510
CanArgs from directive definition https://github.com/nuwave/lighthouse/pull/2510Expose pivot field on pagination edge https://github.com/nuwave/lighthouse/pull/2464
Add @async directive https://github.com/nuwave/lighthouse/pull/2501
@async directive https://github.com/nuwave/lighthouse/pull/2501Nuwave\Lighthouse\Subscriptions\Contracts\ContextSerializer to Nuwave\Lighthouse\Support\Contracts\SerializesContext https://github.com/nuwave/lighthouse/pull/2501CreatesContext and CanStreamResponse as singletons https://github.com/nuwave/lighthouse/pull/2501LaravelEnumType from ResolveInfo::$variableValues https://github.com/nuwave/lighthouse/pull/2501Fix @limit directive definition
@limit directive definitionAdd InputFieldManipulator directive interface https://github.com/nuwave/lighthouse/pull/2476
InputFieldManipulator directive interface https://github.com/nuwave/lighthouse/pull/2476Add configuration option parse_source_location https://github.com/nuwave/lighthouse/pull/2499
parse_source_location https://github.com/nuwave/lighthouse/pull/2499Ensure @rule is never applied to argument lists themselves https://github.com/nuwave/lighthouse/pull/2489
@rule is never applied to argument lists themselves https://github.com/nuwave/lighthouse/pull/2489Return empty results for pagination first: 0 https://github.com/nuwave/lighthouse/pull/2480
first: 0 https://github.com/nuwave/lighthouse/pull/2480Mark common pagination types as @shareable for Apollo Federation v2 https://github.com/nuwave/lighthouse/pull/2485
@shareable for Apollo Federation v2 https://github.com/nuwave/lighthouse/pull/2485Split up @can directive into @canFind, @canModel, @canQuery, @canResolved and @canRoot https://github.com/nuwave/lighthouse/pull/2483
@can directive into @canFind, @canModel, @canQuery, @canResolved and @canRoot https://github.com/nuwave/lighthouse/pull/2483action and returnValue arguments to @can* family of directives https://github.com/nuwave/lighthouse/pull/2483@can* family of directives https://github.com/nuwave/lighthouse/pull/2483Add scalar link__Import and enum link__Purpose to @link definition https://github.com/nuwave/lighthouse/pull/2484
scalar link__Import and enum link__Purpose to @link definition https://github.com/nuwave/lighthouse/pull/2484Support federated tracing https://github.com/nuwave/lighthouse/pull/2479
Add @namespaced directive for namespacing by separation of concerns https://github.com/nuwave/lighthouse/pull/2469
@namespaced directive for namespacing by separation of concerns https://github.com/nuwave/lighthouse/pull/2469Add support for extend union syntax https://github.com/nuwave/lighthouse/pull/2468
extend union syntax https://github.com/nuwave/lighthouse/pull/2468Exclude unnecessary extend schema from federation schema printer https://github.com/nuwave/lighthouse/pull/2477
extend schema from federation schema printer https://github.com/nuwave/lighthouse/pull/2477Fix FieldResolver directive stubs
FieldResolver directive stubsSupport Apollo Federation v2, except for federated tracing https://github.com/nuwave/lighthouse/pull/2460
Add option root to @can directive https://github.com/nuwave/lighthouse/pull/2452
root to @can directive https://github.com/nuwave/lighthouse/pull/2452Add option ignoreNull to @where directive https://github.com/nuwave/lighthouse/pull/2447
ignoreNull to @where directive https://github.com/nuwave/lighthouse/pull/2447Allow @cacheControl directive on type level https://github.com/nuwave/lighthouse/pull/2451
@cacheControl directive on type level https://github.com/nuwave/lighthouse/pull/2451@cacheControl in pagination on fields https://github.com/nuwave/lighthouse/pull/2451Allow customizing the definition of the root Query field node added by @node https://github.com/nuwave/lighthouse/pull/2449
Query field node added by @node https://github.com/nuwave/lighthouse/pull/2449Handle explicit null in @notIn, @whereBetween and @whereNotBetween directives https://github.com/nuwave/lighthouse/pull/2446
null in @notIn, @whereBetween and @whereNotBetween directives https://github.com/nuwave/lighthouse/pull/2446Handle explicit null in @in directive https://github.com/nuwave/lighthouse/pull/2445
null in @in directive https://github.com/nuwave/lighthouse/pull/2445Add directive @feature to conditionally add annotated elements based on the state of a feature using Laravel Pennant https://github.com/nuwave/lightho
@feature to conditionally add annotated elements based on the state of a feature using Laravel Pennant https://github.com/nuwave/lighthouse/pull/2442Improve stubs for PHP 8.2 and above https://github.com/nuwave/lighthouse/pull/2441
Fix NOT_LIKE operator in @whereConditions https://github.com/nuwave/lighthouse/pull/2432
NOT_LIKE operator in @whereConditions https://github.com/nuwave/lighthouse/pull/2432Reset cached values of arguments in BaseDirective::hydrate() https://github.com/nuwave/lighthouse/pull/2430
BaseDirective::hydrate() https://github.com/nuwave/lighthouse/pull/2430ScoutEnhancer::enhanceBuilder() will process not only the first but all ScoutBuilderDirective attached to argument https://github.com/nuwave/lighthous
ScoutEnhancer::enhanceBuilder() will process not only the first but all ScoutBuilderDirective attached to argument https://github.com/nuwave/lighthouse/pull/2429ResolveInfo::enhanceBuilder() will pass $directiveFilter into ScoutEnhancer::enhanceBuilder() https://github.com/nuwave/lighthouse/pull/2429Ensure @scope supports custom query builders https://github.com/nuwave/lighthouse/pull/2423
@scope supports custom query builders https://github.com/nuwave/lighthouse/pull/2423Add support to generate tests when generating field classes https://github.com/nuwave/lighthouse/pull/2419
Validate arguments with list types do not use @spread https://github.com/nuwave/lighthouse/pull/2421
@spread https://github.com/nuwave/lighthouse/pull/2421Add PaginatorInfo, SimplePaginatorInfo, PageInfo only when required https://github.com/nuwave/lighthouse/pull/2413
PaginatorInfo, SimplePaginatorInfo, PageInfo only when required https://github.com/nuwave/lighthouse/pull/2413Add option findOrFail to @can directive https://github.com/nuwave/lighthouse/pull/2416
findOrFail to @can directive https://github.com/nuwave/lighthouse/pull/2416Guess type names of programmatically registered types for models https://github.com/nuwave/lighthouse/pull/2415
Allow default model class resolution for union types https://github.com/nuwave/lighthouse/pull/2406
union types https://github.com/nuwave/lighthouse/pull/2406### Fixed - Fix DirectiveLocator assertion
DirectiveLocator assertionEnsure built-in directives have the lowest priority in registration https://github.com/nuwave/lighthouse/pull/2403
Add feature toggles via @hide and @show directive https://github.com/nuwave/lighthouse/pull/2392
@hide and @show directive https://github.com/nuwave/lighthouse/pull/2392### Fixed - Fix scalar.stub return type
scalar.stub return typeAdd the ability to specify the disk the artisan command lighthouse:print-schema will write to via the --disk option https://github.com/nuwave/lighthou
lighthouse:print-schema will write to via the --disk option https://github.com/nuwave/lighthouse/pull/2379Simplify exposing root type Query in nested results https://github.com/nuwave/lighthouse/pull/2384
Query in nested results https://github.com/nuwave/lighthouse/pull/2384Add Node interface as soon as a type uses it with @node https://github.com/nuwave/lighthouse/pull/2387
Node interface as soon as a type uses it with @node https://github.com/nuwave/lighthouse/pull/2387Correctly exclude all built-in types when calling lighthouse:ide-helper with --omit-built-in flag https://github.com/nuwave/lighthouse/pull/2376
lighthouse:ide-helper with --omit-built-in flag https://github.com/nuwave/lighthouse/pull/2376Add Nuwave\Lighthouse\Schema\AST\ASTHelper::addDirectiveToNode() to simplify dynamic addition of directives https://github.com/nuwave/lighthouse/pull/
Nuwave\Lighthouse\Schema\AST\ASTHelper::addDirectiveToNode() to simplify dynamic addition of directives https://github.com/nuwave/lighthouse/pull/2369Allow customizing query complexity calculation of @paginate with argument complexityResolver https://github.com/nuwave/lighthouse/pull/2372
@paginate with argument complexityResolver https://github.com/nuwave/lighthouse/pull/2372Leverage relations for resolving composite object @key in default model entity resolver for federation
@key in default model entity resolver for federationHydrate external fields for models resolved from representations in federation https://github.com/nuwave/lighthouse/pull/2366
Your coding agent can read these notes before it upgrades. Set up the MCP server →