@graphql-mesh/transport-grpc
Changelog for @graphql-mesh/transport-grpc: every release with its changes and the pull requests behind them.
0.7.0
Minor Changes
-
#9650
c7f0f3fThanks @ardatan! - gRPC: passchannelOptionsthrough to the gRPC clientUse this for message size limits, keepalive, and other channel args. Options are stored as entries so dotted keys like
grpc.max_receive_message_lengthstay GraphQL-safe in the composed schema.import { defineConfig } from '@graphql-mesh/compose-cli' import loadGrpcSubgraph from '@omnigraph/grpc' export const composeConfig = defineConfig({ subgraphs: [ { sourceHandler: loadGrpcSubgraph('MyGrpcApi', { endpoint: 'localhost:50051', channelOptions: { 'grpc.max_receive_message_length': 10_000_000, 'grpc.keepalive_time_ms': 10_000, 'grpc.keepalive_timeout_ms': 5_000, 'grpc.keepalive_permit_without_calls': 1 } }) } ] })Legacy Mesh:
sources: - name: MyGrpcApi handler: grpc: endpoint: localhost:50051 channelOptions: grpc.max_receive_message_length: 10000000 grpc.keepalive_time_ms: 10000 -
#9650
c7f0f3fThanks @ardatan! - gRPC: addreflectionMetadatafor server-reflection requestsSend routing / auth metadata only when loading the schema via gRPC reflection (no
source). Runtime RPC metadata remainsmetaData; HTTP headers for a remote.graphqlSDL remainschemaHeaders.import { defineConfig } from '@graphql-mesh/compose-cli' import loadGrpcSubgraph from '@omnigraph/grpc' export const composeConfig = defineConfig({ subgraphs: [ { sourceHandler: loadGrpcSubgraph('MyGrpcApi', { endpoint: 'localhost:50051', // No `source` → schema loaded via reflection reflectionMetadata: { 'grpc-service': 'proto.MyGrpcService', authorization: 'Bearer {env.REFLECTION_TOKEN}' } }) } ] })Legacy Mesh:
sources: - name: MyGrpcApi handler: grpc: endpoint: localhost:50051 reflectionMetadata: grpc-service: proto.MyGrpcService authorization: 'Bearer {env.REFLECTION_TOKEN}' -
#9650
c7f0f3fThanks @ardatan! - gRPC: applyrequestTimeoutas a real per-call deadlinePreviously
requestTimeoutwas not enforced as a gRPC deadline, so a hung upstream could leave the GraphQL request waiting indefinitely. It is now set on each call viaCallOptions.deadline(Date.now() + requestTimeout).import { defineConfig } from '@graphql-mesh/compose-cli' import loadGrpcSubgraph from '@omnigraph/grpc' export const composeConfig = defineConfig({ subgraphs: [ { sourceHandler: loadGrpcSubgraph('MyGrpcApi', { endpoint: 'localhost:50051', // Fail the call if the server does not respond within 5s requestTimeout: 5000 }) } ] })Legacy Mesh:
sources: - name: MyGrpcApi handler: grpc: endpoint: localhost:50051 requestTimeout: 5000
Patch Changes
-
#9650
c7f0f3fThanks @ardatan! - gRPC: tear down clients viaClient.prototype.closeIf a service defines an RPC named
Close, that method was previously shadowing the gRPC client’s connectionclose(), so Mesh could not dispose the channel cleanly. Teardown now always callsClient.prototype.close.No config change is required — services with a
CloseRPC continue to expose that operation in the GraphQL schema, while gateway/Mesh shutdown still closes the underlying connection. -
#9650
c7f0f3fThanks @ardatan! - gRPC: surfaceServiceErroras GraphQL errors withextensions.grpcUpstream gRPC
ServiceErrors are no longer masked as generic internal errors. They are returned as GraphQL errors withextensions.code: DOWNSTREAM_SERVICE_ERRORand structured details underextensions.grpc:{ "errors": [ { "message": "4 DEADLINE_EXCEEDED: Deadline exceeded", "extensions": { "code": "DOWNSTREAM_SERVICE_ERROR", "grpc": { "code": 4, "status": "DEADLINE_EXCEEDED", "details": "Deadline exceeded", "metadata": {} } } } ] }Only gRPC
ServiceErrorvalues are wrapped; other thrown values are left unchanged. -
Updated dependencies [
c7f0f3f,c7f0f3f]:- @graphql-mesh/types@0.107.1
- @graphql-mesh/utils@0.107.1
0.6.0
Patch Changes
0.5.0
Patch Changes
- #9611
cb846cbThanks @dependabot! - dependencies updates:- Updated dependency
@graphql-mesh/transport-common@^1.0.20↗︎ (from^1.0.19, independencies)
- Updated dependency
- Updated dependencies
[
a7cbeef,e148b13,07c7b8e]:- @graphql-mesh/utils@0.106.0
- @graphql-mesh/types@0.106.0
0.4.1
Patch Changes
- #9586
096ed33Thanks @dependabot! - dependencies updates:- Updated dependency
@graphql-mesh/transport-common@^1.0.19↗︎ (from^1.0.17, independencies) - Updated dependency
@graphql-tools/utils@^11.2.2↗︎ (from^11.2.0, independencies)
- Updated dependency
- Updated dependencies
[
096ed33,096ed33,096ed33]:- @graphql-mesh/cross-helpers@0.4.16
- @graphql-mesh/types@0.105.1
- @graphql-mesh/utils@0.105.1
0.4.0
Patch Changes
-
#9583
478676cThanks @ardatan! - dependencies updates:- Updated dependency
protobufjs@^7.6.5↗︎ (from^7.6.3, independencies)
- Updated dependency
-
#9583
478676cThanks @ardatan! - dependencies updates:- Updated dependency
protobufjs@^7.6.5↗︎ (from^7.6.3, independencies)
- Updated dependency
-
Updated dependencies [
b7def27]:- @graphql-mesh/types@0.105.0
- @graphql-mesh/utils@0.105.0
0.3.42
Patch Changes
-
#9465
eece882Thanks @zcag! - dependencies updates:- Updated dependency
@graphql-mesh/string-interpolation@^0.5.17↗︎ (from^0.5.16, independencies) - Updated dependency
@graphql-mesh/types@^0.104.29↗︎ (from^0.104.28, independencies) - Updated dependency
@graphql-mesh/utils@^0.104.37↗︎ (from^0.104.36, independencies) - Updated dependency
@graphql-tools/utils@^11.1.1↗︎ (from^11.1.0, independencies) - Updated dependency
@grpc/grpc-js@^1.14.4↗︎ (from^1.14.3, independencies) - Updated dependency
@grpc/proto-loader@^0.8.1↗︎ (from^0.8.0, independencies) - Updated dependency
protobufjs@^7.6.3↗︎ (from^8.0.2, independencies)
- Updated dependency
-
#9525
f0036d4Thanks @dependabot! - dependencies updates:- Updated dependency
protobufjs@^7.6.3↗︎ (from^7.5.8, independencies)
- Updated dependency
-
#9530
6282a71Thanks @dependabot! - dependencies updates:- Updated dependency
@graphql-tools/utils@^11.1.1↗︎ (from^11.1.0, independencies)
- Updated dependency
-
#9547
b28d9ecThanks @dependabot! - dependencies updates:- Updated dependency
@graphql-mesh/transport-common@^1.0.17↗︎ (from^1.0.16, independencies) - Updated dependency
@graphql-tools/utils@^11.2.0↗︎ (from^11.1.1, independencies)
- Updated dependency
-
Updated dependencies [
eece882,6282a71,b28d9ec,eece882,eece882,59a2e76,6282a71,b28d9ec,1b0e3c4,eece882,444fbbe,6282a71,2c347d5,b28d9ec,1b0e3c4,4c56adc]:- @graphql-mesh/cross-helpers@0.4.15
- @graphql-mesh/string-interpolation@0.5.18
- @graphql-mesh/types@0.104.30
- @graphql-mesh/utils@0.104.38
0.3.41
Patch Changes
-
#9480
3d719d2Thanks @dependabot! - dependencies updates:- Updated dependency
@grpc/proto-loader@^0.8.1↗︎ (from^0.8.0, independencies)
- Updated dependency
-
#9502
679ee60Thanks @dependabot! - dependencies updates:- Updated dependency
@grpc/grpc-js@^1.14.4↗︎ (from^1.14.3, independencies)
- Updated dependency
-
#9503
69a8aacThanks @dependabot! - dependencies updates:- Updated dependency
protobufjs@^7.5.8↗︎ (from^8.0.2, independencies)
- Updated dependency
-
Updated dependencies [
06c0dee,1da4b45,fa18e2d,1da4b45,fa18e2d,7cfc2a0]:- @graphql-mesh/string-interpolation@0.5.17
- @graphql-mesh/types@0.104.29
- @graphql-mesh/utils@0.104.37
0.3.40
Patch Changes
- #9455
b370a6eThanks @dependabot! - dependencies updates:- Updated dependency
protobufjs@^8.0.2↗︎ (from^8.0.1, independencies)
- Updated dependency
0.3.39
Patch Changes
-
#9430
8c7b764Thanks @dependabot! - dependencies updates:- Updated dependency
@graphql-mesh/transport-common@^1.0.16↗︎ (from^1.0.15, independencies)
- Updated dependency
-
#9446
6943e28Thanks @enisdenjo! - dependencies updates:- Updated dependency
@graphql-tools/utils@^11.1.0↗︎ (from^11.0.1, independencies)
- Updated dependency
-
Updated dependencies [
6943e28,8c7b764,6943e28,8c7b764,6943e28,6943e28]:- @graphql-mesh/cross-helpers@0.4.14
- @graphql-mesh/types@0.104.28
- @graphql-mesh/utils@0.104.36
0.3.38
Patch Changes
- #9406
af31a59Thanks @dependabot! - dependencies updates:- Updated dependency
@graphql-tools/utils@^11.0.1↗︎ (from^11.0.0, independencies)
- Updated dependency
- Updated dependencies
[
af31a59,af31a59,af31a59]:- @graphql-mesh/cross-helpers@0.4.13
- @graphql-mesh/types@0.104.27
- @graphql-mesh/utils@0.104.35
0.3.37
Patch Changes
- #9396
5904514Thanks @dependabot! - dependencies updates:- Updated dependency
protobufjs@^8.0.1↗︎ (from^8.0.0, independencies)
- Updated dependency
0.3.36
Patch Changes
0.3.35
Patch Changes
- Updated dependencies
[
46d8eed]:- @graphql-mesh/utils@0.104.33
0.3.34
Patch Changes
- Updated dependencies
[
94fbfbd]:- @graphql-mesh/string-interpolation@0.5.16
- @graphql-mesh/utils@0.104.32
0.3.33
Patch Changes
- Updated dependencies
[
339c32c]:- @graphql-mesh/string-interpolation@0.5.15
- @graphql-mesh/utils@0.104.31
0.3.32
Patch Changes
- Updated dependencies
[
3ad6a00]:- @graphql-mesh/string-interpolation@0.5.14
- @graphql-mesh/utils@0.104.30
0.3.31
Patch Changes
- Updated dependencies
[
13af2ff]:- @graphql-mesh/string-interpolation@0.5.13
- @graphql-mesh/utils@0.104.29
0.3.30
Patch Changes
0.3.29
Patch Changes
0.3.28
Patch Changes
- Updated dependencies
[
5d38d11]:- @graphql-mesh/string-interpolation@0.5.12
- @graphql-mesh/utils@0.104.26
0.3.27
Patch Changes
- Updated dependencies
[
4f81520]:- @graphql-mesh/types@0.104.23
- @graphql-mesh/utils@0.104.25
0.3.26
Patch Changes
- #9267
0664ddbThanks @dependabot! - dependencies updates:- Updated dependency
@graphql-mesh/transport-common@^1.0.15↗︎ (from^1.0.14, independencies)
- Updated dependency
0.3.25
Patch Changes
- #8854
080aca9Thanks @hoi4! - gRPC Client returnsundefinedfor empty arrays but the transport should return them as empty arrays - Updated dependencies
[
a442cbe,a442cbe,080aca9]:- @graphql-mesh/types@0.104.22
- @graphql-mesh/utils@0.104.24
0.3.24
Patch Changes
0.3.23
Patch Changes
-
#9182
1474343Thanks @ardatan! - Support characters that are invalid for GraphQL but valid for gRPC in metadata definitions.For example, hyphens (-) are not allowed in GraphQL field names, but they are commonly used in gRPC metadata keys. This change ensures that such characters are preserved when passing metadata from GraphQL Mesh to gRPC services.
// mesh.config.ts import { defineConfig } from '@graphql-mesh/compose-cli' import { loadGrpcSubgraph } from '@omnigraph/grpc' export const composeConfig = defineConfig({ subgraphs: [ { sourceHandler: loadGrpcSubgraph('myService', { endpoint: 'localhost:50051', source: './service.proto', metaData: { 'x-request-id': "{context.headers['x-request-id']}" // ← hyphen in key causes issue } }) } ] }) -
Updated dependencies [
6c65df7,6c65df7,6e3779c]:- @graphql-mesh/types@0.104.20
- @graphql-mesh/utils@0.104.22
0.3.22
Patch Changes
- #9153
2410c44Thanks @dependabot! - dependencies updates:- Updated dependency
@graphql-mesh/transport-common@^1.0.14↗︎ (from^1.0.13, independencies)
- Updated dependency
- Updated dependencies
[
0028f3b]:- @graphql-mesh/string-interpolation@0.5.11
- @graphql-mesh/utils@0.104.21
0.3.21
Patch Changes
-
#9120
c219668Thanks @dependabot! - dependencies updates:- Updated dependency
@graphql-tools/utils@^11.0.0↗︎ (from^10.11.0, independencies)
- Updated dependency
-
#9129
3f91b5aThanks @dependabot! - dependencies updates:- Updated dependency
@graphql-mesh/transport-common@^1.0.13↗︎ (from^1.0.0, independencies)
- Updated dependency
-
Updated dependencies [
c219668,c219668,3f91b5a,c219668,3f91b5a]:- @graphql-mesh/cross-helpers@0.4.12
- @graphql-mesh/types@0.104.19
- @graphql-mesh/utils@0.104.20
0.3.20
Patch Changes
- Updated dependencies
[
30e8e32]:- @graphql-mesh/string-interpolation@0.5.10
- @graphql-mesh/utils@0.104.19
0.3.19
Patch Changes
-
#9066
2b1c3aeThanks @dependabot! - dependencies updates:- Updated dependency
@grpc/grpc-js@^1.14.3↗︎ (from^1.14.2, independencies)
- Updated dependency
-
#9100
81f5680Thanks @dependabot! - dependencies updates:- Updated dependency
protobufjs@^8.0.0↗︎ (from^7.2.5, independencies)
- Updated dependency
0.3.18
Patch Changes
-
#9027
72c443cThanks @dependabot! - dependencies updates:- Updated dependency
@graphql-tools/utils@^10.11.0↗︎ (from^10.8.0, independencies)
- Updated dependency
-
#9037
7c0b01eThanks @dependabot! - dependencies updates:- Updated dependency
@grpc/grpc-js@^1.14.2↗︎ (from^1.1.7, independencies)
- Updated dependency
-
Updated dependencies [
72c443c,72c443c,72c443c]:- @graphql-mesh/cross-helpers@0.4.11
- @graphql-mesh/types@0.104.18
- @graphql-mesh/utils@0.104.18
0.3.17
Patch Changes
0.3.16
Patch Changes
0.3.15
Patch Changes
- Updated dependencies
[
b077f20]:- @graphql-mesh/types@0.104.15
- @graphql-mesh/utils@0.104.15
0.3.14
Patch Changes
- Updated dependencies
[
1db3c6b]:- @graphql-mesh/types@0.104.14
- @graphql-mesh/utils@0.104.14
0.3.13
Patch Changes
- #8745
dfc6bc1Thanks @renovate! - dependencies updates:- Updated dependency
@graphql-mesh/transport-common@^1.0.0↗︎ (from^0.7.13, independencies)
- Updated dependency
- Updated dependencies
[
f7ce86c,dfc6bc1,dfc6bc1,865b000]:- @graphql-mesh/string-interpolation@0.5.9
- @graphql-mesh/types@0.104.13
- @graphql-mesh/utils@0.104.13
0.3.12
Patch Changes
- Updated dependencies
[
ffec6e7]:- @graphql-mesh/utils@0.104.12
- @graphql-mesh/types@0.104.12
0.3.11
Patch Changes
- Updated dependencies
[
d61faf0]:- @graphql-mesh/utils@0.104.11
- @graphql-mesh/types@0.104.11
0.3.10
Patch Changes
0.3.9
Patch Changes
- #8702
a34bb4dThanks @renovate! - dependencies updates:- Updated dependency
@grpc/proto-loader@^0.8.0↗︎ (from^0.7.8, independencies)
- Updated dependency
- Updated dependencies
[
0c18fe1]:- @graphql-mesh/types@0.104.9
- @graphql-mesh/utils@0.104.9
0.3.8
Patch Changes
- Updated dependencies
[
fb6e935,fb6e935,fb6e935]:- @graphql-mesh/types@0.104.8
- @graphql-mesh/utils@0.104.8
0.3.7
Patch Changes
- Updated dependencies
[
c37c23b]:- @graphql-mesh/types@0.104.7
- @graphql-mesh/utils@0.104.7
0.3.6
Patch Changes
- Updated dependencies
[
e2666bc]:- @graphql-mesh/utils@0.104.6
- @graphql-mesh/types@0.104.6
0.3.5
Patch Changes
- Updated dependencies
[
9d61d75]:- @graphql-mesh/utils@0.104.5
- @graphql-mesh/types@0.104.5
0.3.4
Patch Changes
- Updated dependencies
[
6b4c546]:- @graphql-mesh/types@0.104.4
- @graphql-mesh/utils@0.104.4
0.3.3
Patch Changes
0.3.2
Patch Changes
- Updated dependencies
[
1b5d072]:- @graphql-mesh/utils@0.104.2
- @graphql-mesh/types@0.104.2
0.3.1
Patch Changes
0.3.0
Patch Changes
0.2.11
Patch Changes
- #8433
903124fThanks @renovate! - dependencies updates:- Updated dependency
@whatwg-node/disposablestack@^0.0.6↗︎ (from^0.0.5, independencies)
- Updated dependency
- Updated dependencies
[
903124f]:- @graphql-mesh/utils@0.103.21
- @graphql-mesh/types@0.103.21
0.2.10
Patch Changes
- #8431
3f5e0a1Thanks @ardatan! - dependencies updates:- Added dependency
@whatwg-node/promise-helpers@^1.0.0↗︎ (todependencies)
- Added dependency
- Updated dependencies
[
3f5e0a1]:- @graphql-mesh/utils@0.103.20
- @graphql-mesh/types@0.103.20
0.2.9
Patch Changes
- Updated dependencies
[
d9cf1d3]:- @graphql-mesh/types@0.103.19
- @graphql-mesh/utils@0.103.19
0.2.8
Patch Changes
- Updated dependencies
[
ab0863b]:- @graphql-mesh/utils@0.103.18
- @graphql-mesh/types@0.103.18
0.2.7
Patch Changes
- Updated dependencies
[
eee582a]:- @graphql-mesh/utils@0.103.17
- @graphql-mesh/types@0.103.17
0.2.6
Patch Changes
-
#8375
b44f8b7Thanks @ardatan! - More clear key-value pairs in the logs -
Updated dependencies [
b44f8b7]:- @graphql-mesh/types@0.103.16
- @graphql-mesh/utils@0.103.16
0.2.5
Patch Changes
- Updated dependencies
[
b5c05c4]:- @graphql-mesh/types@0.103.15
- @graphql-mesh/utils@0.103.15
0.2.4
Patch Changes
- Updated dependencies
[
fc44a1e]:- @graphql-mesh/types@0.103.14
- @graphql-mesh/utils@0.103.14
0.2.3
Patch Changes
- #8362
ce5e094Thanks @renovate! - dependencies updates:- Updated dependency
@graphql-tools/utils@^10.8.0↗︎ (from^10.6.0, independencies)
- Updated dependency
- Updated dependencies
[
ce5e094,ce5e094,ce5e094]:- @graphql-mesh/cross-helpers@0.4.10
- @graphql-mesh/types@0.103.13
- @graphql-mesh/utils@0.103.13
0.2.2
Patch Changes
- Updated dependencies
[
5180b06,c54e361,78c202e]:- @graphql-mesh/utils@0.103.12
- @graphql-mesh/types@0.103.12
- @graphql-mesh/string-interpolation@0.5.8
0.2.1
Patch Changes
-
#8226
4011203Thanks @iamchanii! - Handle transformed gRPC sources correctly -
Updated dependencies [
3fc1f3e,4011203]:- @graphql-mesh/types@0.103.11
- @graphql-mesh/utils@0.103.11
0.2.0
Minor Changes
-
#8203
c541164Thanks @ardatan! - Handle multiple gRPC services correctly in a supergraphPreviously multiple directives on Query type conflicting, which needs to be fixed on Gateway runtime later, but for now, it should be already in the transport directive. And this change fixes the issue before the gateway runtime fix.
Generated schema will be different so this can be considered a breaking change but it will be no functional change for the existing users.
0.1.10
Patch Changes
- Updated dependencies
[
b750a41]:- @graphql-mesh/utils@0.103.10
- @graphql-mesh/types@0.103.10
0.1.9
Patch Changes
- Updated dependencies
[
10ba2c4]:- @graphql-mesh/utils@0.103.9
- @graphql-mesh/types@0.103.9
0.1.8
Patch Changes
- Updated dependencies
[
93fb364]:- @graphql-mesh/utils@0.103.8
- @graphql-mesh/types@0.103.8
0.1.7
Patch Changes
- Updated dependencies []:
- @graphql-mesh/types@0.103.7
- @graphql-mesh/utils@0.103.7
0.1.6
Patch Changes
- #8092
2ef651aThanks @ardatan! - dependencies updates:- Added dependency
@graphql-mesh/types@^0.103.5↗︎ (todependencies) - Added dependency
@graphql-mesh/utils@^0.103.5↗︎ (todependencies) - Added dependency
@graphql-tools/utils@^10.6.0↗︎ (todependencies) - Added dependency
tslib@^2.4.0↗︎ (todependencies) - Removed dependency
@graphql-mesh/types@^0.103.5↗︎ (frompeerDependencies) - Removed dependency
@graphql-mesh/utils@^0.103.5↗︎ (frompeerDependencies) - Removed dependency
@graphql-tools/utils@^10.6.0↗︎ (frompeerDependencies) - Removed dependency
tslib@^2.4.0↗︎ (frompeerDependencies)
- Added dependency
- Updated dependencies
[
2ef651a,2ef651a,2ef651a,2ef651a]:- @graphql-mesh/cross-helpers@0.4.9
- @graphql-mesh/string-interpolation@0.5.7
- @graphql-mesh/types@0.103.6
- @graphql-mesh/utils@0.103.6
0.1.5
Patch Changes
- Updated dependencies
[
9f9f6fe]:- @graphql-mesh/utils@0.103.5
- @graphql-mesh/types@0.103.5
0.1.4
Patch Changes
- Updated dependencies
[
8fcfe3f]:- @graphql-mesh/types@0.103.4
- @graphql-mesh/utils@0.103.4
0.1.3
Patch Changes
- Updated dependencies
[
6360755]:- @graphql-mesh/utils@0.103.3
- @graphql-mesh/types@0.103.3
0.1.2
Patch Changes
- Updated dependencies
[
bfd8929]:- @graphql-mesh/utils@0.103.2
- @graphql-mesh/types@0.103.2
0.1.1
Patch Changes
- #7978
92d3ce1Thanks @ardatan! - dependencies updates:- Updated dependency
@graphql-tools/utils@^10.6.0↗︎ (from^10.5.5, inpeerDependencies)
- Updated dependency
- Updated dependencies
[
92d3ce1,92d3ce1,92d3ce1]:- @graphql-mesh/cross-helpers@0.4.8
- @graphql-mesh/types@0.103.1
- @graphql-mesh/utils@0.103.1
0.1.0
Patch Changes
0.0.3
Patch Changes
- Updated dependencies []:
- @graphql-mesh/types@0.102.13
- @graphql-mesh/utils@0.102.13
0.0.2
Patch Changes
- Updated dependencies
[
eee53b9]:- @graphql-mesh/utils@0.102.12
- @graphql-mesh/types@0.102.12
- @graphql-mesh/transport-common@0.7.13