GraphQL.js is the JavaScript reference implementation of GraphQL, a query language for APIs. It helps developers build GraphQL type schemas and execute queries against them in Node or the browser, including validation before execution.
Project status
- Actively maintained. There is very recent activity (upstream push on 2026-07-03, with follow-on updates v17.0.2 on the same date), and multiple updates in June and July 2026.
- Cadence looks active and steady. After v17.0.0 and its RC/beta cycle in early June, the project shipped v16.14.x and v17.0.x updates through June, then continued with v17.0.1 (2026-06-16) and v17.0.2 (2026-07-03). This suggests roughly weekly-to-few-week pacing during the current stretch.
AI summary generated
Recent updates
v17.0.2
v17.0.2 contains two targeted fixes, both related to schema change detection and schema mapping behavior. It adds detection for defaultValue changes on input object fields and adjusts mapSchemaConfig so the schema argument mapper receives the correct parent type and field context.
v17.0.1
v17.0.1 includes a diagnostics behavior fix to ensure the diagnostics channel emits asyncStart after a promise settles, matching native tracePromise behavior. It also contains internal release and packaging script changes, including removal of an obsolete ESM-only build path and adjustments to how “latest” release channels are protected during publishing.
v17.0.0
v17.0.0’s release notes document one main new feature, directive graduation behavior, plus several validation/execution bug fixes. However, the code diff shows many substantial internal and development-tooling changes (CI, release workflows, benchmark harness module format, and removed configuration files) that are not mentioned anywhere in the release notes.
Featuresv16.14.2
The v16.14.2 release notes describe documentation-only work (website/docs updates and formatting tweaks). However, the code diff for this release includes substantial internal lint and documentation boundary enforcement changes, plus some TypeScript surface/type definition updates that are not mentioned in the release notes.
v17.0.0-rc.0
v17.0.0-rc.0 adds GraphQL tracing channels backed by Node's diagnostics_channel, emitting lifecycle events for parse, validate, execute, subscribe, and resolver execution. It also improves GraphQLError deprecation messaging around originalError vs cause and adjusts GraphQLError stack copying behavior to avoid copying stack from the cause.
Featuresv16.14.1
Release v16.14.1 release notes are almost entirely documentation and website-related updates, plus one small internal test addition. No runtime breaking changes are described in the notes. However, the provided code diff shows several repo-level and type-level modifications that are not mentioned in the release notes.
v17.0.0-beta.2
v17.0.0-beta.2 includes several documented breaking changes around how GraphQL package types are discriminated and around refactoring of ExecutionArgs types. It also documents a new feature to adopt Error.cause, plus various API exports to expose internal validation and execution helper types.
BreakingFeaturesv17.0.0-beta.1
v17.0.0-beta.1 primarily introduces the documented subscribe breaking change (perEventExecutor replaced with mapSourceToResponseEvent), and updates the supported Node.js versions by dropping Node 20 and adding Node 26. The diff content also shows a large internal tooling/test harness migration toward Node's native test runner and experimental type stripping, with many import-specifier extension updates across the repository.
BreakingFeaturesv17.0.0-beta.0
v17.0.0-beta.0 introduces multiple execution-related breaking changes (notably renaming and reworking internal execution helpers) plus new execution hooks and argument validation exports. The release notes also include several fixes around abort behavior, promise handling, and input coercion semantics. In the provided code diff, most changes shown are build, CI, tooling, and benchmark harness updates rather than the core execution logic described in the release notes.
BreakingFeaturesv16.14.0
v16.14.0 adds a configurable recursion depth for the `ofType` portion of the introspection query, and introduces experimental support for applying directives to directive definitions. The release also includes a bug fix related to `valueFromAST` variable own-property checks.
Featuresv16.13.2
v16.13.2 includes small documentation updates and an internal change intended to avoid prototype-related issues during input coercion. The release notes do not mention several additional code and repository maintenance changes present in this diff. The runtime change that is mentioned (Object.create(null) usage) appears implemented with a compatibility clone step to preserve returned object shapes.
v17.0.0-alpha.14
v17.0.0-alpha.14 is primarily an internal release focused on making the package pass stricter Deno publish and type/package validation when shipping to jsr.io. The diff shows mostly TypeScript declaration and typing-work changes (plus CI and publish checks), with no clear runtime logic changes documented in the release notes.
v17.0.0-alpha.13
v17.0.0-alpha.13 is primarily a polish release addressing TypeScript and Deno build/test issues. It also introduces stricter handling for catch variables (useUnknownInCatchVariables), and adds CI coverage to type-check the generated Deno distribution.
v17.0.0-alpha.12
Release v17.0.0-alpha.12 contains essentially no user-facing documentation. The release notes only mention two internal PRs about streamlining the release process and adding a JSR publish flow, but the code diff shows broader changes to packaging and integration testing.
BreakingFeatures