This version is the first reference implementation fully compatible with GraphQL — April 2016. In addition to any relevant breaking changes from the spec, it also has made some breaking changes to its API.
This also brings graphql-go
on par with graphql-js v0.5.0
.
Special thanks to all that have contributed to this release.
Breaking:
- Rounding off support for
context
. It is now available for resolving types inIsTypeOfFn
andResolveTypeFn
, similar toFieldResolveFn
. (graphql-go/graphql@1e33c35) - Directives in schema language: Breaking change to
NewDirective()
API. (graphql-go/graphql@2322d25) - Directive location introspection: This deprecates
onField
,onFragment
, andonOperation
in favor oflocations
which is a list of__DirectiveLocation
. (graphql-go/graphql@58f2928) - Types can now be explicitly provided to
NewSchema(SchemaConfig{Types: [...] })
. Types which implement an interface but are otherwise not referenced as a field return type are no longer automatically added to theSchema
. UseSchemaConfig{Type: [..]}
to ensure they are included to theSchema
. (graphql-go/graphql@79f48da)
New:
- Spec compliance: Overlapping fields must have compatible response shapes. (graphql-go/graphql@a241e1c)
- More support for the experimental schema IDL. (graphql-go/graphql@e23ac77)
Fixes:
- Spec compliance: @Skip and @include are now commutative. (graphql-go/graphql@95bc032)
- Spec compliance: Allow
graphql.Float
to be represented byfloat64
. (#133, #130) - Fixed invalid
lexer
tests for parsingTokenString
. (#138)
Enhancements:
- Improve
lexer
performance by using byte array as source. (#137) - Improved coverage for
lexer
package. (#138) - Additional tests for covering unicode text support. (#138, #135)
API Changes
Previous | New | Risk |
---|---|---|
NewDirective(*Directive) |
NewDirective(DirectiveConfig) |
Low-Medium |
Abstract.ObjectType(interface{}, ResolveInfo) *Object |
removed |
Low-Medium |
Union.ObjectType(interface{}, ResolveInfo) *Object |
removed |
Low-Medium |
Interface.ObjectType(interface{}, ResolveInfo) *Object |
removed |
Low-Medium |
IsTypeOfFn(interface{}, ResolveInfo) |
IsTypeOfFn(IsTypeOfParams) |
High |
ResolveTypeFn(interface{}, ResolveInfo) |
ResolveTypeFn(ResolveTypeParams) |
High |
ResolveParams.Schema |
removed , already available in ResolveInfo |
Low-Medium |
List view
0 issues of 8 selected
- Status: Closed (completed).#126 In graphql-go/graphql;
- Status: Closed (completed).#130 In graphql-go/graphql;
- Status: Closed (completed).#135 In graphql-go/graphql;
- Status: Merged (completed).graphql-go/graphqlnumber 138#138 In graphql-go/graphql;
- Status: Merged (completed).graphql-go/graphqlnumber 137#137 In graphql-go/graphql;
- Status: Merged (completed).graphql-go/graphqlnumber 133#133 In graphql-go/graphql;
- Status: Merged (completed).graphql-go/graphqlnumber 128#128 In graphql-go/graphql;
- Status: Merged (completed).graphql-go/graphqlnumber 123#123 In graphql-go/graphql;