github.com/Khan/genqlient
v0.8.1
Khan/genqlient
What this package is like to depend on
Last release 15 days ago
08 Aug 2026
Release timing varies
gaps range from 1 weeks to 6 months
Nearly every release is documented
notes for 9 of 9 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
213 releases · first in 2021
15 releases in the last 12 months
see the full history below
Release timeline
213 releases · Mar 2021 to Aug 2026Releases
latest 60 of 213-
v0.8.2-0.20260808220311-f53a04c8e9d208 Aug 2026 pre-releaseNothing published for this version
-
v0.8.2-0.20260808215155-c33b06058f3008 Aug 2026 pre-releaseNothing published for this version
-
v0.8.2-0.20260527022710-6bbde3684dd627 May 2026 pre-releaseNothing published for this version
-
v0.8.2-0.20260523185242-8583f53565d523 May 2026 pre-releaseNothing published for this version
-
v0.8.2-0.20251119073406-eea54beb216519 Nov 2025 pre-releaseNothing published for this version
-
v0.8.2-0.20251119064104-5b0aabc933fa19 Nov 2025 pre-releaseNothing published for this version
-
v0.8.2-0.20251028055421-48003b9627c328 Oct 2025 pre-releaseNothing published for this version
-
v0.8.2-0.20251028054717-8ddeeee0a15a28 Oct 2025 pre-releaseNothing published for this version
-
v0.8.2-0.20250910230456-7c070dd710ca10 Sep 2025 pre-releaseNothing published for this version
-
v0.8.2-0.20250814234345-01cfbc3903fc14 Aug 2025 pre-releaseNothing published for this version
-
v0.8.2-0.20250802170739-c1dac594897b02 Aug 2025 pre-releaseNothing published for this version
-
v0.8.2-0.20250802165604-ef288a3eecca02 Aug 2025 pre-releaseNothing published for this version
-
v0.8.2-0.20250628204701-35bfe030599a28 Jun 2025 pre-releaseNothing published for this version
-
v0.8.2-0.20250627175650-d973af1dbedb27 Jun 2025 pre-releaseNothing published for this version
-
v0.8.2-0.20250617064312-a4b774ddf33f17 Jun 2025 pre-releaseNothing published for this version
-
v0.8.118 May 2025Release notes
Open source →This release fixes a bug introduced in v0.8.0 breaking path resolution on Windows, along with some other small features and bugs.
New features:
- Added
@genqlient(alias)directive to customize field names without requiring GraphQL aliases (fixes #367) - Added
auto_camel_caseconfig option to automatically convert snake_case to camelCase in both field names and type names
Bug fixes:
- fixed path resolution on Windows
- fixed documentation link in
introduction.md - upgraded version of alexflint/go-arg from 1.4.2 to 1.5.1
- fixed a typo in the struct + fragment error message
Release notes
Open source →This release fixes a bug introduced in v0.8.0 breaking path resolution on Windows, along with some other small features and bugs.
New features:
- Added
@genqlient(alias)directive to customize field names without requiring GraphQL aliases (fixes #367) - Added
auto_camel_caseconfig option to automatically convert snake_case to camelCase in both field names and type names
Bug fixes:
- fixed path resolution on Windows
- fixed documentation link in
introduction.md - upgraded version of alexflint/go-arg from 1.4.2 to 1.5.1
- fixed a typo in the struct + fragment error message
- avoid error when a subscription message is received without a subscription ID
- avoid closing subscription channels more than once, which could cause a panic in some cases
- Added
-
v0.8.1-0.20250414044149-e2e0ef0ffa0614 Apr 2025 pre-releaseNothing published for this version
-
v0.8.1-0.20250413182005-bc17161536c013 Apr 2025 pre-releaseNothing published for this version
-
v0.8.1-0.20250408024208-86db6f08b9de08 Apr 2025 pre-releaseNothing published for this version
-
v0.8.1-0.20250328050431-3a0d213034f728 Mar 2025 pre-releaseNothing published for this version
-
v0.8.003 Feb 2025Release notes
Open source →This release adds support for genqlient subscriptions; see the documentation for more, and thanks to @matthieu4294967296moineau for the original implementation and @HaraldNordgren for additional testing and improvements.
Note that genqlient now requires Go 1.22.5 or higher, and is tested through Go 1.23.3.
Breaking changes:
- genqlient now forbids
omitempty: false(including implicit behaviour) when using pointer on non-null input field. - The error text for HTTP errors has changed slightly. If you were parsing it, switch to
As-ing tographql.HTTPError.
New features:
- genqlient now supports subscriptions; the websocket protocol is by default
graphql-transport-wsbut can be set to another value.
See the documentation for more details on how to use subscriptions. - genqlient now supports double-star globs for schema and query files; see
genqlient.yamldocs for more. - genqlient now generates slices containing all enum values for each enum type.
- genqlient now returns
Is/As-able errors when the HTTP request returns a non-200 status.
Bug fixes:
- omitempty validation:
- allow
omitemptyon non-nullable input field, if the field has a default - allow
omitempty: falseon an input field, even when it is non-nullable
- allow
- don't do
omitemptyandpointerinput types validation whenuse_struct_referenceis used, as the generated type is often not compatible with validation logic. - the
allow_broken_featuresoption, which no longer did anything, has been removed
Release notes
Open source →This release adds support for genqlient subscriptions; see the documentation for more, and thanks to @matthieu4294967296moineau for the original implementation and @HaraldNordgren for additional testing and improvements.
Note that genqlient now requires Go 1.22.5 or higher, and is tested through Go 1.23.3.
Breaking changes:
- genqlient now forbids
omitempty: false(including implicit behaviour) when using pointer on non-null input field. - The error text for HTTP errors has changed slightly. If you were parsing it, switch to
As-ing tographql.HTTPError.
New features:
- genqlient now supports subscriptions; the websocket protocol is by default
graphql-transport-wsbut can be set to another value. See the documentation for more details on how to use subscriptions. - genqlient now supports double-star globs for schema and query files; see
genqlient.yamldocs for more. - genqlient now generates slices containing all enum values for each enum type.
- genqlient now returns
Is/As-able errors when the HTTP request returns a non-200 status.
Bug fixes:
- omitempty validation:
- allow
omitemptyon non-nullable input field, if the field has a default - allow
omitempty: falseon an input field, even when it is non-nullable
- allow
- don't do
omitemptyandpointerinput types validation whenuse_struct_referenceis used, as the generated type is often not compatible with validation logic. - the
allow_broken_featuresoption, which no longer did anything, has been removed
- genqlient now forbids
-
v0.7.1-0.20241202052121-d3e516b53f5f02 Dec 2024 pre-releaseNothing published for this version
-
v0.7.1-0.20241201010106-5913cd65dac501 Dec 2024 pre-releaseNothing published for this version
-
v0.7.1-0.20240930155758-e030ff17cbdf30 Sep 2024 pre-releaseNothing published for this version
-
v0.7.1-0.20240819060157-4466fc10e4f319 Aug 2024 pre-releaseNothing published for this version
-
v0.7.1-0.20240817050740-7a9d84f70b8617 Aug 2024 pre-releaseNothing published for this version
-
v0.7.1-0.20240817050723-7eb3fca2577017 Aug 2024 pre-releaseNothing published for this version
-
v0.7.1-0.20240817000003-87e2448efff017 Aug 2024 pre-releaseNothing published for this version
-
v0.7.1-0.20240813025229-07f36772605013 Aug 2024 pre-releaseNothing published for this version
-
v0.7.1-0.20240703170843-2f265d2ed7d303 Jul 2024 pre-releaseNothing published for this version
-
v0.7.1-0.20240613010624-35fbf5b7e26213 Jun 2024 pre-releaseNothing published for this version
-
v0.7.1-0.20240607162436-1a44ec78e37007 Jun 2024 pre-releaseNothing published for this version
-
v0.7.1-0.20240405163908-3da9a0f905b305 Apr 2024 pre-releaseNothing published for this version
-
v0.7.1-0.20240313235648-8dc71037926c13 Mar 2024 pre-releaseNothing published for this version
-
v0.7.005 Mar 2024Release notes
Open source →In addition to several new features and bugfixes, along with this release comes reorganized documentation for genqlient. Note that genqlient now requires Go 1.20 or higher, and is tested through Go 1.22.
What's Changed
- Add "generic" option to the "optional" configuration for handling nullable types by @DylanRJohnston in #252
- Documentation tweaks relating to releases by @benjaminjkraft in #271
- Add some better tests for use_struct_references by @benjaminjkraft in #273
- Add an option to handle enums with ugly casing by @benjaminjkraft in #270
- Add some more tests for config validation, and fix some gaps by @benjaminjkraft in #274
- Add consideration for pointer false directive when optional: pointer configuration option is used by @spencermurray in #280
- Update gqlparser and gqlgen dependencies by @StevenACoffman in #282
- Update gqlparser to omit comments by @StevenACoffman in #284
- bugfix: local variable 'data' colliding with argument name by @zholti in #291
- Pin lint workflow's Go version by @benjaminjkraft in #311
- Upgrade golangci-lint and which go we run it with by @benjaminjkraft in #314
- fix implementation type generation for fragment on a union by @zzh8829 in #310
- Support more valid graphql file extensions by @zzh8829 in #309
- Add tests on Go 1.22, and upgrade x/tools to make them work by @benjaminjkraft in #315
- Update gqlgen to latest by @StevenACoffman in #317
- move genqlient Go module to 1.20 by @StevenACoffman in #318
- Improve package-sniffing and bind correctly to types in the same package by @benjaminjkraft in #316
- Reorganize and improve documentation by @benjaminjkraft in #322
- Fix non-deterministic generated code involving interfaces and fragments. by @csilvers in #323
- Release v0.7.0 by @benjaminjkraft in #324
New Contributors
- @DylanRJohnston made their first contribution in #252
- @spencermurray made their first contribution in #280
- @zholti made their first contribution in #291
- @zzh8829 made their first contribution in #310
Full Changelog: v0.6.0...v0.7.0
Release notes
Open source →In addition to several new features and bugfixes, along with this release comes reorganized documentation for genqlient. Note that genqlient now requires Go 1.20 or higher, and is tested through Go 1.22.
New features:
- The new
optional: genericallows using a generic type to represent optionality. See the documentation for details. - The new
optional: pointer_omitemptyallows using a pointer that is also annotated withomitempty. See the documentation for details. - For schemas with enum values that differ only in casing, it's now possible to disable smart-casing in genqlient.yaml; see the documentation for
casingfor details. - genqlient now supports .graphqls and .gql file extensions for schemas and queries.
- More accurately guess the package name for generated code (and warn if the config option -- now almost never needed -- looks wrong).
Bug fixes:
- Negative pointer directives, i.e.,
# @genqlient(pointer: false)are now respected even in the whenoptional: pointeris set in the configuration file. - Made name collisions between query/mutation arguments and local function variables less likely.
- Fix generation issue related to golang type implementation of complex graphql union fragments.
- Bind correctly to types in the same package as the generated code.
- Fix non-deterministic generated code when querying graphql interfaces via named fragments.
-
v0.6.1-0.20240305065909-83d2f250215705 Mar 2024 pre-releaseNothing published for this version
-
v0.6.1-0.20240226193248-9f8e2b262fc926 Feb 2024 pre-releaseNothing published for this version
-
v0.6.1-0.20240220050211-ae275ac6210820 Feb 2024 pre-releaseNothing published for this version
-
v0.6.1-0.20240219164113-5bdd7fd3ea9a19 Feb 2024 pre-releaseNothing published for this version
-
v0.6.1-0.20240218204804-662ca8f1ee3418 Feb 2024 pre-releaseNothing published for this version
-
v0.6.1-0.20240218163914-4afbe4b0494a18 Feb 2024 pre-releaseNothing published for this version
-
v0.6.1-0.20240218015813-9ddd26f8138318 Feb 2024 pre-releaseNothing published for this version
-
v0.6.1-0.20240216224014-7740a6a0cf0416 Feb 2024 pre-releaseNothing published for this version
-
v0.6.1-0.20240215181148-20a8c5ec38b515 Feb 2024 pre-releaseNothing published for this version
-
v0.6.1-0.20240215033104-9e6c7d23a34515 Feb 2024 pre-releaseNothing published for this version
-
v0.6.1-0.20230801203035-28aafc79a9f901 Aug 2023 pre-releaseNothing published for this version
-
v0.6.1-0.20230717163326-0aa03e92e21417 Jul 2023 pre-releaseNothing published for this version
-
v0.6.1-0.20230716123437-05817543f5ab16 Jul 2023 pre-releaseNothing published for this version
-
v0.6.1-0.20230710035903-34447eb82abe10 Jul 2023 pre-releaseNothing published for this version
-
v0.6.1-0.20230508005208-65d934a7059408 May 2023 pre-releaseNothing published for this version
-
v0.6.1-0.20230507191513-ff790e1c063107 May 2023 pre-releaseNothing published for this version
-
v0.6.1-0.20230506211200-9b2f16c0884c06 May 2023 pre-releaseNothing published for this version
-
v0.6.1-0.20230506174003-c61d7acaa59c06 May 2023 pre-releaseNothing published for this version
-
v0.6.006 May 2023Release notes
Open source →Version 0.6.0 includes some small features and bugfixes. Note that genqlient now requires Go 1.18 or higher, and is tested through Go 1.20.
What's Changed
- Add configuration AutoBindings method by @NuVivo314 in #169
- Mention how to update the snapshot tests by @benjaminjkraft in #210
- make output deterministic for graphql interfaces by @vikstrous2 in #209
- Add more information about updating snapshots by @benjaminjkraft in #211
- Fix incorrectly formatted error string by @breml in #213
- Bump golangci-lint and (max) Go versions by @benjaminjkraft in #219
- Give a better error if package_bindings is a file by @benjaminjkraft in #221
- Move changelog entry to the right version by @benjaminjkraft in #217
- Fix documentation for
optional: valueby @benjaminjkraft in #229 - Support package-names with dashes in them by @benjaminjkraft in #232
- fixed "for" directive documentation by @bafko in #235
- Expose the graphql operation as a constant in the generated genqlient file by @csilvers in #238
- Rename the query constant to have an underscore in it. by @csilvers in #241
- Automatically update generated files if UPDATE_SNAPSHOTS=1 by @benjaminjkraft in #243
- PR 239 update: Adding more logging for the initial generate setup by @StevenACoffman in #246
- Fix minor mistake in code sample in README by @omarkohl in #253
- Bump golang.org/x/sys from 0.0.0-20220319134239-a9b59b0215f8 to 0.1.0 by @dependabot in #259
- Bump minimum Go version to 1.18 by @benjaminjkraft in #262
- Update gqlgen to latest by @StevenACoffman in #268
- fix: premarshal structs get generated with omitempty tag by @kevinmichaelchen in #267
- Release v0.6.0 by @benjaminjkraft in #269
New Contributors
- @NuVivo314 made their first contribution in #169
- @vikstrous2 made their first contribution in #209
- @breml made their first contribution in #213
- @bafko made their first contribution in #235
- @omarkohl made their first contribution in #253
- @dependabot made their first contribution in #259
- @kevinmichaelchen made their first contribution in #267
Full Changelog: v0.5.0...v0.6.0
Release notes
Open source →Version 0.6.0 includes some small features and bugfixes. Note that genqlient now requires Go 1.18 or higher, and is tested through Go 1.20.
New features:
- You can now bind all types from a package in
genqlient.yamlusing the newpackage_bindingsoption. - The graphql operation (query or mutation) as sent over the wire is now exposed via a constant in the generated genqlient .go file.
Bug fixes:
- Fixed non-deterministic generated code when querying graphql interfaces.
- Fixed generated code when last component of package name is not a valid identifier (e.g.
"path/to/my-package"). - Fixed incorrect documentation of
fordirective. - Fixed bug where
omitemptyJSON tags were not being correctly applied to__premarshalstructs.
-
v0.5.1-0.20230505160520-15f507b8de0c05 May 2023 pre-releaseNothing published for this version
-
v0.5.1-0.20230408234834-677fa94d301c08 Apr 2023 pre-releaseNothing published for this version
-
v0.5.1-0.20230225174417-ff44aa07c1fd25 Feb 2023 pre-releaseNothing published for this version
-
v0.5.1-0.20230214171055-a42359b4358b14 Feb 2023 pre-releaseNothing published for this version
-
v0.5.1-0.20221222163608-596c33f0b09122 Dec 2022 pre-releaseNothing published for this version
-
v0.5.1-0.20221222071920-b1adeca6da3c22 Dec 2022 pre-releaseNothing published for this version