github apollographql/federation @apollo/query-planner@2.3.6

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...
18 months ago

Patch Changes

  • Fix issues (incorrectly rejected composition and/or subgraph errors) with @interfaceObject. Those issues may occur (11f2d7c0)
    either due to some use of @requires in an @interfaceObject type, or when some subgraph S defines a type that is an
    implementation of an interface I in the supergraph, and there is an @interfaceObject for I in another subgraph,
    but S does not itself defines I.

  • Fix potential assertion error during query planning in some multi-field @requires case. This error could be triggered (c0412fd9)
    when a field in a @requires depended on another field that was also part of that same requires (for instance, if a
    field has a @requires(fields: "id otherField") and that id is also a key necessary to reach the subgraph providing
    otherField).

    The assertion error thrown in that case contained the message Root groups (...) should have no remaining groups unhandled (...)

  • Fix potential bug when an @interfaceObject type has a @requires. When an @interfaceObject type has a field with a (2894a1ea)
    @requires and the query requests that field only for some specific implementations of the corresponding interface,
    then the generated query plan was sometimes invalid and could result in an invalid query to a subgraph (against a
    subgraph that rely on @apollo/subgraph, this lead the subgraph to produce an error message looking like "The _entities resolver tried to load an entity for type X, but no object or interface type of that name was found in the schema").

  • Fix query planner assertion error when types with no common supertypes are requested at the same path (ce0459a6)

  • Updated dependencies [98844fd5, 11f2d7c0, 2894a1ea]:

    • @apollo/federation-internals@2.3.6
    • @apollo/query-graphs@2.3.6

Don't miss a new federation release

NewReleases is sending notifications on new releases.