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.
- Add compatibility layer to allow
@middleware
to support Lumen nuwave#786 - Add option
decode
to@globaldId
to control the result of decoding nuwave#796
- Fix querying for falsy values through
@whereConstraints
nuwave#800
- Use the spec-compliant default deprecation reason for
@deprecate
directive nuwave#787
- Add
@whereConstraints
directive that offers flexible query capabilities to the client nuwave#753 - Add convenience wrapper for registering Enum types based on BenSampo/laravel-enum nuwave#779
- The
controller
config option will be removed in v4 nuwave#781
- Respect the model's connection for database transaction during
@create
and@update
nuwave#777
- You can now omit an
input
argument from a query that uses the@spread
directive without getting an error nuwave#774
- The class
SubscriptionExceptionHandler
will be moved to the namespace Nuwave\Lighthouse\Subscriptions\Contracts
- Throw error if pagination amount
<= 0
is requested nuwave#765
- Default the config to always set the
Accept: application/json
header nuwave#743 - Declare a single named route which handles POST/GET instead of 2 separate routes nuwave#738
- Apply the nested operations within a nested mutation in a consistent order that makes sense nuwave#754
- The pagination field argument that controls the amount of results
will default to
first
instead ofcount
in v4. The configpagination_amount_argument
can be used to change the argument name now nuwave#752
- Instantiate the
ErrorBuffer
directly, its dependencies can not be resolved through the container nuwave#756 - Refresh GraphQLRequest singleton between multiple requests to prevent a common error in test execution nuwave#761
3.4.0 - 2019-04-18
- Allow rebinding a custom GlobalId resolver nuwave#739
3.3.0 - 2019-04-15
- Sync existing models in belongsToMany relations using nested mutations when creating nuwave#707
- Add
@spread
directive to reshape nested input arguments nuwave#680 - Add flexible
@builder
directive to quickly specify a single method to apply constraints to the query builder nuwave#680 - Add
new_between_directives
config to use the new between directives now nuwave#680
- Use the
@spread
instead of theflatten
argument of@create
/@update
nuwave#680 - Prefer usage of the
ArgBuilderDirective
instead of theArgFilterDirective
nuwave#680 @whereBetween
and@whereNotBetween
will take a single input object instead of being spread across two args nuwave#680
3.2.1 - 2019-04-12
- Flatten the namespace for the built-in directives nuwave#700
3.2.0 - 2019-04-10
- Sync and connect existing models in morphToMany relations using nested mutations nuwave#707
3.1.0 - 2019-04-07
- Adapt to the new Laravel way and add an alias
dispatch
for the@event
directive nuwave#719
- Aliases
fire
andclass
for dispatching through@event
nuwave#719
3.0.0 - 2019-04-03
- Support Subscriptions nuwave#337
- Support
@defer
client directive nuwave#422 - Define validation for list arguments themselves through
@rulesForArray
nuwave#427 - The
@hasMany
and@paginator
directives now support an additional argumentdefaultCount
that sets a default value for the generated field argumentcount
nuwave#428 - Allow user to be guest when using the
@can
directive nuwave#431 - Add shortcut to get NodeValue type definition fields nuwave#432
- Use
@inject
with dot notation to set nested value nuwave#511 - Populate more relationship types through nested mutations nuwave#514 nuwave#549
- Support the
@deprecated
directive nuwave#522 - Allow defining default namespaces as an array nuwave#525
- Add config & directive argument for
@paginate
to limit the maximum requested count nuwave#569 - Add
guard
argument to@auth
directive nuwave#584 - Support Laravel 5.8 nuwave#626
- Support File Uploads nuwave#628
- Add lifecycle events to hook into the execution nuwave#645
- Add
@orderBy
argument directive for client-side dynamic ordering nuwave#659 - Enable passing in model instance to
@can
directive nuwave#684 - Allow swapping out the default resolver nuwave#690
- Change the default schema location, model and GraphQL namespaces nuwave#423
- Construction and methods of the Field|Node|Arg-Value objects nuwave#425
- The methods called with
@method
now receive the same 4 resolver arguments that all other resolvers do nuwave#486 - Handle mutating directives transactional by default nuwave#512
- Nested mutations for BelongsTo require wrapping the ID in a
connect
argument nuwave#514 nuwave#549 - Make the error messages returned by
@can
more friendly nuwave#515 - Bump requirements for
webonyx/graphql-php
to^0.13
and PHP to>= 7.1
nuwave#517 - Replace
DirectiveRegistry
withDirectiveFactory
to lazy load directives nuwave#520 - Extensions must registered through ServiceProviders instead of the config file nuwave#645
- Increase tracing precision when nanoseconds are available nuwave#674
- Diverging paths of nested input objects can now have distinct validation rules nuwave#427
- Distinguish between FieldDefinitions and InputObjectValues in AST handling nuwave#425
- Set the date in the
Date
scalar to startOfDay, fixes equality checks nuwave#452 - Use primary key defined in model to execute update nuwave#469
- Consider batched queries when using BatchLoader nuwave#508
- Refresh newly created models before returning them nuwave#509
- Prevent name conflict between argument names and non-relation methods when executing nested mutations nuwave#519
- Prevent crash when invalid JSON variables are given nuwave#581
- Handle pagination with Laravel Scout correctly nuwave#661
- Handle schema defined default values for enum types correctly nuwave#689
- Remove the previously broken
@validate
directive in favour of@rules
nuwave#427 - Remove broken user mutations from the default schema nuwave#435
- Remove deprecated methods nuwave#435
- Limit the
@field
directive to using theresolver
argument nuwave#435 - Remove the
@security
directive in favour of defining security options through the config nuwave#435 - Rename the
resolver
argument of@interface
and@union
toresolveType
nuwave#435 - Remove deprecated Traits nuwave#435
We just started maintaining a changelog starting from v3.
If someone wants to make one for previous versions, PR's are welcome.