Apollo Connectors Changelog


caution
Router and composition versions must be upgraded together.

2024-11-08

Router 2.0.0-preview.2 & Composition 2.10.0-preview.1

New features

  • Includes all changes from Router 1.57.0.

  • Router telemetry can now be configured for connectors.

  • $args and $this variables can be used in HTTP headers for connectors.

  • Connectors can now invoke AWS HTTP APIs using SigV4.

  • The content-length header is automatically set on POST, PATCH, and PUT requests.

  • Error messages for parsing errors in @connect(selection:) and @connect(http: { body: }) are more informative.

  • Using coprocessors to fetch authentication tokens is now easier. See authentication with coprocessors.

Bug fixes

  • Fixed a bug where $this.siblingField.nestedField failed to compose.

  • A non-JSON response no longer causes all responses to fail.

2024-10-01

Router 2.0.0-preview.0 & Composition 2.10.0-preview.0

Selection mapping enhancements

  • To distinguish a path consisting of a single key from a field name, you should now use $.key instead of .key. The .key syntax is now forbidden since it can accidentally parse as a continuation of a previous selection, whereas $.key is unambiguous.

  • Multiple deeply nested properties can now be flattened into the same output object alongside shallower properties:

    GraphQL
    1id
    2model
    3choices->first.message { role content }

    This selection produces an object with id, model, role, and content properties, all at the same level.

    Previously, to achieve the same output, it was necessary to repeat the choices->first.message path multiple times:

    GraphQL
    1id
    2model
    3role: choices->first.message.role
    4content: choices->first.message.content

Improvements

  • Includes all changes from router release 1.56.

2024-09-23

Router 2.0.0-alpha.7 & Composition 2.10.0-alpha.4

Selection mapping enhancements

New validations

  • URL template arguments are now validated and must correspond to existing fields ($this) or arguments ($args).

  • entity: true connectors have several new validations, including enforcing that arguments match entity fields.

2024-09-11

Router 2.0.0-alpha.6 & Composition 2.10.0-alpha.3

New validations

  • Require that all fields are resolvable through a connector.

New features

  • Connectors now obey the include_subgraph_errors configuration.

Improvements

  • Includes all changes from router release 1.54.

  • When running the router in development mode, the local Sandbox will have the connectors debug panel enabled by default.

2024-09-06

Router 2.0.0-alpha.5 & Composition 2.10.0-alpha.2

New validations

  • Require that every field of an object is included in at least one selection.

  • When using connectors, require that fields with arguments use a @connect directive.

New features

Improvements

  • Includes all changes from router release 1.52.1.

  • Includes all changes from router release 1.53.0.

  • Includes all changes from federation composition release 2.9.0.

  • Better detect circular references in connector selections.

2024-08-20

Router 2.0.0-alpha.3 & Composition 2.10.0-alpha.0

New validations

New errors will be caught during composition, which may cause previously successful compositions to fail:

  • Referring to a field name within selection which doesn't exist.

Improvements

  • Fully support $this and $args in http.body.

  • Allow subgraph names which are not GraphQL identifiers, for example, my-subgraph.

  • Allow $config values in headers.

  • Ability to set request limits for connectors.

Feedback

Forums