Skip to content

Releases: 99designs/gqlgen

v0.8.0

04 Mar 05:05
Compare
Choose a tag to compare

Another huge release. Lots of changes under the covers as we march on towards 1.0

This release requires golang 1.11+

Added

  • we now support go modules - see the new getting started guide
  • First cut of the new plugin system. model and resolver generation are now plugins and can be replaced if you want. See plugins for more details.
  • There can now be multiple backing go types for a given graphql type. This means we can now support int, int32 and int64 at the same time for Int. You can also use this logic for automatically mapping protobuf timestamps to graphql Time. See config for the new config keys. - #534
  • Support for directives on arguments and input fields - #460
  • Enums now generate an AllEnum list, so you can easily enumerate all valid values - #486
  • more validation of schemas, less weird errors (hopefully) - #526
  • check IsZero on types that support it and convert to nulls on the wire - #540
  • improved collect fields api and docs - #551

Changed

  • Some small performance improvements - #465
  • we now always return pointers to structs from resovers - #375

Fixed

  • some response were not setting the correct content type header - #532 #498
  • some case collision issues - #541
  • panics in weird places should be handled more gracefully - #554
  • Lots and lots of smaller bugs

v0.7.2

05 Feb 00:37
Compare
Choose a tag to compare

Added

  • websocket keepalive (disabled by default) #530

v0.7.1

28 Nov 22:57
3a7f37c
Compare
Choose a tag to compare

Fixed

  • malformed gqlparser constraint, preventing 0.7.0 from being installed
  • empty deprecationReason in introspection causing graphiql to mark everything as deprecated

v0.7.0

28 Nov 03:28
Compare
Choose a tag to compare

Changed

  • We no longer recommend installing gqlgen on your gopath/bin, instead create a script - #416
  • Underscores will now be ignored for matching fields to model methods - #370
  • If errors is present in the response it will be sent first - #369
  • Updated to latest version of graphql-playground - #409
  • Moved our docs to render - #425
  • Floats will now handle up to 64bits of precision on the wire, instead of truncating to 6 decimal places - #449

Added

  • Multiple schema files can be now be loaded, see config docs - #389
  • Added pluggable tracing system - #392
  • Added gqlgen-contrib with tracing implementations for opentracing, opencensus and apollo tracing.
  • The current resolvers errors can now be fetched from context - #411
  • Model methods can now optionally receive a context param - #422
  • Introspection can now be disabled - #447

Fixed

  • Fixed a pointer comparison issue when binding to slice types - #439
  • Updated to v1.0.0 of gqlparser. Heaps of extra validation messages and bugs fixed

Removed

v0.6.0

03 Oct 00:38
Compare
Choose a tag to compare

Changed

  • Signpost methods are generated for empty interfaces - #335
  • Non-Required arguments with defaults keep their pointers (foo: Int = 1 -> foo *int) - #359

Added

  • Extensions can now be added to the response via the RequestContext - #334
  • Payload of websocket init message can now be fetched - #348

Fixed

  • Contexts from middleware are propagated down the execution tree - #353
  • Embedding pointers to structs now works correctly - #358
  • goimports will no longer magically add missing imports - #365

v0.5.1

13 Sep 01:57
Compare
Choose a tag to compare

Fixed

  • Goroutines don't leak when using subscriptions #339

v0.5.0

31 Aug 02:17
Compare
Choose a tag to compare

Changed

  • Errors that create nulls in required fields will now invalid the parent object, this behavior will bubble - #298
  • HTTP GET requests can no longer do mutations #325

Added

  • Limits can now be set on query complexity, preventing DOS attacks #315
  • Ability to bind fields based on struct tags #308
  • Gopath is now validated when starting gqlgen #312
  • The parent result (obj) can now be accessed by directives and from context #301 #314
  • Query validation is now memoized across requests #318
  • Descriptions have been added to generated code #320
  • gqlgen version now reports the current version #326

Fixed

  • Examples and doc cleanups #298 #304
  • Introspection API fixes #307
  • Fixed a bug in the graphql client that was hiding errors #311
  • gqlgen init now works on windows #299

Removed

  • json typemaps are no longer supported #321
  • old cli flags package, modelPackage, exec, server, models have been removed, these are available in config #322

Shoutout to @edsrzf @vvakame @porty @android @codyleyhan @jekaspekas for bringing us another great release!

v0.4.4

21 Aug 03:15
@lwc lwc
Compare
Choose a tag to compare

Fixed

  • Forcing resolvers for existing fields no longer looks at the existing fields pointers
  • Directives are now sorted in the generated code, preventing non deterministic ordering
  • The gqlgen command now explicitly depends on the code required to run generated code, preventing dep from pruning things that are required

Changed

  • Switching to vX.X.X tags so we can start experimenting with go modules

0.4.3

10 Aug 03:54
3575c28
Compare
Choose a tag to compare

Fixed:

  • Missing default args on introspection

0.4.2

10 Aug 00:05
06b00d4
Compare
Choose a tag to compare

Fixed:

  • gqlgen init now has a better error message if config file already exists
  • keyword collisions on args like type will now use the more linter friendly typeArg instead of type_
  • github.com/vektah/gqlgen/handler will now be imported correctly
  • variable validation errors will no longer double up on responses
  • NON_NULL types will now be returned by introspection correctly and introspection has better test coverage