graphql-yoga
5.16.0
Minor Changes
- #3188 
a4e1c5fThanks @EmrysMyrddin ! - AddallowedHeadersoption to allow filtering Response and Request headers
Patch Changes
- #4191 
0a7a635Thanks @ardatan ! - Fix workers’ loading in online GraphiQL mode, so that Monaco features like autocomplete can work properly
5.15.2
Patch Changes
- e7b8906Thanks @ardatan ! - Bump URL Loader in GraphiQL to the latest to remove extra DOWNSTREAM_SERVICE_ERROR code in the errors
5.15.1
Patch Changes
- #4116 
ecd605bThanks @enisdenjo ! - Does not GraphQL error extensions when it’s wrapping an internal server error
5.15.0
Minor Changes
- #4114 
ccb5c53Thanks @enisdenjo ! - Configurable GraphiQL logo and favicon
Patch Changes
- #4114 
ccb5c53Thanks @enisdenjo ! - Export GraphiQLPluginConfig and GraphiQLOptionsOrFactory
5.14.0
Minor Changes
- 
#4088 98c82a5Thanks @EmrysMyrddin ! - Added newwithStateplugin utility for easy data sharing between hooks.New plugin utility to ease data sharing between hooksSometimes, plugins can grow in complexity and need to share data between its hooks. A way to solve this can be to mutate the graphql context, but this context is not always available in all hooks in Yoga or Hive Gateway plugins. Moreover, mutating the context gives access to your internal data to all other plugins and graphql resolvers, without mentioning performance impact on field access on this object. The recommended approach to this problem was to use a WeakMapwith a stable key (often thecontextorrequestobject). While it works, it’s not very convenient for plugin developers, and is prone to error with the choice of key.The new withStateutility solves this DX issue by providing an easy and straightforward API for data sharing between hooks.import { withState } from 'graphql-yoga' type State = { foo: string } const myPlugin = () => withState<Plugin, State>(() => ({ onParse({ state }) { state.forOperation.foo = 'foo' }, onValidate({ state }) { const { foo } = state.forOperation console.log('foo', foo) } }))The statepayload field will be available in all relevant hooks, making it easy to access shared data. It also forces the developer to choose the scope for the data:- forOperationfor a data scoped to GraphQL operation (Envelop, Yoga and Hive Gateway)
- forRequestfor a data scoped to HTTP request (Yoga and Hive Gateway)
- forSubgraphExecutionfor a data scoped to the subgraph execution (Hive Gateway)
 Not all scopes are available in all hooks, the type reflects which scopes are available Under the hood, those states are kept in memory using WeakMap, which avoid any memory leaks.It is also possible to manually retrieve the state with the getStatefunction:const myPlugin = () => withState(getState => ({ onParse({ context }) { // You can provide a payload, which will dictate which scope you have access to. // The scope can contain `context`, `request` and `executionRequest` fields. const state = getState({ context }) // Use the state elsewhere. } }))
Patch Changes
- 
#4093 5f75a42Thanks @enisdenjo ! - Inherit GraphQL error extensions when it’s wrapping an internal server error
- 
#4088 98c82a5Thanks @EmrysMyrddin ! - dependencies updates:- Updated dependency
@envelop/core@^5.3.0↗︎ (from^5.2.3, independencies)
 
- Updated dependency
5.13.5
Patch Changes
5.13.4
Patch Changes
- 
#3995 000c33dThanks @enisdenjo ! - Update whatwg-node packagesIn light of https://github.com/ardatan/whatwg-node/pull/2305 . Please upgrade as soon as possible! 
- 
Updated dependencies [ 000c33d]:- @graphql-yoga/subscription@5.0.5
 
5.13.3
Patch Changes
- 
#3968 1773c8cThanks @ardatan ! - Handle unexpected errors correctly.Yoga checks originalError to see if it is a wrapped error of an unexpected error, because execution engine can wrap it multiple times. 
- 
Updated dependencies [ 3a7ef74]:- @graphql-yoga/subscription@5.0.4
 
5.13.2
Patch Changes
- 
#3876 abe91bdThanks @EmrysMyrddin ! - Re-export the utility typeAsyncIterableIteratorOrValuefrom@envelop/core.
- 
#3874 9311842Thanks @EmrysMyrddin ! - Gives access to the request in theoperationinstrument payload, since the request is not in the context yet.
5.13.1
Patch Changes
- #3865 
dee7995Thanks @ardatan ! - dependencies updates:- Updated dependency
@envelop/core@^5.2.3↗︎ (from^5.2.1, independencies)
- Updated dependency
@whatwg-node/server@^0.10.1↗︎ (from^0.10.0, independencies)
- Added dependency
@envelop/instrumentation@^1.0.0↗︎ (todependencies)
- Removed dependency
@envelop/instruments@^1.0.0↗︎ (fromdependencies)
 
- Updated dependency
5.13.0
Minor Changes
- 
#3793 63b78d5Thanks @EmrysMyrddin ! - Add new Instrumentation APIIntroduction of a new API allowing to instrument the graphql pipeline. This new API differs from already existing Hooks by not having access to input/output of phases. The goal of Instrumentationis to run allow running code before, after or around the whole process of a phase, including plugins hooks executions.The main use case of this new API is observability (monitoring, tracing, etc…). Basic usageimport { createYoga } from 'graphql-yoga' import Sentry from '@sentry/node' import schema from './schema' const server = createYoga({ schema, plugins: [ { instrumentation: { request: ({ request }, wrapped) => Sentry.startSpan({ name: 'Graphql Operation' }, async () => { try { await wrapped() } catch (err) { Sentry.captureException(err) } }) } } ] })Multiple instrumentation pluginsIt is possible to have multiple instrumentation plugins (Prometheus and Sentry for example), they will be automatically composed by envelop in the same order than the plugin array (first is outermost, last is inner most). import { createYoga } from 'graphql-yoga' import schema from './schema' const server = createYoga({ schema, plugins: [useSentry(), useOpentelemetry()] })Custom instrumentation orderingIf the default composition ordering doesn’t suite your need, you can manually compose instrumentation. This allows to have a different execution order of hooks and instrumentation. import { composeInstrumentation, createYoga } from 'graphql-yoga' import schema from './schema' const { instrumentation: sentryInstrumentation, ...sentryPlugin } = useSentry() const { instrumentation: otelInstrumentation, ...otelPlugin } = useOpentelemetry() const instrumentation = composeInstrumentation([otelInstrumentation, sentryInstrumentation]) const server = createYoga({ schema, plugins: [{ instrumentation }, useSentry(), useOpentelemetry()] })
Patch Changes
- 
#3793 63b78d5Thanks @EmrysMyrddin ! - dependencies updates:- Updated dependency
@envelop/core@^5.2.1↗︎ (from^5.0.2, independencies)
- Added dependency
@envelop/instrumentation@^1.0.0↗︎ (todependencies)
- Added dependency
@whatwg-node/promise-helpers@^1.2.4↗︎ (todependencies)
 
- Updated dependency
- 
#3855 6ed67e8Thanks @renovate ! - dependencies updates:- Updated dependency
@whatwg-node/server@^0.10.0↗︎ (from^0.9.71, independencies)
 
- Updated dependency
5.12.2
Patch Changes
- #3837 
a6b3de9Thanks @ardatan ! - dependencies updates:- Updated dependency
@whatwg-node/server@^0.9.71↗︎ (from^0.9.69, independencies)
 
- Updated dependency
5.12.1
Patch Changes
- #3808 
fbf328cThanks @ardatan ! - dependencies updates:- Updated dependency
@whatwg-node/fetch@^0.10.5↗︎ (from^0.10.1, independencies)
- Updated dependency
@whatwg-node/server@^0.9.69↗︎ (from^0.9.64, independencies)
 
- Updated dependency
5.12.0
Minor Changes
Patch Changes
- 
#3764 96498eeThanks @slagiewka ! - Pass throughdisposeOnProcessTerminatetocreateServerAdapter
- 
#3672 5150146Thanks @ardatan ! - dependencies updates:- Updated dependency
@graphql-tools/executor@^1.4.0↗︎ (from^1.3.7, independencies)
 
- Updated dependency
5.11.0
Minor Changes
- 
#3727 5fd15b8Thanks @EmrysMyrddin ! - Allow to configure the endpoint used by GraphiQL to send requests.
- 
#3736 d13b8a4Thanks @ardatan ! - Now it is possible to replace or wrap the logic howGraphQLParamshandled;By default Yoga calls Envelop to handle the parameters, but now you can replace it with your own logic. Example: Wrap the GraphQL handling pipeline in an AsyncLocalStoragefunction myPlugin(): Plugin { const context = new AsyncLocalStorage(); return { onParams({ paramsHandler, setParamsHandler }) { const store = { foo: 'bar' } setParamsHandler(payload => context.run(store, paramsHandler, payload)) } }
5.10.11
Patch Changes
- #3712 
1c055f5Thanks @ardatan ! - Show deprecated input fields, arguments and all other input values in GraphiQL
5.10.10
Patch Changes
- Updated dependencies
[d4cbae1,d4cbae1]:- @graphql-yoga/logger@2.0.1
- @graphql-yoga/subscription@5.0.3
 
5.10.9
Patch Changes
- 
#3620 d24c5d5Thanks @enisdenjo ! - Bump dset dependency handling the CVE-2024-21529
- 
#3620 d24c5d5Thanks @enisdenjo ! - dependencies updates:- Updated dependency dset@^3.1.4↗︎ (from^3.1.1, independencies)
 
- Updated dependency 
5.10.8
Patch Changes
- #3588 
ed344eaThanks @ardatan ! - MarkcreateLRUCacheutility as deprecated, and export it as_createLRUCachemarking it as an internal utility
5.10.7
Patch Changes
- 
#3547 8fee214Thanks @Urigo ! - dependencies updates:- Updated dependency
@graphql-tools/executor@^1.3.7↗︎ (from^1.3.5, independencies)
- Updated dependency
@graphql-tools/schema@^10.0.11↗︎ (from^10.0.10, independencies)
- Updated dependency
@graphql-tools/utils@^10.6.2↗︎ (from^10.6.1, independencies)
- Updated dependency
@whatwg-node/server@^0.9.63↗︎ (from^0.9.60, independencies)
 
- Updated dependency
- 
#3567 1df4912Thanks @ardatan ! - dependencies updates:- Updated dependency
@whatwg-node/server@^0.9.64↗︎ (from^0.9.63, independencies)
 
- Updated dependency
5.10.6
Patch Changes
- #3551 
121ccbaThanks @bridges-wood ! - Fix stylesheet reference in graphiql
5.10.5
Patch Changes
- 
#3546 eca7cd1Thanks @EmrysMyrddin ! - Add documentation for Plugin hooks
- 
#3549 05fe345Thanks @ardatan ! - dependencies updates:- Updated dependency
@graphql-tools/executor@^1.3.7↗︎ (from^1.3.5, independencies)
- Updated dependency
@graphql-tools/schema@^10.0.11↗︎ (from^10.0.10, independencies)
- Updated dependency
@graphql-tools/utils@^10.6.2↗︎ (from^10.6.1, independencies)
- Updated dependency
@whatwg-node/server@^0.9.63↗︎ (from^0.9.60, independencies)
 
- Updated dependency
- 
Updated dependencies []: - @graphql-yoga/subscription@5.0.2
 
5.10.4
Patch Changes
- #3520 
944ecd5Thanks @ardatan ! - dependencies updates:- Updated dependency
@envelop/core@^5.0.2↗︎ (from^5.0.1, independencies)
- Updated dependency
@graphql-tools/executor@^1.3.5↗︎ (from^1.3.3, independencies)
- Updated dependency
@graphql-tools/schema@^10.0.10↗︎ (from^10.0.4, independencies)
- Updated dependency
@graphql-tools/utils@^10.6.1↗︎ (from^10.3.2, independencies)
- Updated dependency
@whatwg-node/server@^0.9.60↗︎ (from^0.9.55, independencies)
- Updated dependency tslib@^2.8.1↗︎ (from^2.5.2, independencies)
 
- Updated dependency
5.10.3
Patch Changes
- 
#3501 c93366dThanks @enisdenjo ! - dependencies updates:- Updated dependency
@graphql-tools/executor@^1.3.3↗︎ (from^1.3.0, independencies)
 
- Updated dependency
- 
#3501 c93366dThanks @enisdenjo ! - Update transport executors containing improvements and fixes
5.10.2
Patch Changes
- 
#3491 7a413bcThanks @n1ru4l ! - dependencies updates:- Updated dependency
@whatwg-node/server@^0.9.55↗︎ (from^0.9.54, independencies)
 
- Updated dependency
- 
#3491 7a413bcThanks @n1ru4l ! - Fix issue where context values being shared between batched requests.A bug within @whatwg-node/servercaused properties assigned to a batched requests context to be propagated to all other batched requests contexts. It is resolved by updating the dependency of@whatwg-node/serverto0.9.55.
5.10.1
Patch Changes
- #3479 
20cd9b6Thanks @ardatan ! - dependencies updates:- Updated dependency
@whatwg-node/fetch@^0.10.1↗︎ (from^0.9.22, independencies)
- Updated dependency
@whatwg-node/server@^0.9.54↗︎ (from^0.9.50, independencies)
 
- Updated dependency
5.10.0
Minor Changes
- #3462 
f81501cThanks @maeldur ! - Correctly handle HTTP GET requests with?characters in the query search string.
5.9.0
Minor Changes
Patch Changes
5.8.0
Minor Changes
Patch Changes
- #3445 
6bb19edThanks @ardatan ! - dependencies updates:- Updated dependency
@whatwg-node/fetch@^0.9.22↗︎ (from^0.9.18, independencies)
- Updated dependency
@whatwg-node/server@^0.9.50↗︎ (from^0.9.44, independencies)
 
- Updated dependency
5.7.0
Minor Changes
- 
#3331 5dae4abThanks @EmrysMyrddin ! - Expose server context inonResultProcessHook. In particular, this gives access to thewaitUntilmethod to cleanly handle hanging promises.
- 
#3331 5dae4abThanks @EmrysMyrddin ! - New hook: onExecutionResult which is triggered when an execution is done on the pipeline. If it is a batched operation, this is called per each operation in the batch
- 
#3331 5dae4abThanks @EmrysMyrddin ! - Expose the already existingwaitUntilmethod from the server context.
Patch Changes
- #3331 
5dae4abThanks @EmrysMyrddin ! - dependencies updates:- Updated dependency
@whatwg-node/server@^0.9.44↗︎ (from^0.9.41, independencies)
 
- Updated dependency
5.6.3
Patch Changes
- 
#3400 0866c1bThanks @n1ru4l ! - Restores compatibility with RFC1341: The Multipart Content-Type by including preceding\r\nfor initial boundary delimiter when using the multipart response protocol.This makes Yoga compatible with libraries that strictly follow the response protocol, such as fetch-multipart-graphql . 
5.6.2
Patch Changes
- 
#3357 b7bf47bThanks @renovate ! - dependencies updates:- Updated dependency
@whatwg-node/server@^0.9.41↗︎ (from^0.9.40, independencies)
 
- Updated dependency
- 
#3384 81a736bThanks @ardatan ! - dependencies updates:- Updated dependency
@envelop/core@^5.0.1↗︎ (from^5.0.0, independencies)
- Updated dependency
@graphql-tools/executor@^1.3.0↗︎ (from^1.2.5, independencies)
- Updated dependency
@graphql-tools/schema@^10.0.4↗︎ (from^10.0.0, independencies)
- Updated dependency
@graphql-tools/utils@^10.3.2↗︎ (from^10.1.0, independencies)
- Updated dependency
@whatwg-node/fetch@^0.9.18↗︎ (from^0.9.17, independencies)
- Updated dependency
@whatwg-node/server@^0.9.40↗︎ (from^0.9.36, independencies)
 
- Updated dependency
5.6.1
Patch Changes
- #3338 
4252e3dThanks @ardatan ! - dependencies updates:- Updated dependency
@whatwg-node/server@^0.9.36↗︎ (from^0.9.33, independencies)
 
- Updated dependency
5.6.0
Minor Changes
- 
#3333 9f3f945Thanks @ardatan ! - By default, Yoga does not allow extra parameters in the request body other thanquery,operationName,extensions, andvariables, then throws 400 HTTP Error. This change adds a new option calledextraParamNamesto allow extra parameters in the request body.import { createYoga } from 'graphql-yoga' const yoga = createYoga({ /* other options */ extraParamNames: ['extraParam1', 'extraParam2'] }) const res = await yoga.fetch('/graphql', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ query: 'query { __typename }', extraParam1: 'value1', extraParam2: 'value2' }) }) console.assert(res.status === 200)
5.5.0
Minor Changes
- 
#3332 0208024Thanks @ardatan ! - Customize the landing page by passing a custom renderer that returnsResponseto thelandingPageoptionimport { createYoga } from 'graphql-yoga' const yoga = createYoga({ landingPage: ({ url, fetchAPI }) => { return new fetchAPI.Response( /* HTML */ ` <!doctype html> <html> <head> <title>404 Not Found</title> </head> <body> <h1>404 Not Found</h1> <p>Sorry, the page (${url.pathname}) you are looking for could not be found.</p> </body> </html> `, { status: 404, headers: { 'Content-Type': 'text/html' } } ) } })
5.4.0
Minor Changes
- 
#3314 d5dfe99Thanks @EmrysMyrddin ! - Allow for full customization of the GraphiQL page.Props from the YogaGraphiQLare now forwarded to the underlying GraphiQL components.The graphiqloption field type of the Yoga server as also been updated to document which options are configurable from the server side. Only serializable options are available.
- 
#3255 7335a82Thanks @nissy-dev ! - support shouldPersistHeaders option in GraphiQL plugin
Patch Changes
- 
#3325 4cd43b9Thanks @n1ru4l ! - Fix TypeScript compatibility withtype: "module".
- 
#3300 fdd902cThanks @EmrysMyrddin ! - dependencies updates:- Updated dependency
@graphql-yoga/logger@workspace:^↗︎ (from^2.0.0, independencies)
- Updated dependency
@graphql-yoga/subscription@workspace:^↗︎ (from^5.0.0, independencies)
 
- Updated dependency
- 
#3270 f9aa1cdThanks @andrew0 ! - Retain server context prototype for batched requests
- 
Updated dependencies [ fdd902c]:- @graphql-yoga/subscription@5.0.1
 
5.3.1
Patch Changes
- 
#3237 3324bbabThanks @ardatan ! - dependencies updates:- Updated dependency
@whatwg-node/server@^0.9.33↗︎ (from^0.9.32, independencies)
 
- Updated dependency
- 
#3237 3324bbabThanks @ardatan ! - In such environments like CloudFlare Workers, therequestobject in the context always has the initial request object, so it was impossible to access the actualRequestobject from the execution context. Now Yoga ensures that therequestin the context is the same with the actualRequest.
5.3.0
Minor Changes
- 
#3197 f775b341Thanks @n1ru4l ! - Experimental support for aborting GraphQL execution when the HTTP request is canceled.The execution of subsequent GraphQL resolvers is now aborted if the incoming HTTP request is canceled from the client side. This reduces the load of your API in case incoming requests with deep GraphQL operation selection sets are canceled. import { createYoga, useExecutionCancellation } from 'graphql-yoga' const yoga = createYoga({ plugins: [useExecutionCancellation()] })Action Required In order to benefit from this new feature, you need to update your integration setup for Fastify, Koa and Hapi. - const response = await yoga.handleNodeRequest(req, { ... }) + const response = await yoga.handleNodeRequestAndResponse(req, res, { ... })Please refer to the corresponding integration guides for examples. 
Patch Changes
- 
#3197 f775b341Thanks @n1ru4l ! - dependencies updates:- Updated dependency
@graphql-tools/executor@^1.2.5↗︎ (from^1.2.2, independencies)
- Updated dependency
@whatwg-node/fetch@^0.9.17↗︎ (from^0.9.7, independencies)
- Updated dependency
@whatwg-node/server@^0.9.32↗︎ (from^0.9.1, independencies)
 
- Updated dependency
- 
#3214 f89a1aa2Thanks @n1ru4l ! - Always include empty data payload for finalcompleteevent of SSE stream responses to ensureEventSourcecompatibility. See the GraphQL over SSE protocol for more information.
5.2.0
Minor Changes
- #3196 
71db7548Thanks @n1ru4l ! - Allow setting async iterable withinonParamshooksetResultfunction
Patch Changes
- #3196 
71db7548Thanks @n1ru4l ! - dependencies updates:- Updated dependency
@graphql-tools/executor@^1.2.2↗︎ (from^1.0.0, independencies)
- Updated dependency
@graphql-tools/utils@^10.1.0↗︎ (from^10.0.0, independencies)
 
- Updated dependency
5.1.1
Patch Changes
5.1.0
Minor Changes
5.0.2
Patch Changes
- #3133 
77d107feThanks @ardatan ! - Update HTTP Executor and addmethodanduseGETForQueriesto GraphiQL options
5.0.1
Patch Changes
- 3fea19f2Thanks @antonio-iodice ! - Do not return 404 when using query params or trailing slashes
5.0.0
Major Changes
- 
#3063 01430e03Thanks @EmrysMyrddin ! - Breaking Change: Drop support of Node.js 16
- 
#3070 5b615478Thanks @renovate ! - dependencies updates:- Updated dependency
@envelop/core@^5.0.0↗︎ (from^4.0.0, independencies)
 
- Updated dependency
Patch Changes
- 
#3051 350bb851Thanks @ardatan ! - Use the same context object in the entire pipeline
- 
Updated dependencies [ 01430e03]:- @graphql-yoga/subscription@5.0.0
- @graphql-yoga/logger@2.0.0
 
4.0.5
Patch Changes
- #3004 
bf602edfThanks @EmrysMyrddin ! - Fix dynamic schema function type and documentation
4.0.4
Patch Changes
- #2958 
5f182006Thanks @enisdenjo ! - Start SSE stream with a ping
4.0.3
Patch Changes
- 5efb8250Thanks @n1ru4l ! - dependencies updates:- Updated dependency
@whatwg-node/fetch@^0.9.7↗︎ (from^0.9.0, independencies)
- Updated dependency
@whatwg-node/server@^0.9.1↗︎ (from^0.8.1, independencies)
 
- Updated dependency
4.0.2
Patch Changes
- #2872 
ce6d2465Thanks @nescalante ! - Avoid overriding http status on extensions when using a plugin that modifies error prop
4.0.1
Patch Changes
- 
#2866 bb739b05Thanks @renovate ! - dependencies updates:- Updated dependency lru-cache@^10.0.0↗︎ (from^9.0.0, independencies)
 
- Updated dependency 
- 
#2869 8f7d7abcThanks @enisdenjo ! - Properly serialise GraphQLError on graphql-js v15
4.0.0
Major Changes
- 
#2767 4228c1d5Thanks @renovate ! - Drop support for Node.js 14. Require Node.js>=16.
- 
#2776 34ecb4bbThanks @enisdenjo ! - Drop unused graphiql optionsdefaultVariableEditorOpenandheaderEditorEnabled
- 
#2810 ec318fe6Thanks @n1ru4l ! - Remove support for executing Subscription operations over the incremental delivery response protocol (multipart/mixed)
- 
#2775 dd699c4bThanks @enisdenjo ! - Subscriptions use GraphQL over SSE “distinct connections mode”
- 
#2767 4228c1d5Thanks @renovate ! - Events without an event payload will now always havenullas the event payload instead ofundefined.
- 
#2777 0522c740Thanks @enisdenjo ! - Parse and validation cache are now under a single optionparserAndValidationCache
Patch Changes
- 
#2720 cc370691Thanks @n1ru4l ! - Skip validation caching when there is noschemaspecified. This previously caused a cryptic error message when reaching execution/validation without a schema. Now the missing schema error will actually originate from within thevalidatefunction instead.
- 
#2726 b309ca0dThanks @ardatan ! - RespecttoJSONin the thrown errors.
- 
Updated dependencies [ 4228c1d5,4228c1d5]:- @graphql-yoga/subscription@4.0.0
- @graphql-yoga/logger@1.0.0
 
3.9.1
Patch Changes
- 
#2682 e1a60e21Thanks @renovate ! - dependencies updates:- Updated dependency
@graphql-tools/executor@^0.0.17↗︎ (from^0.0.16, independencies)
 
- Updated dependency
- 
#2686 c50ea51cThanks @n1ru4l ! - dependencies updates:- Updated dependency
@graphql-tools/executor@^0.0.18↗︎ (from^0.0.17, independencies)
- Updated dependency
@graphql-tools/schema@^9.0.18↗︎ (from^9.0.0, independencies)
 
- Updated dependency
- 
#2686 c50ea51cThanks @n1ru4l ! - Prevent errors thrown from subscription source crashing the Node.js process and instead log the error to the console, then terminate the client subscription.
3.9.0
Minor Changes
- #2675 
aff69200Thanks @enisdenjo ! - Only well-formatted GraphQL-over-HTTP requests use 200 when accepting application/json
3.8.1
Patch Changes
- 
#2652 ebb65b14Thanks @renovate ! - dependencies updates:- Updated dependency
@graphql-tools/executor@^0.0.16↗︎ (from^0.0.15, independencies)
 
- Updated dependency
- 
#2676 528941cbThanks @n1ru4l ! - Prefercontent-type: multipart/mixedovercontent-type: text/event-streamwhen the client sendsaccept: text/event-stream, multipart/mixed.
3.8.0
Minor Changes
- #2445 
09d23a4bThanks @ardatan ! - GraphQL SSE Distinct Connections mode support withlegacySse = falseflag
Patch Changes
- 
#2602 99b72696Thanks @n1ru4l ! - dependencies updates:- Updated dependency lru-cache@^7.14.1↗︎ (from^8.0.0, independencies)
 
- Updated dependency 
- 
#2602 99b72696Thanks @n1ru4l ! - revertlru-cacheversion to7.x.x, as8.x.xbroke Node.js 14 support.
3.7.3
Patch Changes
- #2559 
46e75917Thanks @renovate ! - dependencies updates:- Updated dependency lru-cache@^8.0.0↗︎ (from^7.14.1, independencies)
 
- Updated dependency 
3.7.2
Patch Changes
- #2528 
7ad50529Thanks @renovate ! - dependencies updates:- Updated dependency
@graphql-yoga/logger@^0.0.1↗︎ (from0.0.1, independencies)
- Updated dependency
@whatwg-node/server@^0.7.3↗︎ (from^0.7.1, independencies)
 
- Updated dependency
3.7.1
Patch Changes
- 
#2481 9fdd94b5Thanks @ardatan ! - dependencies updates:- Updated dependency
@whatwg-node/server@^0.7.1↗︎ (from^0.6.7, independencies)
 
- Updated dependency
- 
#2496 47b1c4a4Thanks @renovate ! - dependencies updates:- Updated dependency
@graphql-tools/executor@^0.0.15↗︎ (from^0.0.14, independencies)
 
- Updated dependency
- 
#2527 02ac055cThanks @ardatan ! - dependencies updates:- Added dependency
@graphql-yoga/logger@0.0.0↗︎ (todependencies)
 
- Added dependency
- 
#2527 02ac055cThanks @ardatan ! - Release logger seperately
- 
Updated dependencies [ 02ac055c]:- @graphql-yoga/logger@0.0.1
 
3.7.0
Minor Changes
Patch Changes
- 
#2470 23d1b26cThanks @n1ru4l ! - dependencies updates:- Updated dependency
@envelop/validation-cache@^5.1.2↗︎ (from^5.0.5, independencies)
 
- Updated dependency
- 
#2470 23d1b26cThanks @n1ru4l ! - bump range of@envelop/validation-cachefor fixing javascript runtime compatibility (usage of node-only globalrequire).
3.6.1
Patch Changes
- 3c8c8434Thanks @ardatan ! - Replace LRU caching with lazy URL construction, avoid unnecessary- parseand- validateinvocation and CORS
3.6.0
Minor Changes
- #2393 
790330beThanks @ardatan ! - Decrease request latency by improving the validation and parser cache algorithm.
Patch Changes
- 
#2388 6bc1410fThanks @ardatan ! - Improve URL parsing performance
- 
#2375 ddb2607dThanks @renovate ! - dependencies updates:- Updated dependency
@graphql-tools/executor@0.0.13↗︎ (from0.0.12, independencies)
 
- Updated dependency
- 
#2388 6bc1410fThanks @ardatan ! - dependencies updates:- Added dependency lru-cache@^7.14.1↗︎ (todependencies)
 
- Added dependency 
- 
#2392 1caac99bThanks @renovate ! - dependencies updates:- Updated dependency
@whatwg-node/fetch@0.6.8↗︎ (from0.6.5, independencies)
- Updated dependency
@whatwg-node/server@0.6.3↗︎ (from0.5.11, independencies)
 
- Updated dependency
- 
#2393 790330beThanks @ardatan ! - dependencies updates:- Updated dependency
@graphql-tools/utils@^9.2.1↗︎ (from^9.0.1, independencies)
- Removed dependency
@envelop/parser-cache@^5.0.4↗︎ (fromdependencies)
 
- Updated dependency
- 
#2394 7587d5c5Thanks @renovate ! - dependencies updates:- Updated dependency
@graphql-tools/executor@^0.0.14↗︎ (from^0.0.13, independencies)
 
- Updated dependency
- 
#2405 cc0d3899Thanks @renovate ! - dependencies updates:- Updated dependency
@whatwg-node/fetch@^0.7.0↗︎ (from^0.6.9, independencies)
- Updated dependency
@whatwg-node/server@^0.6.5↗︎ (from^0.6.4, independencies)
 
- Updated dependency
- 
#2411 a747d249Thanks @ardatan ! - dependencies updates:- Updated dependency
@whatwg-node/fetch@^0.8.1↗︎ (from^0.7.0, independencies)
- Updated dependency
@whatwg-node/server@^0.6.7↗︎ (from^0.6.5, independencies)
 
- Updated dependency
- 
#2417 2933fc89Thanks @ardatan ! - dependencies updates:- Updated dependency
@whatwg-node/fetch@^0.7.1↗︎ (from^0.7.0, independencies)
 
- Updated dependency
- 
#2421 543e490bThanks @ardatan ! - dependencies updates:- Updated dependency
@whatwg-node/fetch@^0.8.1↗︎ (from^0.7.1, independencies)
- Updated dependency
@whatwg-node/server@^0.6.7↗︎ (from^0.6.5, independencies)
 
- Updated dependency
3.5.1
Patch Changes
3.5.0
Minor Changes
- 
#2364 03597a5aThanks @n1ru4l ! - export the yoga default format error function.import { createYoga, maskError } from 'graphql-yoga' const yoga = createYoga({ maskedErrors: { maskError(error, message, isDev) { if (error?.extensions?.code === 'DOWNSTREAM_SERVICE_ERROR') { return error } return maskError(error, message, isDev) } } })
3.4.1
Patch Changes
- 
#2254 00843174Thanks @ardatan ! - dependencies updates:- Updated dependency
@whatwg-node/fetch@0.6.5↗︎ (from0.6.2, independencies)
- Updated dependency
@whatwg-node/server@0.5.11↗︎ (from0.5.8, independencies)
 
- Updated dependency
- 
#2254 00843174Thanks @ardatan ! - Use the new fetch implementation
3.4.0
Patch Changes
- 
#2331 76c1ecb9Thanks @enisdenjo ! - Properly serialise response extension arrays, nullish values and dates
- 
#2276 8cd8b5a5Thanks @renovate ! - dependencies updates:- Updated dependency
@whatwg-node/server@0.5.5↗︎ (from0.5.4, independencies)
 
- Updated dependency
- 
#2313 6e8bddbaThanks @renovate ! - dependencies updates:- Updated dependency
@whatwg-node/fetch@0.6.2↗︎ (from0.6.1, independencies)
- Updated dependency
@whatwg-node/server@0.5.6↗︎ (from0.5.5, independencies)
 
- Updated dependency
- 
#2316 6ee252dbThanks @renovate ! - dependencies updates:- Updated dependency
@graphql-tools/executor@0.0.12↗︎ (from0.0.11, independencies)
 
- Updated dependency
- 
#2335 8f139e15Thanks @renovate ! - dependencies updates:- Updated dependency
@whatwg-node/server@0.5.7↗︎ (from0.5.6, independencies)
 
- Updated dependency
- 
#2340 9beef914Thanks @renovate ! - dependencies updates:- Updated dependency
@whatwg-node/server@0.5.8↗︎ (from0.5.7, independencies)
 
- Updated dependency
- 
#2240 c46d75e8Thanks @enisdenjo ! - Check HTTP request method after user-land plugins
- 
#2278 f9ab8a70Thanks @ardatan ! - Use normalized URL instead of string
- 
Updated dependencies [ fe4a2aca]:- @graphql-yoga/subscription@3.1.0
 
3.3.1
Patch Changes
3.3.0
Minor Changes
Patch Changes
- 
#2266 3e5f688fThanks @ardatan ! - dependencies updates:- Updated dependency
@whatwg-node/fetch@0.6.1↗︎ (from0.5.4, independencies)
- Updated dependency
@whatwg-node/server@0.5.3↗︎ (from0.5.1, independencies)
 
- Updated dependency
- 
#2269 8b288a23Thanks @renovate ! - dependencies updates:- Updated dependency
@whatwg-node/server@0.5.4↗︎ (from0.5.3, independencies)
 
- Updated dependency
3.2.1
Patch Changes
3.2.0
Minor Changes
Patch Changes
- 
#2213 a86aaa0fThanks @renovate ! - dependencies updates:- Updated dependency
@graphql-tools/executor@0.0.11↗︎ (from0.0.9, independencies)
- Updated dependency
@whatwg-node/fetch@0.5.4↗︎ (from0.5.3, independencies)
- Updated dependency
@whatwg-node/server@0.5.1↗︎ (from0.4.17, independencies)
 
- Updated dependency
- 
#2250 82f58934Thanks @ardatan ! - More accurate HTTP status code when unsupported media type is sent as a request body.Before it was returning 400: Bad RequestwithRequest is not validtext body in the response but now it returns415: Unsupported Media Typewith an empty body.Also see this unit test; https://github.com/dotansimha/graphql-yoga/pull/2250/files#diff-78bcfa5f6d33aceeabdacd26e353641fea6fd125838ed0e1565762221568c777R380 
3.1.2
Patch Changes
- 
#2231 c5b1cc46Thanks @n1ru4l ! - dependencies updates:- Updated dependency
@envelop/parser-cache@^5.0.4↗︎ (from5.0.4, independencies)
- Updated dependency
@envelop/validation-cache@^5.0.5↗︎ (from5.0.4, independencies)
 
- Updated dependency
- 
#2238 c152105eThanks @ardatan ! - Do not call CORS headers factory twice
- 
#2206 26d780cdThanks @ardatan ! - Correct Mask Error Factory signature
- 
#2239 d2958781Thanks @davidruisinger ! - Add content-length: 0 header if 204 is returned by OPTIONS request
3.1.1
Patch Changes
3.1.0
Minor Changes
Patch Changes
- 
#2165 86fe453cThanks @ardatan ! - ExportuseErrorHandlerto revert the unexpected breaking change
- 
#2145 ea81e1ddThanks @n1ru4l ! - Avoid unnecessary iteration within internals
3.0.3
Patch Changes
- #2156 
491ef5daThanks @renovate ! - dependencies updates:- Updated dependency
@envelop/core@3.0.4↗︎ (from3.0.3, independencies)
- Updated dependency
@envelop/parser-cache@5.0.4↗︎ (from5.0.3, independencies)
- Updated dependency
@envelop/validation-cache@5.0.4↗︎ (from5.0.3, independencies)
 
- Updated dependency
3.0.2
Patch Changes
- 
#2154 0007c58dThanks @ardatan ! - Only Yoga’s errors are now 200 when content-type is application/json
- 
#2147 39a8fe89Thanks @ardatan ! - Bump @whatwg-node/server to fix the conflict issue between webworker & dom TS typing libs
3.0.1
Patch Changes
- #2125 
d63fe841Thanks @enisdenjo ! - application/json is the default when accept is missing until watershed
3.0.0
Major Changes
- 
2e0c4824Thanks @b4s36t4 ! - Drop Node 12 SupportGraphQL Yoga no longer supports Node 12 which is no longer an LTS version. GraphQL Yoga now needs Node 14 at least. 
- 
#2012 720898dbThanks @saihaj ! - Remove.injectmethod to mock testing. Users should replace to usefetchmethod for testing.Checkout our docs on testing https://www.the-guild.dev/graphql/yoga-server/v3/features/testing . import { createYoga } from 'graphql-yoga' import { schema } from './schema' const yoga = createYoga({ schema }) - const { response, executionResult } = await yoga.inject({ - document: "query { ping }", - }) + const response = await yoga.fetch('http://yoga/graphql', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: 'query { ping }', + }), + }) + const executionResult = await response.json() console.assert(response.status === 200, 'Response status should be 200') console.assert(executionResult.data.ping === 'pong',`Expected 'pong'`)
- 
#1753 eeaced00Thanks @ardatan ! -schemano longer accepts an object oftypeDefsandresolversbut instead you can usecreateSchemato create a GraphQL schema.
- 
#1516 209b1620Thanks @ardatan ! - Now it is possible to decide the returnedContent-Typeby specifying theAcceptheader. So ifAcceptheader hastext/event-streamwithoutapplication/json, Yoga respects that returnstext/event-streaminstead ofapplication/json.
- 
#1808 02d2aecdThanks @enisdenjo ! - DropreadinessCheckEndpointin favor of theuseReadinessCheckplugin
- 
#1473 c4b3a9c8Thanks @ardatan ! - ReplaceGraphQLYogaErrorin favor ofGraphQLError.
- 
#1660 71554172Thanks @saihaj ! - Update to the latest version of the envelopuseMaskedErrorplugin.- Removed handleValidationErrorsandhandleParseErrors
- Renamed formatErrortomaskError
 
- Removed 
- 
#2091 1d508495Thanks @ardatan ! - Export only specific utilities from@envelop/core.
Minor Changes
- 
#1966 6e250209Thanks @saihaj ! - Use@graphql-tools/executoras a default GraphQL Executor in favor ofgraphql-js.
- 
#1497 1d7f810aThanks @ardatan ! - Support a schema factory function that runs per request or a promise to be resolved before the first request.createYoga({ schema(request: Request) { return getSchemaForToken(request.headers.get('x-my-token')) } })async function buildSchemaAsync() { const typeDefs = await fs.promises.readFile('./schema.graphql', 'utf8') const resolvers = await import('./resolvers.js') return makeExecutableSchema({ typeDefs, resolvers }) } createYoga({ schema: buildSchemaAsync() })
- 
#1662 098e139fThanks @ardatan ! - - Batching RFC support withbatchingLimitoption to enable batching with an exact limit of requests per batch.- New onParamshook that takes a singleGraphQLParamsobject
- Changes in onRequestParseandonRequestParseDonehook
- Now onRequestParseDonereceives the exact object that is passed by the request parser so it can beGraphQLParamsor an array ofGraphQLParamsso useonParamsif you need to manipulate batched execution params individually.
 
- New 
Patch Changes
- 
#2024 9f991a27Thanks @enisdenjo ! - Ensure all parsing failures inGraphQLScalarTypeare caught and handled with 400 status code.
- 
#1920 cebca219Thanks @enisdenjo ! - Handle edge case whereContent-Typeheader provides a list like;Content-Type: application/json, text/plain, */*
- 
#1609 74e1f830Thanks @enisdenjo ! -usePreventMutationViaGETdoesn’t do assertion if it is notYogaContext, so it is possible to use Yoga’s Envelop instance with other server implementations likegraphql-ws.
- 
#1567 e7a47b56Thanks @n1ru4l ! - Handle invalid POST body gracefully. Rejectnull, non-object bodies or invalid JSON bodies.
- 
#1911 5f5b1160Thanks @enisdenjo ! - Handle cases where user supplies a malformed/unexpected context. Preventing GraphQL Yoga to crash and existing prematurely.
- 
73e56068Thanks @ardatan ! - Fix cancellation logic for defer/stream queries.
- 
#1609 74e1f830Thanks @enisdenjo ! - Expose readonlygraphqlEndpointinYogaServerInstanceconst yoga = createYoga({ /*...*/ }) console.log(yoga.graphqlEndpoint) // /graphql by default
- 
#1844 b079c93bThanks @ardatan ! - All unexpected errors even if they are masked/wrapped The HTTP status code will be determined by the specific protocol the client is sending.“Unexpected error.” means an Error that is not an instance of GraphQLError or an instance of GraphQLError with an originalErrorthat is not an instance of GraphQLError recursively.
- 
#1988 b19a9104Thanks @ardatan ! - Respect the order of mime types given in the accept header by the client.
- 
#1616 1d5cde96Thanks @ardatan ! - Allow the content typeapplication/graphql-response+jsonas theAcceptheader value.
- 
#1775 44878a5bThanks @enisdenjo ! - Improve the context type for server and request context.
- 
Updated dependencies [ b2407c6a]:- @graphql-yoga/subscription@3.0.0
 
3.0.0-next.12
Patch Changes
3.0.0-next.11
Major Changes
- 
#2012 720898dbThanks @saihaj ! - Remove.injectmethod to mock testing. Users should replace to usefetchmethod for testing. Checkout our docs on testing https://www.the-guild.dev/graphql/yoga-server/v3/features/testing .import { createYoga } from 'graphql-yoga' import { schema } from './schema' const yoga = createYoga({ schema }) - const { response, executionResult } = await yoga.inject({ - document: "query { ping }", - }) + const response = await yoga.fetch('http://localhost:4000/graphql', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + query: 'query { ping }', + }), + }) + const executionResult = await response.json() console.assert(response.status === 200, 'Response status should be 200') console.assert(executionResult.data.ping === 'pong',`Expected 'pong'`)
Patch Changes
- 
#2024 9f991a27Thanks @enisdenjo ! - Ensure all parsing failures inGraphQLScalarTypeare caught and handled with 400 status code.
- 
#2058 ef191eeeThanks @enisdenjo ! - Simplify landing page and fix links
3.0.0-next.10
Patch Changes
- 
#1997 8773a27fThanks @saihaj ! - introduce a new plugin for defer and stream instead of making it default in yoga
- 
#1996 cedde92fThanks @enisdenjo ! - Support older version of GraphQLjs
- 
#1992 bf69a561Thanks @saihaj ! - inline functions to support multiple version of graphql-js
3.0.0-next.9
Minor Changes
Patch Changes
- #1988 
b19a9104Thanks @ardatan ! - Respect the order of mime types given in the accept header by the client
3.0.0-next.8
Minor Changes
3.0.0-next.7
Patch Changes
- 
#1920 cebca219Thanks @enisdenjo ! - Handle edge case where Content-Type header provides a list
- 
#1911 5f5b1160Thanks @enisdenjo ! - Handle cases where user supplies a malformed/unexpected context
3.0.0-next.6
Patch Changes
3.0.0-next.5
Major Changes
- 
#1660 71554172Thanks @saihaj ! - update to EnvelopuseMaskedErrorplugin- Removed handleValidationErrors and handleParseErrors
- Renamed formatError to maskError
 Checkout envelop docs for more details https://www.the-guild.dev/graphql/envelop/v3/guides/migrating-from-v2-to-v3#8-update-options-for-usemaskederrors-plugin 
3.0.0-next.4
Major Changes
- #1808 
02d2aecdThanks @enisdenjo ! - DropreadinessCheckEndpointand introduceuseReadinessCheckplugin
Patch Changes
- 
#1844 b079c93bThanks @ardatan ! - - All unexpected errors even if they are masked/wrapped, HTTP status code will be set to 500.“Unexpected error” means an Error that is not an instance of GraphQLError or an instance of GraphQLError with an originalErrorthat is not an instance of GraphQLError recursively.
3.0.0-next.3
Patch Changes
3.0.0-next.2
Patch Changes
- #1794 
8c674c36Thanks @ardatan ! - dependencies updates:- Updated dependency
@whatwg-node/fetch@0.4.6↗︎ (from0.4.5, independencies)
- Updated dependency
@whatwg-node/server@0.4.10↗︎ (from0.4.7, independencies)
- Added dependency
@graphql-tools/utils@8.12.0↗︎ (todependencies)
 
- Updated dependency
3.0.0-next.1
Patch Changes
- #1775 
44878a5bThanks @enisdenjo ! - Context typings improvements
3.0.0-next.0
Major Changes
- 
#1660 2e0c4824Thanks @saihaj ! - Drop Node 12 SupportGraphQL Yoga no longer supports Node 12 which is no longer an LTS version. GraphQL Yoga now needs Node 14 at least. 
- 
#1660 f46addd7Thanks @saihaj ! - See the migration guide for more information;
- 
#1753 eeaced00Thanks @ardatan ! -schemano longer accepts an object oftypeDefsandresolversbut instead you can usecreateSchemato create a GraphQL schema.
- 
#1516 209b1620Thanks @ardatan ! - Now it is possible to decide the returnedContent-Typeby specifying theAcceptheader. So ifAcceptheader hastext/event-streamwithoutapplication/json, Yoga respects that returnstext/event-streaminstead ofapplication/json.
- 
#1473 c4b3a9c8Thanks @ardatan ! - BREAKING: RemoveGraphQLYogaErrorin favor ofGraphQLErrorCheck the documentation to see how to useGraphQLError
Minor Changes
- 
#1610 f4b23387Thanks @ardatan ! - Pass the parsed request as-is and validate the final GraphQLParams in useCheckGraphQLParams
- 
#1497 1d7f810aThanks @ardatan ! - Support a schema factory function that runs per request or a promise to be resolved before the first request.createYoga({ schema(request: Request) { return getSchemaForToken(request.headers.get('x-my-token')) } })async function buildSchemaAsync() { const typeDefs = await fs.promises.readFile('./schema.graphql', 'utf8') const resolvers = await import('./resolvers.js') return makeExecutableSchema({ typeDefs, resolvers }) } createYoga({ schema: buildSchemaAsync() })
- 
#1662 098e139fThanks @ardatan ! - - Batching RFC support withbatchingLimitoption to enable batching with an exact limit of requests per batch.- New onParamshook that takes a singleGraphQLParamsobject
- Changes in onRequestParseandonRequestParseDonehook
- 
- Now onRequestParseDonereceives the exact object that is passed by the request parser so it can beGraphQLParamsor an array ofGraphQLParamsso useonParamsif you need to manipulate batched execution params individually.
 
- Now 
 
- New 
Patch Changes
- 
#1609 74e1f830Thanks @enisdenjo ! -usePreventMutationViaGETdoesn’t do assertion if it is notYogaContext, so it is possible to use Yoga’s Envelop instance with other server implementations likegraphql-ws.
- 
#1567 e7a47b56Thanks @n1ru4l ! - Handle invalid POST body gracefully; - Rejectnull- Reject non-object body - Reject invalid JSON body
- 
#1609 74e1f830Thanks @enisdenjo ! - Expose readonlygraphqlEndpointinYogaServerInstanceconst yoga = createYoga({ /*...*/ }) console.log(yoga.graphqlEndpoint) // /graphql by default
- 
#1616 1d5cde96Thanks @ardatan ! - Supportapplication/graphql-response+jsonasAccepted content type for the response
- 
Updated dependencies [ b2407c6a]:- @graphql-yoga/subscription@3.0.0-next.0
 
2.13.11
Patch Changes
- Updated dependencies []:
- @graphql-yoga/node@2.13.11
 
2.13.10
Patch Changes
- Updated dependencies
[779b55ee]:- @graphql-yoga/node@2.13.10
 
2.13.9
Patch Changes
- Updated dependencies []:
- @graphql-yoga/node@2.13.9
 
2.13.8
Patch Changes
- Updated dependencies []:
- @graphql-yoga/node@2.13.8
 
2.13.7
Patch Changes
2.13.6
Patch Changes
- eecf24c: Fix CommonJS TypeScript resolution with moduleResolutionnode16ornodenext
- Updated dependencies [eecf24c]
- @graphql-yoga/node@2.13.6
 
2.13.5
Patch Changes
- Updated dependencies [c00dad3]
- @graphql-yoga/node@2.13.5
 
2.13.4
Patch Changes
- @graphql-yoga/node@2.13.4
2.13.3
Patch Changes
- Updated dependencies [639607d]
- @graphql-yoga/node@2.13.3
 
2.13.2
Patch Changes
- @graphql-yoga/node@2.13.2
2.13.1
Patch Changes
- @graphql-yoga/node@2.13.1
2.13.0
Patch Changes
- @graphql-yoga/node@2.13.0
2.12.0
Patch Changes
- @graphql-yoga/node@2.12.0
2.11.2
Patch Changes
- Updated dependencies [ca5f940]
- @graphql-yoga/node@2.11.2
 
2.11.1
Patch Changes
- Updated dependencies [9248df8]
- @graphql-yoga/node@2.11.1
 
2.11.0
Patch Changes
- Updated dependencies [8947657]
- @graphql-yoga/node@2.11.0
 
2.10.0
Minor Changes
- 7de07cd: Support TypeScript ECMA script resolution. More information on https://devblogs.microsoft.com/typescript/announcing-typescript-4-7/#ecmascript-module-support-in-node-js
Patch Changes
- Updated dependencies [7de07cd]
- Updated dependencies [8922c3b]
- @graphql-yoga/node@2.10.0
 
2.9.2
Patch Changes
- @graphql-yoga/node@2.9.2
2.9.1
Patch Changes
- @graphql-yoga/node@2.9.1
2.9.0
Patch Changes
- Updated dependencies [06652c7]
- Updated dependencies [2d3c54c]
- @graphql-yoga/node@2.9.0
 
2.8.0
Patch Changes
- @graphql-yoga/node@2.8.0
2.7.0
Patch Changes
- @graphql-yoga/node@2.7.0
2.6.1
Patch Changes
- Updated dependencies [0224bf9]
- @graphql-yoga/node@2.6.1
 
2.6.0
Patch Changes
- @graphql-yoga/node@2.6.0
2.5.0
Patch Changes
- Updated dependencies [8b6d896]
- @graphql-yoga/node@2.5.0
 
2.4.1
Patch Changes
- @graphql-yoga/node@2.4.1
2.4.0
Patch Changes
- Updated dependencies [28e24c3]
- Updated dependencies [13f96db]
- @graphql-yoga/node@2.4.0
 
2.3.0
Patch Changes
- @graphql-yoga/node@2.3.0
2.2.1
Patch Changes
- Updated dependencies [32e2e40]
- @graphql-yoga/node@2.2.1
 
2.2.0
Patch Changes
- Updated dependencies [1d4fe42]
- @graphql-yoga/node@2.2.0
 
2.1.0
Patch Changes
- Updated dependencies [4077773]
- Updated dependencies [2739db2]
- Updated dependencies [cd9394e]
- @graphql-yoga/node@2.1.0
 
2.0.0
Major Changes
- 
b6dd3f1: The goal is to provide a fully-featured, simple to set up, performant and extendable server. Some key features: - GraphQL-over-HTTP spec compliant
- Extend the GraphQL request flow using envelop
- File uploads (via GraphQL multipart request specification)
- GraphQL Subscriptions (using SSE )
- Logging using Pino
- Improved TypeScript Support
- Try out experimental GraphQL features such as @deferand@stream
 
- 
de1693e: trigger release 
Minor Changes
- 
6750eff: rename GraphQLServerErrortoGraphQLYogaError.
- 
0edf1f8: feat: options for GraphiQL 
- 
d414f95: BREAKING Set maskedErrorsvalue totrueby default for safer defaults.BREAKING Remove disableIntrospection. Please useuseDisableIntrospectionfrom@envelop/disable-introspectioninstead.
- 
36af58e: export renderGraphiQL function 
- 
bea2dcc: align envelop types 
- 
fc1f2c7: make options optional 
- 
fb894da: Rename createGraphQLServer to createServer 
- 
1a20e1e: Export everything from @envelop/core and export GraphQLFile scalar 
- 
d078e84: Drop fastify and use node-http package 
- 
6d60ebf: add tabs to GraphiQL 
- 
9554f81: Add PubSub utility. 
- 
95e0ac0: feat: remove unnecessary Upload scalar types 
- 
dcaea56: add missing tslib dependency 
Patch Changes
- 
6effd5d: fix(node): handle response cancellation correctly 
- 
3d54829: enhance: move W3C changes 
- 
0edf1f8: feat(cli): binds GraphQL Config to GraphQL Yoga 
- 
a10a16c: Node Server implementation has been moved to @graphql-yoga/nodepackage.CLI implementation has been moved to graphql-yogapackage.
- 
5b6f025: feat(yoga-cli): fallback to default schema and add mock parameter 
- 
Updated dependencies [d414f95] 
- 
Updated dependencies [133f8e9] 
- 
Updated dependencies [14c93a7] 
- 
Updated dependencies [ec777b1] 
- 
Updated dependencies [dcaea56] 
- 
Updated dependencies [b0b244b] 
- 
Updated dependencies [cfec14b] 
- 
Updated dependencies [433558f] 
- 
Updated dependencies [3c82b57] 
- 
Updated dependencies [f5f06f4] 
- 
Updated dependencies [dcaea56] 
- 
Updated dependencies [8ab60cf] 
- 
Updated dependencies [433558f] 
- 
Updated dependencies [5fba736] 
- 
Updated dependencies [62e8c07] 
- 
Updated dependencies [ce60a48] 
- 
Updated dependencies [a8b619b] 
- 
Updated dependencies [6d60ebf] 
- 
Updated dependencies [44ad1b3] 
- 
Updated dependencies [0424fe3] 
- 
Updated dependencies [de1693e] 
- 
Updated dependencies [d60f79f] 
- 
Updated dependencies [dcaea56] 
- 
Updated dependencies [daeea82] 
- 
Updated dependencies [a10a16c] - @graphql-yoga/node@0.1.0
 
2.0.0-beta.8
Minor Changes
- 6d60ebf: add tabs to GraphiQL
Patch Changes
- 5b6f025: feat(yoga-cli): fallback to default schema and add mock parameter
- Updated dependencies [3c82b57]
- Updated dependencies [6d60ebf]
- Updated dependencies [0424fe3]
- Updated dependencies [d60f79f]
- @graphql-yoga/node@0.1.0-beta.8
 
2.0.0-beta.7
Patch Changes
- Updated dependencies [14c93a7]
- Updated dependencies [ec777b1]
- Updated dependencies [8ab60cf]
- @graphql-yoga/node@0.1.0-beta.7
 
2.0.0-beta.6
Patch Changes
- @graphql-yoga/node@0.1.0-beta.6
2.0.0-beta.5
Patch Changes
- Updated dependencies [cfec14b]
- Updated dependencies [5fba736]
- Updated dependencies [44ad1b3]
- @graphql-yoga/node@0.1.0-beta.5
 
2.0.0-beta.4
Patch Changes
- Updated dependencies [433558f]
- Updated dependencies [433558f]
- @graphql-yoga/node@0.1.0-beta.4
 
2.0.0-beta.3
Patch Changes
- Updated dependencies [62e8c07]
- @graphql-yoga/node@0.1.0-beta.3
 
2.0.0-beta.2
Patch Changes
- Updated dependencies [daeea82]
- @graphql-yoga/node@0.0.1-beta.2
 
2.0.0-beta.1
Patch Changes
- @graphql-yoga/node@0.0.1-beta.1
2.0.0-beta.0
Major Changes
- de1693e: trigger release
Patch Changes
- Updated dependencies [de1693e]
- @graphql-yoga/node@0.0.1-beta.0
 
2.0.0-alpha.12
Minor Changes
- dcaea56: add missing tslib dependency
Patch Changes
- Updated dependencies [133f8e9]
- Updated dependencies [dcaea56]
- Updated dependencies [f5f06f4]
- Updated dependencies [dcaea56]
- Updated dependencies [ce60a48]
- Updated dependencies [dcaea56]
- @graphql-yoga/node@0.1.0-alpha.4
 
2.0.0-alpha.11
Patch Changes
- @graphql-yoga/node@0.1.0-alpha.3
2.0.0-alpha.10
Patch Changes
- Updated dependencies [b0b244b]
- @graphql-yoga/node@0.1.0-alpha.2
 
2.0.0-alpha.9
Patch Changes
- @graphql-yoga/node@0.1.0-alpha.1
2.0.0-alpha.8
Minor Changes
- 
6750eff: rename GraphQLServerErrortoGraphQLYogaError.
- 
d414f95: BREAKING Set maskedErrorsvalue totrueby default for safer defaults.BREAKING Remove disableIntrospection. Please useuseDisableIntrospectionfrom@envelop/disable-introspectioninstead.
- 
bea2dcc: align envelop types 
- 
fc1f2c7: make options optional 
Patch Changes
- 
6effd5d: fix(node): handle response cancellation correctly 
- 
a10a16c: Node Server implementation has been moved to @graphql-yoga/nodepackage.CLI implementation has been moved to graphql-yogapackage.
- 
Updated dependencies [d414f95] 
- 
Updated dependencies [a10a16c] - @graphql-yoga/node@0.1.0-alpha.0
 
2.0.0-alpha.7
Patch Changes
- 3d54829: enhance: move W3C changes
- Updated dependencies [3d54829]
- @graphql-yoga/common@0.2.0-alpha.6
- @graphql-yoga/handler@0.2.0-alpha.3
 
2.0.0-alpha.6
Minor Changes
- 36af58e: export renderGraphiQL function
Patch Changes
- Updated dependencies [36af58e]
- @graphql-yoga/common@0.2.0-alpha.5
- @graphql-yoga/handler@0.2.0-alpha.2
 
2.0.0-alpha.5
Patch Changes
- Updated dependencies [d2c2d18]
- @graphql-yoga/common@0.2.0-alpha.4
 
2.0.0-alpha.4
Minor Changes
- fb894da: Rename createGraphQLServer to createServer
Patch Changes
- Updated dependencies [e99ec3e]
- Updated dependencies [fb894da]
- @graphql-yoga/subscription@0.1.0-alpha.0
- @graphql-yoga/common@0.2.0-alpha.3
 
2.0.0-alpha.3
Minor Changes
- 0edf1f8: feat: options for GraphiQL
- 1a20e1e: Export everything from @envelop/core and export GraphQLFile scalar
- 9554f81: Add PubSub utility.
- 95e0ac0: feat: remove unnecessary Upload scalar types
Patch Changes
- Updated dependencies [0edf1f8]
- Updated dependencies [95e0ac0]
- @graphql-yoga/common@0.2.0-alpha.2
- @graphql-yoga/handler@0.2.0-alpha.1
 
2.0.0-alpha.2
Patch Changes
- Updated dependencies [5de1acf]
- @graphql-yoga/common@0.2.0-alpha.1
 
2.0.0-alpha.1
Minor Changes
- d078e84: Drop fastify and use node-http package
Patch Changes
- Updated dependencies [d078e84]
- Updated dependencies [d8f8a81]
- @graphql-yoga/common@0.2.0-alpha.0
- @graphql-yoga/handler@0.2.0-alpha.0
 
2.0.0-alpha.0
Major Changes
- b6dd3f1: The goal is to provide a fully-featured, simple to set up, performant and extendable
server. Some key features:
- GraphQL-over-HTTP spec compliant
- Extend the GraphQL request flow using envelop
- File uploads (via GraphQL multipart request specification)
- GraphQL Subscriptions (using SSE )
- Logging using Pino
- Improved TypeScript Support
- Try out experimental GraphQL features such as @deferand@stream