npm / graphql
graphql
What changed in graphql 16 to 17, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-17.
1 breaking1 deprecations3 new APIs and options2 behavior and defaults13 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initgraphql 178 changes
Behavior and default changes 1
Directives on directive definitions are graduated, allowing them to be used without experimental status.
Fixes and other changes 7
Default-value changes on input object fields are now detected.
Fixes the context for the schema argument mapper.
Emits asyncStart after promise settlement to match native tracePromise behavior.
Directives are applied when SDL contains both type definitions and extensions with directives.
Invalid fragment variables now raise a request error.
Directive locations for input field arguments in extensions are corrected.
OneOf inhabitability is addressed.
graphql 1612 changes
Breaking changes 1
Sibling errors are no longer added after propagation, changing how errors are reported.
Deprecations 1
A deprecated note was added to assertValidExecutionArguments.
New APIs and options 3
Adds experimental support for directives on directive definitions.
Allows configuring the introspection depth for ofType references.
Adds support for schema coordinates.
Behavior and default changes 1
Implements changes for executable descriptions, allowing developers to use descriptions with executable definitions.
Fixes and other changes 6
Fixes variable own-property checks when converting values from an AST.
Uses Object.create(null) instead of {} to avoid prototype issues.
This is the first 16.x.x release with trusted publishing and provenance, which developers can consider when evaluating package authenticity.
Fixes incorrect validation errors when variable descriptions are used.
Catches unhandled exceptions in abstract resolution.
Removes oneof validation from values of the correct type.