@prometheus-io/lezer-promql 0.308.0 → 0.311.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,15 +1,160 @@
1
1
  # Changelog
2
2
 
3
- ## main / unreleased
3
+ ## 3.11.0 / 2026-04-02
4
+
5
+ - [CHANGE] Hetzner SD: The `__meta_hetzner_datacenter` label is deprecated for the role `robot` but kept for backward compatibility, use the `__meta_hetzner_robot_datacenter` label instead. For the role `hcloud`, the label is deprecated and will stop working after the 1 July 2026. #17850
6
+ - [CHANGE] Hetzner SD: The `__meta_hetzner_hcloud_datacenter_location` and `__meta_hetzner_hcloud_datacenter_location_network_zone` labels are deprecated, use the `__meta_hetzner_hcloud_location` and `__meta_hetzner_hcloud_location_network_zone` labels instead. #17850
7
+ - [CHANGE] Promtool: Redirect debug output to stderr to avoid interfering with stdout-based tool output. #18346
8
+ - [FEATURE] AWS SD: Add Elasticache Role. #18099
9
+ - [FEATURE] AWS SD: Add RDS Role. #18206
10
+ - [FEATURE] Azure SD: Add support for Azure Workload Identity authentication method. #17207
11
+ - [FEATURE] Discovery: Introduce `prometheus_sd_last_update_timestamp_seconds` metric to track the last time a service discovery update was sent to consumers. #18194
12
+ - [FEATURE] Kubernetes SD: Add support for node role selectors for pod roles. #18006
13
+ - [FEATURE] Kubernetes SD: Introduce pod-based labels for deployment, cronjob, and job controller names: `__meta_kubernetes_pod_deployment_name`, `__meta_kubernetes_pod_cronjob_name` and `__meta_kubernetes_pod_job_name`, respectively. #17774
14
+ - [FEATURE] PromQL: Add `</` and `>/` operators for trimming observations from native histograms. #17904
15
+ - [FEATURE] PromQL: Add experimental `histogram_quantiles` variadic function for computing multiple quantiles at once. #17285
16
+ - [FEATURE] TSDB: Add `storage.tsdb.retention.percentage` configuration to configure the maximum percent of disk usable for TSDB storage. #18080
17
+ - [FEATURE] TSDB: Add an experimental `fast-startup` feature flag that writes a `series_state.json` file to the WAL directory to track active series state across restarts. #18303
18
+ - [FEATURE] TSDB: Add an experimental `st-storage` feature flag. When enabled, Prometheus stores ingested start timestamps (ST, previously called Created Timestamp) from scrape or OTLP in the TSDB and Agent WAL, and exposes them via Remote Write 2. #18062
19
+ - [FEATURE] TSDB: Add an experimental `xor2-encoding` feature flag for the new TSDB block float sample chunk encoding that is optimized for scraped data and allows encoding start timestamps. #18062
20
+ - [ENHANCEMENT] HTTP client: Add AWS `external_id` support for sigv4. #17916
21
+ - [ENHANCEMENT] Kubernetes SD: Deduplicate deprecation warning logs from the Kubernetes API to reduce noise. #17829
22
+ - [ENHANCEMENT] TSDB: Remove old temporary checkpoints when creating a Checkpoint. #17598
23
+ - [ENHANCEMENT] UI: Add autocomplete support for experimental `first_over_time` and `ts_of_first_over_time` PromQL functions. #18318
24
+ - [ENHANCEMENT] Vultr SD: Upgrade govultr library from v2 to v3 for continued security patches and maintenance. #18347
25
+ - [PERF] PromQL: Improve performance and reduce heap allocations in joins (VectorBinop)/And/Or/Unless. #17159
26
+ - [PERF] PromQL: Partially address performance regression in native histogram aggregations due to using `KahanAdd`. #18252
27
+ - [PERF] Remote write: Optimize WAL watching used for RW sending to reuse internal buffers. #18250
28
+ - [PERF] TSDB: Optimize LabelValues intersection performance for matchers. #18069
29
+ - [PERF] UI: Skip restacking on hover in stacked series charts. #18230
30
+ - [BUGFIX] AWS SD: Fix EC2 SD ignoring the configured `endpoint` option, a regression from the AWS SDK v2 migration. #18133
31
+ - [BUGFIX] AWS SD: Fix panic in EC2 SD when DescribeAvailabilityZones returns nil ZoneName or ZoneId. #18133
32
+ - [BUGFIX] Agent: Fix memory leak caused by duplicate SeriesRefs being loaded as active series. #17538
33
+ - [BUGFIX] Alerting: Fix alert state incorrectly resetting to pending when the FOR period is increased in the config file. #18244
34
+ - [BUGFIX] Azure SD: Fix system-assigned managed identity not working when `client_id` is empty. #18323
35
+ - [BUGFIX] Consul SD: Fix filter parameter not being applied to health service endpoint, causing Node and Node.Meta filters to be ignored. #17349
36
+ - [BUGFIX] Kubernetes SD: Fix duplicate targets generated by `*DualStack` EndpointSlices policies. #18192
37
+ - [BUGFIX] OTLP: Fix ErrTooOldSample being returned as HTTP 500 instead of 400 in PRW v2 histogram write paths, preventing infinite client retry loops. #18084
38
+ - [BUGFIX] OTLP: Fix exemplars getting mixed between incorrect parts of a histogram. #18056
39
+ - [BUGFIX] PromQL: Do not skip histogram buckets in queries where histogram trimming is used. #18263
40
+ - [BUGFIX] Remote write: Fix `prometheus_remote_storage_sent_batch_duration_seconds` measuring before the request was sent. #18214
41
+ - [BUGFIX] Rules: Fix alert state restoration when rule labels contain Go template expressions. #18375
42
+ - [BUGFIX] Scrape: Fix panic when parsing bare label names without an equal sign in brace-only metric notation. #18229
43
+ - [BUGFIX] TSDB: Fail early when `use-uncached-io` feature flag is set on unsupported environments. #18219
44
+ - [BUGFIX] TSDB: Fall back to CLI flag values when retention is removed from config file. #18200
45
+ - [BUGFIX] TSDB: Fix memory leaks in buffer pools by clearing reference fields before returning buffers to pools. #17895
46
+ - [BUGFIX] TSDB: Fix missing mmap of histogram chunks during WAL replay. #18306
47
+ - [BUGFIX] TSDB: Fix storage.tsdb.retention.time unit mismatch in file causing retention to be 1e6 times longer than configured. #18200
48
+ - [BUGFIX] Tracing: Fix missing traceID in query log when tracing is enabled, previously only spanID was emitted. #18189
49
+ - [BUGFIX] UI: Fix tooltip Y-offset drift when using multiple graph panels. #18228
50
+ - [BUGFIX] UI: Update retention display in runtime info when config is reloaded. #18200
51
+
52
+ ## 3.10.0 / 2026-02-24
53
+
54
+ Prometheus now offers a distroless Docker image variant alongside the default
55
+ busybox image. The distroless variant provides enhanced security with a minimal
56
+ base image, uses UID/GID 65532 (nonroot) instead of nobody, and removes the
57
+ VOLUME declaration. Both variants are available with `-busybox` and `-distroless`
58
+ tag suffixes (e.g., `prom/prometheus:latest-busybox`, `prom/prometheus:latest-distroless`).
59
+ The busybox image remains the default with no suffix for backwards compatibility
60
+ (e.g., `prom/prometheus:latest` points to the busybox variant).
61
+
62
+ For users migrating existing **named** volumes from the busybox image to the distroless variant, the ownership can be adjusted with:
63
+ ```
64
+ docker run --rm -v prometheus-data:/prometheus alpine chown -R 65532:65532 /prometheus
65
+ ```
66
+ Then, the container can be started with the old volume with:
67
+ ```
68
+ docker run -v prometheus-data:/prometheus prom/prometheus:latest-distroless
69
+ ```
70
+ User migrating from bind mounts might need to ajust permissions too, depending on their setup.
71
+
72
+ - [CHANGE] Alerting: Add `alertmanager` dimension to following metrics: `prometheus_notifications_dropped_total`, `prometheus_notifications_queue_capacity`, `prometheus_notifications_queue_length`. #16355
73
+ - [CHANGE] UI: Hide expanded alert annotations by default, enabling more information density on the `/alerts` page. #17611
74
+ - [FEATURE] AWS SD: Add MSK Role. #17600
75
+ - [FEATURE] PromQL: Add `fill()` / `fill_left()` / `fill_right()` binop modifiers for specifying default values for missing series. #17644
76
+ - [FEATURE] Web: Add OpenAPI 3.2 specification for the HTTP API at `/api/v1/openapi.yaml`. #17825
77
+ - [FEATURE] Dockerfile: Add distroless image variant using UID/GID 65532 and no VOLUME declaration. Busybox image remains default. #17876
78
+ - [FEATURE] Web: Add on-demand wall time profiling under `<URL>/debug/pprof/fgprof`. #18027
79
+ - [ENHANCEMENT] PromQL: Add more detail to histogram quantile monotonicity info annotations. #15578
80
+ - [ENHANCEMENT] Alerting: Independent alertmanager sendloops. #16355
81
+ - [ENHANCEMENT] TSDB: Experimental support for early compaction of stale series in the memory with configurable threshold `stale_series_compaction_threshold` in the config file. #16929
82
+ - [ENHANCEMENT] Service Discovery: Service discoveries are now removable from the Prometheus binary through the Go build tag `remove_all_sd` and individual service discoveries can be re-added with the build tags `enable_<sd name>_sd`. Users can build a custom Prometheus with only the necessary SDs for a smaller binary size. #17736
83
+ - [ENHANCEMENT] Promtool: Support promql syntax features `promql-duration-expr` and `promql-extended-range-selectors`. #17926
84
+ - [PERF] PromQL: Avoid unnecessary label extraction in PromQL functions. #17676
85
+ - [PERF] PromQL: Improve performance of regex matchers like `.*-.*-.*`. #17707
86
+ - [PERF] OTLP: Add label caching for OTLP-to-Prometheus conversion to reduce allocations and improve latency. #17860
87
+ - [PERF] API: Compute `/api/v1/targets/relabel_steps` in a single pass instead of re-running relabeling for each prefix. #17969
88
+ - [PERF] tsdb: Optimize LabelValues intersection performance for matchers. #18069
89
+ - [BUGFIX] PromQL: Prevent query strings containing only UTF-8 continuation bytes from crashing Prometheus. #17735
90
+ - [BUGFIX] Web: Fix missing `X-Prometheus-Stopping` header for `/-/ready` endpoint in `NotReady` state. #17795
91
+ - [BUGFIX] PromQL: Fix PromQL `info()` function returning empty results when filtering by a label that exists on both the input metric and `target_info`. #17817
92
+ - [BUGFIX] TSDB: Fix a bug during exemplar buffer grow/shrink that could cause exemplars to be incorrectly discarded. #17863
93
+ - [BUGFIX] UI: Fix broken graph display after page reload, due to broken Y axis min encoding/decoding. #17869
94
+ - [BUGFIX] TSDB: Fix memory leaks in buffer pools by clearing reference fields (Labels, Histogram pointers, metadata strings) before returning buffers to pools. #17879
95
+ - [BUGFIX] PromQL: info function: fix series without identifying labels not being returned. #17898
96
+ - [BUGFIX] OTLP: Filter `__name__` from OTLP attributes to prevent duplicate labels. #17917
97
+ - [BUGFIX] TSDB: Fix division by zero when computing stale series ratio with empty head. #17952
98
+ - [BUGFIX] OTLP: Fix potential silent data loss for sum metrics. #17954
99
+ - [BUGFIX] PromQL: Fix smoothed interpolation across counter resets. #17988
100
+ - [BUGFIX] PromQL: Fix panic with `@` modifier on empty ranges. #18020
101
+ - [BUGFIX] PromQL: Fix `avg_over_time` for a single native histogram. #18058
102
+
103
+ ## 3.9.1 / 2026-01-07
104
+
105
+ - [BUGFIX] Agent: fix crash shortly after startup from invalid type of object. #17802
106
+ - [BUGFIX] Scraping: fix relabel keep/drop not working. #17807
107
+
108
+ ## 3.9.0 / 2026-01-06
109
+
110
+ - [CHANGE] Native Histograms are no longer experimental! Make the `native-histogram` feature flag a no-op. Use `scrape_native_histograms` config option instead. #17528
111
+ - [CHANGE] API: Add maximum limit of 10,000 sets of statistics to TSDB status endpoint. #17647
112
+ - [FEATURE] API: Add /api/v1/features for clients to understand which features are supported. #17427
113
+ - [FEATURE] Promtool: Add `start_timestamp` field for unit tests. #17636
114
+ - [FEATURE] Promtool: Add `--format seriesjson` option to `tsdb dump` to output just series labels in JSON format. #13409
115
+ - [FEATURE] Add `--storage.tsdb.delay-compact-file.path` flag for better interoperability with Thanos. #17435
116
+ - [FEATURE] UI: Add an option on the query drop-down menu to duplicate that query panel. #17714
117
+ - [ENHANCEMENT]: TSDB: add flag `--storage.tsdb.block-reload-interval` to configure TSDB Block Reload Interval. #16728
118
+ - [ENHANCEMENT] UI: Add graph option to start the chart's Y axis at zero. #17565
119
+ - [ENHANCEMENT] Scraping: Classic protobuf format no longer requires the unit in the metric name. #16834
120
+ - [ENHANCEMENT] PromQL, Rules, SD, Scraping: Add native histograms to complement existing summaries. #17374
121
+ - [ENHANCEMENT] Notifications: Add a histogram `prometheus_notifications_latency_histogram_seconds` to complement the existing summary. #16637
122
+ - [ENHANCEMENT] Remote-write: Add custom scope support for AzureAD authentication. #17483
123
+ - [ENHANCEMENT] SD: add a `config` label with job name for most `prometheus_sd_refresh` metrics. #17138
124
+ - [ENHANCEMENT] TSDB: New histogram `prometheus_tsdb_sample_ooo_delta`, the distribution of out-of-order samples in seconds. Collected for all samples, accepted or not. #17477
125
+ - [ENHANCEMENT] Remote-read: Validate histograms received via remote-read. #17561
126
+ - [PERF] TSDB: Small optimizations to postings index. #17439
127
+ - [PERF] Scraping: Speed up relabelling of series. #17530
128
+ - [PERF] PromQL: Small optimisations in binary operators. #17524, #17519.
129
+ - [BUGFIX] UI: PromQL autocomplete now shows the correct type and HELP text for OpenMetrics counters whose samples end in `_total`. #17682
130
+ - [BUGFIX] UI: Fixed codemirror-promql incorrectly showing label completion suggestions after the closing curly brace of a vector selector. #17602
131
+ - [BUGFIX] UI: Query editor no longer suggests a duration unit if one is already present after a number. #17605
132
+ - [BUGFIX] PromQL: Fix some "vector cannot contain metrics with the same labelset" errors when experimental delayed name removal is enabled. #17678
133
+ - [BUGFIX] PromQL: Fix possible corruption of PromQL text if the query had an empty `ignoring()` and non-empty grouping. #17643
134
+ - [BUGFIX] PromQL: Fix resets/changes to return empty results for anchored selectors when all samples are outside the range. #17479
135
+ - [BUGFIX] PromQL: Check more consistently for many-to-one matching in filter binary operators. #17668
136
+ - [BUGFIX] PromQL: Fix collision in unary negation with non-overlapping series. #17708
137
+ - [BUGFIX] PromQL: Fix collision in label_join and label_replace with non-overlapping series. #17703
138
+ - [BUGFIX] PromQL: Fix bug with inconsistent results for queries with OR expression when experimental delayed name removal is enabled. #17161
139
+ - [BUGFIX] PromQL: Ensure that `rate`/`increase`/`delta` of histograms results in a gauge histogram. #17608
140
+ - [BUGFIX] PromQL: Do not panic while iterating over invalid histograms. #17559
141
+ - [BUGFIX] TSDB: Reject chunk files whose encoded chunk length overflows int. #17533
142
+ - [BUGFIX] TSDB: Do not panic during resolution reduction of invalid histograms. #17561
143
+ - [BUGFIX] Remote-write Receive: Avoid duplicate labels when experimental type-and-unit-label feature is enabled. #17546
144
+ - [BUGFIX] OTLP Receiver: Only write metadata to disk when experimental metadata-wal-records feature is enabled. #17472
145
+
146
+ ## 3.8.1 / 2025-12-16
147
+
148
+ * [BUGFIX] remote: Fix Remote Write receiver, so it does not send wrong response headers for v1 flow and cause Prometheus senders to emit false partial error log and metrics. #17683
4
149
 
