github nuwave/lighthouse v4.0.0

latest releases: v6.45.0, v6.44.2, v6.44.1...
5 years ago

Added

  • Add the @namespace directive as a replacement for the removed @group directive #768
  • The @defer extension now supports deferring nested fields of mutations #855
  • Add a simple way to define complex validation directives by extending \Nuwave\Lighthouse\Schema\Directives\ValidationDirective #846
  • Extend the @belongsToMany directive to support pivot data on a custom Relay style Edge type #871
  • Implement connect, disconnect and delete operations for nested mutations upon MorphTo relationships #879

Fixed

  • Avoid growing the memory extensively when doing complex AST manipulation #768
  • Make nested mutations work with subclassed relationship types #825
  • Allow empty arrays and other falsy values as input for nested mutation operations like "sync" #830
  • Use Illuminate\Contracts\Config\Repository instead of Illuminate\Config\Repository #832
  • Allow checking the abilities with @can when issuing mass updates on multiple models #838
  • Allow use of private in @cache directive even when the user is not authenticated #843
  • Fix Lumen route registration #853
  • Fix handling of @include directive, it is semantically opposite to @skip, when using it with @defer #855
  • Allow querying for null values using @whereConstraints #872
  • Fix issue when using the @model directive in a type that has a list field #883
  • Make the @include and @skip directives that are part of the GraphQL spec show up in introspection
    and fix handling of default values in custom client directives #892

Changed

  • Bumped the requirement on webonyx/graphql-php to ^0.13.2 #768
  • Rename directive interfaces dealing with types from Node* to Type* #768
  • Change the signature of the AST manipulating directive interfaces: TypeManipulator, FieldManipulator and ArgManipulator #768
  • Change the API of the DocumentAST class to enable a more performant implementation #768
  • Enable the schema caching option lighthouse.cache.enable by default #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 #768
  • Simplify the default route configuration.
    Make sure to review your config/lighthouse.php and bring it up to date
    with the latest changes in the base configuration file #820
  • Move SubscriptionExceptionHandler into namespace Nuwave\Lighthouse\Subscriptions\Contracts #819
  • The pagination field argument that controls the amount of results
    now default tos first instead of count. The config pagination_amount_argument
    can be used to change the argument name #852
  • Rename ArgValidationDirective to ProvidesRules and drop get prefix from the methods within #846
  • Make the argument used for finding a model to check @can against configurable.
    The previous behaviour of implicitly using the id argument for finding a specific
    model to authorize against now no longer works. #856
  • Change the Nuwave\Lighthouse\Schema\Types\LaravelEnumType wrapper to map to Enum instances internally #908

Removed

  • Remove @group directive in favour of @middleware and @namespace #768
  • Remove the ArgFilterDirective interface in favour of the ArgBuilderDirective interface #821
  • Remove the old style @whereBetween and @whereNotBetween directives #821
  • Use the @spread directive instead of the flatten argument of @create/@update #822
  • Remove dispatch aliases fire and class for dispatching through @event #823
  • Remove the GraphQL facade and the container alias graphql #824
  • Remove the alias if for specifying the ability that has to be met in @can #838

Deprecated

  • The configuration option pagination_amount_argument will be removed in v5

Don't miss a new lighthouse release

NewReleases is sending notifications on new releases.