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
- If you were using the Native Histograms feature flag (`--enable-feature=native-histograms`), it currently sets the default for `scrape_native_histogram` to `true`.
- Upgrade to v3.8 and keep the feature flag active for now.
- At your own pace, set `scrape_native_histogram` to `true` in all relevant scrape configs (both global and per-scrape-config versions exist).
- It is recommended to explicitly set `scrape_native_histogram` to `false` where Native Histograms should not be scraped.
- Remove the feature flag (`--enable-feature=native-histograms`) after verifying configurations.
- 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