Skip to content

Releases: graphql-go/graphql

v0.7.1

24 Jul 18:13
Compare
Choose a tag to compare

v0.7.1

  • graphql-js parity v0.6.0.
  • std's lib context @ #214
  • no dependencies @ #218
  • date time scalar @ #219
  • enum type pointer values @ #220
  • gqlerrors nil nodes check @ #221
  • add types on runtime @#195

v0.7.0

23 Jul 00:13
Compare
Choose a tag to compare

Please use this version if using < Go 1.7

  • graphql-js parity v0.6.0.
  • examples improvements @ #216, #190, #181
  • empty string @ #201
  • fix string pointer @ #199
  • readme improvements @ #198, #191
  • binding fields util @ #197
  • parity graphq-js v0.6.0 @ #192
  • vendoring @ #188
  • context deadline @ #185

v0.5.0

28 Jan 00:07
Compare
Choose a tag to compare

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.
  • 03b92b0 Move getTypeOf to execute.js and rename to defaultResolveTypeFn to mirror defaultResolveFn
    • ❗️Breaking Changes: removed ObjectType(interface{}, ResolveInfo) *Object from Abstract interface, Union and Interface structs and moved to executor
    • Affects those that directly retrieved the ObjectType of an Abstract type (Union / Interface)
  • 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 or IsPossibleType 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 and DoTypesOverlap which now require a Schema as a first argument.
  • 1e33c35 [RFC] Add explicit context arg to graphql execution
    • ❗️Breaking Changes
    • Removed Schema from ResolveParams, already available in ResolveParams.Info
    • IsTypeOfFn and ResolveTypeFn params are now struct, similar to FieldResolveFn
    • context is now available for resolving types in IsTypeOfFn and ResolveTypeFn, similar to FieldResolveFn
  • 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

31 May 01:10
Compare
Choose a tag to compare

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.
  • [RFC] Make operation name optional.
  • Spec compliant Int sizing
    • graphql.Int now enforces strict compliance to the spec.
    • int and uint that exceeds 2^32 will be considered as invalid graphql.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

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