github apollographql/router v1.14.0

latest releases: v2.0.0-preview.0, v1.56.0, v1.56.0-rc.0...
18 months ago

🚀 Features

GraphOS Enterprise: Coprocessor read access to request uri, method and HTTP response status codes (Issue #2861, Issue #2861)

We've added the ability for coprocessors to have read-only access to additional contextual information at the RouterService and SubgraphService stages:

The RouterService stage now has read-only access to these client request properties:

  • path (e.g., /graphql)
  • method (e.g., POST, GET)

The RouterService stage now has read-only access to these client response properties:

  • status_code (e.g. 403, 200)

The SubgraphService stage now has read-only access to these subgraph response properties:

  • status_code (e.g., 503, 200)

By @o0Ignition0o in #2863

🐛 Fixes

Coprocessors: Empty body requests from GET requests are now deserialized without error

Fixes a bug where a coprocessor operating at the router_request stage would fail to deserialize an empty body, which is typical for GET requests.

By @o0Ignition0o in #2863

📃 Configuration

Helm: Router chart now supports extraLabels for Deployments/Pods

Our Helm chart now supports a new value called extraLabels, which enables chart users to add custom labels to the Router Deployment and its Pods.

By @gscheibel in #2903

Helm: Router chart now supports extraContainers to run sidecars

Our Helm chart now supports extraContainers in an effort to simplify the ability to run containers alongside Router containers (sidecars) which is a useful pattern for coprocessors.

By @pcarrier in #2881

Migrate away from unimplemented coprocessor.subgraph.all.response.uri

We have removed a completely unimplemented coprocessor.subgraph.all.response.uri key from our configuration. It had no effect, but we will automatically migrate configurations which did use it, resulting in no breaking changes by this removal.

By @o0Ignition0o in #2863

📚 Documentation

Update coprocessor documentation to reflect newly added fields (Issue #2886)

The External coprocessing documentation is now up to date, with a full configuration example, and the newly added fields.

By @o0Ignition0o in #2863

Example: Rhai-based cache-control response header management

A new Rhai example demonstrates how to recreate some of the behavior of Apollo Gateway's subgraph cache-control response header behavior. This addresses some of the need identified in #326.

By @lennyburdette in #2759

Don't miss a new router release

NewReleases is sending notifications on new releases.