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 hooks
Sometimes, 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 usage
import { 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 plugins
It 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 ordering
If 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 unnecessaryparseandvalidateinvocation 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