@omnigraph/grpc
Changelog for @omnigraph/grpc: every release with its changes and the pull requests behind them.
0.3.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: treat missing or emptysourceas reflectionOmitting
source, setting it to'', or using{ file: '' }now correctly falls back to gRPC server reflection instead of failing to load a proto/descriptor.import { defineConfig } from '@graphql-mesh/compose-cli' import loadGrpcSubgraph from '@omnigraph/grpc' export const composeConfig = defineConfig({ subgraphs: [ { sourceHandler: loadGrpcSubgraph('MyGrpcApi', { endpoint: 'localhost:50051' // source omitted → reflection }) } ] })Legacy Mesh (empty file path also reflects):
sources: - name: MyGrpcApi handler: grpc: endpoint: localhost:50051 # source omitted or empty → reflection
0.2.28
Patch Changes
- #9611
cb846cbThanks @dependabot! - dependencies updates:- Updated dependency
@graphql-mesh/transport-common@^1.0.20↗︎ (from^1.0.19, independencies)
- Updated dependency
0.2.27
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]:- @graphql-mesh/cross-helpers@0.4.16
0.2.26
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
0.2.25
Patch Changes
-
#9465
eece882Thanks @zcag! - dependencies updates:- Updated dependency
@graphql-mesh/string-interpolation@^0.5.17↗︎ (from^0.5.16, 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
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]:- @graphql-mesh/cross-helpers@0.4.15
- @graphql-mesh/string-interpolation@0.5.18
0.2.24
Patch Changes
-
#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]:- @graphql-mesh/string-interpolation@0.5.17
0.2.23
Patch Changes
- #9455
b370a6eThanks @dependabot! - dependencies updates:- Updated dependency
protobufjs@^8.0.2↗︎ (from^8.0.1, independencies)
- Updated dependency
0.2.22
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]:- @graphql-mesh/cross-helpers@0.4.14
0.2.21
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]:- @graphql-mesh/cross-helpers@0.4.13
0.2.20
Patch Changes
- #9396
5904514Thanks @dependabot! - dependencies updates:- Updated dependency
protobufjs@^8.0.1↗︎ (from^8.0.0, independencies)
- Updated dependency
0.2.19
Patch Changes
- Updated dependencies
[
94fbfbd]:- @graphql-mesh/string-interpolation@0.5.16
0.2.18
Patch Changes
- Updated dependencies
[
339c32c]:- @graphql-mesh/string-interpolation@0.5.15
0.2.17
Patch Changes
- Updated dependencies
[
3ad6a00]:- @graphql-mesh/string-interpolation@0.5.14
0.2.16
Patch Changes
- Updated dependencies
[
13af2ff]:- @graphql-mesh/string-interpolation@0.5.13
0.2.15
Patch Changes
- Updated dependencies
[
5d38d11]:- @graphql-mesh/string-interpolation@0.5.12
0.2.14
Patch Changes
- #9267
0664ddbThanks @dependabot! - dependencies updates:- Updated dependency
@graphql-mesh/transport-common@^1.0.15↗︎ (from^1.0.14, independencies)
- Updated dependency
0.2.13
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 } }) } ] })
0.2.12
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
0.2.11
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]:- @graphql-mesh/cross-helpers@0.4.12
0.2.10
Patch Changes
- Updated dependencies
[
30e8e32]:- @graphql-mesh/string-interpolation@0.5.10
0.2.9
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.2.8
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]:- @graphql-mesh/cross-helpers@0.4.11
0.2.7
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]:- @graphql-mesh/string-interpolation@0.5.9
0.2.6
Patch Changes
0.2.5
Patch Changes
- #8433
903124fThanks @renovate! - dependencies updates:- Updated dependency
@whatwg-node/disposablestack@^0.0.6↗︎ (from^0.0.5, independencies)
- Updated dependency
0.2.4
Patch Changes
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]:- @graphql-mesh/cross-helpers@0.4.10
0.2.2
Patch Changes
-
#8289
c54e361Thanks @ardatan! - dependencies updates:- Added dependency
micromatch@^4.0.8↗︎ (todependencies)
- Added dependency
-
#8289
c54e361Thanks @ardatan! - New optionselectQueryOrMutationFieldto decide which field belongs to which root type explicitly.import { defineConfig } from '@graphql-mesh/compose-cli' import loadGrpcSubgraph from '@omnigraph/grpc' export const composeConfig = defineConfig({ subgraphs: [ { sourceHandler: loadGrpcSubgraph('MyGrpcApi', { /** .. **/ // Prefix to collect Query method default: list, get prefixQueryMethod: ['list', 'get'], // Select certain fields as Query or Mutation // This overrides `prefixQueryMethod` selectQueryOrMutationField: [ { // You can use a pattern matching with * fieldName: '*RetrieveMovies', type: 'Query' }, // Or you can use a specific field name // This will make the field GetMovie available as a Mutation // Because it would be Query because of `prefixQueryMethod` { fieldName: 'GetMovie', type: 'Mutation' } ] }) } ] }) -
Updated dependencies [
78c202e]:- @graphql-mesh/string-interpolation@0.5.8
0.2.1
Patch Changes
- #8270
d3656b6Thanks @ardatan! - dependencies updates:- Updated dependency
graphql-compose@^9.1.0↗︎ (from^9.0.11, independencies)
- Updated dependency
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.3
Patch Changes
- Updated dependencies
[
2ef651a,2ef651a]:- @graphql-mesh/cross-helpers@0.4.9
- @graphql-mesh/string-interpolation@0.5.7
0.1.2
Patch Changes
- #7978
92d3ce1Thanks @ardatan! - dependencies updates:- Updated dependency
@graphql-tools/utils@^10.6.0↗︎ (from^10.5.5, independencies)
- Updated dependency
- Updated dependencies
[
92d3ce1]:- @graphql-mesh/cross-helpers@0.4.8
0.1.1
Patch Changes
- Updated dependencies []:
- @graphql-mesh/transport-common@0.7.13
0.1.0
Minor Changes
- #7866
0788b5dThanks @renovate! - Use shared TransportOptions scalar in all transport directive definitions
0.0.1
Patch Changes
- Updated dependencies
[
de41fc2]:- @graphql-mesh/transport-common@0.7.12