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
View all versions βrelease-1787131280487Several @graphql-yoga and @envelop packages have been updated to support graphql-js 17. This release includes dependency bumps, typing fixes, and improved subscription compatibility.
release-17866105927901 fixThis release patches a prototype pollution vulnerability in the multipart parser for graphql-yoga. Several related packages have also been updated to reflect this change.
release-17823176383692 featuresThe @envelop/rate-limiter package introduces template string support for field identifiers and enhances the per-field identifyFn to receive argument values.
release-17809281623811 fixThis release primarily consists of patch updates across various graphql-yoga packages, fixing an issue with provenance attestations when publishing with pnpm in the core graphql-yoga package.
release-17804094900821 fix1 featureThis release updates dependencies across the GraphQL Yoga ecosystem and includes important fixes related to symbol usage in middleware and header consistency for HTTP caching in the response-cache plugin.
release-17753260670221 featureGraphQL Yoga v5.21.0 introduces the ability to short-circuit request processing within the `onRequestParse` hook. Numerous related packages were updated to depend on this new core version.
release-17752400242151 featureThe core graphql-yoga package (v5.20.0) now allows dynamic modification of the `graphqlEndpoint`. Numerous related packages were updated to depend on this new core version.
release-1775041471308The main update across packages involves upgrading TypeScript to version 6 in graphql-yoga@5.19.0 and removing AsyncIterable typings for ReadableStream.
release-17728101174391 fixThis release primarily focuses on dependency updates across various packages and introduces a critical bug fix in graphql-yoga@5.18.1 to ensure better error isolation during batched GraphQL operations.
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.
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