Skip to content

Releases: nuwave/lighthouse

v6.0.0-beta.1

02 Mar 15:36
723e407
Compare
Choose a tag to compare
v6.0.0-beta.1 Pre-release
Pre-release

Changed

  • Use the strongest possible native types over PHPDocs
  • Use declare(strict_types=1)
  • Add validation support to Paginator with resolver mode
  • Pass resolver arguments to FieldBuilderDirective::handleFieldBuilder() #2234
  • Expected resolver arguments in ResolveInfo::enhanceBuilder()
  • Pass the path array to CacheKeyAndTags::key() #2176
  • Require implementations of BatchedEntityResolver to maintain the keys given in array $representations #2286
  • Require filter directives such as @whereKey in @delete, @forceDelete and @restore #2289
  • Subscriptions can now be filtered via $subscriber->socket_id and request()->header('X-Socket-ID') #2298
  • Make pagination argument first non-nullable
  • Calculate complexity for @paginate according to the number of items requested
  • Require argument resolver in directive @complexity
  • Move interface Nuwave\Lighthouse\Support\Contracts\GlobalId to Nuwave\Lighthouse\GlobalId\GlobalId
  • Use union type for $id argument in NodeDirective
  • Replace Arr::first(array_keys()) with array_key_first() in OrderByDirective
  • Limit constructor argument $paginationType in PaginationType to literal constant values
  • Change visibility of BaseDirective::directiveHasArgument from public to protected
  • Replace Illuminate\Database\DatabaseManager with Illuminate\Database\ConnectionResolverInterface in RelationDirective
  • Replace DirectiveLocator::beforeLast with Str::beforeLast
  • Default subscriptions.exclude_empty to true
  • Allow FieldManipulator and ArgManipulator directives on interfaces #1955
  • Apply argument transformation only once per field #1706
  • Expect FieldResolver::resolveField() to return resolver function directly #1706
  • Simplify FieldMiddleware directive interface #1706
  • Rename configuration option schema.register to schema_path
  • Restructure cache related configuration options

Fixed

  • Return proper error for unknown types in variable definitions
  • Ensure _entities maintains order of representations in result #2286
  • Allow combining @can with non-default @guard #2276

Added

  • Add method TypeRegistry::search() that maybe finds a type with a given name
  • Decode fields with directive @globalId in federation model entity resolver
  • Add GraphQLContext:: setUser(?Authenticatable $user): void
  • Add directive @whereKey to filter Models by their primary key #2289
  • Allow directive @where on fields #2306
  • Allow passing route parameters in MakeGraphQLRequests test methods #2333

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 Serializable implementation
  • Remove trait ClearsSchemaCache
  • Remove config option lighthouse.unbox_bensampo_enum_enum_instances
  • Remove ArgumentSet::enhanceBuilder(), use ResolveInfo::enhanceBuilder()
  • Remove the globalId argument from @delete, @forceDelete and @restore #2289
  • Remove MockResolver
  • Remove deprecated BatchLoader::forgetInstances() in GraphQL
  • Remove method check for Illuminate\Foundation\Exceptions\Handler::renderable
  • Remove setting non_null_pagination_results and always behave as if it were true
  • Remove Nuwave\Lighthouse\Subscriptions\Contracts\StoresSubscriptions::subscriberByRequest()
  • Remove deprecated methods from FieldValue
  • Remove deprecated GraphQL::executeQuery() and GraphQL::prepSchema()
  • Remove @field directive argument args #1706
  • Remove schema caching v1 #2321

v6.0.0-alpha.2

24 Feb 11:44
27e719f
Compare
Choose a tag to compare
v6.0.0-alpha.2 Pre-release
Pre-release

Changed

  • Add validation support to Paginator with resolver mode
  • Pass resolver arguments to FieldBuilderDirective::handleFieldBuilder() #2234
  • Expected resolver arguments in ResolveInfo::enhanceBuilder()
  • Pass the path array to CacheKeyAndTags::key() #2176
  • Require implementations of BatchedEntityResolver to maintain the keys given in array $representations #2286
  • Use the strongest possible native types over PHPDocs
  • Require filter directives such as @whereKey in @delete, @forceDelete and @restore #2289
  • Subscriptions can now be filtered via $subscriber->socket_id and request()->header('X-Socket-ID') #2298
  • Make pagination argument first non-nullable
  • Calculate complexity for @paginate according to the number of items requested
  • Require argument resolver in directive @complexity
  • Move interface Nuwave\Lighthouse\Support\Contracts\GlobalId to Nuwave\Lighthouse\GlobalId\GlobalId
  • Use union type for $id argument in NodeDirective
  • Replace Arr::first(array_keys()) with array_key_first() in OrderByDirective
  • Limit constructor argument $paginationType in PaginationType to literal constant values
  • Change visibility of BaseDirective::directiveHasArgument from public to protected
  • Replace Illuminate\Database\DatabaseManager with Illuminate\Database\ConnectionResolverInterface in RelationDirective
  • Replace DirectiveLocator::beforeLast with Str::beforeLast
  • Default subscriptions.exclude_empty to true
  • Allow FieldManipulator and ArgManipulator directives on interfaces #1955
  • Apply argument transformation only once per field #1706
  • Expect FieldResolver::resolveField() to return resolver function directly #1706
  • Simplify FieldMiddleware directive interface #1706
  • Rename configuration option schema.register to schema_path
  • Restructure cache related configuration options

Fixed

  • Return proper error for unknown types in variable definitions
  • Ensure _entities maintains order of representations in result #2286
  • Allow combining @can with non-default @guard #2276

