Upcoming Release Changes - #8327
Open
github-actions[bot] wants to merge 1 commit into
Open
Conversation
github-actions
Bot
force-pushed
the
changeset-release/master
branch
9 times, most recently
from
August 4, 2026 01:14
1ad430d to
86c53c7
Compare
github-actions
Bot
force-pushed
the
changeset-release/master
branch
7 times, most recently
from
August 7, 2026 13:31
85f8b24 to
591bd3f
Compare
github-actions
Bot
force-pushed
the
changeset-release/master
branch
from
August 7, 2026 13:33
591bd3f to
fa19031
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to master, this PR will be updated.
Releases
@graphql-tools/executor@2.0.0
Major Changes
#8346
2273c21Thanks @ardatan! - This release adds GraphQL v17 support and aligns
the existing executor implementation with the latest GraphQL v17 API changes. The following
changes are included:
getAsyncHelpersis now available onGraphQLResolveInfo. Itstrackmethod is used wheneverwaitUntilis available, as in Yoga'sExplicit Resource Management
getAbortSignalis now available onGraphQLResolveInfo, matching behavior that was alreadyavailable in this executor implementation, as in Yoga's
Execution Cancellation
GraphQLResolveInfoautomatically alignsvariableValuesaccording to the GraphQL version forbetter compatibility. In GraphQL v17 and above,
variableValuesfollows the wrapped shape(
{ coerced, sources }) expected by GraphQL APIs. In GraphQL v16 and below,variableValuesremains a flat map as in previous versions.
__serializeand__parseValue, they are automaticallymapped to
coerceOutputValueandcoerceInputValuein GraphQL v17.@graphql-tools/executor'sgetVariableValuesnow returns{ variableValues }on success, where
variableValuesis aVariableValuesobject ({ coerced, sources }). Onfailure, it returns
{ errors }.collectFields,shouldIncludeNode,getDeferValues, andcollectSubFieldsnowneed a
VariableValuesobject instead ofRecord<string, any>for thevariableValuesargument.
visitResultnow internally normalizesExecutionRequest.variablesinto aVariableValues-compatible shape ({ coerced, sources }) before traversing selections.Patch Changes
[
2273c21]:@graphql-tools/utils@12.0.0
Major Changes
#8346
2273c21Thanks @ardatan! - This release adds GraphQL v17 support and aligns
the existing executor implementation with the latest GraphQL v17 API changes. The following
changes are included:
getAsyncHelpersis now available onGraphQLResolveInfo. Itstrackmethod is used wheneverwaitUntilis available, as in Yoga'sExplicit Resource Management
getAbortSignalis now available onGraphQLResolveInfo, matching behavior that was alreadyavailable in this executor implementation, as in Yoga's
Execution Cancellation
GraphQLResolveInfoautomatically alignsvariableValuesaccording to the GraphQL version forbetter compatibility. In GraphQL v17 and above,
variableValuesfollows the wrapped shape(
{ coerced, sources }) expected by GraphQL APIs. In GraphQL v16 and below,variableValuesremains a flat map as in previous versions.
__serializeand__parseValue, they are automaticallymapped to
coerceOutputValueandcoerceInputValuein GraphQL v17.@graphql-tools/executor'sgetVariableValuesnow returns{ variableValues }on success, where
variableValuesis aVariableValuesobject ({ coerced, sources }). Onfailure, it returns
{ errors }.collectFields,shouldIncludeNode,getDeferValues, andcollectSubFieldsnowneed a
VariableValuesobject instead ofRecord<string, any>for thevariableValuesargument.
visitResultnow internally normalizesExecutionRequest.variablesinto aVariableValues-compatible shape ({ coerced, sources }) before traversing selections.@graphql-tools/schema@10.1.0
Minor Changes
#8346
2273c21Thanks @ardatan! - This release adds GraphQL v17 support and aligns
the existing executor implementation with the latest GraphQL v17 API changes. The following
changes are included:
getAsyncHelpersis now available onGraphQLResolveInfo. Itstrackmethod is used wheneverwaitUntilis available, as in Yoga'sExplicit Resource Management
getAbortSignalis now available onGraphQLResolveInfo, matching behavior that was alreadyavailable in this executor implementation, as in Yoga's
Execution Cancellation
GraphQLResolveInfoautomatically alignsvariableValuesaccording to the GraphQL version forbetter compatibility. In GraphQL v17 and above,
variableValuesfollows the wrapped shape(
{ coerced, sources }) expected by GraphQL APIs. In GraphQL v16 and below,variableValuesremains a flat map as in previous versions.
__serializeand__parseValue, they are automaticallymapped to
coerceOutputValueandcoerceInputValuein GraphQL v17.@graphql-tools/executor'sgetVariableValuesnow returns{ variableValues }on success, where
variableValuesis aVariableValuesobject ({ coerced, sources }). Onfailure, it returns
{ errors }.collectFields,shouldIncludeNode,getDeferValues, andcollectSubFieldsnowneed a
VariableValuesobject instead ofRecord<string, any>for thevariableValuesargument.
visitResultnow internally normalizesExecutionRequest.variablesinto aVariableValues-compatible shape ({ coerced, sources }) before traversing selections.Patch Changes
[
2273c21,7fe0319]:@graphql-tools/executor-apollo-link@2.0.13
Patch Changes
#8346
2273c21Thanks @ardatan! - dependencies updates:
graphql@^15.2.0 || ^16.0.0 || ^17.0.0↗︎(from
^15.2.0 || ^16.0.0, inpeerDependencies)#8346
2273c21Thanks @ardatan! - dependencies updates:
graphql@^15.2.0 || ^16.0.0 || ^17.0.0↗︎(from
^15.2.0 || ^16.0.0, inpeerDependencies)Updated dependencies
[
2273c21]:@graphql-tools/executor-envelop@4.0.13
Patch Changes
[
2273c21]:@graphql-tools/executor-legacy-ws@1.1.33
Patch Changes
755d699Thanks @dependabot! - dependencies updates:
ws@^8.21.2↗︎ (from^8.21.1,in
dependencies)[
2273c21]:@graphql-tools/executor-urql-exchange@1.0.35
Patch Changes
#8346
2273c21Thanks @ardatan! - dependencies updates:
graphql@^15.2.0 || ^16.0.0 || ^17.0.0↗︎(from
^15.2.0 || ^16.0.0, inpeerDependencies)#8346
2273c21Thanks @ardatan! - dependencies updates:
graphql@^15.2.0 || ^16.0.0 || ^17.0.0↗︎(from
^15.2.0 || ^16.0.0, inpeerDependencies)Updated dependencies
[
2273c21]:@graphql-tools/executor-yoga@3.0.43
Patch Changes
#8346
2273c21Thanks @ardatan! - dependencies updates:
graphql@^15.2.0 || ^16.0.0 || ^17.0.0↗︎(from
^15.2.0 || ^16.0.0, inpeerDependencies)#8346
2273c21Thanks @ardatan! - dependencies updates:
graphql@^15.2.0 || ^16.0.0 || ^17.0.0↗︎(from
^15.2.0 || ^16.0.0, inpeerDependencies)Updated dependencies
[
2273c21]:@graphql-tools/graphql-tag-pluck@8.3.36
Patch Changes
[
2273c21]:graphql-tools@9.0.34
Patch Changes
[
2273c21]:@graphql-tools/import@7.1.19
Patch Changes
#8259
85f1de0Thanks @lemonmade! - perf(import): remove redundant work in
addDefinition's dependency traversaladdDefinitionrecurses across the whole dependency graph while assembling each definition'simported dependencies. Two things were repeated on every call:
visitedFiles.get(filePath)— invariant for the duration of theprocessImportcall, so it'snow looked up once and hoisted out of the recursion.
visitFieldDefinitionNode/visitInputValueDefinitionNodeinto a freshMap) — a pure function of the field node and thefile's static dependency map, so it's now memoized by field identity instead of recomputed every
time the owning definition is added to a set.
Pure performance change; output is unchanged (the existing import tests pass and a real-world
~12k-line schema produces byte-identical results). Building on the
printmemoization, this tookthe same codegen pass from ~17s to ~13s. The remaining cost is the O(n²) shape of the closure
traversal itself (each definition's transitive set is still rebuilt independently); reducing that
is left for a follow-up as it's a more invasive change.
#8258
6bacf57Thanks @lemonmade! - perf(import): memoize
printper node whenassembling imported definitions
processImportde-duplicates the collected definitions by printing each one to SDL and comparingthe strings. A single definition node appears in many of the dependency sets (any
widely-referenced type is pulled in by every definition that depends on it), so
printwas calledroughly O(n²) times for n unique nodes. For large, densely-connected schemas this print/visit work
dominates import time.
Memoizing
printby node identity makes each unique node print at most once.printis a purefunction of its node, so the output is identical; this is a pure performance change. On a
~12k-line schema imported across three projects, this reduced a downstream codegen pass from ~133s
to ~17s.
Updated dependencies
[
2273c21]:@graphql-tools/links@10.0.13
Patch Changes
#8324
bdcce06Thanks @renovate! - dependencies updates:
apollo-upload-client@^20.0.0↗︎(from
^19.0.0, independencies)#8326
f77fd40Thanks @renovate! - dependencies updates:
apollo-upload-client@^20.0.0↗︎(from
^19.0.0, independencies)Updated dependencies
[
2273c21]:@graphql-tools/load@8.1.16
Patch Changes
[
2273c21]:@graphql-tools/apollo-engine-loader@8.0.35
Patch Changes
[
2273c21]:@graphql-tools/code-file-loader@8.1.37
Patch Changes
[
2273c21]:@graphql-tools/git-loader@8.0.41
Patch Changes
[
2273c21]:@graphql-tools/github-loader@9.1.7
Patch Changes
[
2273c21]:@graphql-tools/graphql-file-loader@8.1.19
Patch Changes
[
2273c21,85f1de0,6bacf57]:@graphql-tools/json-file-loader@8.0.33
Patch Changes
[
2273c21]:@graphql-tools/module-loader@8.0.33
Patch Changes
[
2273c21]:@graphql-tools/url-loader@9.1.7
Patch Changes
755d699Thanks @dependabot! - dependencies updates:
ws@^8.21.2↗︎ (from^8.21.1,in
dependencies)[
755d699,2273c21]:@graphql-tools/merge@9.2.3
Patch Changes
#8349
7fe0319Thanks @aarne! - Pass the collected directive definitions to
mergeSchemaDefsso repeatable directives onschemadefinitions andextend schemaextensions(e.g. a repeatable
@link) are kept as separate instances instead of being collapsed and havingtheir arguments merged.
Updated dependencies
[
2273c21]:@graphql-tools/mock@9.1.13
Patch Changes
[
2273c21]:@graphql-tools/node-require@7.0.45
Patch Changes
[
2273c21]:@graphql-tools/relay-operation-optimizer@7.1.9
Patch Changes
[
2273c21]:@graphql-tools/resolvers-composition@7.0.36
Patch Changes
[
2273c21]: