github apollographql/federation @apollo/subgraph@2.10.0-alpha.0

latest releases: @apollo/subgraph@2.10.0-alpha.3, @apollo/query-planner@2.10.0-alpha.3, @apollo/query-graphs@2.10.0-alpha.3...
pre-release2 months ago

CHANGELOG for @apollo/subgraph

2.8.4

Patch Changes

2.8.3

Patch Changes

2.8.3-beta.2

Patch Changes

2.8.3-beta.1

Patch Changes

  • Updated dependencies []:
    • @apollo/federation-internals@2.8.3-beta.1

2.8.3-beta.0

Patch Changes

2.8.2

Patch Changes

2.8.1

Patch Changes

  • Updated dependencies []:
    • @apollo/federation-internals@2.8.1

2.8.0

Patch Changes

2.8.0-alpha.1

Patch Changes

  • Updated dependencies []:
    • @apollo/federation-internals@2.8.0-alpha.1

2.8.0-alpha.0

Patch Changes

2.7.8

Patch Changes

2.7.7

Patch Changes

  • No logical changes since 2.7.5 or 2.7.6, but we fixed a bug in the release process, so we need to publish a new patch version (2.7.7). (#2999)

  • Updated dependencies [bee0b0828b4fb6a1d3172ac330560e2ab6c046bb]:

    • @apollo/federation-internals@2.7.7

2.7.6

Patch Changes

  • Updated dependencies []:
    • @apollo/federation-internals@2.7.6

2.7.5

Patch Changes

  • Updated dependencies []:
    • @apollo/federation-internals@2.7.5

2.7.4

Patch Changes

2.7.3

Patch Changes

2.7.2

Patch Changes

2.7.1

Patch Changes

2.7.0

Minor Changes

  • Implement progressive @override functionality (#2911)

    The progressive @override feature brings a new argument to the @override directive: label: String. When a label is added to an @override application, the override becomes conditional, depending on parameters provided to the query planner (a set of which labels should be overridden). Note that this feature will be supported in router for enterprise users only.

    Out-of-the-box, the router will support a percentage-based use case for progressive @override. For example:

    type Query {
      hello: String @override(from: "original", label: "percent(5)")
    }

    The above example will override the root hello field from the "original" subgraph 5% of the time.

    More complex use cases will be supported by the router via the use of coprocessors/rhai to resolve arbitrary labels to true/false values (i.e. via a feature flag service).

Patch Changes

2.6.3

Patch Changes

  • Updated dependencies []:
    • @apollo/federation-internals@2.6.3

2.6.2

Patch Changes

2.6.1

Patch Changes

  • Updated dependencies [0d5ab01a]:
    • @apollo/federation-internals@2.6.1

2.6.0

Patch Changes

2.5.7

Patch Changes

  • Updated dependencies []:
    • @apollo/federation-internals@2.5.7

2.5.6

Patch Changes

  • Updated dependencies [c719214a]:
    • @apollo/federation-internals@2.5.6

2.5.5

Patch Changes

  • Fix specific case for requesting __typename on interface entity type (#2775)

    In certain cases, when resolving a __typename on an interface entity (due to it actual being requested in the operation), that fetch group could previously be trimmed / treated as useless. At a glance, it appears to be a redundant step, i.e.:

    { ... on Product { __typename id }} => { ... on Product { __typename} }
    

    It's actually necessary to preserve this in the case that we're coming from an interface object to an (entity) interface so that we can resolve the concrete __typename correctly.

  • Updated dependencies []:

    • @apollo/federation-internals@2.5.5

2.5.4

Patch Changes

  • Updated dependencies []:
    • @apollo/federation-internals@2.5.4

2.5.3

Patch Changes

2.5.2

Patch Changes

  • Updated dependencies [35179f08]:
    • @apollo/federation-internals@2.5.2

2.5.1

Patch Changes

  • Updated dependencies [b9052fdd]:
    • @apollo/federation-internals@2.5.1

2.5.0

Minor Changes

  • Introduce the new @authenticated directive for composition (#2644)

    Note that this directive will only be fully supported by the Apollo Router as a GraphOS Enterprise feature at runtime. Also note that composition of valid @authenticated directive applications will succeed, but the resulting supergraph will not be executable by the Gateway or an Apollo Router which doesn't have the GraphOS Enterprise entitlement.

    Users may now compose @authenticated applications from their subgraphs into a supergraph. This addition will support a future version of Apollo Router that enables authenticated access to specific types and fields via directive applications.

    The directive is defined as follows:

    directive @authenticated on FIELD_DEFINITION | OBJECT | INTERFACE | SCALAR | ENUM

    In order to compose your @authenticated usages, you must update your subgraph's federation spec version to v2.5 and add the @authenticated import to your existing imports like so:

    @link(url: "https://specs.apollo.dev/federation/v2.5", import: [..., "@authenticated"])

Patch Changes

2.4.10

Patch Changes

  • Updated dependencies [b6be9f96]:
    • @apollo/federation-internals@2.4.10

2.4.9

Patch Changes

2.4.8

Patch Changes

2.4.7

Patch Changes

  • Updated dependencies [2d44f346]:
    • @apollo/federation-internals@2.4.7

2.4.6

Patch Changes

2.4.5

Patch Changes

  • Supersedes v2.4.4 due to a publishing error with no dist/ folder (#2583)

  • Updated dependencies [c96e24c4]:

    • @apollo/federation-internals@2.4.5

2.4.4

Patch Changes

  • Updated dependencies []:
    • @apollo/federation-internals@2.4.4

2.4.3

Patch Changes

  • Resolve Promise references before calling __resolveType on interface (#2556)

    Since the introduction of entity interfaces, users could not return
    a Promise from __resolveReference while implementing a synchronous,
    custom __resolveType function. This change fixes/permits this use case.

    Additional background / implementation details:

    Returning a Promise from __resolveReference has historically never
    been an issue. However, with the introduction of entity interfaces, the
    calling of an interface's __resolveType function became a new concern.

    __resolveType functions expect a reference (and shouldn't be concerned
    with whether those references are wrapped in a Promise). In order to
    address this, we can await the reference before calling the
    __resolveType (this handles both the non-Promise and Promise case).

  • Updated dependencies [f6a8c1ce]:

    • @apollo/federation-internals@2.4.3

2.4.2

Patch Changes

2.4.1

Patch Changes

  • Start building packages with TS 5.x, which should have no effect on consumers (#2480)

  • Updated dependencies [450b9578, afde3158, eafebc3c, 01fe3f83]:

    • @apollo/federation-internals@2.4.1

2.4.0

Patch Changes

  • Optimises query plan generation for parts of queries that can statically be known to not cross across subgraphs (#2449)

  • Updated dependencies [260c357c, 7bc0f8e8, 1a555d98, cab383b2]:

    • @apollo/federation-internals@2.4.0

2.4.0-alpha.1

Patch Changes

  • Updated dependencies [7bc0f8e8]:
    • @apollo/federation-internals@2.4.0-alpha.1

2.4.0-alpha.0

Patch Changes

  • Updated dependencies [6e2d24b5, 1a555d98]:
    • @apollo/federation-internals@2.4.0-alpha.0

2.3.5

Patch Changes

  • Updated dependencies []:
    • @apollo/federation-internals@2.3.5

2.3.4

Patch Changes

  • Updated dependencies [6e2d24b5]:
    • @apollo/federation-internals@2.3.4

2.3.3

Patch Changes

  • Correctly attach provided subscription resolvers to the schema object (#2388)

  • Updated dependencies []:

    • @apollo/federation-internals@2.3.3

2.3.2

Patch Changes

  • Updated dependencies []:
    • @apollo/federation-internals@2.3.2

2.3.1

Patch Changes

  • Updated dependencies []:
    • @apollo/federation-internals@2.3.1

This CHANGELOG pertains only to Apollo Federation packages in the 2.x range. The Federation v0.x equivalent for this package can be found here on the version-0.x branch of this repo.

2.3.0-beta.2

  • @tag directive support for the SCHEMA location. This has been added to the 2.3 version of the federation spec, so to access this functionality you must bump your federation spec version to 2.3 by using @link(url: "https://specs.apollo.dev/federation/v2.3", ...) on your schema element. PR #2314.

2.3.0

  • Adds support for the 2.3 version of the federation spec (that is, @link(url: "https://specs.apollo.dev/federation/v2.3")), with:
  • New @interfaceObject directive and support for keys on interfaces.

2.2.0

  • Adds support for the 2.2 version of the federation spec (that is, @link(url: "https://specs.apollo.dev/federation/v2.2")), which:
  • allows @shareable to be repeatable so it can be allowed on both a type definition and its extensions PR #2175.
  • Drop support for node12 PR #2202

2.1.0

  • Update peer dependency graphql to ^16.5.0 to use GraphQLErrorOptions PR #2060
  • Remove dependency on apollo-server-types PR #2037
  • Expand support for Node.js v18 PR #1884

2.0.3

  • Fix output of printSubgraphSchema method, ensuring it can be read back by composition and buildSubgraphSchema PR #1831.
  • Fix definition of @key to be repeatable PR #1826.

2.0.2

  • Add __resolveType to _Entity union PR #1773

v2.0.1

  • Released in sync with other federation packages but no changes to this package.

v2.0.0

  • Previous preview release promoted to general availability! Please see previous changelog entries for full info.

v2.0.0-preview.14

  • Implement buildSubgraphSchema using federation internals PR #1697

v2.0.0-preview.13

  • Revert previous @apollo/core-schema update due to incopatibilities with some existing schemas PR #1704

v2.0.0-preview.12

  • Generate a core schema in buildSubgraphSchema, incorporating the latest changes from @apollo/core-schema PR #1554

v2.0.0-preview.9

  • Adds Support for @tag/v0.2, which allows the @tag directive to be additionally placed on arguments, scalars, enums, enum values, input objects, and input object fields. PR #1652.
  • Adds support for the @override directive on fields to indicate that a field should be moved from one subgraph to another. PR #1484

v2.0.0-preview.7

  • Automatically add the @tag directive definition in buildSubgraphSchema (but still support it if the definition is present in the input document) PR #1600.

v2.0.0-preview.2

  • Re-publishing release which published to npm with stale build artifacts from version-0.x release.

v2.0.0-preview.1

  • No-op publish to account for publishing difficulties.

v2.0.0-preview.0

  • Initial "preview" release.

v2.0.0-alpha.6

  • No direct changes. Just bumping to maintain version alignment with other v2.0.0 alpha packages.

v2.0.0-alpha.5

  • No direct changes. Just bumping to maintain version alignment with other v2.0.0 alpha packages.

v2.0.0-alpha.4

  • Print description text for the schema definition node, as allowed per the October 2021 edition of the GraphQL specification PR #1464.
  • Make sure scalars don't print a specifiedBy directive unless specified in the subgraph. PR #1463
  • Remove graphql@15 from peer dependencies PR #1472.

v2.0.0-alpha.2

  • BREAKING: Bump graphql peer dependency to ^15.7.0 PR #1200

v2.0.0-alpha.1

  • 🎉 Initial alpha release of Federation 2.0. For more information, see our [documentation](https://www.apollographql.com/d ocs/federation/v2/). We look forward to your feedback!

    Note! While packages like @apollo/gateway and @apollo/query-planner do have substantial changes in Federation 2, currently, there are no substantial changes to this package. We anticipate that could change by the end of the v2 series.

v0.1.3

  • Updates to transitive dependencies. No other substantial changes.

v0.1.2

  • Expose printSubgraphSchema() as a top-level export of the @apollo/subgraph package to maintain backwards compatibility with the printSchema() export from @apollo/federation #1078

v0.1.1

  • Correctly print @tag definitions and usages in subgraph SDL query #1071

v0.1.0

  • Initial release of new @apollo/subgraph package. This package is the subgraph-related slice of the @apollo/federation package which was previously responsible for both subgraph and composition bits. @apollo/federation users will experience no change in behavior for now, but our docs will suggest the usage of the @apollo/subgraph package going forward. For past iterations and CHANGELOG information of related work, see the @apollo/federation CHANGELOG.mdPR #1058

Don't miss a new federation release

NewReleases is sending notifications on new releases.