Skip to content

Releases: graphql-hive/gateway

December 14, 2024

14 Dec 15:45
3551600
Compare
Choose a tag to compare

@graphql-tools/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-hive/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-hive/[email protected]

Patch Changes

[email protected]

14 Dec 15:48
3551600
Compare
Choose a tag to compare

Pre-built binaries of the Hive Gateway for the @graphql-hive/[email protected] release.

December 13, 2024

13 Dec 14:00
c417be8
Compare
Choose a tag to compare

@graphql-hive/[email protected]

Patch Changes

@graphql-tools/[email protected]

Patch Changes

@graphql-tools/[email protected]

Patch Changes

@graphql-tools/[email protected]

Patch Changes

@graphql-tools/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-hive/[email protected]

Minor Changes

  • #322 23b8987 Thanks @ardatan! - New Retry and Timeout plugins;

    • Retry plugin: Retry a request if it fails

    It respects the Retry-After HTTP header, See more about this HTTP

    export const gatewayConfig = defineConfig({
        upstreamRetry: {
            // The maximum number of retries to attempt.
            maxRetries: 3, // required
            // The delay between retries in milliseconds.
            retryDelay: 1000, // default
            /**
             * A function that determines whether a response should be retried.
             * If the upstream returns `Retry-After` header, the request will be retried.
             */
            shouldRetry: ({ response }) => response?.status >= 500 || response?.status === 429
        }
        // or you can configure it by subgraph name
        upstreamRetry({ subgraphName }) {
            if (subgraphName === 'my-rate-limited-subgraph') {
                return {
                    maxRetries: 3,
                }
            }
            return { maxRetries: 10 }
        }
    })
    • Timeout plugin: Timeout a request if it takes too long
    export const gatewayConfig = defineConfig({
      // The maximum time in milliseconds to wait for a response from the upstream.
      upstreamTimeout: 1000, // required
      // or you can configure it by subgraph name
      upstreamTimeout({ subgraphName }) {
        if (subgraphName === 'my-slow-subgraph') {
          return 1000;
        }
      },
    });

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-hive/[email protected]

Minor Changes

  • #322 23b8987 Thanks @ardatan! - New Retry and Timeout plugins;

    • Retry plugin: Retry a request if it fails

    It respects the Retry-After HTTP header, See more about this HTTP

    export const gatewayConfig = defineConfig({
        upstreamRetry: {
            // The maximum number of retries to attempt.
            maxRetries: 3, // required
            // The delay between retries in milliseconds.
            retryDelay: 1000, // default
            /**
             * A function that determines whether a response should be retried.
             * If the upstream returns `Retry-After` header, the request will be retried.
             */
            shouldRetry: ({ response }) => response?.status >= 500 || response?.status === 429
        }
        // or you can configure it by subgraph name
        upstreamRetry({ subgraphName }) {
            if (subgraphName === 'my-rate-limited-subgraph') {
                return {
                    maxRetries: 3,
                }
            }
            return { maxRetries: 10 }
        }
    })
    • Timeout plugin: Timeout a request if it takes too long
    export const gatewayConfig = defineConfig({
      // The maximum time in milliseconds to wait for a response from the upstream.
      upstreamTimeout: 1000, // required
      // or you can configure it by subgraph name
      upstreamTimeout({ subgraphName }) {
        if (subgraphName === 'my-slow-subgraph') {
          return 1000;
        }
      },
    });

Patch Changes

@graphql-tools/[email protected]

Patch Changes

@graphql-tools/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

Read more

[email protected]

13 Dec 14:03
c417be8
Compare
Choose a tag to compare

Pre-built binaries of the Hive Gateway for the @graphql-hive/[email protected] release.

December 12, 2024

12 Dec 10:01
2f2f157
Compare
Choose a tag to compare

@graphql-tools/[email protected]

Minor Changes

  • #313 367b359 Thanks @ardatan! - Automatic Persisted Queries support for upstream requests

    For HTTP Executor;

    buildHTTPExecutor({
      // ...
      apq: true,
    });

    For Gateway Configuration;

    export const gatewayConfig = defineConfig({
      transportEntries: {
        '*': {
          options: {
            apq: true,
          },
        },
      },
    });

@graphql-tools/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-hive/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-hive/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

  • #313 367b359 Thanks @ardatan! - Automatic Persisted Queries support for upstream requests

    For HTTP Executor;

    buildHTTPExecutor({
      // ...
      apq: true,
    });

    For Gateway Configuration;

    export const gatewayConfig = defineConfig({
      transportEntries: {
        '*': {
          options: {
            apq: true,
          },
        },
      },
    });
  • Updated dependencies [367b359]:

[email protected]

12 Dec 10:03
2f2f157
Compare
Choose a tag to compare

Pre-built binaries of the Hive Gateway for the @graphql-hive/[email protected] release.

December 10, 2024

10 Dec 11:26
33f97bf
Compare
Choose a tag to compare

@graphql-tools/[email protected]

Major Changes

  • #308 d747d4c Thanks @ardatan! - BREAKING CHANGES;

    • Removed buildSubgraphSchema, use @apollo/subgraph instead.
    • Removed the following gateway related functions, and prefer using Supergraph approach instead
      • getSubschemaForFederationWithURL
      • getSubschemaForFederationWithTypeDefs
      • getSubschemaForFederationWithExecutor
      • getSubschemaForFederationWithSchema
      • federationSubschemaTransformer
    • SupergraphSchemaManager is no longer an EventEmitter but EventTarget instead, and it emits a real Event object.
    • SupergraphSchemaManager is now Disposable and it no longer stops based on Nodejs terminate events, so you should use using syntax.
    using manager = new SupergraphSchemaManager({ ... });
    
    manager.addEventListener('error', (event: SupergraphSchemaManagerErrorEvent) => {
      console.error(event.detail.error);
    });
    
    let schema: GraphQLSchema | null = null;
    manager.addEventListener('schema', (event: SupergraphSchemaManagerSchemaEvent) => {
        schema = event.detail.schema;
    });

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-hive/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-hive/[email protected]

Patch Changes

[email protected]

10 Dec 11:28
33f97bf
Compare
Choose a tag to compare

Pre-built binaries of the Hive Gateway for the @graphql-hive/[email protected] release.

December 06, 2024

06 Dec 15:20
d473a0a
Compare
Choose a tag to compare

@graphql-hive/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-hive/[email protected]

Patch Changes

  • #293 21ac43e Thanks @ardatan! - Fixes the bug when the fetcher given in subgraph called multiple times, so in the CLI when you point to a file for subgraph file, it fetches the subgraph on each request.

  • Updated dependencies []:

December 06, 2024

06 Dec 13:12
031e5b4
Compare
Choose a tag to compare

@graphql-tools/[email protected]

Patch Changes

@graphql-tools/[email protected]

Patch Changes

@graphql-tools/[email protected]

Patch Changes

@graphql-tools/[email protected]

Patch Changes

@graphql-tools/[email protected]

Patch Changes

@graphql-tools/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-hive/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

@graphql-mesh/[email protected]

Patch Changes

Read more