Releases: graphql-go/graphql
Releases · graphql-go/graphql
v0.7.1
v0.7.0
v0.5.0
This release brings up graphql-go
on par with graphql-js v0.5.0
and fully compliant with April 2016 spec.
Note: This release was retroactively added.
Notable changes:
- 58f2928 [RFC] Proposed change to directive location introspection
- 2322d25 [RFC] Directives in schema language
- ❗️Breaking Changes:
graphql.NewDirective(*graphql.Directive)
=>graphql.NewDirective(graphql.DirectiveConfig)
- Affects those that defined custom directives.
- ❗️Breaking Changes:
- 03b92b0 Move getTypeOf to execute.js and rename to defaultResolveTypeFn to mirror defaultResolveFn
- ❗️Breaking Changes: removed
ObjectType(interface{}, ResolveInfo) *Object
fromAbstract
interface,Union
andInterface
structs and moved toexecutor
- Affects those that directly retrieved the
ObjectType
of anAbstract
type (Union
/Interface
)
- ❗️Breaking Changes: removed
- 79f48da Add GraphQLSchema types field
- ❗️Breaking Changes:
- This introduces a breaking change to the Type System API. Now, any individual Interface type does not have the required information to answer
GetPossibleTypes
orIsPossibleType
without knowing the other types in the Schema. These methods were moved to the Schema API, accepting the abstract type as the first parameter. - This also introduces a breaking change to the type comparator functions:
IsTypeSubTypeOf
andDoTypesOverlap
which now require a Schema as a first argument.
- 1e33c35 [RFC] Add explicit context arg to graphql execution
- ❗️Breaking Changes
- Removed
Schema
fromResolveParams
, already available inResolveParams.Info
IsTypeOfFn
andResolveTypeFn
params are now struct, similar toFieldResolveFn
context
is now available for resolving types inIsTypeOfFn
andResolveTypeFn
, similar toFieldResolveFn
- a241e1c RFC: Return type overlap validation
- e23ac77 Add Schema Definition to IDL.
Changes to public/exported vars / func
Previous | New | Risk |
---|---|---|
graphql.NewDirective(*graphql.Directive) |
graphql.NewDirective(graphql.DirectiveConfig) |
Low-Medium |
graphql.Abstract.ObjectType(interface{}, ResolveInfo) *Object |
removed |
Low-Medium |
graphql.Union.ObjectType(interface{}, ResolveInfo) *Object |
removed |
Low-Medium |
graphql.Interface.ObjectType(interface{}, ResolveInfo) *Object |
removed |
Low-Medium |
graphql.IsTypeOfFn(interface{}, ResolveInfo) |
graphql.IsTypeOfFn(IsTypeOfParams) |
High |
graphql.ResolveTypeFn(interface{}, ResolveInfo) |
graphql.ResolveTypeFn(ResolveTypeParams) |
High |
graphql.ResolveParams.Schema |
removed , already available in graphql.ResolveInfo |
Low-Medium |
v0.4.18
This release brings up graphql-go
on par with graphql-js v0.4.18
Notable changes:
- Move the extension definition out of type definition
- [RFC] Type condition optional on inline fragments.
- Implements graphql/graphql-spec#100
- [RFC] Make operation name optional.
- Implements graphql/graphql-spec#99
- Spec compliant Int sizing
graphql.Int
now enforces strict compliance to the spec.int
anduint
that exceeds 2^32 will be considered as invalidgraphql.Int
- Added/updated
scalars_serialization_test.go
to reflect the changes
- Experimental: customisable validation
- Changed function signature for
graphql.NewTypeInfo()
to accept a struct. - Allows the possibility to remove the experimental
FieldDefFn
params
- Changed function signature for
Changes to public/exported vars / func
Previous | New | Risk |
---|---|---|
graphql.NAME_REGEXP |
graphql.NameRegExp |
Low |
graphql.CollectFieldsParam.OperationType |
graphql.CollectFieldsParam.RuntimeType |
Low |
graphql.GetVisitFn(*visitorOptions, bool, string) |
graphql.GetVisitFn(*visitorOptions, string, bool) |
Low |
graphql.NewTypeInfo(*Schema) |
graphql.NewTypeInfo(*TypeInfoConfig) |
Low |