- Properly merge fields on fragments within fragments
- Properly delegate enumerable-ish methods on
Arguments#56 - Fix & refactor literal coersion & validation #53
- Scalars can have distinct
coerce_inputandcoerce_resultmethods #48 - Operations don't require a name #54
- Big refactors and fixes to variables and arguments:
- Correctly apply argument default values
- Correctly apply variable default values
- Raise at execution-time if non-null variables are missing
- Incoming values are coerced to their proper types before execution
- Add
Schema#middlewareto wrap field access - Add
RescueMiddlewareto handle errors during field execution - Add
Schema::Printerfor printing the schema definition #45
- Fields can return
GraphQL::ExecutionErrors to add errors to the response
- Fix resolution of union types in some queries #41
- Add
Schema#executeshorthand for running queries - Merge identical fields in fragments so they're only resolved once #34
- An error during parsing raises
GraphQL::ParseError#33
- Find nested input types in
TypeReducer#35 - Find variable usages inside fragments during static validation
- remove Celluloid dependency
- remove
GraphQL::Query::ParallelExecution(usegraphql-parallel)
GraphQL::Query::ParallelExecutionhas been extracted tographql-parallel
- Async field resolution with
context.async { ... } - Access AST node during resolve with
context.ast_node
- Fix for validating arguments returning up too soon
- Raise if you try to define 2 types with the same name
- Raise if you try to get a type by name but it doesn't exist
- Merge nested results from different fragments instead of using the latest one only
- Query keyword argument
params:was removed, usevariables:instead.
@skiphas precedence over@include- Handle when
DEFAULT_RESOVEreturns nil
- Fix whitespace parsing in input objects
- Parse UTF-8 characters & escaped characters
- Properly parse empty strings
- Fix argument / variable compatibility validation
- Deprecate
paramsoption toQuery#newin favor ofvariables - Deprecated
.new { |obj, types, fields, args| }API was removed (use.define)
Query#newacceptsoperation_nameargumentInterfaceTypeandUnionTypeacceptresolve_typeconfigs
- Gracefully handle blank-string & whitespace-only queries
- Handle lists in variable definitions and arguments
- Handle non-null input types
- Deprecate definition API that yielded a bunch of helpers #18
- Add new definition API #18