Skip to content

December 13, 2024

Compare
Choose a tag to compare
@theguild-bot theguild-bot released this 13 Dec 14:00
· 261 commits to main since this release
c417be8

@graphql-hive/gateway-abort-signal-any@0.0.1

Patch Changes

@graphql-tools/batch-delegate@9.0.24

Patch Changes

  • Updated dependencies [23b8987]:
    • @graphql-tools/delegate@10.2.8

@graphql-tools/delegate@10.2.8

Patch Changes

@graphql-tools/executor-http@1.2.1

Patch Changes

@graphql-tools/federation@3.0.2

Patch Changes

  • Updated dependencies [23b8987, 23b8987]:
    • @graphql-tools/delegate@10.2.8
    • @graphql-tools/executor-http@1.2.1
    • @graphql-tools/stitch@9.4.10
    • @graphql-tools/wrap@10.0.26

@graphql-mesh/fusion-runtime@0.10.21

Patch Changes

  • Updated dependencies [23b8987, 23b8987]:
    • @graphql-mesh/transport-common@0.7.23
    • @graphql-tools/delegate@10.2.8
    • @graphql-tools/federation@3.0.2
    • @graphql-tools/stitch@9.4.10
    • @graphql-tools/stitching-directives@3.1.23
    • @graphql-tools/wrap@10.0.26

@graphql-hive/gateway@1.7.0

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

  • Updated dependencies [23b8987, 23b8987]:
    • @graphql-hive/gateway-runtime@1.4.0
    • @graphql-mesh/plugin-opentelemetry@1.3.28
    • @graphql-mesh/plugin-prometheus@1.3.16
    • @graphql-mesh/hmac-upstream-signature@1.2.17
    • @graphql-mesh/transport-http@0.6.27
    • @graphql-mesh/transport-http-callback@0.5.14
    • @graphql-mesh/transport-ws@0.4.12

@graphql-mesh/hmac-upstream-signature@1.2.17

Patch Changes

  • Updated dependencies [23b8987]:
    • @graphql-mesh/transport-common@0.7.23

@graphql-mesh/plugin-opentelemetry@1.3.28

Patch Changes

  • Updated dependencies [23b8987, 23b8987, 23b8987]:
    • @graphql-hive/gateway-runtime@1.4.0
    • @graphql-mesh/transport-common@0.7.23

@graphql-mesh/plugin-prometheus@1.3.16

Patch Changes

  • Updated dependencies [23b8987, 23b8987]:
    • @graphql-hive/gateway-runtime@1.4.0

@graphql-hive/gateway-runtime@1.4.0

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

  • #322 23b8987 Thanks @ardatan! - dependencies updates:

  • Updated dependencies [23b8987, 23b8987, 23b8987, 23b8987]:

    • @graphql-mesh/transport-common@0.7.23
    • @graphql-tools/delegate@10.2.8
    • @graphql-tools/executor-http@1.2.1
    • @graphql-hive/gateway-abort-signal-any@0.0.1
    • @graphql-mesh/fusion-runtime@0.10.21
    • @graphql-mesh/hmac-upstream-signature@1.2.17
    • @graphql-tools/batch-delegate@9.0.24
    • @graphql-tools/federation@3.0.2
    • @graphql-tools/stitch@9.4.10
    • @graphql-tools/wrap@10.0.26

@graphql-tools/stitch@9.4.10

Patch Changes

  • Updated dependencies [23b8987]:
    • @graphql-tools/delegate@10.2.8
    • @graphql-tools/batch-delegate@9.0.24
    • @graphql-tools/wrap@10.0.26

@graphql-tools/stitching-directives@3.1.23

Patch Changes

  • Updated dependencies [23b8987]:
    • @graphql-tools/delegate@10.2.8

@graphql-mesh/transport-common@0.7.23

Patch Changes

@graphql-mesh/transport-http@0.6.27

Patch Changes

  • Updated dependencies [23b8987, 23b8987]:
    • @graphql-mesh/transport-common@0.7.23
    • @graphql-tools/executor-http@1.2.1

@graphql-mesh/transport-http-callback@0.5.14

Patch Changes

  • Updated dependencies [23b8987]:
    • @graphql-mesh/transport-common@0.7.23

@graphql-mesh/transport-ws@0.4.12

Patch Changes

  • Updated dependencies [23b8987]:
    • @graphql-mesh/transport-common@0.7.23

@graphql-tools/wrap@10.0.26

Patch Changes

  • Updated dependencies [23b8987]:
    • @graphql-tools/delegate@10.2.8