5
150
  ## 3.8.0 / 2025-11-28
6
151
 
7
- * [CHANGE] Remote-write 2 (receiving): Update to [2.0-rc.4 spec](https://github.com/prometheus/docs/blob/60c24e450010df38cfcb4f65df874f6f9b26dbcb/docs/specs/prw/remote_write_spec_2_0.md). "created timestamp" (CT) is now called "start timestamp" (ST). #17411
152
+ * [CHANGE] Remote-write: Update receiving to [2.0-rc.4 spec](https://github.com/prometheus/docs/blob/60c24e450010df38cfcb4f65df874f6f9b26dbcb/docs/specs/prw/remote_write_spec_2_0.md). "created timestamp" (CT) is now called "start timestamp" (ST). #17411
8
153
  * [CHANGE] TSDB: Native Histogram Custom Bounds with a NaN threshold are now rejected. #17287
9
154
  * [FEATURE] OAuth2: support jwt-bearer grant-type (RFC7523 3.1). #17592
10
155
  * [FEATURE] Dockerfile: Add OpenContainers spec labels to Dockerfile. #16483
11
- * [FEATURE] SD: Add unified AWS service discovery for ec2, lightsail and ecs services. #17046
12
- * [FEATURE] Native histograms are now a stable, but optional feature, use the `scrape_native_histogram` config setting. #17232 #17315
156
+ * [FEATURE] SD: Add unified AWS service discovery for ec2, lightsail and ecs services. #17406
157
+ * [FEATURE] Native histograms are now a stable, but optional feature, use the `scrape_native_histograms` config setting. #17232 #17315
13
158
  * [FEATURE] UI: Support anchored and smoothed keyword in promql editor. #17239
14
159
  * [FEATURE] UI: Show detailed relabeling steps for each discovered target. #17337
15
160
  * [FEATURE] Alerting: Add urlQueryEscape to template functions. #17403
@@ -234,7 +379,7 @@
234
379
 
235
380
  ## 3.2.1 / 2025-02-25
236
381
 
237
- * [BUGFIX] Don't send Accept` header `escape=allow-utf-8` when `metric_name_validation_scheme: legacy` is configured. #16061
382
+ * [BUGFIX] Don't send `Accept` header `escape=allow-utf-8` when `metric_name_validation_scheme: legacy` is configured. #16061
238
383
 
239
384
  ## 3.2.0 / 2025-02-17
240
385
 
@@ -245,10 +390,10 @@
245
390
  * [ENHANCEMENT] scrape: Add metadata for automatic metrics to WAL for `metadata-wal-records` feature. #15837
246
391
  * [ENHANCEMENT] promtool: Support linting of scrape interval, through lint option `too-long-scrape-interval`. #15719
247
392
  * [ENHANCEMENT] promtool: Add --ignore-unknown-fields option. #15706
248
- * [ENHANCEMENT] ui: Make "hide empty rules" and hide empty rules" persistent #15807
393
+ * [ENHANCEMENT] ui: Make "hide empty rules" and "hide empty rules" persistent #15807
249
394
  * [ENHANCEMENT] web/api: Add a limit parameter to `/query` and `/query_range`. #15552
250
395
  * [ENHANCEMENT] api: Add fields Node and ServerTime to `/status`. #15784
251
- * [PERF] Scraping: defer computing labels for dropped targets until they are needed by the UI. #15261
396
+ * [PERF] Scraping: defer computing labels for dropped targets until they are needed by the UI. #15261
252
397
  * [BUGFIX] remotewrite2: Fix invalid metadata bug for metrics without metadata. #15829
253
398
  * [BUGFIX] remotewrite2: Fix the unit field propagation. #15825
254
399
  * [BUGFIX] scrape: Fix WAL metadata for histograms and summaries. #15832
@@ -265,9 +410,9 @@
265
410
  * [ENHANCEMENT] TSDB: Improve calculation of space used by labels. #13880
266
411
  * [ENHANCEMENT] Rules: new metric rule_group_last_rule_duration_sum_seconds. #15672
267
412
  * [ENHANCEMENT] Observability: Export 'go_sync_mutex_wait_total_seconds_total' metric. #15339
268
- * [ENHANCEMEN] Remote-Write: optionally use a DNS resolver that picks a random IP. #15329
413
+ * [ENHANCEMENT] Remote-Write: optionally use a DNS resolver that picks a random IP. #15329
269
414
  * [PERF] Optimize `l=~".+"` matcher. #15474, #15684
270
- * [PERF] TSDB: Cache all symbols for compaction . #15455
415
+ * [PERF] TSDB: Cache all symbols for compaction. #15455
271
416
  * [PERF] TSDB: MemPostings: keep a map of label values slices. #15426
272
417
  * [PERF] Remote-Write: Remove interning hook. #15456
273
418
  * [PERF] Scrape: optimize string manipulation for experimental native histograms with custom buckets. #15453