Skip to content

Releases: apollographql/federation

@apollo/subgraph@2.14.0

30 Apr 16:11
12962c0

Choose a tag to compare

@apollo/query-planner@2.14.0

30 Apr 16:10
12962c0

Choose a tag to compare

Patch Changes

@apollo/query-graphs@2.14.0

30 Apr 16:11
12962c0

Choose a tag to compare

@apollo/gateway@2.14.0

30 Apr 16:11
12962c0

Choose a tag to compare

Minor Changes

  • Add opt-out anonymous deployment environment telemetry. To opt-out, set APOLLO_TELEMETRY_DISABLED=1 in your environment. (#3379)

Patch Changes

@apollo/federation-internals@2.14.0

30 Apr 16:11
12962c0

Choose a tag to compare

Minor Changes

  • Relax @interfaceObject validation for Fed 1 subgraphs. (#3392)

    Previously, any use of @interfaceObject in a Fed 2 subgraph caused an INTERFACE_OBJECT_USAGE_ERROR if any Fed 1 subgraph was present in the composition, regardless of whether the types conflicted.

    The check is now per-type: an error is only raised when a Fed 2 subgraph uses @interfaceObject on type T and a Fed 1 subgraph has @key on an interface also named T. @key on an interface in a Fed 1 subgraph does not mean it can fulfill the __typename-resolution requirement that @interfaceObject depends on — but they are otherwise compatible with @interfaceObject usage on unrelated types.

  • Add validations for @link usages to prevent name conflicts. (#3430)

    This change helps to avoid ambiguity for downstream @link-consuming code, which previously may have found different results for a spec schema element depending on search order. If your composition fails after this change, please rename conflicting elements via @link(import:) and conflicting specs/features via @link(as:).

    Note that if you were declaring @links for the https://specs.apollo.dev/tag or https://specs.apollo.dev/inaccessible specs in your subgraph schema, you will need to instead import @tag and @inaccessible from the https://specs.apollo.dev/federation spec. This previous pattern only succeeded due to a now-fixed bug and is fragile/may lead to undesirable behavior.

Patch Changes

  • Fixed print logic when calculating the max number of elements to include in the message. Previously we were not passing (#3424)
    the current calculated length correctly leading to inclusion of additional elements in the error/hints message.

@apollo/composition@2.14.0

30 Apr 16:10
12962c0

Choose a tag to compare

Minor Changes

  • Relax @composeDirective validation when definitions are absent in some subgraphs. (#3422)

    Previously, if some set of spec directives were being composed into the supergraph schema via @composeDirective, then subgraphs with the latest version of that spec would each have to declare all of those spec directive definitions. Not following this rule would often result in composition emitting a DIRECTIVE_COMPOSITION_ERROR error. This restriction has now been relaxed, and a definition needs to only be in at least one of those subgraphs with the latest version of that spec.

    As an example, the following @composeDirective usage could previously fail, but is now valid.

    # subgraph A — composes and defines @foo and @bar
    extend schema
      # ...
      @link(url: "https://myorg.dev/myspec/v1.0", import: ["@foo", "@bar"])
      @composeDirective(name: "@foo")
      @composeDirective(name: "@bar")
    # ...
    directive @foo on FIELD
    directive @bar on FIELD
    
    # subgraph B — composes and defines only @foo
    extend schema
      # ...
      @link(url: "https://myorg.dev/myspec/v1.0", import: ["@foo"])
      @composeDirective(name: "@foo")
    # ...
    directive @foo on FIELD

Patch Changes

@apollo/subgraph@2.13.3

19 Mar 20:45
9283b4c

Choose a tag to compare

Patch Changes

@apollo/query-planner@2.13.3

19 Mar 20:45
9283b4c

Choose a tag to compare

Patch Changes

@apollo/query-graphs@2.13.3

19 Mar 20:45
9283b4c

Choose a tag to compare

Patch Changes

@apollo/gateway@2.13.3

19 Mar 20:45
9283b4c

Choose a tag to compare

Patch Changes