@prometheus-io/lezer-promql 0.308.0 → 0.311.1

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