What changed in GraphQL.js from 16 to 17

3 releases numbered after v16.14.2 up to and including v17.0.2, stable releases only. v16.14.2 and v17.0.2 are the newest stable releases of 16 and 17 we track; this page follows them as new ones ship.

8 changes across 3 releases

Added 1

v17.0.0

  • Graduate directives on directives
Fixed 7

v17.0.2

  • Detect default-value changes on input object fields
  • Fix context for schema argument mapper in mapSchemaConfig

v17.0.1

  • emit asyncStart after promise settlement to match native tracePromise in diagnostics

v17.0.0

  • Raise request error on invalid fragment variables
  • Apply directives when SDL contains type definitions and extensions with directives
  • Fix OneOf inhabitability
  • Fix KnownDirectivesRule locations for input field arguments in extensions

Original release notes, newest first

The list above is our reading of these notes; the originals from GraphQL Foundation are here, one fold per release.

v17.0.2
v17.0.2 (2026-07-03)
Bug Fix 🐞
  • #4832 fix: detect default-value changes on input object fields (@spokodev)
Polish 💅
  • #4829 fix(mapSchemaConfig): fix context for schema argument mapper (@yaacovCR)
Committers: 2

View originalPermalink

v17.0.1
v17.0.1 (2026-06-16)
Bug Fix 🐞
  • #4824 fix(diagnostics): emit asyncStart after promise settlement to match native tracePromise (@logaretm)
Internal 🏠
Committers: 2

View originalPermalink

v17.0.0
v17.0.0 (2026-06-15)
New Feature 🚀
Bug Fix 🐞
  • #4799 fix: raise request error on invalid fragment variables (@yaacovCR)
  • #4800 fix: apply directives when SDL contains type definitions and extensions with directives (@yaacovCR)
  • #4564 OneOf Inhabitability (@jbellenger)
  • #4814 fix(KnownDirectivesRule): locations for input field arguments in extensions (@yaacovCR)
  • #4726 feat(validation): reject directive definition cycles (@yaacovCR)
  • #4815 Revert "feat(validation): reject directive definition cycles (#4726)" (@yaacovCR)
Docs 📝
Polish 💅
Internal 🏠
Committers: 3

View originalPermalink