Added
- Support Subscriptions #337
- Support
@defer
client directive #422 - Define validation for list arguments themselves through
@rulesForArray
#427 - The
@hasMany
and@paginator
directives now support an additional argumentdefaultCount
that sets a default value for the generated field argumentcount
#428 - Allow user to be guest when using the
@can
directive #431 - Add shortcut to get NodeValue type definition fields #432
- Use
@inject
with dot notation to set nested value #511 - Populate more relationship types through nested mutations #514 #549
- Support the
@deprecated
directive #522 - Allow defining default namespaces as an array #525
- Add config & directive argument for
@paginate
to limit the maximum requested count #569 - Add
guard
argument to@auth
directive #584 - Support Laravel 5.8 #626
- Support File Uploads #628
- Add lifecycle events to hook into the execution #645
- Add
@orderBy
argument directive for client-side dynamic ordering #659 - Enable passing in model instance to
@can
directive #684 - Allow swapping out the default resolver #690
Changed
- Change the default schema location, model and GraphQL namespaces #423
- Construction and methods of the Field|Node|Arg-Value objects #425
- The methods called with
@method
now receive the same 4 resolver arguments that all
other resolvers do #486 - Handle mutating directives transactional by default #512
- Nested mutations for BelongsTo require wrapping the ID in a
connect
argument #514 #549 - Make the error messages returned by
@can
more friendly #515 - Bump requirements for
webonyx/graphql-php
to^0.13
and PHP to>= 7.1
#517 - Replace
DirectiveRegistry
withDirectiveFactory
to lazy load directives #520 - Extensions must registered through ServiceProviders instead of the config file #645
- Increase tracing precision when nanoseconds are available #674
Fixed
- Diverging paths of nested input objects can now have distinct validation rules #427
- Distinguish between FieldDefinitions and InputObjectValues in AST handling #425
- Set the date in the
Date
scalar to startOfDay, fixes equality checks #452 - Use primary key defined in model to execute update #469
- Consider batched queries when using BatchLoader #508
- Refresh newly created models before returning them #509
- Prevent name conflict between argument names and non-relation methods when executing nested mutations #519
- Prevent crash when invalid JSON variables are given #581
- Handle pagination with Laravel Scout correctly #661
- Handle schema defined default values for enum types correctly #689
Removed
- Remove the previously broken
@validate
directive in favour of@rules
#427 - Remove broken user mutations from the default schema #435
- Remove deprecated methods #435
- Limit the
@field
directive to using theresolver
argument #435 - Remove the
@security
directive in favour of defining security options through the config #435 - Rename the
resolver
argument of@interface
and@union
toresolveType
#435 - Remove deprecated Traits #435