chore(deps): update ghcr.io/apollographql/router docker tag to v1.39.0 #696
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v1.38.0
->v1.39.0
Release Notes
apollographql/router (ghcr.io/apollographql/router)
v1.39.0
Compare Source
🚀 Features
Introduce support for progressive
@override
(PR #4521)The change brings support for progressive
@override
, which allows dynamically overriding root fields and entity fields in the schema. This feature is enterprise only and requires a license key to be used.A new
label
argument is added to the@override
directive in order to indicate the field is dynamically overridden. Labels can come in two forms:percent(x)
: The router resolves these labels based on thex
value. For example,percent(50)
will route 50% of requests to the overridden field and 50% of requests to the original field.^[a-zA-Z][a-zA-Z0-9_-:./]*$
: These labels are expected to be resolved externally via coprocessor. A supergraph request hook can inspect and modify the context of a request in order to inform the router which labels to use during query planning.Please consult the docs for more information on how to use this feature and how to implement a coprocessor for label resolution.
By @TrevorScheer in https://github.com/apollographql/router/pull/4521
Specify trace ID formatting (PR #4530)
You can specify the format of the trace ID in the response headers of the supergraph service.
An example configuration using this feature:
If the format is not specified, then the trace ID will continue to be in hexadecimal format.
By @nicholascioli in https://github.com/apollographql/router/pull/4530
Add selector to get all baggage key values in span attributes (Issue #4425)
Previously, baggage items were configured as standard attributes in
router.yaml
, and adding a new baggage item required a configuration update and router rerelease.This release supports a new configuration that enables baggage items to be added automatically as span attributes.
If you have several baggage items and would like to add all of them directly as span attributes (for example,
baggage: my_item=test, my_second_item=bar
), settingbaggage: true
will add automatically add two span attributes,my_item=test
andmy_second_item=bar
.An example configuration:
By @bnjjj in https://github.com/apollographql/router/pull/4537
Create a trace during router creation and plugin initialization (Issue #4472)
When the router starts or reloads, it will now generate a trace with spans for query planner creation, schema parsing, plugin initialisation and request pipeline creation. This will help debugging any issue during startup, especially during plugins creation.
By @Geal in https://github.com/apollographql/router/pull/4480
Allow adding static attributes on specific spans in telemetry settings (Issue #4561)
It is now possible to add static attributes to spans, defined in the configuration file.
Example of configuration:
By @bnjjj in https://github.com/apollographql/router/pull/4566
🐛 Fixes
Order HPA targets to resolve OutOfSync states (Issue #4435)
This update addresses an
OutOfSync
issue in ArgoCD applications when Horizontal Pod Autoscaler (HPA) is configured with both memory and CPU limits.Previously, the live and desired manifests within Kubernetes were not consistently sorted, leading to persistent
OutOfSync
states in ArgoCD.This change implements a sorting mechanism for HPA targets within the Helm chart, ensuring alignment with Kubernetes' expected order.
This fix proactively resolves the sync discrepancies while using HPA, circumventing the need to wait for Kubernetes' issue resolution (kubernetes/kubernetes#74099).
By @cyberhck in https://github.com/apollographql/router/pull/4436
Reactivate log events in traces (PR #4486)
This fixes a regression introduced in #2999, where events were not sent with traces anymore due to too aggressive sampling
By @Geal in https://github.com/apollographql/router/pull/4486
Fix inconsistency in environment variable parsing for telemetry (Issue #3203)
Previously, the router would complain when using the rover recommendation of
APOLLO_TELEMETRY_DISABLED=1
environmentvariable. Now any non-falsey value can be used, such as 1, yes, on, etc..
By @nicholascioli in https://github.com/apollographql/router/pull/4549
Store static pages in
Bytes
structure to avoid expensive allocation per request (PR #4528)The
CheckpointService
created by theStaticPageLayer
caused a non-insignificant amount of memory to be allocated on every request. The service stack gets cloned on every request, and so does the rendered template.The template is now stored in a
Bytes
struct instead which is cheap to clone.By @xuorig in https://github.com/apollographql/router/pull/4528
Fix header propagation issues (Issue #4312), (Issue #4398)
This fixes two header propagation issues:
Accept
,Accept-Encoding
andContent-Encoding
were not in the list of reserved headers that cannot be propagated. They are now in that list because those headers are set explicitely by the Router in its subgraph requestsThere is a potential change in behavior: if a router deployment was accidentally relying on header propagation to compress subgraph requests, then it will not work anymore because
Content-Encoding
is not propagated anymore. Instead it should be set up from thetraffic_shaping
section of the Router configuration:By @Geal in https://github.com/apollographql/router/pull/4535
🧪 Experimental
Move cacheability metrics to the entity cache plugin (Issue #4253)
Cacheability metrics have been moved from the telemetry plugin to the entity cache plugin.
New configuration has been added:
Cleanup and performance improvements have also been implemented.
By @Geal in https://github.com/apollographql/router/pull/4469
Configuration
📅 Schedule: Branch creation - "after 10pm every weekday,before 5am every weekday,every weekend" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.