Skip to content

Latest commit

 

History

History
598 lines (405 loc) · 30 KB

CHANGELOG.md

File metadata and controls

598 lines (405 loc) · 30 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

You can find and compare releases at the GitHub release page.

Unreleased

Added

  • Add AttemptAuthentication middleware to optionally log in users and delegate access guards to the field level nuwave/lighthouse#1197
  • Add artisan command lighthouse:directive to add directive class nuwave/lighthouse#1240

Fixed

4.10.2

Fixed

Changed

  • Throw user readable Error instead of ModelNotFoundException when model is not found in @can nuwave/lighthouse#1225

4.10.1

Fixed

4.10.0

Added

Deprecated

4.9.0

Added

  • Add optional columnsEnum argument to the @whereConditions, @whereHasConditions and @orderBy directives nuwave/lighthouse#1150
  • Exclude or include trashed models in @can when @forceDelete or @restore are used so the client does not have to filter explicitly nuwave/lighthouse#1157
  • Add test trait \Nuwave\Lighthouse\Testing\MakesGraphQLRequestsLumen for usage with Lumen nuwave/lighthouse#1100
  • Add test trait \Nuwave\Lighthouse\Testing\UsesTestSchema to enable using a dummy schema for testing custom Lighthouse extensions nuwave/lighthouse#1171
  • Simplify mocking resolvers that just return static data nuwave/lighthouse#1177
  • Add utility \Nuwave\Lighthouse\ClientDirectives\ClientDirective to correctly get the arguments passed through a client directive nuwave/lighthouse#1184
  • Add streamGraphQL() helper method to \Nuwave\Lighthouse\Testing\MakesGraphQLRequests for simple testing of streamed responses, such as @defer nuwave/lighthouse#1184

Fixed

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.

4.8.1

Fixed

  • Avoid erasing the model information from the wrapping paginated results type when defining a paginated @hasMany field after a field with @paginate nuwave/lighthouse#1149

4.8.0

Added

Changed

  • Remove \Nuwave\Lighthouse\Execution\MutationExecutor in favour of modular nested arg resolvers nuwave/lighthouse#899
  • Register the operator enum for @whereConditions programmatically and allow overwriting it through a service provider nuwave/lighthouse#1099
  • Always automatically set the correct argument type when using @whereConditions or @orderBy directives nuwave/lighthouse#1118
  • Implement the name() function generically in the BaseDirective class nuwave/lighthouse#1098
  • Renamed the @whereConstraints directive to @whereConditions nuwave/lighthouse#1140

Fixed

Deprecated

  • The argument field within the OrderByClause used for @orderBy will be renamed to column in v5 nuwave/lighthouse#1118
  • Deprecated the @middleware directive, as it violates the boundary between HTTP and GraphQL request handling. Use @guard or other field middleware directives instead nuwave/lighthouse#1135

Removed

4.7.2

Fixed

  • Enable multiple queries in a single request by clearing BatchLoader instances after executing each query nuwave/lighthouse#1030
  • Keep the query and pagination capabilities of relation directives when disabling batch loading nuwave/lighthouse#1083

4.7.1

Changed

Fixed

  • Define @enum as a directive class so it shows up in schema-directives.graphql and can potentially be overwritten nuwave/lighthouse#1078

4.7.0

Added

Changed

4.6.0

Added

Changed

  • Use detailed $description property when generating enum values from a BenSampo\Enum\Enum class nuwave/lighthouse#1027

Fixed

4.5.3

Fixed

4.5.2

Fixed

4.5.1

Fixed

4.5.0

Added

  • Add @upsert directive and nested mutation operations to create or update a model regardless whether it exists nuwave/lighthouse#1005

Fixed

4.4.2

Added

  • Validate the correctness of the builder given to @paginate at schema build time

Fixed

  • Do not require the type of a field matching a model class when using the builder argument of @paginate nuwave/lighthouse#1011

4.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 nuwave/lighthouse#1011

4.4.0

Added

Fixed

  • Remove the extra new line from the returned value when using @globalId(decode: "ID") nuwave/lighthouse#982
  • Throw a syntax error instead of an exception when performing an empty request or a request with an empty query nuwave/lighthouse#989
  • Properly apply @spread when used within a nested input object nuwave/lighthouse#992

Changed

