fix(deps): update apollo graphql packages (major) #862
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:
3.14.0->4.0.74.12.2->5.0.01.45.0->2.0.0v1.61.10->v2.7.04.5.0->5.4.0-testRelease Notes
apollographql/apollo-client (@apollo/client)
v4.0.7Compare Source
Patch Changes
5b4f36aThanks @jerelmiller! - Don't sendoperationTypein the payload sent byGraphQLWsLink.v4.0.6Compare Source
Patch Changes
3b0d89bThanks @phryneas! - Fix a problem withfetchMorewhere the loading state wouldn't reset if the result wouldn't result in a data update.v4.0.5Compare Source
Patch Changes
e2fc385Thanks @phryneas! - Fix an invariance type error in theMockedResponsetype.v4.0.4Compare Source
Patch Changes
#12892
db8a04bThanks @jerelmiller! - Prevent unhandled rejections from the promise returned by calling themutatefunction from theuseMutationhook.#12899
5352c12Thanks @phryneas! - Fix an issue wheninvariantis called by external libraries when no dev error message handler is loaded.#12895
71f2517Thanks @jerelmiller! - SupportskipTokenwithuseQueryto provide a more type-safe way to skip query execution.Note: this change is provided as a patch within the 4.0 minor version because the changes to TypeScript validation with required variables in version 4.0 made using the
skipoption more difficult.#12900
c0d5be7Thanks @phryneas! - Use named exportequalinstead of default from"@​wry/equality"v4.0.3Compare Source
Patch Changes
#12887
6f6ca47Thanks @phryneas! - Fix accidental deep re-export from/reactout of/react/internals#12890
019b422Thanks @jerelmiller! - Ensure thevariablesoption foruseMutationprovides proper IntelliSense suggestions.v4.0.2Compare Source
Patch Changes
56fac52Thanks @phryneas! - restoregetMemoryInternalsaccess in dev buildsv4.0.1Compare Source
Patch Changes
#12876
b00f231Thanks @phryneas! - Fix CJS build output forinvariantErrorCodes#12866
0d1614aThanks @jerelmiller! - ExportisNetworkStatusInFlightfrom@apollo/client/utilities. AddisNetworkStatusSettledto@apollo/client/utilitiesand re-export it from@apollo/clientwith a deprecation.v4.0.0Compare Source
apollographql/apollo-server (@apollo/server)
v5.0.0Compare Source
BREAKING CHANGES
Apollo Server v5 has very few breaking API changes. It is a small upgrade focused largely on adjusting which versions of Node.js and Express are supported.
Read our migration guide for more details on how to update your app.
graphqllibrary older thanv16.11.0. (Apollo Server 4 supportsgraphqlv16.6.0or later.) Upgradegraphqlbefore upgrading Apollo Server.@apollo/server/express4, or you could import it from the separate package@as-integrations/express4. In Apollo Server 5, you must import it from the separate package. You can migrate your server to the new package before upgrading to Apollo Server 5. (You can also use@as-integrations/express5for a middleware that works with Express 5.)fetchimplementation for HTTP requests by default, instead of thenode-fetchnpm package. If your server uses an HTTP proxy to make HTTP requests, you need to configure it in a slightly different way. See the migration guide for details.startStandaloneServerno longer uses Express. This is mostly invisible, but it does set slightly fewer headers. If you rely on the fact that this server is based on Express, you should explicitly use the Express middleware.@deferand@stream(which requires using a pre-release version ofgraphqlv17) now explicitly only works with version17.0.0-alpha.2ofgraphql. Note that this supports the same incremental delivery protocol implemented by Apollo Server 4, which is not the same protocol in the latest alpha version ofgraphql. As this support is experimental, we may switch over from "onlyalpha.2is supported" to "only a newer alpha or final release is supported, with a different protocol" during the lifetime of Apollo Server 5.variablesmap for a variable declared in the operation as aString) with a 400 status code, indicating a client error. This is also the behavior of Apollo Server 3. Apollo Server 4 mistakenly responds to these requests with a 200 status code by default; we recommended the use of thestatus400ForVariableCoercionErrors: trueoption to restore the intended behavior. That option now defaults to true.precomputedNonceoption to landing page plugins (which was only non-deprecated for 8 days) has been removed.Patch Changes
There are a few other small changes in v5:
#8076
5b26558Thanks @valters! - Fix some error logs to properly calllogger.errororlogger.warnwiththisset. This fixes errors or crashes from logger implementations that expectthisto be set properly in their methods.#7515
100233aThanks @trevor-scheer! - ApolloServerPluginSubscriptionCallback now takes afetcherargument, like the usage and schema reporting plugins. The default value is Node's built-in fetch.Updated dependencies [
100233a]:apollographql/router (apollo-router)
v2.7.0Compare Source
🚀 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
v2.6.2Compare Source
🐛 Fixes
Connection shutdown sometimes fails during hot-reload (PR #8169)
A race condition in connection shutdown during a hot reload event occasionally left some connections in an active state instead of entering terminating state. This could cause out-of-memory errors over time as multiple pipelines remained active.
Connections that open during shutdown now immediately terminate.
By @BrynCooke in #8169
v2.6.1Compare Source
🐛 Fixes
_entitiesApollo Error Metrics Missing Service Attribute (PR #8153)The error counting feature introduced in v2.5.0 (PR #7712) caused a bug where
_entitieserrors from subgraph fetches no longer included a service (subgraph or connector) attribute. This incorrectly categorized these errors as originating from the router instead of their actual service in the Apollo Studio UI.This fix restores the missing service attribute.
By @rregitsky in #8153
Deduplication and WebSocket stream termination (PR #8104)
Fixed a regression introduced in v2.5.0, where WebSocket connections to subgraphs would remain open after all client subscriptions were closed. This could lead to unnecessary resource usage and connections not being properly cleaned up until a new event was received.
Previously, when clients disconnected from subscription streams, the router would correctly close client connections but would leave the underlying WebSocket connection to the subgraph open indefinitely in some cases.
By @bnjjj in #8104
Make the
idfield optional for WebSocket subscriptionconnection_errormessages (Issue #6138)Fixed a Subscriptions over WebSocket issue where
connection_errormessages from subgraphs would be swallowed by the router because they incorrectly required anidfield. According to thegraphql-transport-wsspecification (one of two transport specifications we provide support for),connection_errormessages only require apayloadfield, not anidfield. Theidfield in is now optional which will allow the underlying error message to propagate to clients when underlying connection failures occur.By @jeffutter in #8189
Enable annotations on deployments via Helm Chart (PR #8164)
The Helm chart previously did not allow customization of annotations on the deployment itself (as opposed to the pods within it, which is done with
podAnnotations); this can now be done with thedeploymentAnnotationsvalue.By @glasser in #8164
v2.6.0Compare Source
🚀 Features
[Subgraph Insights] Experimental Apollo Subgraph Fetch Histogram (PR #8013, PR #8045)
This change adds a new, experimental histogram to capture subgraph fetch duration for GraphOS. This will
eventually be used to power subgraph-level insights in Apollo Studio.
This can be toggled on using a new boolean config flag:
The new instrument is only sent to GraphOS and is not available in 3rd-party OTel export targets. It is not currently
customizable. Users requiring a customizable alternative can use the existing
http.client.request.durationinstrument, which measures the same value.
By @rregitsky in #8013 and #8045
Redis cache metrics (PR #7920)
The router now provides Redis cache monitoring with new metrics that help track performance, errors, and resource usage.
Connection and performance metrics:
apollo.router.cache.redis.connections: Number of active Redis connectionsapollo.router.cache.redis.command_queue_length: Commands waiting to be sent to Redis, indicates if Redis is keeping up with demandapollo.router.cache.redis.commands_executed: Total number of Redis commands executedapollo.router.cache.redis.redelivery_count: Commands retried due to connection issuesapollo.router.cache.redis.errors: Redis errors by type, to help diagnose authentication, network, and configuration problemsExperimental performance metrics:
experimental.apollo.router.cache.redis.network_latency_avg: Average network latency to Redisexperimental.apollo.router.cache.redis.latency_avg: Average Redis command execution timeexperimental.apollo.router.cache.redis.request_size_avg: Average request payload sizeexperimental.apollo.router.cache.redis.response_size_avg: Average response payload sizeYou can configure how often metrics are collected using the
metrics_intervalsetting:By @BrynCooke in #7920
Granular license enforcement (PR #7917)
The router license functionality now allows granular specification of features enabled to support current and future pricing plans.
By @DMallare in #7917
Additional Connector Custom Instrument Selectors (PR #8045)
This adds new custom instrument selectors for Connectors and enhances some existing selectors. The new selectors are:
supergraph_operation_namesupergraph_operation_kindquery,mutation,subscription)request_contextconnector_on_response_erroris_successfulcondition. Or, if that condition is not set,returns true when the response has a non-200 status code
These selectors were modified to add additional functionality:
connector_request_mapping_problemsbooleanvariant that will returntruewhen a mapping problem exists on the requestconnector_response_mapping_problemsbooleanvariant that will returntruewhen a mapping problem exists on the responseBy @rregitsky in #8045
Enable jemalloc on MacOS (PR #8046)
This PR enables the jemalloc allocator on MacOS by default, making it easier to do memory profiling. Previously, this was only done for Linux.
By @Velfi in #8046
🐛 Fixes
Entity caching: fix inconsistency in cache-control header handling (PR #7987)
When the Subgraph Entity Caching feature is in use, it determines the
Cache-ControlHTTP response header sent to supergraph clients based on those received from subgraph servers.In this process, Apollo Router only emits the
max-agedirective and nots-maxage.This PR fixes a bug where, for a query that involved a single subgraph fetch that was not already cached, the subgraph response’s
Cache-Controlheader would be forwarded as-is.Instead, it now goes through the same algorithm as other cases.
By @SimonSapin in #7987
Query planning errors with progressive override on interface implementations (PR #7929)
The router now correctly generates query plans when using progressive override (
@overridewith labels) on types that implement interfaces within the same subgraph. Previously, the Rust query planner would fail to generate plans for these scenarios with the error"Was not able to find any options for {}: This shouldn't have happened.", while the JavaScript planner handled them correctly.This fix resolves planning failures when your schema uses:
The router will now successfully plan and execute queries that previously resulted in query planning errors.
By @TylerBloom in #7929
Reliably distinguish GraphQL errors and transport errors in subscriptions (PR #7901)
The Multipart HTTP protocol for GraphQL Subscriptions distinguishes between GraphQL-level errors and fatal transport-level errors. The router previously used a heuristic to determine if a given error was fatal or not, which could sometimes cause errors to be wrongly classified. For example, if a subgraph returned a GraphQL-level error for a subscription and then immediately ended the subscription, the router might propagate this as a fatal transport-level error.
This is now fixed. Fatal transport-level errors are tagged as such when they are constructed, so the router can reliably know how to serialize errors when sending them to the client.
By @goto-bus-stop in #7901
📚 Documentation
Update Documentation To Add DockerHub References
Now that we have a DockerHub account we have published the Runtime Container to that account.
This fix simply adds a reference to that to the documentation
By @jonathanrainer in #8054
v2.5.0Compare Source
🚀 Features
Introduce per-origin CORS policies (PR #7853)
Configuration can now specify different Cross-Origin Resource Sharing (CORS) rules for different origins using the
cors.policieskey. See the CORS documentation for details.By @Velfi in #7853
jemalloc metrics (PR #7735)
This PR adds the following new metrics when running the router on Linux with its default
global-allocatorfeature:munmap(2)or similar.By @Velfi in #7735
🐛 Fixes
Coprocessor: improve handling of invalid GraphQL responses with conditional validation (PR #7731)
The router was creating invalid GraphQL responses internally, especially when subscriptions terminate. When a coprocessor is configured, it validates all responses for correctness, causing errors to be logged when the router generates invalid internal responses. This affects the reliability of subscription workflows with coprocessors.
Fix handling of invalid GraphQL responses returned from coprocessors, particularly when used with subscriptions. Added conditional response validation and improved testing to ensure correctness. Added the
response_validationconfiguration option at the coprocessor level to enable the response validation (by default it's enabled).By @BrynCooke in #7731
Fix deduplicated subscriptions hanging when one subscription closes (PR #7879)
Fixes a regression introduced in v1.50.0. When multiple client subscriptions are deduped onto a single subgraph subscription in WebSocket passthrough mode, and the first client subscription closes, the Router would close the subgraph subscription. The other deduplicated subscriptions would then silently stop receiving events.
Now outgoing subscriptions to subgraphs are kept open as long as any client subscription uses them.
By @bnjjj in #7879
Fix several hot reload issues with subscriptions (PR #7746)
When a hot reload is triggered by a configuration change, the router attempted to apply updated configuration to open subscriptions. This could cause excessive logging.
When a hot reload was triggered by a schema change, the router closed subscriptions with a
SUBSCRIPTION_SCHEMA_RELOADerror. This happened before the new schema was fully active and warmed up, so clients could reconnect to the old schema, which should not happen.To fix these issues, a configuration and a schema change now have the same behavior. The router waits for the new configuration and schema to be active, and then closes all subscriptions with a
SUBSCRIPTION_SCHEMA_RELOAD/SUBSCRIPTION_CONFIG_RELOADerror, so clients can reconnect.By @goto-bus-stop and @bnjjj in #7777
Fix error when removing non-UTF-8 headers with Rhai plugin (PR #7801)
When trying to remove non-UTF-8 headers from a Rhai plugin, users were faced with an unhelpful error. Now, non-UTF-8 values will be lossy converted to UTF-8 when accessed from Rhai. This change affects
get,get_all, andremoveoperations.By @Velfi in #7801
Query planning errors with progressive override on interface implementations (PR #7929)
The router now correctly generates query plans when using progressive override (
@overridewith labels) on types that implement interfaces within the same subgraph. Previously, the Rust query planner would fail to generate plans for these scenarios with the error"Was not able to find any options for {}: This shouldn't have happened.", while the JavaScript planner handled them correctly.This fix resolves planning failures when your schema uses:
The router will now successfully plan and execute queries that previously resulted in query planning errors.
By @TylerBloom in #7929
Fix startup hang with an empty Persisted Queries list (PR #7831)
When the Persisted Queries feature is enabled, the router no longer hangs during startup when using a GraphOS account with no Persisted Queries manifest.
Remove
@from error paths (Issue #4548)When a subgraph returns an unexpected response (ie not a body with at least one of
errorsordata), the errors surfaced by the router include an@in the path which indicates an error applied to all elements in the array. This is not a behavior defined in the GraphQL spec and is not easily parsed.This fix expands the
@symbol to reflect all paths that the error applies to.Example
Consider a federated graph with two subgraphs,
productsandinventory, and atopProductsquery which fetches a list of products fromproductsand then fetches an inventory status for each product.A successful response might look like:
{ "data": { "topProducts": [ {"name": "Table", "inStock": true}, {"name": "Chair", "inStock": false} ] } }Prior to this change, if the
inventorysubgraph returns a malformed response, the router response would look like:{ "data": {"topProducts": [{"name": "Table", "inStock": null}, {"name": "Chair", "inStock": null}]}, "errors": [ { "message": "service 'inventory' response was malformed: graphql response without data must contain at least one error", "path": ["topProducts", "@​"], "extensions": {"service": "inventory", "reason": "graphql response without data must contain at least one error", "code": "SUBREQUEST_MALFORMED_RESPONSE"} } ] }With this change, the response will look like:
{ "data": {"topProducts": [{"name": "Table", "inStock": null}, {"name": "Chair", "inStock": null}]}, "errors": [ { "message": "service 'inventory' response was malformed: graphql response without data must contain at least one error", "path": ["topProducts", 0], "extensions": {"service": "inventory", "reason": "graphql response without data must contain at least one error", "code": "SUBREQUEST_MALFORMED_RESPONSE"} }, { "message": "service 'inventory' response was malformed: graphql response without data must contain at least one error", "path": ["topProducts", 1], "extensions": {"service": "inventory", "reason": "graphql response without data must contain at least one error", "code": "SUBREQUEST_MALFORMED_RESPONSE"} } ] }The above examples reflect the behavior with
include_subgraph_errors = true; ifinclude_subgraph_errorsis false:{ "data": {"topProducts": [{"name": "Table", "inStock": null}, {"name": "Chair", "inStock": null}]}, "errors": [ { "message": "Subgraph errors redacted", "path": ["topProducts", 0] }, { "message": "Subgraph errors redacted", "path": ["topProducts", 1] } ] }By @carodewig in #7684
Remove use of APOLLO_TELEMETRY_DISABLED from the fleet detector plugin (PR #7907)
The
APOLLO_TELEMETRY_DISABLEDenvironment variable only disables anonymous telemetry, it was never meant for disabling identifiable telemetry. This includes metrics from the fleet detection plugin.By @DMallare in #7907
v2.4.0Compare Source
🚀 Features
Support JWT audience (
aud) validation (PR #7578)The router now supports JWT audience (
aud) validation. This allows the router to ensure that the JWT is intendedfor the specific audience it is being used with, enhancing security by preventing token misuse across different audiences.
The following sample configuration will validate the JWT's
audclaim against the specified audiences and ensure a match with eitherhttps://my.apiorhttps://my.other.api. If theaudclaim does not match either of those configured audiences, the router will reject the request.By @Velfi in #7578
Prioritize existing requests over query parsing and planning during "warm up" (PR #7223)
The router warms up its query planning cache during a hot reload. This change decreases the priority
of warm up tasks in the compute job queue to reduce the impact of warmup on serving requests.
This change adds new values to the
job.typedimension of the following metrics:apollo.router.compute_jobs.duration- A histogram of time spent in the compute pipeline by the job, including the queue and query planning.job.type: (query_planning,query_parsing,introspection,query_planning_warmup,query_parsing_warmup)job.outcome: (executed_ok,executed_error,channel_error,rejected_queue_full,abandoned)apollo.router.compute_jobs.queue.wait.duration- A histogram of time spent in the compute queue by the job.job.type: (query_planning,query_parsing,introspection,query_planning_warmup,query_parsing_warmup)apollo.router.compute_jobs.execution.duration- A histogram of time spent to execute job (excludes time spent in the queue).job.type: (query_planning,query_parsing,introspection,query_planning_warmup,query_parsing_warmup)apollo.router.compute_jobs.active_jobs- A gauge of the number of compute jobs being processed in parallel.job.type: (query_planning,query_parsing,introspection,query_planning_warmup,query_parsing_warmup)By @carodewig in #7223
Persisted queries: include operation name in
PERSISTED_QUERY_NOT_IN_LISTerror for debuggability (PR #7768)When persisted query safelisting is enabled and a request has an unknown PQ ID, the GraphQL error now has the extension field
operation_namecontaining the GraphQL operation name (if provided explicitly in the request). Note that this only applies to thePERSISTED_QUERY_NOT_IN_LISTerror returned when manifest-based PQs are enabled, APQs are disabled, and the request contains an operation ID that is not in the list.By @glasser in #7768
Introduce cooperative cancellation for query planning
The cooperative cancellation feature allows the router to gracefully handle query planning timeouts and cancellations, improving resource utilization.
The
modecan be set tomeasureorenforce. We recommend starting withmeasure. Inmeasuremode, the router will measure the time taken for query planning and emit metrics accordingly. Inenforcemode, the router will cancel query planning operations that exceed the specified timeout.To observe this behavior, the router telemetry has been updated:
outcomeattribute to theapollo.router.query_planning.plan.durationmetricoutcomeattribute to thequery_planningspanBelow is a sample configuration to configure cooperative cancellation in measure mode:
By @Velfi in #7604
🐛 Fixes
Align
on_graphql_errorselector withsubgraph_on_graphql_error(PR #7676)The
on_graphql_errorselector will now returntrueorfalse, in alignment with thesubgraph_on_graphql_errorselector. Previously, the selector would returntrueorNone.By @carodewig in #7676
Return valid GraphQL response when performing a websocket handshake (PR #7680)
PR #7141 added checks on GraphQL responses returned from coprocessors to ensure compliance with GraphQL specifications. This surfaced an issue where subscription responses over websockets could omit the required
datafield during the handshake, resulting in invalid GraphQL response payloads. All websocket subscription responses will now return a valid GraphQL response when doing the websocket handshake.By @bnjjj in #7680
Fix SigV4 configuration handling (PR #7726)
Fixed an issue introduced in Router 2.3.0 where some SigV4 configurations would fail to start, preventing communication with SigV4-enabled services.
By @dylan-apollo in #7726
Improve error message for invalid variables (Issue #2984)
When a variable in a GraphQL request is missing or contains an invalid value, the router now returns more useful error messages. Example:
By @SimonSapin in #7567
Support exporting resources on all Prometheus metrics (PR #7394)
By default, the Prometheus metrics exporter will only export resources as
target_infometrics, not inline on every metric. Now, you can add resources to every metric by settingresource_selectortoall(default isnone).Note: this change only affects Prometheus, not OTLP.
By @bnjjj in #7394
Forbid unknown
@linkdirectives for supergraph schemas wherepurposeisEXECUTIONorSECURITYThe legacy JavaScript query planner forbid any usage of unknown
@linkspecs in supergraph schemas with eitherEXECUTIONorSECURITYvalue set for theforargument (aka, the spec's "purpose"). This behavior had not been ported to the native queryConfiguration
📅 Schedule: Branch creation - At 12:00 AM through 04:59 AM and 10:00 PM through 11:59 PM, Monday through Friday ( * 0-4,22-23 * * 1-5 ), Only on Sunday and Saturday ( * * * * 0,6 ) (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, 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.