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