NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2760 most downloaded on npm
Last release today
03 Oct 2026
Ships fairly regularly
a new release about every 1 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
8 years old
6629 releases · first in 2019
This is causing all masked fields to be optional due to how function type override works.
#10916
d95d378
Thanks @eddeee888! - Revert Partial handling when conditional
fragment and fragment masking are used
This is causing all masked fields to be optional due to how function type override works.
Nothing published for this version
One column per quarter.
### Patch Changes - #10904 `2dd1531` Thanks @eddeee888! - Fix fragment masking generation when conditional directive is used
2dd1531
Thanks @eddeee888! - Fix fragment masking generation when
conditional directive is usedNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
### Patch Changes - #10882 `206a409` Thanks @wassim-k! - Avoid emitting an empty import statement (import '...';) when an import source has no identif
#10882
206a409
Thanks @wassim-k! - Avoid emitting an empty import statement
(import '...';) when an import source has no identifiers and no namespace.
#10899
e7a1451
Thanks @eddeee888! - Fix conditional directive (@skip and
@include) incorrectly drop fields in Result when used on Inline Fragment / Fragment Spread
Nothing published for this version
Nothing published for this version
@graphql-codegen/plugin-helpers@7.2.1
@graphql-codegen/plugin-helpers@7.2.1
bd689bb
Thanks @eddeee888! - Fix issues when
extractAllFieldsToTypes=true and @defer are used, then duplicate types may be generatedNothing published for this version
Nothing published for this version
@graphql-codegen/plugin-helpers@7.2.0
@graphql-codegen/plugin-helpers@7.2.0
959915f
Thanks @eddeee888! - dependencies updates:
@graphql-tools/utils@^11.2.0 ↗︎
(from ^11.0.0, in dependencies)graphql@^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 ↗︎
(from
^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0,
in peerDependencies)959915f]:
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
### Patch Changes - #10839 `8a65a1b` Thanks @vkbansal-rubrik! - handles conditional spread of a fragment whose top-level selections are fragment sprea
8a65a1b
Thanks @vkbansal-rubrik! - handles conditional spread of a
fragment whose top-level selections are fragment spreads or contain inline fragments@graphql-codegen/add@7.1.1
@graphql-codegen/add@7.1.1
6d37a7d
Thanks @eddeee888! - Fix _fragments to be protected instead of
privateNothing published for this version
Nothing published for this version
### Minor Changes - #10863 `8707247` Thanks @eddeee888! - Create typedDocumentString to support TypedDocumentString usage (common in Client-side plugi
8707247
Thanks @eddeee888! - Create typedDocumentString to support
TypedDocumentString usage (common in Client-side plugins when documentMode=string)Nothing published for this version
Nothing published for this version
### Patch Changes - #10554 `446aef4` Thanks @eddeee888! - Fix fragments not getting deduped when documentMode=graphQLTag
446aef4
Thanks @eddeee888! - Fix fragments not getting deduped when
documentMode=graphQLTagNothing published for this version
Updated dependency `@graphql-codegen/plugin-helpers@workspace:^` ↗︎ (from ^7.0.0, in dependencies)
55a4742
Thanks @eddeee888! - dependencies updates:
@graphql-codegen/plugin-helpers@workspace:^ ↗︎
(from ^7.0.0, in dependencies)Nothing published for this version
Nothing published for this version
Nothing published for this version
### Patch Changes - #10777 `a6a6786` Thanks @ikusakov2! - skip conditional selection separation when extractAllFieldsToTypesCompact is enabled
a6a6786
Thanks @ikusakov2! - skip conditional selection separation when
extractAllFieldsToTypesCompact is enabledNothing published for this version
### Patch Changes - #10781 `5f035cb` Thanks @eddeee888! - Fix const enum applying typesPrefix and typesSuffix incorrectly
5f035cb
Thanks @eddeee888! - Fix const enum applying typesPrefix and
typesSuffix incorrectlyNothing published for this version
BREAKING CHANGE: Remove getRootTypeNames function because it's available in @graphql-utils/tools and not used anywhere
#10496
afaace6
Thanks @eddeee888! - Fix nullable field optionality in operations
Previously, a nullable Result field is generated as optional (marked by ? TypeScript modifier)
by default. This is not correct, because generally at runtime such field can only be null, and
not undefined (both missing from the object OR undefined). The only exceptions are when fields
are deferred (using @defer directive) or marked as conditional (using @skip or @include).
Now, a nullable Result field cannot be optional unless the exceptions are met. This also limits
avoidOptionals to only target Variables input, since some users may want to force explicit
null when providing operation variables.
#10496
afaace6
Thanks @eddeee888! - BREAKING CHANGE: visitors' config option are
moved based on their use case
Refactors
Note: These visitors are rolled up into one type for simplicity
base-visitorbase-documents-visitor and typescript-operations visitorbase-types-visitor and typescript visitorbase-resolvers-visitor and typescript-resolvers visitor#10496
afaace6
Thanks @eddeee888! - BREAKING CHANGE: make unknown instead of
any the default custom scalar type
#10496
afaace6
Thanks @eddeee888! - BREAKING CHANGE: Update deps to latest, some
only support ESM
Node 20 support is dropped in this release. Node 22 comes with require() support for ESM, which
means it's easier to integrate ES modules into applications. Therefore, it is safe to start using
ESM-only packages.
If you are a user, please upgrade to Node 22. If you are a lib maintainer and see ESM vs CJS issues when running Jest tests, try using Vitest.
#10496
afaace6
Thanks @eddeee888! - BREAKING CHANGE: Drop Node 20 support
#10496
afaace6
Thanks @eddeee888! - BREAKING CHANGE:
@graphql-codegen/visitor-plugin-common's base-types-visitor no longer has getNodeComment or
buildEnumValuesBlock method.
#10496
afaace6
Thanks @eddeee888! - BREAKING CHANGE: Operation plugin and Client
Preset no longer generates optional __typename for result type
__typenam should not be in the request unless:
Note: Apollo Client users can still use nonOptionalTypename: true and
skipTypeNameForRoot: true to ensure generated types match the runtime behaviour.
#10496
afaace6
Thanks @eddeee888! - BREAKING CHANGE: Remove unused utility types
from typescript plugin as they were previously used for typescript-operations plugin:
MakeOptionalMakeMaybeMakeEmptyIncrementalBREAKING CHANGE: Remove getRootTypeNames function because it's available in
@graphql-utils/tools and not used anywhere
#10496
afaace6
Thanks @eddeee888! - Add support for declarationKind for
typescript-operations
type or interfacetype because it's an alias e.g.
Variables = Exact<{ something: type }>type or interface
extractAllFieldsToTypes:true or extractAllFieldsToTypesCompact:true, Results
are used as type alias, so they are forced to be type. There is a console warning for users.#10496
afaace6
Thanks @eddeee888! - Add importSchemaTypesFrom support
#10496
afaace6
Thanks @eddeee888! - Adding config option
extractAllFieldsToTypesCompact, which renders nested types names with field names only (without
types)
#10496
afaace6
Thanks @eddeee888! - Add generateOperationTypes to
typescript-operations to allow omitting operation types such as Variables,
Query/Mutation/Subscription selection set, and Fragment types
#10496
afaace6
Thanks @eddeee888! - Fixing 2 bugs: 1) including enums from
external fragments; 2) extractAllFieldsToTypesCompact does not create duplicates
#10496
afaace6
Thanks @eddeee888! - dependencies updates:
auto-bind@^5.0.0 ↗︎ (from
~4.0.0, in dependencies)change-case-all@^2.1.0 ↗︎ (from
1.0.15, in dependencies)#10496
afaace6
Thanks @eddeee888! - dependencies updates:
auto-bind@^5.0.0 ↗︎ (from
~4.0.0, in dependencies)change-case-all@^2.1.0 ↗︎ (from
1.0.15, in dependencies)#10496
afaace6
Thanks @eddeee888! - Improve namespacedImportName usability by
setting a default when importSchemaTypesFrom is set
#10496
afaace6
Thanks @eddeee888! - Add printTypeScriptMaybeType to handle
printing TS types, as there are special cases like any and unknown
#10496
afaace6
Thanks @eddeee888! - Fix isNativeNamedType to handle types from
remote schemas correctly
Previously, we assumed that if a name type does note have astNode, it is a native named type
because it is not declared in user's schema.
However, this is a wrong assumption because remote schemas do not have astNode. This causes all
user declared types are wrongly recognised as native types e.g. Input
#10496
afaace6
Thanks @eddeee888! - Ensure Input and Variables use the same input
scalars default e.g. ID can take string | number
#10496
afaace6
Thanks @eddeee888! - Fix namingConvention not being applied
consistently
#10496
afaace6
Thanks @eddeee888! - Abstract how enum imports are generated into
visitor-plugin-common package
#10496
afaace6
Thanks @eddeee888! - Fix namingConvention not being applied
consistently in imports, Variables, Input and Result
Updated dependencies
[afaace6,
afaace6,
afaace6,
afaace6]:
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →