Merged
Conversation
✅ Docs preview readyThe preview is ready to be viewed. View the preview File Changes 0 new, 5 changed, 0 removedBuild ID: 33d94d2f34360c481c37264a URL: https://www.apollographql.com/docs/deploy-preview/33d94d2f34360c481c37264a |
BrynCooke
approved these changes
Sep 22, 2025
This file contains hidden or 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
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.
🚀 Features
Add
ResponseErrorsselector to router response (PR #7882)The
ResponseErrorsselector in telemetry configurations captures router response errors, enabling you to log errors encountered at the router service layer. This selector enhances logging by allowing you to log only router errors instead of the entire router response body, reducing noise in your telemetry data.By @Aguilarjaf in #7882
🐛 Fixes
_entitiesApollo error metrics missing service attribute (PR #8153)The error counting feature introduced in v2.5.0 caused
_entitieserrors from subgraph fetches to no longer report a service (subgraph or connector) attribute. This incorrectly categorized these errors as originating from the router instead of their actual service in Apollo Studio.The service attribute is now correctly included for
_entitieserrors.By @rregitsky in #8153
WebSocket connection cleanup for subscriptions (PR #8104)
A regression introduced in v2.5.0 caused WebSocket connections to subgraphs to remain open after all client subscriptions ended. This led to unnecessary resource usage and connections not being cleaned up until a new event was received.
The router now correctly closes WebSocket connections to subgraphs when clients disconnect from subscription streams.
By @bnjjj in #8104
OTLP metrics Up/Down counter drift (PR #8174)
When using OTLP metrics export with delta temporality configured, UpDown counters could exhibit drift issues where counter values became inaccurate over time. This occurred because UpDown counters were incorrectly exported as deltas instead of cumulative values.
UpDown counters now export as aggregate values according to the OpenTelemetry specification.
By @BrynCooke in #8174
WebSocket subscription
connection_errormessage handling (Issue #6138)The router now correctly processes
connection_errormessages from subgraphs that don't include anidfield. Previously, these messages were ignored because the router incorrectly required anidfield. According to thegraphql-transport-wsspecification,connection_errormessages only require apayloadfield.The
idfield is now optional forconnection_errormessages, allowing underlying error messages to propagate to clients when connection failures occur.By @jeffutter in #8189
Add Helm chart support for deployment annotations (PR #8164)
The Helm chart now supports customizing annotations on the deployment itself using the
deploymentAnnotationsvalue. Previously, you could only customize pod annotations withpodAnnotations.By @glasser in #8164
Uncommon query planning error with interface object types (PR #8109)
An uncommon query planning error has been resolved: "Cannot add selection of field
Xto selection set of parent typeYthat is potentially an interface object type at runtime". The router now handles__typenameselections from interface object types correctly, as these selections are benign even when unnecessary.By @duckki in #8109
Connection shutdown race condition during hot reload (PR #8169)
A race condition during hot reload that occasionally left connections in an active state instead of terminating has been fixed. This issue could cause out-of-memory errors over time as multiple pipelines remained active.
Connections that are opening during shutdown now immediately terminate.
By @BrynCooke in #8169
Persisted Query usage reporting for safelisted operation body requests (PR #8168)
Persisted Query metrics now include operations requested by safelisted operation body. Previously, the router only recorded metrics for operations requested by ID.
By @bonnici in #8168
📃 Configuration
Separate Apollo telemetry batch processor configurations (PR #8258)
Apollo telemetry configuration now allows separate fine-tuning for metrics and traces batch processors. The configuration has changed from:
To:
The old
telemetry.apollo.batch_processorconfiguration will be used if you don't specify these new values. The router displays the configuration being used in an info-level log message at startup.By @bonnici in #8258
Promote Subgraph Insights metrics flag to preview (PR #8200)
The
subgraph_metricsconfiguration flag that powers Apollo Studio's Subgraph Insights feature has been promoted fromexperimentaltopreview. The flag name has been updated fromexperimental_subgraph_metricstopreview_subgraph_metrics:By @rregitsky in #8200