NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2780 most downloaded on npm
A set of utils for faster development of GraphQL tools
Last release 26 days ago
08 Sep 2026
Release timing varies
gaps range from 9 days to 3 months
Nearly every release is documented
notes for 59 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
1888 releases · first in 2020
One column per quarter.
Preserves GraphQL 16 compatibility while upgrading to @graphql-tools/utils v12, @graphql-tools/executor v2, and the compatible @graphql-tools/schema a
#2604 ee4cc07 Thanks @enisdenjo! - Support GraphQL 16 with @graphql-tools/utils v12
Preserves GraphQL 16 compatibility while upgrading to @graphql-tools/utils v12, @graphql-tools/executor v2, and the compatible @graphql-tools/schema and @graphql-tools/merge releases. Consumers now receive consistent resolver and execution request types without conflicts between different GraphQL Tools versions.
Stitched and delegated operations handle the new executor variable result shape correctly, including variables used by directives. Resolver execution also supports the executor's cancellation and asynchronous work helpers while remaining compatible with the GraphQL 16 GraphQLResolveInfo API.
#2604 ee4cc07 Thanks @enisdenjo! - dependencies updates:
@graphql-tools/utils@^12.0.1 ↗︎ (from ^11.0.0, in dependencies)Nothing published for this version
Nothing published for this version
Nothing published for this version
Per the GraphQL spec a non-nullable field returning null should propagate to the parent, in this case it should propagate to data. Batched sub-request
#2545 8cbdfd0 Thanks @omahili! - Fixes #1288.
Per the GraphQL spec a non-nullable field returning null should propagate to the parent, in this case it should propagate to data. Batched sub-requests share one merged document so null should propagate to every result and not just the one whose fields actually failed.
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
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
splitResult builds new Array(numResults) and only assigns the indices present in the merged response's data/errors. When a subgraph answers only some
#2452 4311d79 Thanks @wijskinner! - Fix DataLoader must be constructed with a function which accepts Array<key> and returns Promise<Array<value>>, but the function did not return a Promise of an Array thrown when a batched subgraph response omits some of the merged sub-requests.
splitResult builds new Array(numResults) and only assigns the indices present in the merged response's data/errors. When a subgraph answers only some of the batched operations — returning neither a data key nor a path-scoped error for the rest — those slots stay holes. A hole at the trailing slot fails DataLoader's isArrayLike check (which requires hasOwnProperty(length - 1)) even though Array.isArray is true, so the batching executor's DataLoader throws. The result is now densified to numResults, filling any missing slot with an empty ExecutionResult.
This mirrors the sibling fix for @graphql-tools/batch-delegate in #2393.
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
Nothing published for this version
Nothing published for this version
### Patch Changes - #2210 `d2bf6af` Thanks @ardatan! - Inherit operationName, operationType, context, info, and subgraphName from any available reques
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 - #2076 `08c9da2` Thanks @ardatan! - Add automatic batching to SDK requester
Nothing published for this version
### Patch Changes - #2099 `dae3fe4` Thanks @copilot-swe-agent! - Fix missing NPM provenance attestation by enabling npmPublishProvenance in Yarn confi
dae3fe4 Thanks @copilot-swe-agent! - Fix missing NPM provenance attestation by enabling npmPublishProvenance in Yarn configurationNothing 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 →