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, the repo has very recent GitHub activity with tag updates including a v17.0.0 release candidate (2026-06-02) and prior v17.0.0 beta updates (2026-06-01).
- The apparent update cadence is fast in early June 2026, with multiple notable updates within about a day (v17.0.0-beta.2, v16.14.1, then v17.0.0-rc.0).
AI summary generated Today
Recent updates
v17.0.0-rc.0
5 days agov17.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
6 days agoRelease 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
6 days agov17.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
4 weeks agov17.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
1 month agov17.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
1 month agov16.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
2 months agov16.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
2 months agov17.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
2 months agov17.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
2 months agoRelease 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