Skip to content

Releases: ardatan/graphql-tools

July 13, 2024

13 Jul 15:29
791aebf
Compare
Choose a tag to compare

@graphql-tools/executor-http@1.1.3

Patch Changes

  • #6332
    7be6930
    Thanks @kamilkisiela! - Strip ignored characters when printing
    a query in executor-http

  • Updated dependencies
    [a276ba8]:

    • @graphql-tools/utils@10.3.2

@graphql-tools/utils@10.3.2

Patch Changes

July 05, 2024

05 Jul 16:38
77f5e57
Compare
Choose a tag to compare

@graphql-tools/executor-http@1.1.2

Patch Changes

@graphql-tools/utils@10.3.1

Patch Changes

July 05, 2024

05 Jul 14:59
d5baf88
Compare
Choose a tag to compare

@graphql-tools/executor-http@1.1.1

Patch Changes

  • #6299
    b0ffac8
    Thanks @EmrysMyrddin! - When proxying the requests to the HTTP
    executor, it should return `GraphQLError` instances in `errors` array

  • 46eab79
    Thanks @ardatan! - Fixed potential leak on executor disposal

July 05, 2024

05 Jul 11:16
6ae0d90
Compare
Choose a tag to compare

@graphql-tools/executor-graphql-ws@1.2.0

Minor Changes

  • #6323
    cacf20f
    Thanks @ardatan! - Implement Symbol.dispose or Symbol.asyncDispose
    to make `Executor`s `Disposable`

Patch Changes

  • Updated dependencies
    [cacf20f]:
    • @graphql-tools/utils@10.3.0

@graphql-tools/executor-http@1.1.0

Minor Changes

  • #6323
    cacf20f
    Thanks @ardatan! - Implement Symbol.dispose or Symbol.asyncDispose
    to make `Executor`s `Disposable`

Patch Changes

  • Updated dependencies
    [cacf20f]:
    • @graphql-tools/utils@10.3.0

@graphql-tools/executor-legacy-ws@1.1.0

Minor Changes

  • #6323
    cacf20f
    Thanks @ardatan! - Implement Symbol.dispose or Symbol.asyncDispose
    to make `Executor`s `Disposable`

Patch Changes

  • Updated dependencies
    [cacf20f]:
    • @graphql-tools/utils@10.3.0

@graphql-tools/utils@10.3.0

Minor Changes

  • #6323
    cacf20f
    Thanks @ardatan! - Implement Symbol.dispose or Symbol.asyncDispose
    to make `Executor`s `Disposable`

July 03, 2024

03 Jul 21:27
8f6a514
Compare
Choose a tag to compare

@graphql-tools/delegate@10.0.13

Patch Changes

July 01, 2024

01 Jul 11:43
0081f3e
Compare
Choose a tag to compare

@graphql-tools/delegate@10.0.12

Patch Changes

@graphql-tools/executor@1.2.8

Patch Changes

  • #6306
    74f995f
    Thanks @n1ru4l! - Properly propagate the original error in custom
    scalars.

    Errors thrown in the parseValue function for custom scalars were not propagated correctly using
    the originalError property of the GraphQLError on invalid input. As a result, error codes from
    the extensions.code were not propagated correctly.

  • Updated dependencies
    [66c99d9]:

    • @graphql-tools/utils@10.2.3

@graphql-tools/federation@2.1.1

Patch Changes

  • #6293
    3f301dc
    Thanks @ardatan! - Do not use entryPoints for MergedTypeConfig
    if there is only one

  • #6278
    66c99d9
    Thanks @ardatan! - Exclude @defer in the subgraph requests

  • Updated dependencies
    [66c99d9,
    3f301dc]:

    • @graphql-tools/delegate@10.0.12
    • @graphql-tools/stitch@9.2.10
    • @graphql-tools/utils@10.2.3

@graphql-tools/stitch@9.2.10

Patch Changes

@graphql-tools/utils@10.2.3

Patch Changes

June 21, 2024

21 Jun 21:55
97b312a
Compare
Choose a tag to compare

@graphql-tools/executor@1.2.7

