diff --git a/.changesets/config_apollo_sig_ref_default_mode.md b/.changesets/config_apollo_sig_ref_default_mode.md index 790efe58eb..1a1bfaaed7 100644 --- a/.changesets/config_apollo_sig_ref_default_mode.md +++ b/.changesets/config_apollo_sig_ref_default_mode.md @@ -1,5 +1,5 @@ -### Set Apollo metrics generation mode to new by default ([PR #5265](https://github.com/apollographql/router/pull/5265)) +### Set Apollo metrics generation mode to `new` by default ([PR #5265](https://github.com/apollographql/router/pull/5265)) -Changes the default value of experimental_apollo_metrics_generation_mode to be new since all metrics are showing that identical signatures are references are being generated. +Changes the default value of `experimental_apollo_metrics_generation_mode` to `new`. All metrics are showing that identical signatures are being generated in this mode. By [@bonnici](https://github.com/bonnici) in https://github.com/apollographql/router/pull/5265 \ No newline at end of file diff --git a/.changesets/config_bnjjj_fix_studio_selector.md b/.changesets/config_bnjjj_fix_studio_selector.md index 07e558c185..043722efa3 100644 --- a/.changesets/config_bnjjj_fix_studio_selector.md +++ b/.changesets/config_bnjjj_fix_studio_selector.md @@ -1,6 +1,6 @@ -### Rename the telemetry selector to get studio operation id ([PR #5337](https://github.com/apollographql/router/pull/5337)) +### Rename trace telemetry selector ([PR #5337](https://github.com/apollographql/router/pull/5337)) -We introduced a new `trace_id` selector format in `1.48.0` which has been misnamed because it's not a trace id but the Apollo Studio Operation ID. If you want to access to this selector, here is an example: +[v1.48.0](https://github.com/apollographql/router/releases/tag/v1.48.0) introduced the `apollo` `trace_id` selector. `trace_id` is a misnomer for this metric, since the selector actually represents a GraphOS Studio operation ID. To access this selector, use `studio_operation_id`: ```yaml telemetry: diff --git a/.changesets/docs_maria_frontmatter_update.md b/.changesets/docs_maria_frontmatter_update.md index fad5f38a74..c660059b39 100644 --- a/.changesets/docs_maria_frontmatter_update.md +++ b/.changesets/docs_maria_frontmatter_update.md @@ -1,5 +1,5 @@ ### Update docs frontmatter for consistency and discoverability ([PR #5164](https://github.com/apollographql/router/pull/5164)) -In router documentation, page titles are edited to have title casing, and page subtitles and meta descriptions are updated for better discoverability. +Makes title case consistent for page titles and adds subtitles and meta-descriptions are updated for better discoverability. By [@Meschreiber](https://github.com/@Meschreiber) in https://github.com/apollographql/router/pull/5164 diff --git a/.changesets/feat_bnjjj_feat_otel_name_attribute.md b/.changesets/feat_bnjjj_feat_otel_name_attribute.md index d24209cd6e..9fe1fa787d 100644 --- a/.changesets/feat_bnjjj_feat_otel_name_attribute.md +++ b/.changesets/feat_bnjjj_feat_otel_name_attribute.md @@ -1,8 +1,8 @@ ### Override tracing span names using custom span selectors ([Issue #5261](https://github.com/apollographql/router/issues/5261)) -It gives you the ability to override the span name by using custom telemetry with any [selectors](https://www.apollographql.com/docs/router/configuration/telemetry/instrumentation/selectors/) you want just by setting the `otel.name` attribute. +Adds the ability to override span names by setting the `otel.name` attribute on any custom telemetry [selectors](https://www.apollographql.com/docs/router/configuration/telemetry/instrumentation/selectors/) . -Example: +This example changes the span name to `router`: ```yaml telemetry: diff --git a/.changesets/feat_feature_shaika_add_ms_support_to_rhai_engine.md b/.changesets/feat_feature_shaika_add_ms_support_to_rhai_engine.md index e3677830c3..5a359cd64f 100644 --- a/.changesets/feat_feature_shaika_add_ms_support_to_rhai_engine.md +++ b/.changesets/feat_feature_shaika_add_ms_support_to_rhai_engine.md @@ -1,4 +1,10 @@ -### Support unix_ms_now in rhai engine ([Issue #5182](https://github.com/apollographql/router/issues/5182)) +### Add support for `unix_ms_now` in Rhai customizations ([Issue #5182](https://github.com/apollographql/router/issues/5182)) +Rhai customizations can now use the `unix_ms_now()` function to obtain the current Unix timestamp in milliseconds since the Unix epoch. -By [@shaikatzz](https://github.com/shaikatzz) in https://github.com/apollographql/router/pull/5181 \ No newline at end of file +For example: + +```rhai +fn supergraph_service(service) { + let now = unix_ms_now(); +} \ No newline at end of file diff --git a/.changesets/feat_pq_warmup.md b/.changesets/feat_pq_warmup.md index 0870942bb8..c7cd503a4f 100644 --- a/.changesets/feat_pq_warmup.md +++ b/.changesets/feat_pq_warmup.md @@ -1,6 +1,6 @@ ### Warm query plan cache using persisted queries on startup ([Issue #5334](https://github.com/apollographql/router/issues/5334)) -This adds support for the router to use [persisted queries](https://www.apollographql.com/docs/graphos/operations/persisted-queries/) to warm the query plan cache upon startup using a new `experimental_prewarm_query_plan_cache` configuration option under `persisted_queries`. +Adds support for the router to use [persisted queries](https://www.apollographql.com/docs/graphos/operations/persisted-queries/) to warm the query plan cache upon startup using a new `experimental_prewarm_query_plan_cache` configuration option under `persisted_queries`. To enable: diff --git a/.changesets/feat_timbotnik_experimental_studio_otlp_tracing.md b/.changesets/feat_timbotnik_experimental_studio_otlp_tracing.md index 9743abe595..e426b1edb6 100644 --- a/.changesets/feat_timbotnik_experimental_studio_otlp_tracing.md +++ b/.changesets/feat_timbotnik_experimental_studio_otlp_tracing.md @@ -5,11 +5,11 @@ tracing system to use an OTel-based protocol. In the short-term, benefits include: -- A comprehensive way to visualize the Router execution path in Studio. +- A comprehensive way to visualize the router execution path in GraphOS Studio. - Additional spans that were previously not included in Studio traces, such as query parsing, planning, execution, and more. -- Additional metadata such as subgraph fetch details, Router idle / busy timing, and more. +- Additional metadata such as subgraph fetch details, router idle / busy timing, and more. -Long-term, we see this as a strategic enhancement to consolidate these 2 disparate tracing systems. +Long-term, we see this as a strategic enhancement to consolidate these two disparate tracing systems. This will pave the way for future enhancements to more easily plug into the Studio trace visualizer. #### Configuration diff --git a/.changesets/fix_bnjjj_fix_5173.md b/.changesets/fix_bnjjj_fix_5173.md index 307a37b013..c2b7309b6a 100644 --- a/.changesets/fix_bnjjj_fix_5173.md +++ b/.changesets/fix_bnjjj_fix_5173.md @@ -1,6 +1,6 @@ -### Metrics overflow is logged as a warning rather than error ([Issue #5173](https://github.com/apollographql/router/issues/5173)) +### Log metrics overflow as a warning rather than an error ([Issue #5173](https://github.com/apollographql/router/issues/5173)) -If a metric has too high a cardinality the following warning will be displayed as a warning instead of an errorl: +If a metric has too high a cardinality, the following is displayed as a warning instead of an error: `OpenTelemetry metric error occurred: Metrics error: Warning: Maximum data points for metric stream exceeded/ Entry added to overflow` diff --git a/.changesets/fix_bnjjj_fix_selector_context.md b/.changesets/fix_bnjjj_fix_selector_context.md index f200f277eb..3f996938d7 100644 --- a/.changesets/fix_bnjjj_fix_selector_context.md +++ b/.changesets/fix_bnjjj_fix_selector_context.md @@ -1,4 +1,4 @@ -### Add support of response_context selector when it's in error ([PR #5288](https://github.com/apollographql/router/pull/5288)) +### Add support of `response_context selector` when in errors ([PR #5288](https://github.com/apollographql/router/pull/5288)) Provides the ability to configure custom instruments. For example: @@ -14,7 +14,4 @@ http.server.request.timeout: condition: eq: - "request timed out" - - error: reason -``` - -By [@bnjjj](https://github.com/bnjjj) in https://github.com/apollographql/router/pull/5288 \ No newline at end of file + - error: reason \ No newline at end of file diff --git a/.changesets/fix_bnjjj_fix_subscription_metrics.md b/.changesets/fix_bnjjj_fix_subscription_metrics.md index d1c78311a9..f33261725c 100644 --- a/.changesets/fix_bnjjj_fix_subscription_metrics.md +++ b/.changesets/fix_bnjjj_fix_subscription_metrics.md @@ -1,5 +1,5 @@ -### `apollo_router_opened_subscriptions` counter was inaccurate ([PR #5363](https://github.com/apollographql/router/pull/5363)) +### Inaccurate `apollo_router_opened_subscriptions` counter ([PR #5363](https://github.com/apollographql/router/pull/5363)) -The counter `apollo_router_opened_subscriptions` was only incrementing and never decrementing. Now it's handled properly. +Fixes the `apollo_router_opened_subscriptions` counter which previously only incremented. The counter now also decrements. By [@bnjjj](https://github.com/bnjjj) in https://github.com/apollographql/router/pull/5363 \ No newline at end of file diff --git a/.changesets/fix_bryn_demand_control_formatting_hot_path.md b/.changesets/fix_bryn_demand_control_formatting_hot_path.md index 83224f8e12..705ff92b42 100644 --- a/.changesets/fix_bryn_demand_control_formatting_hot_path.md +++ b/.changesets/fix_bryn_demand_control_formatting_hot_path.md @@ -1,5 +1,5 @@ ### Prevent formatting in hot path ([PR #5405](https://github.com/apollographql/router/pull/5405)) -This PR removed unneeded formatting in the hot path for demand control. Improving performance. +Removes unneeded formatting in the hot path for demand control to improve performance. By [@BrynCooke](https://github.com/BrynCooke) in https://github.com/apollographql/router/pull/5405 diff --git a/.changesets/fix_bryn_optimize_graphq_instruments.md b/.changesets/fix_bryn_optimize_graphq_instruments.md index 704baba83c..ec509b45a4 100644 --- a/.changesets/fix_bryn_optimize_graphq_instruments.md +++ b/.changesets/fix_bryn_optimize_graphq_instruments.md @@ -1,7 +1,6 @@ -### Optimize graphql instruments ([PR #5375](https://github.com/apollographql/router/pull/5375)) -When processing selectors for graphql instruments we need to make sure we perform no heap allocation otherwise performance is affected. +### Optimize GraphQL instruments ([PR #5375](https://github.com/apollographql/router/pull/5375)) -This PR removes Vec allocations that were being performed on every field yielding a significant improvement in performance. +When processing selectors for GraphQL instruments, heap allocations should be avoided for optimal performance. This change removes Vec allocations that were previously performed per field, yielding significant performance improvements. By [@BrynCooke](https://github.com/BrynCooke) in https://github.com/apollographql/router/pull/5375 diff --git a/.changesets/fix_fix_content_type_error.md b/.changesets/fix_fix_content_type_error.md index 0d182ded44..85c48b87a6 100644 --- a/.changesets/fix_fix_content_type_error.md +++ b/.changesets/fix_fix_content_type_error.md @@ -1,6 +1,6 @@ ### Improve error message produced when subgraphs responses don't include an expected `content-type` header value ([Issue #5359](https://github.com/apollographql/router/issues/5359)) -To improve a common debuggability challenge when a subgraph response doesn't contain an expected `content-type` header value, the error message produced will include additional details about the error. +To enhance debuggability when a subgraph response lacks an expected `content-type` header value, the error message now includes additional details. Examples: diff --git a/.changesets/fix_geal_schema_hash.md b/.changesets/fix_geal_schema_hash.md index 57fb883dd1..70be825fa8 100644 --- a/.changesets/fix_geal_schema_hash.md +++ b/.changesets/fix_geal_schema_hash.md @@ -1,4 +1,4 @@ -### do not hash the entire schema on every query plan cache lookup ([PR #5374](https://github.com/apollographql/router/pull/5374)) +### Skip hashing the entire schema on every query plan cache lookup ([PR #5374](https://github.com/apollographql/router/pull/5374)) This fixes performance issues when looking up query plans for large schemas. diff --git a/.changesets/maint_bryn_disable_tests_apollo_key_missing.md b/.changesets/maint_bryn_disable_tests_apollo_key_missing.md index 65999285f8..0aa1b56785 100644 --- a/.changesets/maint_bryn_disable_tests_apollo_key_missing.md +++ b/.changesets/maint_bryn_disable_tests_apollo_key_missing.md @@ -1,6 +1,6 @@ -### Disable GraphOS tests when apollo key not present ([PR #5362](https://github.com/apollographql/router/pull/5362)) +### Skip GraphOS tests when Apollo key not present ([PR #5362](https://github.com/apollographql/router/pull/5362)) -A number of tests require APOLLO_KEY and APOLLO_GRAPH_REF to be present to execute successfully. +Some tests require `APOLLO_KEY` and `APOLLO_GRAPH_REF` to execute successfully. These are now skipped if these env variables are not present. By [@BrynCooke](https://github.com/BrynCooke) in https://github.com/apollographql/router/pull/5362