github apollographql/router v1.26.0

latest releases: v2.0.0-preview.1, v1.57.1, v1.57.1-rc.0...
15 months ago

🚀 Features

Add coprocessor metrics (PR #3483)

Introduces a new metric for the router:

apollo.router.operations.coprocessor

It has two attributes:

coprocessor.stage: string (RouterRequest, RouterResponse, SubgraphRequest, SubgraphResponse)
coprocessor.succeeded: bool

By @garypen in #3483

Constrain APOLLO_ROUTER_LOG and --log global levels to the router (Issue #3474)

APOLLO_ROUTER_LOG and --log now implicitly set a filter constraining the logging to the apollo_router module, simplifying the debugging experience for users.

For advanced users RUST_LOG can be used for standard log filter behavior.

Thus:

RUST_LOG=apollo_router=warn
--log warn
APOLLO_ROUTER_LOG=warn

are equivalent with all three statements resulting in warn level logging for the router.

For more details, read the logging configuration documentation.

By @garypen in #3477

Add support for PodDisruptionBudget to helm chart (Issue #3345)

A PodDisuptionBudget may now be specified for your router to limit the number of concurrent disruptions.

Example Configuration:

podDisruptionBudget:
  minAvailable: 1

By @garypen in #3469

Don't hide --dev from --help (Issue #2705)

Display documentation about --dev when launching the router with --help argument.

By @bnjjj in #3479

Fix default rhai script dir for Windows (Issue #3401)

Using default rhai.scripts field won't end up in an error.

By @bnjjj in #3411

Fix the prometheus descriptions as well as the metrics (Issue #3491)

I didn't realise the descriptions on the prometheus stats were significant, so my previous prometheus fix constrained itself to renaming the actual metrics.

This relaxes the regex pattern to include prom descriptions as well as metrics in the renaming.

By @garypen in #3492

🛠 Maintenance

Add a pool idle timeout for subgraph HTTP connectors (Issue #3435)

Having a high idle pool timeout duration can sometimes trigger situations in which an HTTP request cannot complete (see this comment for more information).

This changeset sets a default timeout duration of 5 seconds, which we may make configurable eventually.

By @garypen in #3470

Don't reload the router if the schema/license hasn't changed (Issue #3180)

The router is performing frequent schema reloads due to notifications from uplink. In the majority of cases a schema reload is not required, because the schema hasn't actually changed.

We won't reload the router if the schema/license hasn't changed.

By @bnjjj in #3478

Don't miss a new router release

NewReleases is sending notifications on new releases.