gqlgen v0.14.0 Release Notes

Release Date: 2021-09-08 // about 1 month ago
  • ➕ Added

    • ➕ Added a changelog :-) Following the same style as Apollo Client because that feels like it gives good thanks to the community contributors. By @MichaelJCompton in #1512
    • ➕ Added support for methods returning (v, ok) shaped values to support Prisma Go client. By @steebchen in #1449
    • ➕ Added a new API to finish an already validated config By @benjaminjkraft in #1387

    🔄 Changed

    • ⚡️ Updated to gqlparser to v2.2.0. By @lwc in #1514
    • ⚡️ GraphQL playground updated to 1.7.26. By @ddouglas in #1436

    🛠 Fixed

    • ✂ Removed a data race by copying when input fields have default values. By @skaji in #1456
    • v0.12.2 broke the handling of pointers to slices by calling the custom Marshal and Unmarshal functions on the entire slice. It now correctly calls the custom Marshal and Unmarshal methods for each element in the slice. By @ananyasaxena in #1363
    • 🔄 Changes in go1.16 that mean go.mod and go.sum aren't always up to date. Now go mod tidy is run after code generation. By @lwc in #1501
    • Errors in resolving non-nullable arrays were not correctly bubbling up to the next nullable field. By @wilhelmeek in #1480
    • 🛠 Fixed a potential deadlock in calling error presenters. By @vektah in #1399
    • 🛠 Fixed collectFields not correctly respecting alias fields in fragments. By @vmrajas in #1341
    • Return introspection document in stable order.
    • By @nyergler in #1497

Previous changes from v0.13.0

  • ➕ Added

    • IsResolver added to FieldContext - #1316

    ⚡️ Updated

    • BC break: User errors returned from directives & resolvers are now consistently wrapped in gqlerror.Errors internally by the runtime, which has been updated to support go 1.13 unwrapping - #1312
      • Since #1115 was merged, errors from inputs have been wrapped, but didn't support unwrapping, leading to #1291
      • With all errors now wrapped before the error presenter is called, custom error presenters that use type assertions will be broken.
      • errors.As must instead be used to assert/convert error types in custom error presenters.
      • See the updated docs on customising the error presenter and the blog post on go 1.13 errors for more details.
    • ✏️ Typos & tweaks to docs - #1295, #1324