Added

  • Add method TypeRegistry::search() that maybe finds a type with a given name
  • Decode fields with directive @globalId in federation model entity resolver
  • Add GraphQLContext:: setUser(?Authenticatable $user): void
  • Add directive @whereKey to filter Models by their primary key #2289
  • Allow directive @where on fields #2306

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 Serializable implementation
  • Remove trait ClearsSchemaCache
  • Remove config option lighthouse.unbox_bensampo_enum_enum_instances
  • Remove ArgumentSet::enhanceBuilder(), use ResolveInfo::enhanceBuilder()
  • Remove the globalId argument from @delete, @forceDelete and @restore #2289
  • Remove MockResolver
  • Remove deprecated BatchLoader::forgetInstances() in GraphQL
  • Remove method check for Illuminate\Foundation\Exceptions\Handler::renderable
  • Remove setting non_null_pagination_results and always behave as if it were true
  • Remove Nuwave\Lighthouse\Subscriptions\Contracts\StoresSubscriptions::subscriberByRequest()
  • Remove deprecated methods from FieldValue
  • Remove deprecated GraphQL::executeQuery() and GraphQL::prepSchema()
  • Remove @field directive argument args #1706

v5.71.0

24 Feb 10:48
Compare
Choose a tag to compare

Added

  • Support Laravel 10

v6.0.0-alpha.1

23 Feb 15:26
f66b9d8
Compare
Choose a tag to compare
v6.0.0-alpha.1 Pre-release
Pre-release

Changed

  • Add validation support to Paginator with resolver mode
  • Pass resolver arguments to FieldBuilderDirective::handleFieldBuilder() #2234
  • Expected resolver arguments in ResolveInfo::enhanceBuilder()
  • Pass the path array to CacheKeyAndTags::key() #2176
  • Require implementations of BatchedEntityResolver to maintain the keys given in array $representations #2286
  • Use the strongest possible native types over PHPDocs
  • Require filter directives such as @whereKey in @delete, @forceDelete and @restore #2289
  • Subscriptions can now be filtered via $subscriber->socket_id and request()->header('X-Socket-ID') #2298
  • Make pagination argument first non-nullable
  • Calculate complexity for @paginate according to the number of items requested
  • Require argument resolver in directive @complexity
  • Move interface Nuwave\Lighthouse\Support\Contracts\GlobalId to Nuwave\Lighthouse\GlobalId\GlobalId
  • Use union type for $id argument in NodeDirective
  • Replace Arr::first(array_keys()) with array_key_first() in OrderByDirective
  • Limit constructor argument $paginationType in PaginationType to literal constant values
  • Change visibility of BaseDirective::directiveHasArgument from public to protected
  • Replace Illuminate\Database\DatabaseManager with Illuminate\Database\ConnectionResolverInterface in RelationDirective
  • Replace DirectiveLocator::beforeLast with Str::beforeLast
  • Default subscriptions.exclude_empty to true
  • Allow FieldManipulator and ArgManipulator directives on interfaces #1955
  • Apply argument transformation only once per field #1706
  • Expect FieldResolver::resolveField() to return resolver function directly #1706
  • Simplify FieldMiddleware directive interface #1706
  • Rename configuration option schema.register to schema_path
  • Restructure cache related configuration options

Fixed

  • Return proper error for unknown types in variable definitions
  • Ensure _entities maintains order of representations in result #2286
  • Allow combining @can with non-default @guard #2276

Added

  • Add method TypeRegistry::search() that maybe finds a type with a given name
  • Decode fields with directive @globalId in federation model entity resolver
  • Support Laravel 10 #2287
  • Add GraphQLContext:: setUser(?Authenticatable $user): void
  • Add directive @whereKey to filter Models by their primary key #2289
  • Allow directive @where on fields #2306

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 Serializable implementation
  • Remove trait ClearsSchemaCache
  • Remove config option lighthouse.unbox_bensampo_enum_enum_instances
  • Remove ArgumentSet::enhanceBuilder(), use ResolveInfo::enhanceBuilder()
  • Remove the globalId argument from @delete, @forceDelete and @restore #2289
  • Remove MockResolver
  • Remove deprecated BatchLoader::forgetInstances() in GraphQL
  • Remove method check for Illuminate\Foundation\Exceptions\Handler::renderable
  • Remove setting non_null_pagination_results and always behave as if it were true
  • Remove Nuwave\Lighthouse\Subscriptions\Contracts\StoresSubscriptions::subscriberByRequest()
  • Remove deprecated methods from FieldValue
  • Remove deprecated GraphQL::executeQuery() and GraphQL::prepSchema()
  • Remove @field directive argument args #1706

v5.70.3

24 Jan 08:49
Compare
Choose a tag to compare

Fixed

  • Allow \Illuminate\Http\UploadedFile in test helper multipartGraphQL() argument array $files

v5.70.2

23 Jan 13:08
bc515ff
Compare
Choose a tag to compare

Fixed

  • Fix batch loading relations of parents that were partially cached #2269

v5.70.1

19 Jan 13:59
98b6113
Compare
Choose a tag to compare

Fixed

  • Fix batch loading a paginated BelongsToMany relation with duplicates #2277

v5.70.0

12 Jan 11:20
Compare
Choose a tag to compare

Added

  • Allow configuring regular expression constraints for the registered route with lighthouse.route.where

v5.69.1

14 Dec 14:03
Compare
Choose a tag to compare

Fixed

  • Wrap base ResolveInfo class and extend it with public ArgumentSet $argumentSet in response to PHP 8.2 deprecating dynamic properties

v5.69.0

13 Dec 12:11
286746e
Compare
Choose a tag to compare

Added

  • Add argument builder to directive @aggregate #2255