GraphQL Yoga
Backend & Infra🧘 Rewrite of a fully-featured GraphQL Server with focus on easy setup, performance & great developer experience. The core of Yoga implements WHATWG Fetch API and can run/deploy on any JS environment.
Release History
release-17660694024472 fixes4 featuresgraphql-yoga 5.18.0 introduces the exported `GraphiQLRenderer` type and several enhancements to the Apollo Sandbox renderer, while plugin-persisted-operations now supports batching. Minor bug fixes and dependency updates accompany the release.
release-17646343910071 fixPatch release that updates @whatwg-node/promise-helpers to fix the missing unfakePromise export across all graphql-yoga packages.
release-17643279210601 featuregraphql-yoga@5.17.0 introduces experimental support for the `coordinate` error attribute via the `useErrorCoordinate` plugin and updates core dependencies to @graphql-tools/executor@^1.5.0 and @graphql-tools/utils@^10.11.0.
release-17637607853781 fixPatch release 6.11.3 adds handling for parsing errors in the Prometheus plugin, fixing crashes caused by unexpected error inputs.
release-17624813911601 fix4 featuresgraphql-yoga 5.16.2 and related packages receive patch updates, fixing an error‑masking bug, adding better error codes, and allowing the Prometheus endpoint to be disabled, along with several dependency upgrades.
release-1762271495785Breakinggraphql-yoga 5.16.1 and related packages receive dependency updates, removal of the unused `graphqlEndpoint` option, and the `dset` dependency, requiring minor migration steps.
release-17582995860832 fixes2 featuresgraphql-yoga 5.16.0 adds an `allowedHeaders` option and fixes GraphiQL worker loading, while plugin-response-cache improves TypeScript typings and render-apollo-sandbox introduces a new Apollo Sandbox renderer.
release-1757189660256Breaking1 fix3 featuresVersion 5.0.0 of the Apollo Link and Urql Exchange packages upgrades runtime and peer dependencies, dropping Node 18 support and older client versions, while fixing a GraphiQL URL loader error.
release-17522615371451 fixPatch release 5.15.1 fixes error handling by not adding GraphQL error extensions when wrapping internal server errors.
release-17522439777342 featuresgraphql-yoga 5.15.0 introduces configurable GraphiQL branding and exports new GraphiQL configuration types, while all related @graphql-yoga packages are updated to depend on this version.
release-17513822734641 fix3 featuresgraphql-yoga 5.14.0 introduces the `withState` utility for shared plugin state, improves error handling inheritance, and upgrades several dependencies, while the Apollo Usage Report plugin becomes production ready with new reporting features.
release-17480196649131 fixThe release bumps major versions of @graphql-yoga/apollo-link and @graphql-yoga/urql-exchange to 4.0.0, updates @graphql-tools/executor-http to ^2.0.0, and removes an extra error handling plugin from graphql-yoga@5.13.5.
release-1744715448540Patch release that updates whatwg-node packages across the @graphql-yoga monorepo and bumps graphql-yoga to 5.13.4 (subscription to 5.0.5); no breaking changes.
release-17441952393691 fixgraphql-yoga 5.13.3 patches fix error handling and bump @whatwg-node/server.
release-17422255078132 featuresgraphql-yoga@5.13.2 introduces a re-export of `AsyncIterableIteratorOrValue` and includes the request in the operation instrument payload, with all packages updated to depend on this version.
release-1741277361212Patch release 5.13.1 updates graphql-yoga and bumps several @envelop dependencies (core, whatwg-node/server, instrumentation, apollo-federation, on-resolve, prometheus, response-cache) while removing @envelop/instruments.
release-1741258995196Patch release adds @whatwg-node/promise-helpers@^1.2.4 as a new dependency to all @graphql-yoga plugins.
release-17411873741343 featuresgraphql-yoga 5.13.0 adds a new Instruments API for observability, supports multiple and custom‑ordered instruments plugins, and updates several Envelop and whatwg-node dependencies.
release-1740971913790Patch release 5.12.2 updates @whatwg-node/server to ^0.9.71 and aligns all @graphql-yoga plugins to graphql-yoga@5.12.2 with no breaking changes.
release-1740398216052Patch release 5.12.1 updates @whatwg-node/fetch to ^0.10.5 and @whatwg-node/server to ^0.9.69 with no breaking changes.
release-1740055722339BreakingPatch release 3.12.1 updates dependencies and removes two peer dependencies from the Apollo inline trace plugin, requiring manual installation if those packages were previously relied upon.
release-17395550677561 fixPatch release 3.13.1 updates the response cache plugin to generate a distinct cache key for each operation in a batched GraphQL request.
release-17388560312892 featuresgraphql-yoga 5.11.0 adds configurable GraphiQL endpoint and customizable GraphQLParams handling via new plugin hooks.
release-17381396354972 fixesPatch release updates dependencies and fixes a race condition when setting schemaId in Apollo inline trace and usage report plugins.
release-17379745692031 featureThis patch release adds the ability to display deprecated input fields, arguments, and other input values in GraphiQL and updates all @graphql-yoga packages to depend on graphql-yoga@5.10.11.
release-17373695433781 fix1 featureThis release updates the peer dependency to @nestjs/graphql v13, adds context‑aware introspection disabling, and fixes JWT context ordering.
release-1737041259369This patch release updates numerous @graphql-yoga packages and their peer dependencies, notably bumping tslib to ^2.8.1 and NestJS packages to version 11.
release-17369557367871 fixPatch release 6.5.7 fixes missing request handling for GraphQL WS in the Prometheus plugin, skipping irrelevant HTTP/Yoga metrics.
Common Errors
GraphQLError1 reportThe "GraphQLError" in graphql-yoga often arises due to incorrect error handling or masking, leading to discrepancies in how the original error is exposed. Ensure your error handling logic correctly extracts and propagates the original error details (e.g., through `extensions.originalError` or `error.originalError`) based on your `graphql-yoga` configuration and error masking settings. Review your error formatting/plugins to confirm they properly transfer the useful error information rather than creating new GraphQLErrors without preserving context.
InternalServerError1 reportThe "InternalServerError" in graphql-yoga often arises from prematurely closing a readable stream, especially with serverless environments or when integrating with frameworks like Fastify. Ensure that any stream processing logic within your resolvers or middleware correctly handles stream completion and avoids calling `stream.end()` before all data is pushed. Verify that the graphql-yoga response is allowed completion before disposing of any dependent resources.
RepeaterOverflowError1 reportThe `RepeaterOverflowError` in graphql-yoga often arises from excessively long or infinite streams of events/updates being pushed through the Envelop repeater, exceeding its buffer capacity. To resolve this, either limit the number of items pushed into the repeater (e.g., through pagination or filtering) or increase the `maxRepeats` configuration of the relevant Envelop plugin if increased buffer is acceptable and the stream is genuinely bounded and necessary. Careful consideration of the source data is required to avoid unbounded streams.
Related Backend & Infra Packages
Production-Grade Container Scheduling and Management
Node.js JavaScript runtime ✨🐢🚀✨
Promise based HTTP client for the browser and node.js
A modern runtime for JavaScript and TypeScript.
Deliver web apps with confidence 🚀
Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
Subscribe to Updates
Get notified when new versions are released