Patch Changes

  • #6280
    7dcd0af
    Thanks @ardatan! - Since the executor is version agnostic, it should
    respect the schemas created with older versions.

    So if a type resolver returns a type instead of type name which is required since graphql@16,
    the executor should handle it correctly.

    See the following example:

    // Assume that the following code is executed with `graphql@15`
    import { execute } from '@graphql-tools/executor'
    
    const BarType = new GraphQLObjectType({
      name: 'Bar',
      fields: {
        bar: {
          type: GraphQLString,
          resolve: () => 'bar'
        }
      }
    })
    const BazType = new GraphQLObjectType({
      name: 'Baz',
      fields: {
        baz: {
          type: GraphQLString,
          resolve: () => 'baz'
        }
      }
    })
    const BarBazType = new GraphQLUnionType({
      name: 'BarBaz',
      types: [BarType, BazType],
      // This is the resolver that returns the type instead of type name
      resolveType(obj) {
        if ('bar' in obj) {
          return BarType
        }
        if ('baz' in obj) {
          return BazType
        }
      }
    })
    const QueryType = new GraphQLObjectType({
      name: 'Query',
      fields: {
        barBaz: {
          type: BarBazType,
          resolve: () => ({ bar: 'bar' })
        }
      }
    })
    const schema = new GraphQLSchema({
      query: QueryType
    })
    
    const result = await execute({
      schema,
      document: parse(/* GraphQL */ `
        query {
          barBaz {
            ... on Bar {
              bar
            }
            ... on Baz {
              baz
            }
          }
        }
      `)
    })
    
    expect(result).toEqual({
      data: {
        barBaz: {
          bar: 'bar'
        }
      }
    })

June 18, 2024

18 Jun 08:22
f61518e
Compare
Choose a tag to compare

@graphql-tools/federation@2.1.0

Minor Changes

  • #6267
    d5dd794
    Thanks @EmrysMyrddin! - Add delayInSeconds to the failure
    event to give users more control on failure handling.

  • #6267
    d5dd794
    Thanks @EmrysMyrddin! - Add a the ability to start polling with
    a delay. This ease the handling of failure handling, allowing to restart the manager and
    respecting GraphOS minimum retry delay.

Patch Changes

  • #6267
    d5dd794
    Thanks @EmrysMyrddin! - Fix Supergraph Manager Event Emitter
    not calling every listener when at least one has been registered using once method.

June 11, 2024

11 Jun 06:28
2d7402e
Compare
Choose a tag to compare

@graphql-tools/federation@2.0.1

Patch Changes

  • #6238
    0f7059b
    Thanks @ardatan! - Merge the elements of the lists if the root field
    is shared across different subgraphs

    type Query {
      products: [Product] # If this field is returned by multiple subgraphs, the elements of the lists will be merged
    }
  • Updated dependencies
    [0f7059b]:

    • @graphql-tools/utils@10.2.2

@graphql-tools/utils@10.2.2

Patch Changes

  • #6238
    0f7059b
    Thanks @ardatan! - If the given objects are arrays with the same
    length, merge the elements.

    const a = [{ a: 1 }, { b: 2 }]
    const b = [{ c: 3 }, { d: 4 }]
    const result = mergeDeep(a, b) // [{ a: 1, c: 3 }, { b: 2, d: 4 }]

June 04, 2024

04 Jun 09:54
f4fbc20
Compare
Choose a tag to compare

@graphql-tools/executor-envelop@3.0.0

Major Changes

  • #6227
    85c383f
    Thanks @ardatan! - BREAKING: invalidateSupergraph is now replaced
    with invalidateUnifiedGraph

@graphql-tools/executor-yoga@3.0.0

Major Changes

  • #6227
    85c383f
    Thanks @ardatan! - BREAKING: invalidateSupergraph is now replaced
    with invalidateUnifiedGraph

Patch Changes

  • Updated dependencies
    [85c383f]:
    • @graphql-tools/executor-envelop@3.0.0

@graphql-tools/federation@2.0.0

Major Changes

  • #6227
    85c383f
    Thanks @ardatan! - BREAKING CHANGES:
    • getSubschemasFromSupergraphSdl has been removed in favor of the new
      getStitchingOptionsFromSupergraphSdl, and it returns the options for stitchSchemas instead
      of the map of subschemas
    • onExecutor has been removed in favor of onSubschemaConfig
    • To change the default HTTP executor options, use httpExecutorOpts instead of onExecutor

Patch Changes