Change8

v3.6.0

📦 prometheus
3 features🐛 11 fixes🔧 11 symbols

Summary

This release introduces several new PromQL functions, enhances OTLP support with new metadata promotion options, and includes numerous bug fixes across PromQL, TSDB, and configuration validation.

✨ New Features

  • PromQL: Add `step()` function and `min()` and `max()` functions on durations, available behind the `promql-duration-expr` feature flag.
  • API: Added a new `/v1/status/tsdb/blocks` endpoint to expose metadata about loaded TSDB blocks.
  • Templates: Introduced new `toDuration()` and `now()` functions.

🐛 Bug Fixes

  • Configuration: Resolved an issue causing "unknown global name escaping method" errors during configuration validation.
  • Discovery: Fixed a race condition that could occur during shutdown.
  • OTLP: Ensured that `target_info` samples are generated between the earliest and latest samples per resource.
  • PromQL: Fixed an issue where `topk()`, `bottomk()`, `limitk()`, and `limit_ratio()` would fail when passed `NaN` as a parameter.
  • PromQL: Corrected extrapolation behavior for native counter histograms.
  • PromQL: Reduced numerical errors by disabling certain internal optimizations.
  • PromQL: Fixed inconsistencies observed when using native histograms within subqueries.
  • PromQL: Fixed inconsistent annotations for `rate()` and `increase()` on histograms when the `type-and-unit-labels` feature flag is active.
  • Scraping: Fixed memory corruption occurring during `slicelabels` builds.
  • TSDB: Resolved a panic during append operations when the `created-timestamp-zero-ingestion` feature flag is enabled.
  • TSDB: Fixed a panic during append for native histograms that have empty buckets.

🔧 Affected Symbols

promql-duration-exprotlp.translation_strategyotlp.promote_scope_metadatatype-and-unit-labelstopk()bottomk()limitk()limit_ratio()rate()increase()created-timestamp-zero-ingestion