Change8

v3.8.0-rc.0

📦 prometheus
7 features🐛 11 fixes🔧 4 symbols

Summary

This release stabilizes Native Histograms as an optional feature, requiring explicit configuration via `scrape_native_histogram`. It also introduces several performance improvements across the UI and PromQL, alongside unified AWS service discovery.

Migration Steps

  1. If you were using the Native Histograms feature flag (`--enable-feature=native-histograms`), it currently sets the default for `scrape_native_histogram` to `true`.
  2. Upgrade to v3.8 and keep the feature flag active for now.
  3. At your own pace, set `scrape_native_histogram` to `true` in all relevant scrape configs (both global and per-scrape-config versions exist).
  4. It is recommended to explicitly set `scrape_native_histogram` to `false` where Native Histograms should not be scraped.
  5. Remove the feature flag (`--enable-feature=native-histograms`) after verifying configurations.
  6. In the next release (v3.9), the feature flag will be a no-op and the default for `scrape_native_histogram` will be `false`.

✨ New Features

  • Native histograms are now a stable, but optional feature, controlled by the new `scrape_native_histogram` config setting.
  • Added OpenContainers spec labels to Dockerfile.
  • Added unified AWS service discovery for ec2, lightsail and ecs services.
  • Alerting: Added `urlQueryEscape` to template functions.
  • Promtool: Added Remote-Write 2.0 support to `promtool push metrics` via the `--protobuf_message` flag.
  • UI: Support anchored and smoothed keyword in promql editor.
  • UI: Show detailed relabeling steps for each discovered target.

🐛 Bug Fixes

  • TSDB: Rejected Native Histogram Custom Bounds with a NaN threshold.
  • PromQL: Fixed slice indexing bug in info function on churning series.
  • API: Reduced lock contention on /api/v1/targets.
  • PromQL: Ensured consistent handling of gauge vs. counter histograms in aggregations.
  • TSDB: Allowed NHCB with -Inf as the first custom value.
  • UI: Fixed duplicate loading of data from the API, speeding up rendering of some pages.
  • Old UI: Fixed createExpressionLink to correctly build /graph URLs so links from Alerts/Rules work again.
  • PromQL: Avoided panic when parsing malformed `info` call.
  • PromQL: Included histograms when enforcing sample_limit.
  • Config: Fixed panic if TLS CA file is absent.
  • PromQL: Fixed `histogram_fraction` for classic histograms and NHCB if lower bound is in the first bucket.

🔧 Affected Symbols

scrape_native_histogrampromtool push metricsurlQueryEscapecreateExpressionLink