Fixed

  • Fix default model detection when using other directives combination with @paginate nuwave/lighthouse#974

Deprecated

  • Use the RegisterDirectiveNamespaces event instead of DirectiveFactory#addResolved() nuwave/lighthouse#950
  • Use @node instead of @model to resolve models through Relay's global identification nuwave/lighthouse#974

4.3.0

Added

Fixed

Changed

  • Validate requirements for argument definitions of @delete, @forceDelete and @restore during schema build time nuwave/lighthouse#941

4.2.1

Fixed

4.2.0

Added

4.1.1

Fixed

4.1.0

Added

  • Add the @whereJsonContains directive to an input value as a [whereJsonContains filter
  • Allow using callable classes with __invoke when referencing methods in directives and when looking for default resolvers or type resolvers nuwave/lighthouse#882
  • Allow to restrict column names to a well-defined list in @whereContraints and generate definitions for an Enum type and an Input type that are restricted to the defined columns nuwave/lighthouse#916
  • Add test helpers for introspection queries to MakesGraphQLRequests nuwave/lighthouse#916

Deprecated

Fixed

  • Fixed the ValidationDirective not setting the mutation or query arguments to itself nuwave/lighthouse#915

4.0.0

Added

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

Fixed

Changed

  • Bumped the requirement on webonyx/graphql-php to ^0.13.2 nuwave/lighthouse#768
  • Rename directive interfaces dealing with types from Node* to Type* nuwave/lighthouse#768
  • Change the signature of the AST manipulating directive interfaces: TypeManipulator, FieldManipulator and ArgManipulator nuwave/lighthouse#768
  • Change the API of the DocumentAST class to enable a more performant implementation nuwave/lighthouse#768
  • Enable the schema caching option lighthouse.cache.enable by default nuwave/lighthouse#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 nuwave/lighthouse#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 nuwave/lighthouse#820
  • Move SubscriptionExceptionHandler into namespace Nuwave\Lighthouse\Subscriptions\Contracts nuwave/lighthouse#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 nuwave/lighthouse#852
  • Rename ArgValidationDirective to ProvidesRules and drop get prefix from the methods within nuwave/lighthouse#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. nuwave/lighthouse#856
  • Change the Nuwave\Lighthouse\Schema\Types\LaravelEnumType wrapper to map to Enum instances internally nuwave/lighthouse#908

Removed

Deprecated

  • The configuration option pagination_amount_argument will be removed in v5

3.7.0

Added

Fixed

Deprecated

  • The GraphQL facade and the container alias graphql will be removed in v4

3.6.1

Fixed

3.6.0

Added

  • Add @whereConstraints directive that offers flexible query capabilities to the client nuwave/lighthouse#753
  • Add convenience wrapper for registering Enum types based on [BenSampo/laravel-enum nuwave/lighthouse#779

Deprecated

3.5.3

Fixed

  • Respect the model's connection for database transaction during @create and @update nuwave/lighthouse#777

3.5.2

Fixed

  • You can now omit an input argument from a query that uses the @spread directive without getting an error nuwave/lighthouse#774

Deprecated

  • The class SubscriptionExceptionHandler will be moved to the namespace Nuwave\Lighthouse\Subscriptions\Contracts

3.5.1

Fixed

3.5.0

Changed

Deprecated

  • The pagination field argument that controls the amount of results will default to first instead of count in v4. The config pagination_amount_argument can be used to change the argument name now nuwave/lighthouse#752

Fixed

  • Instantiate the ErrorBuffer directly, its dependencies can not be resolved through the container nuwave/lighthouse#756
  • Refresh GraphQLRequest singleton between multiple requests to prevent a common error in test execution nuwave/lighthouse#761

3.4.0

Added

3.3.0

Added

Deprecated

  • Use the @spread instead of the flatten argument of @create/@update nuwave/lighthouse#680
  • Prefer usage of the ArgBuilderDirective instead of the ArgFilterDirective nuwave/lighthouse#680
  • @whereBetween and @whereNotBetween will take a single input object instead of being spread across two args nuwave/lighthouse#680

3.2.1

Changed

3.2.0

Added

3.1.0

Added

Deprecated

3.0.0

Added

Changed

Fixed

Removed

Pre-v3

We just started maintaining a changelog starting from v3.

If someone wants to make one for previous versions, PR's are welcome.