Skip to content

Releases: graphql/graphql-js

v17.0.0-alpha.11

02 Mar 15:22
5208f0f

Choose a tag to compare

v17.0.0-alpha.11 Pre-release
Pre-release

v17.0.0-alpha.11 (2026-03-01)

First release with trusted publishing and provenance, see: https://docs.npmjs.com/trusted-publishers for additional information.

Internal 🏠

6 PRs were merged

Committers: 1

v17.0.0-alpha.10

24 Feb 12:17

Choose a tag to compare

v17.0.0-alpha.10 Pre-release
Pre-release

v17.0.0-alpha.10 (2026-02-24)

Breaking Change 💥

NOTE: This release introduced new/refined implementations of incremental delivery and execution cancellation. The prior implementations were reverted and the new implementations were re-implemented from scratch, see PRs below. Importantly, the newest cancellation implementation exposes the AbortSignal to resolvers via info.getAbortSignal() rather than info.abortSignal, a BREAKING CHANGE from the previous alpha. The newest incremental delivery implementation has only new features compared to the prior alpha (primarily sensitivity to back-pressure).

New Feature 🚀

Bug Fix 🐞

  • #4441 Ensure that 'schema' keyword kept when schema has description (@benjie)
  • #4462 avoid re-visiting deferred fragment spreads (@yaacovCR)
  • #4358 incremental: add new deferred fragments to the wrapped graphql result (@yaacovCR)
  • #4469 perf: do not use undefined for empty error array (@yaacovCR)
  • #4424 buildClientSchema: build enum type value maps lazily (@yaacovCR)
  • #4481 Fix incorrect FormattedCompletedResult fields and add a FormattedPendingResult (@jerelmiller)
  • #4495 chore: use latest npm lockfile metadata (@yaacovCR)
  • #4494 fix(mapAsyncIterable): always close source when mapped iterable is thrown (@yaacovCR)
  • #4496 refactor(execution): extract withCleanup from mapAsyncIterable (@yaacovCR)
  • #4497 fix(withCleanup): remove extra tick (@yaacovCR)
  • #4510 fix(Queue): calling stop should not drop pushed values (@yaacovCR)
  • #4520 incremental: improve perf of OverlappingFieldsCanBeMerged (@yaacovCR)
  • #4526 reduce ticks stemming from withCleanup (@yaacovCR)
  • #4531 refactor: move errorPropagation to ValidatedExecutionArgs (@yaacovCR)
  • #4533 add abrupt return handling for sync iterables (@yaacovCR)
  • #4544 fix inner stream with async iterables (@yaacovCR)
  • #4547 remove unnecessary Executor property (@yaacovCR)
  • #4548 fix: memoize collectSubfields and getStreamUsage across Executors (@yaacovCR)
  • #4554 use single phase of resolver abortSignal cancellation (@yaacovCR)
  • #4559 restore FormattedExperimentalIncrementalExecutionResults (@yaacovCR)
  • #4563 polish: improve GraphQL schema element config typing (@yaacovCR)
  • #4567 frontport: incorrect validation errors when variable descriptions are used (#4517) (@yaacovCR)
  • #4568 fix: treat dot as punctuator for schema coordinate parsing (@yaacovCR)
  • #4569 export all schema coordinate types (@yaacovCR)
  • #4572 add "as const" to schema change type "enum" (@yaacovCR)
  • #4583 validation: align MaxIntrospectionDepthRule with v16 backport (@yaacovCR)
  • #4596 chore(eslint): simplify ignore-pattern (@yaacovCR)

Docs 📝

3 PRs were merged

Polish 💅

35 PRs were merged
Read more

16.13.0

24 Feb 09:40

Choose a tag to compare

v16.13.0 (2026-02-24)

New Feature 🚀

  • #4458 Sibling errors should not be added after propagation (@yaacovCR)

Bug Fix 🐞

  • #4336 add deprecated note to assertValidExecutionArguments (@yaacovCR)
  • #4517 fix(validation): incorrect validation errors when variable descriptions are used (@phryneas)

Internal 🏠

3 PRs were merged

Committers: 4

16.12.0

01 Nov 14:18

Choose a tag to compare

v16.12.0 (2025-11-01)

New Feature 🚀

Bug Fix 🐞

Docs 📝

28 PRs were merged

Polish 💅

Internal 🏠

3 PRs were merged

Committers: 9

v17.0.0-alpha.9

11 Jun 16:37

Choose a tag to compare

v17.0.0-alpha.9 Pre-release
Pre-release

v17.0.0-alpha.9 (2025-06-11)

Breaking Change 💥

  • #4342 Validate against @stream on different instances of the same field (@robrichard)
  • #3974 Forbid @skip and @include directives in subscription root selection (@benjie)
  • #3986 Reject deprecated fields when interface field is not deprecated (@benjie)
  • #4354 Make includeDeprecated non-null (@martinbonnin)
  • #4425 feat: pass abortSignal to resolvers via GraphQLResolveInfo (@glasser)

New Feature 🚀

Bug Fix 🐞

  • #4389 fix(replaceVariables): preserve sources for fragment variable values (@yaacovCR)

Polish 💅

Internal 🏠

5 PRs were merged

Committers: 6

16.11.0

26 Apr 08:02

Choose a tag to compare

v16.11.0 (2025-04-26)

New Feature 🚀

  • #4363 Ensure we validate for using nullable variables in oneOf input fields (@JoviDeCroock)
  • #4366 feat(execution): add max coercion errors option to execution context (@cristunaranjo)

Bug Fix 🐞

Docs 📝

11 PRs were merged

Polish 💅

Internal 🏠

4 PRs were merged

Committers: 8

v17.0.0-alpha.8

06 Feb 17:05

Choose a tag to compare

v17.0.0-alpha.8 Pre-release
Pre-release

v17.0.0-alpha.8 (2025-01-14)

Breaking Change 💥

New Feature 🚀

Bug Fix 🐞

Polish 💅

13 PRs were merged

Internal 🏠

2 PRs were merged

Committers: 6

v15.10.1

14 Jan 08:35
108bc20

Choose a tag to compare

v15.10.1 (2025-01-14)

Bug Fix 🐞

Committers: 1

v15.10.0

13 Jan 16:03
ad5d9e6

Choose a tag to compare

v15.10.0 (2025-01-13)

New Feature 🚀

Committers: 1

16.10.0

15 Dec 10:36

Choose a tag to compare

v16.10.0 (2024-12-15)

New Feature 🚀

Bug Fix 🐞

Docs 📝

10 PRs were merged

Internal 🏠

4 PRs were merged

Committers: 5