Repository navigation
chore(deps): update envelop (major) - #813
renovate[bot] wants to merge 1 commit into
Conversation
9fc941b to
3d12a38
Compare
|
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #813 +/- ##
=======================================
Coverage 92.19% 92.19%
=======================================
Files 17 17
Lines 397 397
Branches 128 128
=======================================
Hits 366 366
Misses 31 31 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
3d12a38 to
9e02ee5
Compare
9e02ee5 to
a67f247
Compare
a67f247 to
9ba2bf1
Compare
9ba2bf1 to
ab27fca
Compare
ab27fca to
5278699
Compare
5278699 to
41ca29e
Compare
41ca29e to
a16c65e
Compare
a16c65e to
15ea51d
Compare
15ea51d to
c88d122
Compare
c88d122 to
69335d3
Compare
69335d3 to
ef8b16c
Compare
ef8b16c to
e63eba0
Compare
6550533 to
92e0c00
Compare
b8896fc to
a8d3e8d
Compare
a8d3e8d to
56c5dc3
Compare
56c5dc3 to
8b3bd1a
Compare
This PR contains the following updates:
^5.2.3→^6.0.05.2.3→6.0.0^5.0.0→^6.0.08.1.3→11.0.05.2.1→6.0.0Release Notes
graphql-hive/graphql-yoga (@envelop/core)
v6.0.0Compare Source
Major Changes
79b0e8bThanks @egoodwinx! - ### Breaking Changes
Future releases will only support Node >=22.
supported.
Enforcing this limit streams the body through a byte counter, making POST body parsing
asynchronous even for an in-memory body. As a result,
yoga.fetch()can return a Promise whereit previously returned a synchronous Response, even when all resolvers and plugins are
synchronous.
Migration
If you're on Node 18/20, upgrade to Node 22 or later before upgrading this package.
If you're on graphql 14/15, upgrade to graphql 16 or 17 first.
Await
yoga.fetch()and response body parsing instead of relying on synchronous results. SetmaxRequestBodySize: falseincreateYogato disable the body-size limit and preservesynchronous parsing for in-memory bodies, but only if you enforce an appropriate request-body
limit elsewhere.
#4623
be89d05Thanks @ardatan! - ### Dependencies
@graphql-tools/utilsto^13.1.1,@graphql-tools/schemato^11.0.0, and@graphql-tools/executorto^4.1.2.Incremental delivery
Yoga maps the GraphQL HTTP
Acceptheader throughINCREMENTAL_DELIVERY_SPECSfrom@graphql-tools/utilsonto executorincrementalSpec.multipart/mixed;incrementalSpec=v0.2runs the v0.2 payload format and echoes that spec on
Content-Type.multipart/mixed;deferSpec=20220824or baremultipart/mixedstays on v0.1. An unsupportedincremental spec yields 406.
A later incremental spec is a graphql-tools table row plus an executor publisher. Yoga, Hive
Gateway, and HTTP executors pick it up by bumping
@graphql-tools/utils/@graphql-tools/executor.Breaking Changes
createGraphQLErroris removed. Usenew GraphQLError(message, options)fromgraphql. Toattach Yoga's experimental schema coordinate, use
withSchemaCoordinate(error, coordinate)andread with
getSchemaCoordinatefrom@graphql-tools/utils.mapMaybePromiseis removed (was exported from Yoga /@envelop/core). UsehandleMaybePromisefrom@whatwg-node/promise-helpers.getSchemaCoordinate->@graphql-tools/utilsmergeSchemas->@graphql-tools/schemaDisposableSymbols->@whatwg-node/servermapAsyncIterator/isPromise/fakePromise/handleMaybePromise/MaybePromise->@whatwg-node/promise-helpers@envelop/coreutilsno longer re-exportsmapAsyncIteratororisPromise. Import from@whatwg-node/promise-helpers.asGetArgumentValuesVariables/coerceGetVariableValuesResultfrom@graphql-tools/utilsfor GraphQL 16/17
VariableValuescompatibility.Migration
79b0e8bThanks @egoodwinx! - ### Dependencies
@whatwg-node/serverto^0.13.0,@whatwg-node/fetchto^0.12.0, and@whatwg-node/promise-helpersto^2.0.0.and swap in the native TransformStream when the incoming request already has a native
ReadableStream body — piping it through the ponyfill TransformStream throws since they're
different realms. Thread an optional
fetchAPIparam through handle/parseRequest/getResultForParams so callers can override which fetchAPI (native vs ponyfill) the rest of the
pipeline uses.
Requestinstances automatically use the native Fetch API(
pickRightFetchAPI), so Next.js no longer needsfetchAPI: { Response }.Breaking Changes
engines.nodeis now>=22.15.0(aligned with whatwg-node 0.12+/0.13).@envelop/coreno longer exportsmapMaybePromise(removed upstream in@whatwg-node/promise-helpersv2). UsehandleMaybePromise(() => value, ...)instead.@whatwg-node/fetchno longer exportscrypto; use the platformcryptoglobal.TextEncoderstill comes from
fetchAPIwhere hashing goes through Yoga’s FetchAPI.Minor Changes
#4575
862447aThanks @egoodwinx! - Use
@graphql-hive/loggerand add correlated, per-requestlogging (closes #4048)
Every request now gets its own logger, available as
context.log(andserverContext.loginplugin hooks), tagged with a
requestId. Everything logged while handling a request can becorrelated by that id.
The request id is taken from the host integration if it already assigned one (e.g. Fastify's
request.id), otherwise from the incomingx-request-idheader, otherwise generated. It is alsosent back in the
x-request-idresponse header. Configure it with the newrequestIdoption:Pass
requestId: falseto disable it.At the
infolevel, a single "Request processed" line is logged per request with the method,path, operation name and type, response status, error count and duration. At the
debuglevel,more details about request processing are logged.
Masked errors are now logged with the request's logger, so they can be traced back to the request
that caused them. Custom
maskErrorfunctions receive the request's context as an optional fourthargument.
The
@envelop/newrelic,@envelop/auth0,@envelop/resource-limitations,@envelop/statsd,@envelop/graphql-jit,@envelop/response-cacheand@envelop/response-cache-cloudflare-kvplugins accept a new
logoption for their own messages, instead of always writing to theconsole.
@envelop/response-cache'sshouldCacheResultnow also receives the GraphQLcontext.Breaking Changes
@graphql-yoga/loggerpackage has been removed.graphql-yogare-exportsLogger,MemoryLogWriterandLogLevelfrom@graphql-hive/loggerinstead.createLoggerand theYogaLoggertype are no longer exported. Usenew Logger(options)instead.
loggingoption now takesboolean | Logger | LogLevel, whereLoggeris the one from@graphql-hive/logger.yoga.loggerhas been renamed toyoga.log.loggeroption ofuseGraphiQLanduseHealthCheckhas been removed. They now log throughthe request's logger.
@graphql-yoga/nestjsnow logs through Nest'sLoggerby default instead of not logging atall. Pass
logging: falseto keep the previous behaviour.logging: trueon Fastify no longerlogs through Fastify's logger, pass it explicitly instead (see below).
@envelop/apollo-federation,@envelop/auth0,@envelop/graphql-jit,@envelop/newrelic,@envelop/resource-limitations,@envelop/response-cache,@envelop/response-cache-cloudflare-kvand@envelop/statsdnow have a peer dependency on@graphql-hive/loggerthat you must install.@envelop/apollo-federation'sloggeroption now expects aLoggerfrom@graphql-hive/loggerand defaults tonew Logger()instead ofconsole.Migration
Create loggers with
Logger:Use
loginstead ofloggeron the Yoga instance:const plugin = { onYogaInit({ yoga }) { - yoga.logger.info('ready'); + yoga.log.info('ready'); }, };Prefer the request-scoped logger inside resolvers and plugin hooks so the logs carry the request
id:
If you use any of the
@envelop/*plugins listed above, install the logger:If you depended on
@graphql-yoga/loggerdirectly, switch to@graphql-hive/logger:To keep logging through Fastify's logger in
@graphql-yoga/nestjs:Patch Changes
[
862447a,79b0e8b]:v5.6.1Compare Source
Patch Changes
#4577
7bff35cThanks @egoodwinx! - Add homepage and bugs.url to package.json
files
Updated dependencies
[
7bff35c]:v5.6.0Minor Changes
#4545
94ebe5bThanks @egoodwinx! - Update to support graphql-js 17
Bump package versions, fix expected typing, and update compatability with subscribe.
v5.5.1Patch Changes
0bfde27Thanks @n1ru4l! - Pass latest mergable context to
useErrorHandlerhook when the error originates from a context extension.
v5.5.0Minor Changes
d3d83bcThanks @andrew0! - Handle incremental execution errors in
useErrorHandler
v5.4.0Minor Changes
0434fbdThanks @ardatan! - Export
documentStringMapto set a value forgetDocumentStringexternallyv5.3.2Patch Changes
92948d8Thanks @EmrysMyrddin! - Fix getters and setters being stripped
away. The value was copied at plugin creation instead of copying the getter and setter (if any).
v5.3.1Patch Changes
8dd5bdaThanks @EmrysMyrddin! - Add a
withStateoverride to ease thetyping of plugins whith the same state for all scopes.
v5.3.0Minor Changes
3ebaa3bThanks @EmrysMyrddin! - Added new
withStateplugin utilityfor easy data sharing between hooks.
graphql-hive/graphql-yoga (@envelop/testing)
v11.0.0Compare Source
Major Changes
79b0e8bThanks @egoodwinx! - ### Breaking Changes
Future releases will only support Node >=22.
supported.
Enforcing this limit streams the body through a byte counter, making POST body parsing
asynchronous even for an in-memory body. As a result,
yoga.fetch()can return a Promise whereit previously returned a synchronous Response, even when all resolvers and plugins are
synchronous.
Migration
If you're on Node 18/20, upgrade to Node 22 or later before upgrading this package.
If you're on graphql 14/15, upgrade to graphql 16 or 17 first.
Await
yoga.fetch()and response body parsing instead of relying on synchronous results. SetmaxRequestBodySize: falseincreateYogato disable the body-size limit and preservesynchronous parsing for in-memory bodies, but only if you enforce an appropriate request-body
limit elsewhere.
#4623
be89d05Thanks @ardatan! - ### Dependencies
@graphql-tools/utilsto^13.1.1,@graphql-tools/schemato^11.0.0, and@graphql-tools/executorto^4.1.2.Incremental delivery
Yoga maps the GraphQL HTTP
Acceptheader throughINCREMENTAL_DELIVERY_SPECSfrom@graphql-tools/utilsonto executorincrementalSpec.multipart/mixed;incrementalSpec=v0.2runs the v0.2 payload format and echoes that spec on
Content-Type.multipart/mixed;deferSpec=20220824or baremultipart/mixedstays on v0.1. An unsupportedincremental spec yields 406.
A later incremental spec is a graphql-tools table row plus an executor publisher. Yoga, Hive
Gateway, and HTTP executors pick it up by bumping
@graphql-tools/utils/@graphql-tools/executor.Breaking Changes
createGraphQLErroris removed. Usenew GraphQLError(message, options)fromgraphql. Toattach Yoga's experimental schema coordinate, use
withSchemaCoordinate(error, coordinate)andread with
getSchemaCoordinatefrom@graphql-tools/utils.mapMaybePromiseis removed (was exported from Yoga /@envelop/core). UsehandleMaybePromisefrom@whatwg-node/promise-helpers.getSchemaCoordinate->@graphql-tools/utilsmergeSchemas->@graphql-tools/schemaDisposableSymbols->@whatwg-node/servermapAsyncIterator/isPromise/fakePromise/handleMaybePromise/MaybePromise->@whatwg-node/promise-helpers@envelop/coreutilsno longer re-exportsmapAsyncIteratororisPromise. Import from@whatwg-node/promise-helpers.asGetArgumentValuesVariables/coerceGetVariableValuesResultfrom@graphql-tools/utilsfor GraphQL 16/17
VariableValuescompatibility.Migration
Patch Changes
[
862447a,79b0e8b,be89d05,79b0e8b]:v10.2.3Compare Source
Patch Changes
d8b8860Thanks @enisdenjo! - dependencies updates:
@graphql-tools/utils@^12.0.3↗︎(from
^11.2.2, independencies)v10.2.2Compare Source
Patch Changes
c6febdcThanks @enisdenjo! - dependencies updates:
@graphql-tools/utils@^11.2.2↗︎(from
^11.2.0, independencies)v10.2.1Compare Source
Patch Changes
#4577
7bff35cThanks @egoodwinx! - Add homepage and bugs.url to package.json
files
Updated dependencies
[
7bff35c]:v10.2.0Minor Changes
#4545
94ebe5bThanks @egoodwinx! - Update to support graphql-js 17
Bump package versions, fix expected typing, and update compatability with subscribe.
Patch Changes
[
94ebe5b]:v10.1.1Patch Changes
[
0bfde27]:v10.1.0Patch Changes
dc2327dThanks @renovate! - dependencies updates:
@graphql-tools/utils@^11.0.0↗︎(from
^10.0.0, independencies)[
d3d83bc]:v10.0.0Patch Changes
[
0434fbd]:v9.0.0Patch Changes
[
3ebaa3b]:graphql-hive/graphql-yoga (@envelop/types)
v6.0.0Compare Source
Major Changes
79b0e8bThanks @egoodwinx! - ### Breaking Changes
Future releases will only support Node >=22.
supported.
Enforcing this limit streams the body through a byte counter, making POST body parsing
asynchronous even for an in-memory body. As a result,
yoga.fetch()can return a Promise whereit previously returned a synchronous Response, even when all resolvers and plugins are
synchronous.
Migration
yoga.fetch()and response body parsing instead of relying on synchronous results. SetmaxRequestBodySize: falseincreateYogato disable the body-size limit and preservesynchronous parsing for in-memory bodies, but only if you enforce an appropriate request-body
limit elsewhere.
Minor Changes
#4575
862447aThanks @egoodwinx! - Use
@graphql-hive/loggerand add correlated, per-requestlogging (closes #4048)
Every request now gets its own logger, available as
context.log(andserverContext.loginplugin hooks), tagged with a
requestId. Everything logged while handling a request can becorrelated by that id.
The request id is taken from the host integration if it already assigned one (e.g. Fastify's
request.id), otherwise from the incomingx-request-idheader, otherwise generated. It is alsosent back in the
x-request-idresponse header. Configure it with the newrequestIdoption:Pass
requestId: falseto disable it.At the
infolevel, a single "Request processed" line is logged per request with the method,path, operation name and type, response status, error count and duration. At the
debuglevel,more details about request processing are logged.
Masked errors are now logged with the request's logger, so they can be traced back to the request
that caused them. Custom
maskErrorfunctions receive the request's context as an optional fourthargument.
The
@envelop/newrelic,@envelop/auth0,@envelop/resource-limitations,@envelop/statsd,@envelop/graphql-jit,@envelop/response-cacheand@envelop/response-cache-cloudflare-kvplugins accept a new
logoption for their own messages, instead of always writing to theconsole.
@envelop/response-cache'sshouldCacheResultnow also receives the GraphQLcontext.Breaking Changes
@graphql-yoga/loggerpackage has been removed.graphql-yogare-exportsLogger,MemoryLogWriterandLogLevelfrom@graphql-hive/loggerinstead.createLoggerand theYogaLoggertype are no longer exported. Usenew Logger(options)instead.
loggingoption now takesboolean | Logger | LogLevel, whereLoggeris the one from@graphql-hive/logger.yoga.loggerhas been renamed toyoga.log.loggeroption ofuseGraphiQLanduseHealthCheckhas been removed. They now log throughthe request's logger.
@graphql-yoga/nestjsnow logs through Nest'sLoggerby default instead of not logging atall. Pass
logging: falseto keep the previous behaviour.logging: trueon Fastify no longerlogs through Fastify's logger, pass it explicitly instead (see below).
@envelop/apollo-federation,@envelop/auth0,@envelop/graphql-jit,@envelop/newrelic,@envelop/resource-limitations,@envelop/response-cache,@envelop/response-cache-cloudflare-kvand@envelop/statsdnow have a peer dependency on@graphql-hive/loggerthat you must install.@envelop/apollo-federation'sloggeroption now expects aLoggerfrom@graphql-hive/loggerand defaults tonew Logger()instead ofconsole.Migration
Create loggers with
Logger:Use
loginstead ofloggeron the Yoga instance:const plugin = { onYogaInit({ yoga }) { - yoga.logger.info('ready'); + yoga.log.info('ready'); }, };Prefer the request-scoped logger inside resolvers and plugin hooks so the logs carry the request
id:
If you use any of the
@envelop/*plugins listed above, install the logger:If you depended on
@graphql-yoga/loggerdirectly, switch to@graphql-hive/logger:To keep logging through Fastify's logger in
@graphql-yoga/nestjs:v5.2.2Patch Changes
7bff35cThanks @egoodwinx! - Add homepage and bugs.url to package.json
files
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.