Change8

v3.3.0

📦 prometheusView on GitHub →
10 features🐛 13 fixes🔧 11 symbols

Summary

This release introduces new PromQL functions (`idelta`, `irate`) for native histograms and includes numerous performance enhancements across TSDB, Remote-Write, and scraping. Numerous bugs related to PromQL calculations and TSDB replay stability have also been fixed.

✨ New Features

  • PromQL: Implement `idelta()` and `irate()` for native histograms.
  • Scaleway SD: Add `__meta_scaleway_instance_public_ipv4_addresses` and `__meta_scaleway_instance_public_ipv6_addresses` labels.
  • PromQL: Allow UTF-8 labels in `label_replace()`.
  • Promtool: `tsdb create-blocks-from openmetrics` can now read from a Pipe.
  • Rules: Add support for anchors and aliases in rule files.
  • Dockerfile: Make `/prometheus` writable.
  • API: Include scrape pool name for dropped targets in `/api/v1/targets`.
  • UI: Improve time formatting and copying of selectors.
  • UI: Bring back vertical grid lines and graph legend series toggling instructions.
  • Mixin: The `cluster` label can be customized using `clusterLabel`.

🐛 Bug Fixes

  • Scraping: Bump cache iteration after error to avoid false duplicate detections.
  • Scraping: Skip native histograms series when ingestion is disabled.
  • PromQL: Fix counter reset detection for native histograms.
  • PromQL: Fix inconsistent behavior with an empty range.
  • PromQL: Fix inconsistent annotation in `quantile_over_time()`.
  • PromQL: Prevent `label_join()` from producing duplicates.
  • PromQL: Ignore native histograms in `scalar()`, `sort()` and `sort_desc()`.
  • PromQL: Fix annotations for binary operations between incompatible native histograms.
  • Alerting: Consider alert relabeling when deciding whether alerts are dropped.
  • Config: Set `GoGC` to the default value in case of an empty configuration.
  • TSDB: Fix unknown series errors and potential data loss during WAL replay when inactive series are removed from the head and reappear before the next WAL checkpoint.
  • Scaleway SD: The public IP will no longer be set to `__meta_meta_scaleway_instance_public_ipv4` if it is an IPv6 address.
  • UI: Display the correct value of Alerting rules' `keep_firing_for`.

🔧 Affected Symbols

idelta()irate()label_replace()tsdb create-blocks-from openmetricsclusterLabelquantile_over_time()label_join()scalar()sort()sort_desc()/api/v1/targets