Change8

v3.5.0-rc.1

📦 prometheus
7 features🐛 17 fixes🔧 11 symbols

Summary

This release (3.5) is an LTS version introducing several new features, performance enhancements across PromQL, UI, and TSDB, and numerous bug fixes, while removing the OTLP scope metadata promotion feature present in RC.1.

Migration Steps

  1. The OTLP feature to promote OTel scope name/version/schema URL/attributes as metric labels via \`otlp.promote_scope_metadata\` has been removed since RC.1.

✨ New Features

  • PromQL: Add experimental type and unit metadata labels, behind feature flag \`type-and-unit-labels\`.
  • PromQL: Add \`ts_of_(min|max|last)_over_time\`, behind feature flag \`experimental-promql-functions\`.
  • Scraping: Add global option \`always_scrape_classic_histograms\` to scrape a classic histogram even if it is also exposed as native.
  • OTLP: New config options \`promote_all_resource_attributes\` and \`ignore_resource_attributes\`.
  • Discovery: New service discovery for STACKIT Cloud.
  • Hetzner SD: Add \`label_selector\` to filter servers.
  • PromQL: support non-constant parameter in aggregations like \`quantile\` and \`topk\`.

🐛 Bug Fixes

  • Top-level: Update GOGC before loading TSDB.
  • Config: Respect GOGC environment variable if no "runtime" block exists.
  • PromQL: Fix native histogram \`last_over_time\`.
  • PromQL: Fix reported parser position range in errors for aggregations wrapped in ParenExpr.
  • PromQL: Don't emit a value from \`histogram_fraction\` or \`histogram_quantile\` if classic and native histograms are present at the same timestamp.
  • PromQL: Incorrect rounding of \`[1001ms]\` to \`[1s]\` and similar.
  • PromQL: Fix inconsistent / sometimes negative \`histogram_count\` and \`histogram_sum\`.
  • PromQL: Improve handling of NaNs in native histograms.
  • PromQL: Fix unary operator precedence in duration expressions.
  • PromQL: Improve consistency of \`avg\` aggregation and \`avg_over_time\`.
  • UI: Add query warnings and info to graph view.
  • API: Add HTTP \`Vary: Origin\` header to responses to avoid cache poisoning.
  • Discovery: Avoid deadlocks by taking locks in consistent order.
  • Remote-write: For Azure AD auth, allow empty \`client_id\` to suppport system assigned managed identity.
  • Scraping: Fix rare memory corruption bug.
  • Scraping: continue handling custom-bucket histograms after an exponential histogram is encountered.
  • OTLP: Default config not respected when \`otlp:\` block is unset.

🔧 Affected Symbols

otlp.promote_scope_metadatats_of_min_over_timets_of_max_over_timets_of_last_over_timehistogramStatsIteratorquantiletopkhistogram_fractionhistogram_quantileavgavg_over_time