-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(deps): update ghcr.io/apollographql/router docker tag to v1.60.1 #792
Open
renovate
wants to merge
1
commit into
main
Choose a base branch
from
renovate/apollo-graphql-packages
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
auto-merge was automatically disabled
February 11, 2025 02:00
Pull request was closed
8ef54e6
to
51c432d
Compare
auto-merge was automatically disabled
February 13, 2025 22:05
Pull request was closed
51c432d
to
6cc4081
Compare
auto-merge was automatically disabled
February 14, 2025 12:40
Pull request was closed
7f826d2
to
6cc4081
Compare
auto-merge was automatically disabled
February 18, 2025 03:15
Pull request was closed
df8daa9
to
6cc4081
Compare
auto-merge was automatically disabled
February 19, 2025 19:32
Pull request was closed
87b716f
to
6cc4081
Compare
auto-merge was automatically disabled
February 23, 2025 01:58
Pull request was closed
149bdc7
to
6cc4081
Compare
auto-merge was automatically disabled
February 23, 2025 17:42
Pull request was closed
7d5f8ac
to
6cc4081
Compare
Detected SAST Vulnerabilities |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.59.2
->v1.60.1
Release Notes
apollographql/router (ghcr.io/apollographql/router)
v1.60.1
Compare Source
🐛 Fixes
Header propagation rules passthrough (PR #6690)
Header propagation contains logic to prevent headers from being propagated more than once. This was broken
in https://github.com/apollographql/router/pull/6281 which always considered a header propagated regardless if a rule
actually matched.
This PR alters the logic so that only when a header is populated then the header is marked as fixed.
The following will now work again:
Note that defaulting a head WILL populate a header, so make sure to include your defaults last in your propagation
rules.
Instead, make sure that your headers are defaulted last:
By @BrynCooke in https://github.com/apollographql/router/pull/6690
Entity cache: fix directive conflicts in cache-control header (Issue #6441)
Unnecessary cache-control directives are created in cache-control header. The router will now filter out unnecessary values from the
cache-control
header when the request resolves. So if there'smax-age=10, no-cache, must-revalidate, no-store
, the expected value for the cache-control header would simply beno-store
. Please see the MDN docs for justification of this reasoning: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control#preventing_storingBy @bnjjj in https://github.com/apollographql/router/pull/6543
Resolve regressions in fragment compression for certain operations (PR #6651)
In v1.58.0 we introduced a new compression strategy for subgraph GraphQL operations to replace an older, more complicated algorithm.
While we were able to validate improvements for a majority of cases, some regressions still surfaced. To address this, we are extending it to compress more operations with the following outcomes:
By @dariuszkuc in https://github.com/apollographql/router/pull/6651
v1.60.0
Compare Source
🚀 Features
Improve BatchProcessor observability (Issue #6558)
A new metric has been introduced to allow observation of how many spans are being dropped by an telemetry batch processor.
apollo.router.telemetry.batch_processor.errors
- The number of errors encountered by exporter batch processors.name
: One ofapollo-tracing
,datadog-tracing
,jaeger-collector
,otlp-tracing
,zipkin-tracing
.error
= One ofchannel closed
,channel full
.By observing the number of spans dropped it is possible to estimate what batch processor settings will work for you.
In addition, the log message for dropped spans will now indicate which batch processor is affected.
By @bryncooke in https://github.com/apollographql/router/pull/6558
🐛 Fixes
Improve performance of query hashing by using a precomputed schema hash (PR #6622)
The router now uses a simpler and faster query hashing algorithm with more predictable CPU and memory usage. This improvement is enabled by using a precomputed hash of the entire schema, rather than computing and hashing the subset of types and fields used by each query.
For more details on why these design decisions were made, please see the PR description
By @IvanGoncharov in https://github.com/apollographql/router/pull/6622
Truncate invalid error paths (PR #6359)
This fix addresses an issue where the router was silently dropping subgraph errors that included invalid paths.
According to the GraphQL Specification an error path must point to a response field:
The router now truncates the path to the nearest valid field path if a subgraph error includes a path that can't be matched to a response field,
By @IvanGoncharov in https://github.com/apollographql/router/pull/6359
Eagerly init subgraph operation for subscription primary nodes (PR #6509)
When subgraph operations are deserialized, typically from a query plan cache, they are not automatically parsed into a full document. Instead, each node needs to initialize its operation(s) prior to execution. With this change, the primary node inside SubscriptionNode is initialized in the same way as other nodes in the plan.
By @tninesling in https://github.com/apollographql/router/pull/6509
Fix increased memory usage in
sysinfo
since Router 1.59.0 (PR #6634)In version 1.59.0, Apollo Router started using the
sysinfo
crate to gather metrics about available CPUs and RAM. By default, that crate usesrayon
internally to parallelize its handling of system processes. In turn, rayon creates a pool of long-lived threads.In a particular benchmark on a 32-core Linux server, this caused resident memory use to increase by about 150 MB. This is likely a combination of stack space (which only gets freed when the thread terminates) and per-thread space reserved by the heap allocator to reduce cross-thread synchronization cost.
This regression is now fixed by:
sysinfo
’s use ofrayon
, so the thread pool is not created and system processes information is gathered in a sequential loop.sysinfo
not gather that information in the first place since Router does not use it.By @SimonSapin in https://github.com/apollographql/router/pull/6634
Optimize demand control lookup (PR #6450)
The performance of demand control in the router has been optimized.
Previously, demand control could reduce router throughput due to its extra processing required for scoring.
This fix improves performance by shifting more data to be computed at plugin initialization and consolidating lookup queries:
By @tninesling in https://github.com/apollographql/router/pull/6450
Fix missing Content-Length header in subgraph requests (Issue #6503)
A change in
1.59.0
caused the Router to send requests to subgraphs without aContent-Length
header, which would cause issues with some GraphQL servers that depend on that header.This solves the underlying bug and reintroduces the
Content-Length
header.By @nmoutschen in https://github.com/apollographql/router/pull/6538
🛠 Maintenance
Remove the legacy query planner (PR #6418)
The legacy query planner has been removed in this release. In the previous release, router v1.58, it was no longer used by default but was still available through the
experimental_query_planner_mode
configuration key. That key is now removed.Also removed are configuration keys which were only relevant to the legacy planner:
supergraph.query_planning.experimental_parallelism
: the new planner can always use available parallelism.supergraph.experimental_reuse_query_fragments
: this experimental algorithm that attempted toreuse fragments from the original operation while forming subgraph requests is no longer present. Instead, by default new fragment definitions are generated based on the shape of the subgraph operation.
By @SimonSapin in https://github.com/apollographql/router/pull/6418
Migrate various metrics to OTel instruments (PR #6476, PR #6356, PR #6539)
Various metrics using our legacy mechanism based on the
tracing
crate are migrated to OTel instruments.By @goto-bus-stop in https://github.com/apollographql/router/pull/6476, https://github.com/apollographql/router/pull/6356, https://github.com/apollographql/router/pull/6539
📚 Documentation
Add instrumentation configuration examples (PR #6487)
The docs for router telemetry have new example configurations for common use cases for selectors and condition.
By @shorgi in https://github.com/apollographql/router/pull/6487
🧪 Experimental
Remove experimental_retry option (PR #6338)
The
experimental_retry
option has been removed due to its limited use and functionality during its experimental phase.By @bnjjj in https://github.com/apollographql/router/pull/6338
Configuration
📅 Schedule: Branch creation - "* 0-4,22-23 * * 1-5,* * * * 0,6" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.