Releases: 99designs/gqlgen
Releases · 99designs/gqlgen
v0.15.0
What's Changed
- Resolve requests for federation entities in parallel by @benjaminjkraft in #1285
- serialize ID just like String by @bickyeric in #1340
- Return type loading errors in config.Binder.FindObject by @mathieupost in #1529
- subscriptions: send complete message on resolver panic by @alexsn in #1405
- allow more than 10 different import sources with types by @simborg in #1526
- support input object directive by @Code-Hex in #1525
- Bypass complexity limit on __Schema queries. by @tsh96 in #1581
- fix Options response header by @jjmengze in #1608
- Update to go 1.17 by @mtibben in #1610
- Update errors to use go1.13 semantics by @mtibben in #1606
- [POC/RFC] Split examples into separate go module by @lwc in #1607
- Update golangci linter by @mtibben in #1612
- Clean up non-module deps by @mtibben in #1613
- Also test against 1.16 by @mtibben in #1614
- Update docs for getting started by @mtibben in #1617
- Update disabling Introspection by @flymedllva in #1624
- Fix typo in the getting-started docs by @robertmarsal in #1628
- Appropriately Handle Falsy Default Field Values by @wilhelmeek in #1623
- remove redundant favicon by @ash99d in #1638
- Marshaling & Unmarshaling time return initial value by @frankywahl in #1515
- Forward
go mod tidy
stdout/stderr by @benjaminjkraft in #1619 - Fix example run instructions by @minus7 in #1640
- Update time format for
Time
scalar by @cameronbrill in #1648 - Add QR and KVK to common initialisms by @RichardLindhout in #1419
- Bump tmpl from 1.0.4 to 1.0.5 in /integration by @dependabot in #1627
- Fixes #1653: update docs and wrap error if not *gqlerror.Error by @StevenACoffman in #1654
- Enable lowercase type names in GraphQL schema to properly render by @tkuhlman in #1359
- adding support for sending extension with gqlgen client by @schafle in #1633
- add extraTag directive by @j75689 in #1173
- handling unconventional naming used in type names by @vnj-uber in #1549
- Add graphql schema aware field level hook to modelgen by @tprebs in #1650
- Reload config packages after generating models by @wendorf in #1491
- codegen: ensure Elem present before using by @tmc in #1317
- remove redundant WithOperationContext call by @bickyeric in #1641
- fix double indirect bug by @carldunham in #1604
- Add ReplacePlugin option to replace a specific plugin by @tprebs in #1657
- raise panic when nested @requires are used on federation by @vvakame in #1655
- Update GQLgen test client to work with multipart form data by @Sonna in #1418
- Allow custom websocket upgrader by @foreverest in #1595
- Revert 1595 by @StevenACoffman in #1658
- Revert "Update GQLgen test client to work with multipart form data" by @StevenACoffman in #1659
- Add a config option to skip running "go mod tidy" on code generation by @yar00001 in #1644
- Adds RootFieldInterceptor to extension interfaces by @CoreyWinkelmann in #1647
- Update GQLgen test client to work with multipart form data (take 2) by @Sonna in #1661
- Add follow-schema layout for exec by @kevinmbeaulieu in #1309
- Update directives doc page by @johnmaguire in #1660
- Merge Inline Fragment Nested Interface Fields by @wilhelmeek in #1663
- Add ICMP to common initialisms by @johnmaguire in #1666
- ContextMarshaler by @duckbrain in #1652
- Fix 1138: nested fieldset support by @carldunham in #1669
- feat: generate resolvers for inputs if fields are missing by @danielvladco in #1404
- Update getting-started.md by @wejafoo in #1674
- Fix nil pointer dereference when an invalid import is bound to a model by @johnmaguire in #1676
- Rename
@extraTag
directive to@goTag
and make repeatable by @wilhelmeek in #1680 - Reimplement goTag using FieldMutateHook by @tprebs in #1682
- Support for multiple @key directives in federation by @carldunham in #1684
- DOC: Fixed indention in example code. by @hsblhsn in #1693
- Revert "Support for multiple @key directives in federation" by @StevenACoffman in #1698
- Entity resolver tests by @MiguelCastillo in #1697
- Ignore generated files from test coverage by @StevenACoffman in #1699
- transport: implement
graphql-transport-ws
ws sub-protocol by @jordanabderrachid in #1507 - Replace ! with _ in root.generated file to avoid build conflicts by @yar00001 in #1701
- Adding entity resolver tests for errors, entities with different type… by @MiguelCastillo in #1708
- Resolve multiple federated entities in a single entityResolve call by @MiguelCastillo in #1709
- Separate golangci-lint from other jobs by @StevenACoffman in #1712
- Optimize performance for binder, imports and packages (Rebased from sbalabanov/master) by @StevenACoffman in #1711
- Cleaning up extra return in federation generated code by @MiguelCastillo in #1713
- Fix #1704: handle @required nested fields as in @key by @carldunham in #1706
- Fix plugin addition by @Erwin-k in #1717
- add federation tests by @carldunham in #1719
- Add support for graphql-transport-ws with duplex ping-pong by @zdraganov in #1578
- Don't overwrite field arguments when none match by @edigaryev in #1725
- Close Websocket Connection on Context close/cancel by @RobinCPel in #1728
- fix: automatically register built-in directive goTag by @tprebs in #1737
- Fix list coercion when using graphql variables by @tprebs in #1740
- Add CSV and PDF to common initialisms by @s-takehana in #1741
- Support for multiple @key directives in federation (reworked) by @carldunham in #1723
- Downgrade to Go 1.16 by @StevenACoffman in #1743
- Added pointer to a solution for
no Go files
err by @aircliff in #1747 - Avoid problems with
val
being undefined in the federation template. by @csilvers in #1760 - Migrate playgrounds to GraphiQL by @kirkbyo in #1751
- Improve performance of MarshalBoolean by @tsh96 in #1757
- Fix #1762: Reload packages before merging type systems by @ipfans in #1763
New Contributors
- @bickyeric made their first contribution in #1340
- @mathieupost made their first contribution in #1529
- @simborg made their first contribution in #1526
- @Code-Hex made their first contribution in #1525
- @tsh96 made their first contribution in #1581
- @jjmengze made their first contribution in #1608
- @flymedllva made their first contribution in #1624
- @robertmarsal made their first contribution in #1628
- @ash9...
v0.14.0
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
v0.13.0
Added
IsResolver
added toFieldContext
- #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
v0.12.2
Fixed
- Fixed error during
gqlgen init
that was making starting a new project via the getting started guide impossible - Fix for selecting fragments on different types with overlapping fields - #1280 thanks @jatindevdg
Updated
v0.12.1
v0.12.0
Added
- Support for the OBJECT directive - #1117 thanks @s-ichikawa
- "PGP" added to list of common initialisms - #1198 thanks @ddevault
- Add input path in unmarshaling errors - #1115 thanks @bowd
- Support for pointers in custom un/marshal functions - #1277
Updated
- Websocket dependency version bumped to v1.4.2 to resolve vulnerability - #1207 thanks @k-yomo
- Updated to go 1.14 in CI - #1264
- A heap of documentation improvements - #1104, #1119 #1124, #1131, #1147, #1161, #1181, #1202, #1188, #1189, #1218, #1221, #1224, #1276
Fixed
- gqlgen now works in paths containing a
~
- #1137 thanks @ddevault - Redundant type warning in generated code - #1163 thanks @fwojciec
- POST transport now correctly has
OperationContext
- #1154 thanks @gsgalloway - Fix panic when tracing subscriptions - #1170 thanks @alexsn
- [Federation] Do not require a resolver for "empty" extended types - #1121 thanks @csilvers
- Don't point to named maps & slices - #1242
- GET transport now correctly sets a content type - #1215 thanks @ddouglas
- Removed a bunch of unneeded nil checks from codegen - #1243
- Fixed potential memory leak when processing uploads - #1246 thanks @arkhvoid
- Fixed leaking file descriptors when subscription clients hangup - #1248 thanks @sotoslammer
- Fixed incorrect gqlparser import path - #1262 thanks @sateeshpnv
- Load source based on default config in
gqlgen gen
- #1134 thanks @seriousben - Fixed OBJECT directive to fire when there are no field directives - #1255 thanks @s-ichikawa
Thanks to everyone who contributed to this massive release!
v0.11.3
v0.11.2
Added
- Executor is now public, so if you want to build your own handler package, or skip it in tests you can - #1050
- Uploads now make the content type available to the resolver - #1074
- Generated resolvers now pass golint again - #1054
- Can now check if a function is executing within an operation context - #1051
Updated
- Now on the latest urfav cli - #1057
Fixed
- GenerateCode is now only called once during generation - #1079
v0.11.1
v0.11.0
As we start to approach 1.0 we are going to be breaking a few interfaces to make sure things are right. There are a number of breaking changes in this release so please read https://gqlgen.com/recipes/migration-0.11/
Added
- We now have basic Apollo Federation support. Thanks @marwan-at-work for the implementation and everyone thats been helping to test this. Docs - #851 - #885.
- Resolver can now be regenerated as schema changes - Docs #993
Changed
- The original handler plackage has been replaced by one that has been broken down into pluggable
transports
andmiddleware
. Docs. - Updated gqlparser to v2.0.1 - #1027
- Paths now have an interface over them to let the caller know what values are possible vektah/gqlparser#117
- Swap some NotNulls in the introspection types - vektah/gqlparser#120
- Fix interface & union calculation when extending non existent types - vektah/gqlparser#118
- non existing types can be extended now - vektah/gqlparser#116
- generated syntax when using multiple interfaces is now valid - vektah/gqlparser#115