This repository has been archived by the owner on Oct 31, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
fix(deps): update apollo graphql packages #59
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
Graph was successfully deployed. |
☁️ Nx Cloud ReportCI is running/has finished running commands for commit a229d95. As they complete they will appear below. Click to see the status, the terminal output, and the build insights. 📂 See all runs for this CI Pipeline Execution ✅ Successfully ran 2 targetsSent with 💌 from NxCloud. |
renovate
bot
changed the title
fix(deps): update apollo graphql packages
fix(deps): update apollo graphql packages to v2.7.1
Feb 13, 2024
renovate
bot
changed the title
fix(deps): update apollo graphql packages to v2.7.1
fix(deps): update apollo graphql packages
Feb 14, 2024
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
9 times, most recently
from
February 18, 2024 20:35
69452e2
to
4967a64
Compare
renovate
bot
changed the title
fix(deps): update apollo graphql packages
fix(deps): update apollo graphql packages to v2.7.1
Feb 20, 2024
renovate
bot
changed the title
fix(deps): update apollo graphql packages to v2.7.1
fix(deps): update apollo graphql packages
Feb 20, 2024
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
February 20, 2024 10:29
4967a64
to
f77aa1d
Compare
renovate
bot
changed the title
fix(deps): update apollo graphql packages
fix(deps): update apollo graphql packages to v2.7.1
Feb 22, 2024
renovate
bot
changed the title
fix(deps): update apollo graphql packages to v2.7.1
fix(deps): update apollo graphql packages
Feb 22, 2024
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
February 25, 2024 11:11
f77aa1d
to
c1a6eb3
Compare
renovate
bot
changed the title
fix(deps): update apollo graphql packages
fix(deps): update apollo graphql packages to v2.7.1
Feb 26, 2024
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
February 26, 2024 10:57
c1a6eb3
to
c8352b7
Compare
renovate
bot
changed the title
fix(deps): update apollo graphql packages to v2.7.1
fix(deps): update apollo graphql packages
Feb 26, 2024
renovate
bot
changed the title
fix(deps): update apollo graphql packages
fix(deps): update apollo graphql packages to v2.7.1
Mar 2, 2024
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
March 2, 2024 16:25
c8352b7
to
cd980fb
Compare
renovate
bot
changed the title
fix(deps): update apollo graphql packages to v2.7.1
fix(deps): update apollo graphql packages
Mar 2, 2024
renovate
bot
changed the title
fix(deps): update apollo graphql packages
fix(deps): update apollo graphql packages to v2.7.1
Mar 2, 2024
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
March 3, 2024 06:30
cd980fb
to
41827e9
Compare
renovate
bot
changed the title
fix(deps): update apollo graphql packages to v2.7.1
fix(deps): update apollo graphql packages
Mar 3, 2024
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
2 times, most recently
from
March 6, 2024 16:21
d2fea7d
to
100f9c6
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
5 times, most recently
from
August 29, 2024 10:52
5fc034e
to
7764805
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
4 times, most recently
from
September 10, 2024 19:30
c537e02
to
bea27f6
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
4 times, most recently
from
September 20, 2024 00:09
9e3bb4a
to
10e76c0
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
4 times, most recently
from
October 1, 2024 03:38
7545ab7
to
eb5e4d2
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
2 times, most recently
from
October 6, 2024 09:05
32706c2
to
1bb7969
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
October 9, 2024 07:38
1bb7969
to
f0b317d
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
5 times, most recently
from
October 22, 2024 21:29
cf1b0b6
to
bca7665
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
2 times, most recently
from
October 29, 2024 20:20
ba96841
to
706a122
Compare
renovate
bot
force-pushed
the
renovate/apollo-graphql-packages
branch
from
October 30, 2024 00:19
706a122
to
a229d95
Compare
Quality Gate passedIssues Measures |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
None yet
0 participants
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:
4.10.0
->4.11.2
2.6.2
->2.9.3
v1.39.0
->v1.57.0
v1.39.0
->v1.57.0
Release Notes
apollographql/apollo-server (@apollo/server)
v4.11.2
Compare Source
(No change; there is a change to the
@apollo/server-integration-testsuite
used to test integrations, and the two packages always have matching versions.)v4.11.1
Compare Source
Patch Changes
#7952
bb81b2c
Thanks @glasser! - Upgrade dependencies so that automated scans don't detect a vulnerability.@apollo/server
depends onexpress
which depends oncookie
. Versions ofexpress
older than v4.21.1 depend on a version ofcookie
vulnerable to CVE-2024-47764. Users of olderexpress
versions who callres.cookie()
orres.clearCookie()
may be vulnerable to this issue.However, Apollo Server does not call this function directly, and it does not expose any object to user code that allows TypeScript users to call this function without an unsafe cast.
The only way that this direct dependency can cause a vulnerability for users of Apollo Server is if you call
startStandaloneServer
with a context function that calls Express-specific methods such asres.cookie()
orres.clearCookies()
on the response object, which is a violation of the TypeScript types provided bystartStandaloneServer
(which only promise that the response object is a core Node.jshttp.ServerResponse
rather than the Express-specific subclass). So this vulnerability can only affect Apollo Server users who use unsafe JavaScript or unsafeas
typecasts in TypeScript.However, this upgrade will at least prevent vulnerability scanners from alerting you to this dependency, and we encourage all Express users to upgrade their project's own
express
dependency to v4.21.1 or newer.v4.11.0
Compare Source
Minor Changes
#7916
4686454
Thanks @andrewmcgivery! - AddhideSchemaDetailsFromClientErrors
option to ApolloServer to allow hiding 'did you mean' suggestions from validation errors.Even with introspection disabled, it is possible to "fuzzy test" a graph manually or with automated tools to try to determine the shape of your schema. This is accomplished by taking advantage of the default behavior where a misspelt field in an operation
will be met with a validation error that includes a helpful "did you mean" as part of the error text.
For example, with this option set to
true
, an error would readCannot query field "help" on type "Query".
whereas with this option set tofalse
it would readCannot query field "help" on type "Query". Did you mean "hello"?
.We recommend enabling this option in production to avoid leaking information about your schema to malicious actors.
To enable, set this option to
true
in yourApolloServer
options:v4.10.5
Compare Source
Patch Changes
#7821
b2e15e7
Thanks @renovate! - Non-major dependency updates#7900
86d7111
Thanks @trevor-scheer! - Inline a small dependency that was causing build issues for ESM projectsv4.10.4
Compare Source
Patch Changes
18a3827
Thanks @tninesling! - Subscription heartbeats are initialized prior to awaiting subscribe(). This allows long-running setup to happen in the returned Promise without the subscription being terminated prior to resolution.v4.10.3
Compare Source
Patch Changes
5f335a5
Thanks @tninesling! - Catch errors thrown by subscription generators, and gracefully clean up the subscription instead of crashing.v4.10.2
Compare Source
Patch Changes
c7e514c
Thanks @TylerBloom! - In the subscription callback server plugin, terminating a subscription now immediately closes the internal async generator. This avoids that generator existing after termination and until the next message is received.v4.10.1
Compare Source
Patch Changes
72f568e
Thanks @bscherlein! - Improves timing of thewillResolveField
end hook on fields which return Promises resolving to Arrays. This makes the use of thesetCacheHint
method more reliable.apollographql/federation (@apollo/subgraph)
v2.9.3
Compare Source
Patch Changes
cc4573471696ef78d04fa00c4cf8e5c50314ba9f
,062572b3253e8640b60a0bf58b83945094b76b6f
,df5eb3cb0e2b4802fcd425ab9c23714de2707db3
,1c99cb0dcc6c639ac351210932623ab0bd6907e4
]:v2.9.2
Compare Source
Patch Changes
2192f355f50db33fe0807d16153f357696b9f190
,5ac01b534318105e904c1e6598070f753add3bb1
]:v2.9.1
Compare Source
Patch Changes
b8e4ab5352a4dfd262af49493fdd42e86e5e3d99
,e6c05b6c96023aa3dec79889431f8217fcb3806d
]:v2.9.0
Compare Source
Patch Changes
02c2a34a62c3717a4885449172e404f19ebf66c9
,0ccfd937d4b4a576f890665ceebbd7986fac5d0c
,e0a5075c0d12a0e2f7ef303b246e3216a139d3e0
]:v2.8.5
Compare Source
Patch Changes
v2.8.4
Compare Source
Patch Changes
Add descriptions for federation directives (#3095)
Updated dependencies [
5f4bb160d024678d6facd471c43c8ec61c86e701
,672aca7cbeb0a6a38586357a4e154f2dd91caa0c
]:v2.8.3
Compare Source
Patch Changes
50d648ccffb05591878de75dc5522914ed48698f
,f753d55e9a49d11389ee4f8d7976533447e95ede
,3af790517d662f3bec9064c0bf243014c579e9cd
]:v2.8.2
Compare Source
Patch Changes
b2e5ab66f84688ec304cfcf2c6f749c86aded549
]:v2.8.1
Compare Source
Patch Changes
v2.8.0
Compare Source
Patch Changes
Various set context bugfixes (#3017)
Updated dependencies [
c4744da360235d8bb8270ea048f0e0fa5d03be1e
,8a936d741a0c05835ff2533714cf330d18209179
]:v2.7.8
Compare Source
Patch Changes
Triggering a clean 2.7.8 release now that harmonizer build has been fixed. (#3010)
Updated dependencies [
2ad72802044310a528e8944f4538efe519424504
]:v2.7.7
Compare Source
Patch Changes
No logical changes since 2.7.5 or 2.7.6, but we fixed a bug in the release process, so we need to publish a new patch version (2.7.7). (#2999)
Updated dependencies [
bee0b0828b4fb6a1d3172ac330560e2ab6c046bb
]:v2.7.6
Compare Source
Patch Changes
v2.7.5
Compare Source
Patch Changes
v2.7.4
Compare Source
Patch Changes
d80b7f0ca1456567a0866a32d2b2abf940598f77
]:v2.7.3
Compare Source
Patch Changes
ec04c50b4fb832bfd281ecf9c0c2dd7656431b96
,a494631918156f0431ceace74281c076cf1d5d51
]:v2.7.2
Compare Source
Patch Changes
33b937b18d3c7ca6af14b904696b536399e597d1
,09cd3e55e810ee513127b7440f5b11af7540c9b0
,d7189a86c27891af408d3d0184db6133d3342967
]:v2.7.1
Compare Source
Patch Changes
493f5acd16ad92adf99c963659cd40dc5eac1219
]:v2.7.0
Compare Source
Minor Changes
Implement progressive
@override
functionality (#2911)The progressive
@override
feature brings a new argument to the@override
directive:label: String
. When a label is added to an@override
application, the override becomes conditional, depending on parameters provided to the query planner (a set of which labels should be overridden). Note that this feature will be supported in router for enterprise users only.Out-of-the-box, the router will support a percentage-based use case for progressive
@override
. For example:The above example will override the root
hello
field from the "original" subgraph 5% of the time.More complex use cases will be supported by the router via the use of coprocessors/rhai to resolve arbitrary labels to true/false values (i.e. via a feature flag service).
Patch Changes
6ae42942b13dccd246ccc994faa2cb36cd62cb3c
,66833fb8d04c9376f6ed476fed6b1ca237f477b7
,931f87c6766c7439936df706727cbdc0cd6bcfd8
]:v2.6.3
Compare Source
Patch Changes
apollographql/router (ghcr.io/apollographql/router)
v1.57.0
Compare Source
🚀 Features
Remove legacy schema introspection (PR #6139)
Schema introspection in the router now runs natively without JavaScript. We have high confidence that the new native implementation returns responses that match the previous Javascript implementation, based on differential testing: fuzzing arbitrary queries against a large schema, and testing a corpus of customer schemas against a comprehensive query.
Changes to the router's YAML configuration:
experimental_introspection_mode
key has been removed, with thenew
mode as the only behavior in this release.supergraph.query_planning.legacy_introspection_caching
key is removed, with the behavior in this release now similar to what wasfalse
: introspection responses are not part of the query plan cache but instead in a separate, small in-memory—only cache.When using the above deprecated configuration options, the router's automatic configuration migration will ensure that existing configuration continue to work until the next major version of the router. To simplify major upgrades, we recommend reviewing incremental updates to your YAML configuration by comparing the output of
./router config upgrade --config path/to/config.yaml
with your existing configuration.By @SimonSapin in https://github.com/apollographql/router/pull/6139
Support new
request_context
selector for telemetry (PR #6160)The router supports a new
request_context
selector for telemetry that enables access to the supergraph schema ID.You can configure the context to access the supergraph schema ID at the router service level:
You can use the selector in any service at any stage. While this example applies to
events
attributes, the selector can also be used on spans and instruments.By @bnjjj in https://github.com/apollographql/router/pull/6160
Support reading and setting
port
on request URIs using Rhai (Issue #5437)Custom Rhai scripts in the router now support the
request.uri.port
andrequest.subgraph.uri.port
functions for reading and setting URI ports. These functions enable you to update the full URI for subgraph fetches. For example:By @lleadbet in https://github.com/apollographql/router/pull/5439
🐛 Fixes
Fix various edge cases for
__typename
field (PR #6009)The router now correctly handles the
__typename
field used on operation root types, even when the subgraph's root type has a name that differs from the supergraph's root type.For example, given a query like this:
Even if the subgraph's root type returns a
__typename
that differs fromQuery
, the router will still useQuery
as the value of the__typename
field.This change also includes fixes for other edge cases related to the handling of
__typename
fields. For a detailed technical description of the edge cases that were fixed, please see this description.By @IvanGoncharov in https://github.com/apollographql/router/pull/6009
Support
uri
andmethod
properties on router "request" objects in Rhai (PR #6147)The router now supports accessing
request.uri
andrequest.method
properties from custom Rhai scripts. Previously, when trying to accessrequest.uri
andrequest.method
on a router request in Rhai, the router would return error messages stating the properties were undefined.An example Rhai script using these properties:
By @andrewmcgivery in https://github.com/apollographql/router/pull/6114
Cost calculation for subgraph requests with named fragments (PR #6162)
In some cases where subgraph GraphQL operations contain named fragments and abstract types, demand control used the wrong type for cost calculation, and could reject valid operations. Now, the correct type is used.
This fixes errors of the form:
By @goto-bus-stop in https://github.com/apollographql/router/pull/6162
Federation v2.9.3 (PR #6161)
This release updates to Federation v2.9.3, with query planner fixes:
__typename
may be omitted in the subgraph query.@key
/@requires
selection sets were not optimized away.@context
/@fromContext
.By @sachindshinde in https://github.com/apollographql/router/pull/6161
v1.56.0
Compare Source
🚀 Features
Native query planner is now in public preview
The native query planner is now in public preview. You can configure the
experimental_query_planner_mode
option in the router configuration YAML to change the mode of the native query planner. The following modes are available:new
: Enable only the new Rust-native query planner in the hot-path of query execution.legacy
: Enable only the legacy JavaScript query planner in the hot-path of query execution.both_best_effort
: Enables both the new and legacy query planners. They are configured in a comparison-based mode of operation with the legacy planner in the hot-path and the and the new planner in the cold-path. Comparisons are made between the two plans on a sampled basis and metrics are available to analyze the differences in aggregate.Support loading Apollo key from file (PR #5917)
You can now specific the location to a file containing the Apollo key that's used by Apollo Uplink and usage reporting. The router now supports both the
--apollo-key-path
CLI argument and theAPOLLO_KEY_PATH
environment variable for passing the file containing your Apollo key.Previously, the router supported only the
APOLLO_KEY
environment variable to provide the key. The new CLI argument and environment variable help users who prefer not to pass sensitive keys through environment variables.Note: This feature is unavailable for Windows.
By @lleadbet in https://github.com/apollographql/router/pull/5917
🐛 Fixes
Prevent sending internal
apollo_private.*
attributes to Jaeger collector (PR #6033)When using the router's Jaeger collector to send traces, you will no longer receive span attributes with the
apollo_private.
prefix. Those attributes were incorrectly sent, as that prefix is reserved for internal attributes.By @bnjjj in https://github.com/apollographql/router/pull/6033
Fix displaying custom event attributes on subscription events (PR #6033)
The router now properly displays custom event attributes that are set with selectors at the supergraph level.
An example configuration:
By @bnjjj in https://github.com/apollographql/router/pull/6033
Update to Federation v2.9.2 (PR #6069)
This release updates to Federation v2.9.2, with a small fix to the internal
__typename
optimization and a fix to prevent argument name collisions in the@context
/@fromContext
directives.By @dariuszkuc in https://github.com/apollographql/router/pull/6069
📃 Configuration
Add metrics for Rust vs. Deno configuration values (PR #6056)
To help track the migration from JavaScript (Deno) to native Rust implementations, the router now reports the values of the following configuration options to Apollo:
apollo.router.config.experimental_query_planner_mode
apollo.router.config.experimental_introspection_mode
By @goto-bus-stop in https://github.com/apollographql/router/pull/6056
v1.55.0
Compare Source
🚀 Features
Support aliasing standard attributes for telemetry (Issue #5930)
The router now supports creating aliases for standard attributes for telemetry.
This fixes issues where standard attribute names collide with reserved attribute names. For example, the standard attribute name
entity.type
is a reserved attribute name for New Relic, so it won't work properly. Moreoverentity.type
is inconsistent with our other GraphQL attributes prefixed withgraphql.
The example configuration below renames
entity.type
tographql.type.name
:By @bnjjj in https://github.com/apollographql/router/pull/5957
Enable router customizations to access demand control info (PR #5972)
Rhai scripts and coprocessors can now access demand control information via the context. For more information on Rhai constants to access demand control info, see available Rhai API constants.
By @tninesling in https://github.com/apollographql/router/pull/5972
Support Redis connection pooling (PR #5942)
The router now supports Redis connection pooling for APQs, query planners and entity caches. This can improve performance when there is contention on Redis connections or latency in Redis calls.
By @Geal in https://github.com/apollographql/router/pull/5942
🐛 Fixes
Remove unused fragments and input arguments when filtering operations (PR #5952)
This release fixes the authorization plugin's query filtering to remove unused fragments and input arguments if the related parts of the query are removed. Previously the plugin's query filtering generated validation errors when planning certain queries.
By @Geal in https://github.com/apollographql/router/pull/5952
Hot-reloads will no longer interrupt certain gauges (PR #5996, PR #5999, PR #5999)
Previously when the router hot-reloaded a schema or a configuration file, the following gauges stopped working:
apollo.router.cache.storage.estimated_size
apollo_router_cache_size
apollo.router.v8.heap.used
apollo.router.v8.heap.total
apollo.router.query_planning.queued
This issue has been fixed in this release, and the gauges now continue to function after a router hot-reloads.
By @BrynCooke in https://github.com/apollographql/router/pull/5996 and https://github.com/apollographql/router/pull/5999 and https://github.com/apollographql/router/pull/6012
Datadog sample propagation will respect previous sampling decisions (PR #6005)
PR #5788 introduced a regression where sampling was set on propagated headers regardless of the sampling decision in the router or upstream.
This PR reverts the code in question and adds a test to check that a non-sampled request doesn't result in sampling in the downstream subgraph service.
By @BrynCooke in https://github.com/apollographql/router/pull/6005
Include request variables when scoring for demand control (PR #5995)
Demand control scoring in the router now accounts for variables in queries.
By @tninesling in https://github.com/apollographql/router/pull/5995
📃 Configuration
Enable new and old schema introspection implementations by default (PR #6014)
Starting with this release, if schema introspection is enabled, the router runs both the old Javascript implementation and a new Rust implementation of its introspection logic by default.
The more performant Rust implementation will eventually replace the Javascript implementation. For now, both implementations are run by default so we can definitively assess the reliability and stability of the Rust implementation before removing the Javascript one.
You can still toggle between implementations using the
experimental_introspection_mode
configuration key. Its valid values:new
runs only Rust-based validationlegacy
runs only Javascript-based validationboth
(default) runs both in comparison and logs errors if differences ariseHaving
both
as the default causes no client-facing impact. It will record and output the metrics of its comparison as aapollo.router.operations.introspection.both
counter. (Note: if this counter in your metrics hasrust_error = true
oris_matched = false
, please open an issue with Apollo.)Note: schema introspection itself is disabled by default, so its implementation(s) are run only if it's enabled in your configuration:
By @SimonSapin in https://github.com/apollographql/router/pull/6014
🧪 Experimental
Allow disabling persisted-queries-based query plan cache prewarm on schema reload
The router supports the new
persisted_queries.experimental_prewarm_query_plan_cache.on_reload
configuration option. It toggles whether a query plan cache that's prewarmed upon loading a new schema includes operations from persisted query lists. Its default istrue
. Setting itfalse
precludes operations from persisted query lists from being added to the prewarmed query plan cache.Some background about the development of this option:
In router v1.31.0, we started including operations from persisted query lists when the router prewarms the query plan cache when loading a new schema.
Then in router v1.49.0, we let you also prewarm the query plan cache from the persisted query list during router startup by setting
persisted_queries.experimental_prewarm_query_plan_cache
to true.In this release, we now allow you to disable the original feature so that the router can prewarm only recent operations from the query planning cache (and not operations from persisted query lists) when loading a new schema.
Note: the option added in v1.49.0 has been renamed from
persisted_queries.experimental_prewarm_query_plan_cache
topersisted_queries.experimental_prewarm_query_plan_cache.on_startup
. Existing configuration files will keep working as before, but with a warning that can be resolved by updating your config file:By @glasser in https://github.com/apollographql/router/pull/5990
v1.54.0
Compare Source
🚀 Features
Add configurability of span attributes in logs (Issue #5540)
The router supports a new
telemetry.exporters.logging.stdout.format.json.span_attributes
option that enables you to choose a subset of all span attributes to display in your logs.When
span_attributes
is specified, the router searches for the first attribute in its input list of span attributes from the root span to the current span and attaches it to the outermost JSON object for the log event. If you set the same attribute name for different spans at different levels, the router chooses the attributes of child spans before the attributes of parent spans.For example, if you have spans that contains
span_attr_1
attribute and you only want to display this span attribute:Example output with a list of spans:
To learn more, go to
span_attributes
docs.By @bnjjj in https://github.com/apollographql/router/pull/5867
Add a histogram metric tracking evaluated query plans (PR #5875)
The router supports the new
apollo.router.query_planning.plan.evaluated_plans
histogram metric to track the number of evaluated query plans.You can use it to help set an optimal
supergraph.query_planning.experimental_plans_limit
option that limits the number of query plans evaluated for a query and reduces the time spent planning.By @Geal in https://github.com/apollographql/router/pull/5875
🐛 Fixes
Fix Datadog sampling (PR #5788)
The router's Datadog exporter has been fixed so that traces are sampled as intended.
Previously, the Datadog exporter's context may not have been set correctly, causing traces to be undersampled.
By @BrynCooke & @bnjjj in https://github.com/apollographql/router/pull/5788
📃 Configuration
General availability of Apollo usage report generation (#5807)
The router's Apollo usage report generation feature that was previously experimental is now generally available.
If you used its experimental configuration, you should migrate to the new configuration options:
telemetry.apollo.experimental_apollo_metrics_reference_mode
is nowtelemetry.apollo.metrics_reference_mode
telemetry.apollo.experimental_apollo_signature_normalization_algorithm
is nowtelemetry.apollo.signature_normalization_algorithm
experimental_apollo_metrics_generation_mode
has been removed because the Rust implementation (the default since router v1.49.0) is generating reports identical to the previous router-bridge implementationThe experimental configuration options are now deprecated. They are functional but will log warnings.
By @bonnici in https://github.com/apollographql/router/pull/5807
Helm: Enable easier Kubernetes debugging with heaptrack (Issue #5789)
The router's Helm chart has been updated to help make debugging with heaptrack easier.
Previously, when debugging multiple Pods with heaptrack, all Pods wrote to the same file, so they'd overwrite each others' results. This issue has been fixed by adding a
hostname
to each output data file from heaptrack.Also, the Helm chart now supports a
restartPolicy
that enables you to configure a Pod's restart policy. The default value ofrestartPolicy
isAlways
(the same as the Kubernetes default).By @cyberhck in https://github.com/apollographql/router/pull/5850
📚 Documentation
Document OpenTelemetry information for operation limits (PR #5884)
The router's docs for operation limits now describe using telemetry to set operation limits and logging values.
By @andrewmcgivery in https://github.com/apollographql/router/pull/5884
v1.53.0
Compare Source
🚀 Features
Support demand control directives (PR #5777)
The router supports two new demand control directives,
@cost
and@listSize
, that you can use to provide more accurate estimates of GraphQL operation costs to the router's demand control plugin.Use the
@cost
directive to customize the weights of operation cost calculations, particularly for expensive resolvers.Use the
@listSize
directive to provide a more accurate estimate for the size of a specific list field, particularly for those that differ greatly from the global list size estimate.To learn more, go to Demand Control docs.
By @tninesling in https://github.com/apollographql/router/pull/5777
General Availability (GA) of Demand Control (PR #5868)
Demand control in the router is now a generally available (GA) feature.
GA compatibility update: if you used demand control during its preview, to use it in GA you must update your configuration from
preview_demand_control
todemand_control
.To learn more, go to Demand Control docs.
By @tninesling in https://github.com/apollographql/router/pull/5868
Enable native query planner to run in the background (PR #5790, PR #5811, PR #5771, PR #5860)
The router now schedules background jobs to run the native (Rust) query planner to compare its results to the legacy implementation. This helps ascertain its correctness before making a decision to switch entirely to it from the legacy query planner.
To learn more, go to Experimental Query Planner Mode docs.
The router continues to use the legacy query planner to plan and execute operations, so there is no effect on the hot path.
To disable running background comparisons with the native query planner, you can configure the router to enable only the
legacy
query planner:By @SimonSapin in (PR #5790, PR #5811, PR #5771 PR #5860)
Add warnings for invalid configuration of custom telemetry ([PR #5759
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.