What prometheus/prometheus shipped
Written by FoxPlug from the repository's own releases; not affiliated with Prometheus. Paste your own repository in the box below and FoxPlug writes the same weekly update for your product. This page is an automatic summary of the releases, pull requests and commits in github.com/prometheus/prometheus; Prometheus did not write it and does not use or endorse FoxPlug. Every line links to the change it describes.
Get a weekly update like this for your product, free
Week of November 2, 2026
What shipped
- 3.16.0 was released, clamping the experimental search endpoints'
batch_sizeto 1000, defaulting --web.external-url to https when TLS is enabled in the web config file, and including subquery samples in the query TotalSamples and TotalSamplesPerStep statistics. Release - Promtool tsdb analyze with the extended flag now reports disk usage broken down by metric name. Pull request #16701
- The scrape cache now interns metric metadata strings so targets exposing identical metric families share copies instead of each allocating its own. Pull request #20322
- Scrape loops now acquire the storage appender after reading the HTTP response, so in-flight scrapes no longer hold an open appender while waiting on network I/O. Pull request #20319
- The TSDB now counts samples dropped at Commit because the series already has a sample at that timestamp, exposed as
prometheus_tsdb_duplicate_samples_totalwith float and histogram types. Pull request #19711 - The agent DB stops its truncate loop before Close takes the DB lock, fixing a hang on shutdown. Pull request #20301
- Without st-storage enabled, the head no longer stores start timestamps in chunks, so encoded chunks match what the WAL records. Pull request #20073
- Reopening a serialized legacy XOR or histogram chunk and appending a sample now restores the write position, fixing incorrect decoded samples. Pull request #19918
- A new util/searchexpr parser for boolean search expressions was added as a first step toward a
search_exprparameter. Pull request #20235 - The experimental
max_ofandmin_offunctions now ignore NaN the same way the max and min aggregators do. Pull request #20265
Why it matters
This week brought the 3.16.0 release along with several performance changes to how scrape caches store metadata and series entries and when appenders are held during scrapes. It also fixed correctness bugs in TSDB chunk handling and agent shutdown, and added promtool analysis detail by metric name.
Changelog entry
- [CHANGE] API: The experimental search endpoints now clamp
batch_sizeto 1000. Release - [CHANGE] Configuration: Default --web.external-url to https when --web.config.file enables TLS. Release
- [CHANGE] PromQL: Subquery samples are now included in the query TotalSamples and TotalSamplesPerStep statistics. Release
- [ENHANCEMENT] promtool: Report TSDB disk usage by metric name with tsdb analyze --extended. Pull request #16701
- [ENHANCEMENT] TSDB: Count duplicate-timestamp sample discards in
prometheus_tsdb_duplicate_samples_total. Pull request #19711 - [BUGFIX] Agent: Fix a deadlock on shutdown when a truncate tick races with DB.Close. Pull request #20301
- [BUGFIX] TSDB: Don't store start timestamps in chunks when st-storage is disabled. Pull request #20073
- [BUGFIX] TSDB: Restore the write position when reopening serialized XOR and histogram chunks. Pull request #19918
- [BUGFIX] TSDB: Close the last head chunk file when reading its header fails during repair. Pull request #20002
- [BUGFIX] Textparse: Unescape OpenMetrics exemplar label names and values. Pull request #20299
- [BUGFIX] promtool: Return sample iterator errors from tsdb dump and dump-openmetrics. Pull request #20251
- [ENHANCEMENT] promql: Add a parser for boolean search expressions in util/searchexpr. Pull request #20235
Prometheus 3.16.0 is out: search batch_size clamped to 1000, https external-url default under TLS web config, subquery samples counted in query stats. Also this week: promtool tsdb analyze reports disk usage per metric name, and scrape caches share metric metadata strings.
Prometheus 3.16.0 is released. The experimental search endpoints now clamp batch_size to 1000, --web.external-url defaults to https when the web config file enables TLS, and subquery samples are included in query TotalSamples and TotalSamplesPerStep statistics. Other changes this week: promtool tsdb analyze with the extended flag now breaks down disk usage by metric name, the scrape cache interns metric metadata strings shared across targets, and scrape loops acquire the storage appender only after reading the HTTP response. On the TSDB side, samples dropped at Commit for duplicate timestamps are now counted, and the agent no longer hangs on shutdown when a truncate tick races with Close.
Week of October 26, 2026
What shipped
- Remote write gained an experimental mode field supporting stateless and stateless-st sending. Pull request #20098
- PromQL now supports the bitwise operators and, or and xor on the backend. Pull request #19827
- Unquoted UTF-8 metric names are now enabled by default in PromQL. Pull request #20169
- Queries no longer fail when a series is evicted from the head between selecting chunk references and reading them. Pull request #20204
- Remote write falls back to WAL metadata for type and unit labels when the labels are empty or removed. Pull request #20223
- Target metadata now reflects metric relabel configs, so dropped and renamed metrics no longer appear with stale type, help and unit entries. Pull request #20103
- Linode service discovery now converts transfer allowances from GiB, fixing a value that was 1024 times too small. Pull request #20206
- The query UI now renders histograms containing only a zero bucket without errors or NaN chart dimensions. Pull request #20203
- File discovery on Windows no longer deadlocks during refresh when a burst of events fills the watcher buffer. Pull request #20102
- A feature flag lets native histograms be queried as classic histograms through the buckets, sum and count suffixes. Pull request #18048
Why it matters
This week brought two visible query changes: bitwise operators in PromQL and unquoted UTF-8 names enabled by default, plus an experimental remote write mode for stateless senders. Several fixes target correctness under load and edge cases, including queries over series evicted from the head, metadata after relabeling, and zero-bucket histogram rendering.
Changelog entry
- PromQL: add bitwise operators and, or and xor. Pull request #19827
- PromQL: enable unquoted UTF-8 names by default. Pull request #20169
- Remote write: add experimental mode configuration for stateless and stateless-st. Pull request #20098
- TSDB: queries complete using block samples when a series is evicted from the head while reading chunks. Pull request #20204
- Remote write: fall back to WAL metadata for type and unit when the labels are empty. Pull request #20223
- Scrape: update metadata and family association across metric relabel configs. Pull request #20103
- Discovery: fix Linode transfer allowance conversion from GiB. Pull request #20206
- UI: render histograms containing only a zero bucket. Pull request #20203
- Discovery: prevent Windows file watcher deadlock during refresh. Pull request #20102
- PromQL: allow native histograms to be queried as classic histograms behind a feature flag. Pull request #18048
- Textparse: identify float native histograms by zero count float. Pull request #19868
- PromQL parser: reject info with an empty data label selector. Pull request #19820
What shipped this week: PromQL bitwise operators (and, or, xor), unquoted UTF-8 names on by default, an experimental stateless remote write mode, and fixes for queries over evicted head series, relabel-aware target metadata, and zero-bucket histogram rendering.
This week in the project: PromQL adds the bitwise operators and, or and xor, and unquoted UTF-8 metric names are now enabled by default. Remote write gains an experimental mode field for stateless and stateless-st sending. Fixes landed for queries that read series evicted from the head, for target metadata after metric relabeling, and for remote write type and unit labels falling back to WAL metadata. Linode discovery now converts transfer allowances from GiB correctly, the query UI renders histograms with only a zero bucket without errors, and Windows file discovery no longer deadlocks during refresh.
Week of October 19, 2026
What shipped
- Released 3.15.1 with updated CA certificates that distrust the compromised eMudhra and Comodo roots and a build on Go 1.27.3 to fix vulnerabilities in net/http, net/textproto, crypto/tls and html/template. Release
- Released 3.13.5 with the same CA certificate update and a build on Go 1.26.10 for the same set of vulnerabilities. Release
- Bumped the Go build to 1.26.10 to address a security vulnerability. Pull request #20156
- Fixed reload of discovery so refresh metrics for providers that are still running are no longer deleted when a job is renamed or its HTTP SD URL changes. Pull request #19878
- Remote write now applies config changes only after every remote write config builds, so a failed reload no longer leaves queues running unmanaged or causes a panic on the next successful reload. Pull request #20106
- The tsdb agent now clears pending data when Commit or Rollback fails, so stale samples are no longer re-sent and memory no longer grows while WAL writes fail. Pull request #20105
- Remote Write 2.0 now counts samples and histograms per metadata field on the sender side. Pull request #20107
- The web API now reports query-cost timeouts and cancellations correctly instead of as bad data, and no longer rejects a timeout above the query timeout when the maximum duration is unset. Pull request #20031
- Added a query cost API. Pull request #20028
- The PromQL printer now parenthesises a signed left operand of ^ so expressions like Inf ^ 2 parse back to the same query. Pull request #19821
Why it matters
This week brings security releases on both maintained lines, updating CA certificates after a reported intermediate CA key compromise and shipping builds on newer Go versions. Scraping, remote write and the query API all received fixes for cases that produced misleading or missing results, and the tsdb agent and remote write reload paths were made more robust against failures.
Changelog entry
- Release 3.15.1: distrust emSign ECC Root CA - G3 and Comodo AAA Services root; build with Go 1.27.3 to fix vulnerabilities in net/http, net/textproto, crypto/tls and html/template. Release
- Release 3.13.5: distrust emSign ECC Root CA - G3 and Comodo AAA Services root; build with Go 1.26.10 to fix vulnerabilities in net/http, net/textproto, crypto/tls and html/template. Release
- Bump Go to 1.26.10 to address a security vulnerability. Pull request #20156
- Discovery: keep refresh metrics for running providers on reload. Pull request #19878
- Remote write: keep previous state when WriteStorage.ApplyConfig fails. Pull request #20106
- Tsdb/agent: clear pending data when Commit or Rollback fails. Pull request #20105
- Remote write: count RW2 samples and histograms per metadata field. Pull request #20107
- Web API: fix query cost timeout handling, feature discovery and docs. Pull request #20031
- PromQL: parenthesise a signed left operand of ^ when printing. Pull request #19821
- Scrape: do not use invalid native histograms for start timestamp synthesis. Pull request #20109
- Model/histogram: reject spans whose bucket index overflows int32. Pull request #20034
- PromQL: skip histogram buckets for timestamp,
start_timestampand absent. Pull request #19738
Prometheus 3.15.1 and 3.13.5 are out with updated CA certificates and Go security fixes. Other fixes this week: discovery refresh metrics surviving reloads, remote write config reloads that keep queues consistent, and clearer query cost timeout errors.
Prometheus 3.15.1 and 3.13.5 are released. Both update container CA certificates to distrust the emSign ECC Root CA - G3 and Comodo AAA Services root after the reported compromise of eMudhra intermediate CA private keys, and ship builds that fix vulnerabilities in net/http, net/textproto, crypto/tls and html/template. Also this week: discovery refresh metrics are kept for providers still running after a reload, remote write defers config changes until every config builds so a failed reload no longer leaves queues unmanaged, the tsdb agent clears pending data when Commit or Rollback fails, and query cost timeouts are reported correctly instead of as bad data.
Week of October 12, 2026
What shipped
- The remote write receiver now writes through AppenderV2 and ExemplarAppenderV2. Pull request #19812
- Query cost enforcement and estimation are now bounded so range selectors cannot buffer storage input before sample-read limits apply, and query duration limits cover construction, queueing and completion. Pull request #20018
- Comparisons with == and!= plus changes() and count_values() no longer skip histogram buckets, so histograms differing only in buckets compare correctly. Pull request #20024
- Exemplars with duplicate label names are now rejected instead of being returned with duplicate JSON keys. Pull request #19896
- OTLP exemplars are now sorted by timestamp before appending, so they are no longer dropped as out of order for the same series. Pull request #20029
- Prometheus_api_otlp_out_of_order_exemplars_total again counts only out-of-order exemplars rather than every storage rejection. Pull request #20030
- Promtool tsdb create-blocks-from now accepts --allow-incompatible-block-duration so day-aligned block durations can be used. Pull request #19363
- Group_right matches now preserve fill sides, so
fill_leftandfill_rightfill the correct side of the original query. Pull request #19939 - Type and unit labels are now ignored and dropped consistently wherever name is, including without aggregations. Pull request #19986
- OpenMetrics 2.0 scrapes now request the escaping scheme so UTF-8 metric names are not rewritten to underscores by client libraries. Pull request #19902
Why it matters
This week touches several correctness issues developers hit in practice: exemplar handling in the OTLP path, histogram comparison in PromQL, duplicate exemplar label names, and operator matching with type and unit labels. It also tightens query cost enforcement and moves the remote write receiver onto AppenderV2, which affects code that relies on the storage append interface. The additions to promtool give operators more control over block creation for systems that expect day-aligned blocks.
Changelog entry
- Storage/remote: migrate the remote write receiver to AppenderV2 and ExemplarAppenderV2. Pull request #19812
- Promql: bound query cost enforcement and estimation, including range selector reads and query duration limits. Pull request #20018
- Promql: stop skipping histogram buckets in ==,!=, changes() and count_values(). Pull request #20024
- Tsdb: reject exemplars whose label names are not unique. Pull request #19896
- Otlp: sort exemplars by timestamp before appending. Pull request #20029
- Otlp: count only out-of-order exemplars in
prometheus_api_otlp_out_of_order_exemplars_total. Pull request #20030 - Promtool: add --allow-incompatible-block-duration to tsdb create-blocks-from for day-aligned blocks. Pull request #19363
- Promql: preserve fill sides in one-to-many
group_rightmatches. Pull request #19939 - Promql: ignore and drop type and unit consistently across operators and functions. Pull request #19986
- Scrape: request the escaping scheme for OpenMetrics 2.0 scrapes so UTF-8 names are preserved. Pull request #19902
- Otlp: let exemplar trace context take precedence over filtered attributes. Pull request #20004
- Api: warn when remote-read storage lacks search support. Pull request #19992
Prometheus updates this week: the remote write receiver moves to AppenderV2, query cost limits are now enforced more strictly, histogram comparisons no longer skip buckets, duplicate exemplar label names are rejected, OTLP exemplars are sorted by timestamp, and promtool can creat
Changes in Prometheus this week: The remote write receiver now writes through AppenderV2 and ExemplarAppenderV2. Query cost enforcement and estimation are bounded so range selectors can't buffer storage input before sample-read limits apply, and duration limits cover construction, queueing and completion. PromQL fixes stop ==,!=, changes() and count_values() from skipping histogram buckets, and group_right now keeps fill sides correct. On exemplars: OTLP exemplars are sorted by timestamp before appending, the out-of-order counter again counts only out-of-order exemplars, and exemplars with duplicate label names are rejected. promtool can create blocks with --allow-incompatible-block-duration, and type and unit are dropped consistently with name.
Week of October 5, 2026
What shipped
- Tsdb: exemplars are now preserved across compaction and restart so a series is not dropped while it still has a recent exemplar. Pull request #19940
- Remote: future-dated exemplars no longer advance sent timestamps incorrectly, which had driven remote-write shard counts down to one. Pull request #19866
- Storage/remote: a wait duration histogram now measures time spent acquiring the remote-read concurrency gate. Pull request #18355
- Rules: alerts whose for duration is shorter than the alert for grace period are no longer skipped during restoration when they were previously firing. Pull request #19882
- Promql: printing the partial AST of a failed parse no longer panics. Pull request #19797
- Promql: BucketQuantile now returns NaN for nil or empty bucket slices instead of panicking. Pull request #19927
- Promql: BucketFraction now returns NaN for nil or empty bucket slices instead of panicking. Pull request #19944
- Model/histogram: CopyToSchema now preserves counter reset hints when reducing an exponential histogram schema. Pull request #19916
- Web/api/v1: metrics with double _total or _info suffixes are no longer assigned to the wrong series family during metadata enrichment. Pull request #19910
- Template: stripDomain no longer truncates IPv6 zone identifiers that contain dots. Pull request #19908
Why it matters
This week is mostly about correctness in storage, remote write and query handling, with several panic and edge case fixes that affect everyday Prometheus use. Exemplar preservation across compaction and restart keeps series identity intact, future-dated exemplars no longer skew remote-write sharding, and rule restoration now recovers previously firing alerts. Query helpers and parsing are also safer against empty input and partial ASTs.
Changelog entry
- Tsdb: preserve exemplars across compaction and restart. Pull request #19940
- Remote: guard against future timestamps so remote-write shards are not scaled down to one. Pull request #19866
- Storage/remote: add
prometheus_remote_read_handler_gate_wait_duration_secondshistogram for the remote read gate. Pull request #18355 - Rules: restore firing alerts whose for duration is shorter than the alert for grace period. Pull request #19882
- Promql: do not panic when printing the partial AST of a failed parse. Pull request #19797
- Promql: return NaN from BucketQuantile for nil and empty bucket slices. Pull request #19927
- Promql: return NaN from BucketFraction for nil and empty bucket slices. Pull request #19944
- Model/histogram: preserve counter reset hints in CopyToSchema. Pull request #19916
- Web/api/v1: fix metadata enrichment for metrics with double _total or _info suffixes. Pull request #19910
- Template: stop stripDomain from truncating IPv6 zone identifiers containing dots. Pull request #19908
- Storage: handle non-histogram _bucket without le and float counter collisions in NHCBAsClassicQuerier. Pull request #19884
- Upgrade
client_golangto 1.25.0. Pull request #19913
This week: exemplars preserved across compaction and restart, future-dated exemplars no longer collapse remote-write shards, alert restoration fixed for short for durations, and q
This week in Prometheus: exemplars are preserved across compaction and restart, so a series is no longer dropped while it still has a recent exemplar. Future-dated exemplars no longer advance sent timestamps in a way that pushed remote-write shards down to one. Rules whose for duration is shorter than the alert for grace period now restore previously firing alerts instead of skipping them. Remote read gains a gate wait duration histogram. BucketQuantile and BucketFraction return NaN for empty input instead of panicking, printing a partial AST after a failed parse no longer panics, CopyToSchema keeps counter reset hints, metadata enrichment handles double _total and _info suffixes, and stripDomain no longer truncates IPv6 zone identifiers.
Week of September 28, 2026
What shipped
- Release 3.13.4 addresses HTTP/2 DATA frame fragmentation memory exhaustion via gRPC upgrade and fixes agent WAL rollback from newer versions. Release
- HTTP/2 negotiation under Go 1.27+ with TLS now works correctly after exporter-toolkit upgrade. Pull request #19848
- WAL checkpoints now preserve series records needed by the write-ahead log to prevent data loss during replay. Pull request #19737
- Head chunk iterators respect isolation boundaries when seeking to prevent queriers from seeing uncommitted samples. Pull request #19854
- WAL corruptions metric now increments correctly when checkpoints encounter corrupted segments. Pull request #19858
- OpenMetrics 2.0 classic histograms convert to native histogram composite buckets directly without intermediate parsing wrapper. Pull request #19880
- OpenMetrics 2.0 composite value parsing eliminates per-line map allocations and intermediate string allocations. Pull request #19747
- PromQL function
ts_of_last_over_timenow correctly handles samples with timestamps before Unix epoch. Pull request #19828 - Auto-reload configuration logic fixed to properly resume reloading after a failed configuration change is reverted. Pull request #19838
- PromQL subquery sample counts now included in total sample statistics for accurate query metrics. Pull request #19165
Why it matters
This week brings security patches for HTTP/2 vulnerabilities and performance improvements for OpenMetrics parsing. Several critical fixes address WAL handling, query isolation, and data integrity issues that affect users running production workloads.
Changelog entry
- [SECURITY] Bump google.golang.org/grpc to v1.83.1 to fix HTTP/2 DATA frame fragmentation memory exhaustion Release
- [SECURITY] UI: Update vulnerable npm dependencies Release
- [BUGFIX] Agent: Ignore unknown WAL record types to allow rolling back from newer versions Release
- [BUGFIX] Web: Fix HTTP/2 negotiation silently falling back to HTTP/1.1 under Go 1.27+ when TLS is enabled Pull request #19848
- [BUGFIX] TSDB: Keep series records that the WBL still needs during WAL checkpoints Pull request #19737
- [BUGFIX] TSDB: Respect isolation when seeking in head chunks Pull request #19854
- [BUGFIX] TSDB: Fix WAL corruptions metric not incrementing on checkpoint creation Pull request #19858
- [BUGFIX] PromQL: Fix
ts_of_last_over_timebefore Unix epoch Pull request #19828 - [BUGFIX] Auto-reload: Fix logic to reload when configuration change is reverted Pull request #19838
- [PERF] TextParse: Convert OpenMetrics 2.0 classic histograms to NHCB directly without intermediate parser Pull request #19880
- [PERF] OpenMetrics 2.0: Avoid composite field allocations during value parsing Pull request #19747
- [ENHANCEMENT] PromQL: Count subquery samples in total sample stats Pull request #19165
V3.13.4 released: HTTP/2 security fixes, agent WAL improvements, head chunk isolation fixes, and OpenMetrics 2.0 performance optimizations.
Prometheus v3.13.4 is out with important security updates for HTTP/2 handling and stability improvements. This release fixes WAL corruption tracking, preserves series records during checkpoints, enforces query isolation on head chunks, and optimizes OpenMetrics 2.0 parsing. Security patches address gRPC vulnerabilities and HTTP/2 ALPN negotiation issues under recent Go versions.
Week of September 21, 2026
What shipped
- Release 3.15.0 fixes a range query issue where subqueries evaluated past the parent's last step, inflating peakSamples and wasting storage I/O. Release
- PromQL now implements the integral() function for calculating the integral of a range vector with configurable strategy. Pull request #14440
- Parser now accepts custom functions via parser.Options, allowing callers to provide their own PromQL function sets. Pull request #19830
- WAL checkpoint metadata writing now batches records at 1000 series per record to bound buffer and record sizes. Pull request #19712
- TSDB now persists WAL truncation mint to prevent minValidTime underestimation on restart. Pull request #19734
- TSDB fixes mapped chunks being overwritten during WAL replay when processing multiple references for the same series. Pull request #19805
- Remote storage fixes a data race between SetClient and in-flight sends during config reloads. Pull request #19796
- UI autocompletion now requires explicit user action instead of automatically opening after closing parentheses. Pull request #19825
- Jaro-Winkler search matching reduces allocations in the search function. Pull request #19809
- OpenMetrics 2.0 parser fixes lexer, labels, metadata, and parser options handling. Pull request #19748
Why it matters
Version 3.15.0 introduces the integral() function for new PromQL capabilities and fixes several storage and query evaluation issues that improve correctness and performance. The custom function support in the parser enables extensibility for downstream projects.
Changelog entry
- [CHANGE] PromQL: Range queries with unaligned end times no longer cause subqueries to evaluate past the parent's last step, fixing peakSamples inflation and unnecessary storage I/O. Release
- [FEATURE] PromQL: New integral() function calculates the integral of a range vector with configurable strategy parameter. Pull request #14440
- [FEATURE] Parser: Custom PromQL functions can now be provided via parser.Options without affecting existing callers. Pull request #19830
- [PERF] TSDB: WAL checkpoint metadata writing batches at 1000 series per record to bound buffer and record sizes. Pull request #19712
- [BUGFIX] TSDB: WAL truncation mint is now persisted to prevent minValidTime underestimation on restart. Pull request #19734
- [BUGFIX] TSDB: Mapped chunks are now preserved across replayed series references during WAL replay. Pull request #19805
- [BUGFIX] Remote storage: Fixed data race between SetClient and in-flight sends during configuration reloads. Pull request #19796
- [BUGFIX] UI: Autocompletion dropdown no longer automatically opens after closing parenthesis without explicit user action. Pull request #19825
- [BUGFIX] OpenMetrics 2.0: Fixed parser lexer, label handling, metadata parsing, and parser options. Pull request #19748
- [BUGFIX] Remote storage: Failed streamed read responses are now properly aborted to detect incomplete streams. Pull request #19749
- [BUGFIX] Agent: Unknown WAL record types are now ignored to support rolling back to older versions. Pull request #19819
- [PERF] Remote storage: OTLP histogram metric name conversion now caches metric-family suffixes. Pull request #19717
Prometheus 3.15.0 released. New integral() function in PromQL, fixes for range query evaluation, WAL handling, and remote storage data races. Custom PromQL functions now supported via parser options.
Prometheus 3.15.0 is now available. This release adds the integral() function to PromQL for calculating range vector integrals, fixes critical issues in range query evaluation that were wasting storage I/O, improves WAL persistence and replay, and resolves a data race in remote storage during config reloads. The parser now supports custom PromQL functions through parser options, enabling better extensibility.
Week of September 14, 2026
What shipped
- Version 3.15.0-rc.0 released with changes to range query evaluation to prevent subqueries from evaluating past the parent's last actual step. Release
- Extended range selectors are now enabled by default in PromQL. Pull request #19697
- Parser options for stable PromQL features have been removed. Pull request #19704
- Experimental search API endpoints are now clamped to 1000 results. Pull request #19731
- Fixed typo in remote write v1 native histogram with custom buckets drop log message. Pull request #19752
- WAL buffers are now reset after write errors to prevent invalid WAL records in agent. Pull request #19700
- Duplicate staleness tracking in AppenderV2 scraping has been removed for performance. Pull request #19702
- Range vector functions no longer raise spurious labelset collision errors for series with different metric names. Pull request #18631
- Search API now returns lexically smallest label values when hitting result limits. Pull request #19694
- Sum-only classic histograms are now rejected during NHCB conversion unless they have explicit count or buckets. Pull request #19315
Why it matters
Version 3.15.0-rc.0 is now available with significant PromQL improvements including enabled extended range selectors and corrected range query behavior. Multiple performance optimizations reduce unnecessary work in scraping and storage, while bug fixes address histogram conversion, staleness detection, and API result consistency.
Changelog entry
- [CHANGE] PromQL: Range queries no longer cause subqueries to evaluate past the parent's last actual step, fixing query stats inflation and sample limit calculation. Release
- [CHANGE] PromQL: Extended range selectors are now enabled by default. Pull request #19697
- [CHANGE] PromQL: Removed parser options for stable features. Pull request #19704
- [CHANGE] API: Clamped experimental search endpoints to 1000 results. Pull request #19731
- [BUGFIX] PromQL: Range vector functions no longer raise spurious labelset collision errors when series have different metric names but same remaining labels. Pull request #18631
- [BUGFIX] Storage/Remote: Fixed typo in native histogram with custom buckets drop log message. Pull request #19752
- [BUGFIX] TSDB/Agent: WAL buffers are now reset after write errors to prevent invalid checksummed WAL records. Pull request #19700
- [BUGFIX] Search API: Returns lexically smallest label values when hitting result limits. Pull request #19694
- [BUGFIX] Conversion: Sum-only classic histograms are now rejected during NHCB conversion unless they have explicit count or buckets. Pull request #19315
- [BUGFIX] API: Fixed duration parsing that overflowed at int64 boundary. Pull request #19658
- [PERF] Scrape: Removed duplicate staleness tracking in AppenderV2. Pull request #19702
- [PERF] Scrape: Removed unused series cache hashes. Pull request #19703
Prometheus 3.15.0-rc.0 is available. Extended range selectors enabled by default. Range queries now evaluate correctly without inflating sample counts. Multiple performance and reliability improvements included.
Prometheus 3.15.0-rc.0 release candidate is now available. Key improvements include extended range selectors enabled by default in PromQL, corrected range query evaluation to prevent unnecessary sample reading, and performance optimizations in scraping and staleness tracking. Several bug fixes address histogram conversion, WAL handling, and API result ordering.