Prometheus 3.12.0

Release · · Official release notes ↗

← All Prometheus releases · Searchable index of all 403 changes

Changelog

PR / issue Type Description
Change Security: Two security vulnerabilities have been addressed: a denial of service in remote-write (snappy decompression limit) and a secret exposure leak in STACKIT service discovery.
Change PromQL & Metadata: Several features and bug fixes related to the experimental "start timestamps" support, including updates to rate, irate, increase, and resets. New experimental functions start, end, range, and step are introduced.
Change TSDB Performance: Optimizations in head chunk lookup (constant time) and mmap operations to reduce CPU usage.
Change Service Discovery: Added support for DigitalOcean Managed Databases and Outscale VM, along with improvements to AWS SD (IPv6 support for EC2, external ID support).
Change UI: Added a web interface for deleting time series and cleaning tombstones.
#18642 Security Remote: Reject snappy-compressed received requests via Remote Write whose declared decoded length exceeds the 32MB. Thanks to for reporting it.
#18649 Security STACKIT SD: Fix secrets being exposed in plaintext via /-/config endpoint. Thanks to and for reporting. GHSA-39j6-789q-qxvh
#18221 Change TSDB/Agent: Adds Start Timestamp field to all WAL Histogram samples in memory; used st-storage flag is enabled.
#18411 Feature API: Add /api/v1/status/self_metrics endpoint returning the current state of the Prometheus server's own metrics about itself as JSON.
#18287 Feature Discovery: Add DigitalOcean Managed Databases service discovery
#18321 Feature Prometheus: Add support for the aix/ppc64 compilation target
#18139 Feature Discovery: Add Outscale VM service discovery (outscale_sd_configs) for discovering scrape targets from the Outscale Cloud API.
#18498 Feature PromQL: Emit a warning when sort, sort_by_label or sort_by_label_desc is used within range (matrix) queries, as these functions do not have effect in that context.
#17877 Feature PromQL: Add start, end, range, and step experimental functions
#18627 Feature PromQL: Update resets function to consider start timestamp resets. Hidden behind use-start-timestamps feature flag.
#18620 Feature Prometheus: Promote auto-reload-config as stable
#17948 Feature TSDB/Agent: Add CheckpointFromInMemorySeries option to agent.DB that enables checkpoint based on in-memory series.
#18390 Feature UI: Add a web interface for deleting time series and cleaning tombstones, accessible from the Status menu.
#18344 Feature PromQL: Use start timestamps for rate, irate, and increase calculations, behind a feature flag use-start-timestamps. Doesn't work together with extended range selectors anchored and smoothed.
#18279 Feature Scrape: Added a feature flag st-synthesis which synthesizes unknown STs for scraped cumulative metrics. Useful when Remote Writing 2.0 with delta or Otel-based backends.
#18360 Feature promqltest: support annotation in load blocks to specify per-sample start timestamps.
#18651 Enhancement API: reject concurrent fgprof profiles.
#18579 Enhancement AWS SD: Add optional external_id field to ECS/MSK/RDS/Elasticache.
#17171 Enhancement AWS SD: Add optional external_id field.
#18187 Enhancement Discovery: Propagate SD target updates faster by introducing dynamic backoff interval instead of static 5s interval for throttling.
#18418 Enhancement Promtool: Add --header flag to query instant command, matching existing query range behaviour.
#16088 Enhancement AWS SD: Allows EC2 service discovery to discover IPv6 addresses to communicate with target endpoints. The private IPv4 address remains the default when both IPv4 and IPv6 addresses are present.
#18302 Performance TSDB: Make head chunk lookup in range queries constant time instead of quadratic time
#18541 Performance TSDB: Skip entire stripes in mmapHeadChunks when no series need mmapping, reducing CPU utilization significantly at production-relevant scales.
#18272 Performance TSDB: Skip clean series during periodic head chunk mmap using cached head chunk count
#18568 Performance PromQL: Address FloatHistogram.KahanAdd performance regression on Go 1.26.
#17932 Bug fix PromQL: Fix info function incorrectly handling negated __name__ matchers
#18624 Bug fix API: Return duration expressions in /parse_ast.
#18305 Bug fix API: correctly document formats accepted for duration query request parameters (step, timeout and lookback delta) in OpenAPI spec
#18567 Bug fix Scrape: AppenderV2 now tracks staleness even when OOO/duplicate series errors happen similar to AppenderV1
#18209 Bug fix Config: Validate remote_write queue_config fields at load time to prevent runtime panic and silent misconfiguration.
#18479, #18499 Bug fix Discovery/Consul: Add health_filter for Health API filtering, fixing breakage when using Catalog-only fields like ServiceTags in filter.
#18408 Bug fix OTLP: limit decompressed body size for gzip-encoded OTLP write requests.
#18523 Bug fix PromQL: Fix smoothed rate/increase returning zero instead of no result when all data falls strictly after the query range.
#18409 Bug fix PromQL: Fix metric name not being dropped when last_over_time or first_over_time is applied to subqueries containing name-dropping functions like abs.
#18660 Bug fix PromQL: Fix missing warning when mixing exponential and custom-bucket histograms in stats queries.
#18623 Bug fix PromQL: Fix parsing of range keyword in duration expressions such as foo[5m+range].
#18531 Bug fix PromQL: Fix smoothed vector selector returning no results in binary operations when the @ modifier is used.
#18639 Bug fix PromQL: Reject NaN, infinite, and out-of-range duration expressions instead of silently producing an out-of-range time.Duration.
#18414 Bug fix Scrape: Fix panic when scraping malformed native histograms.
#18382 Bug fix Scrape: fix panic when scraping a target exposing a summary with no quantiles via the protobuf format.
#18421 Bug fix Scrape: fix scrape failure log file occasionally not applied after a configuration reload.
#18628 Bug fix TSDB: Allow retention percentage with new data path.
#18374 Bug fix TSDB: Preserve decimal precision in percentage-based retention
#18401 Bug fix TSDB: fix prometheus_tsdb_head_chunks going negative after WAL replay
#18692 Bug fix TSDB: panic with native histograms during query of overlapping chunks.
#18469 Bug fix Tracing: fix startup failure for insecure OTLP HTTP tracing
#18658 Bug fix UI: Escape label values offered by PromQL autocomplete.
#18682 Bug fix UI: Improve Y-axis tick label precision for graph values over small ranges.
#17614 Bug fix prometheus_sd_refresh* and prometheus_sd_discovered_targets metrics for specific scrape jobs are deleted when the scrape job is removed.
#18641 Bug fix Remote: fixed validation for received RW2 requests when parsing metadata unit symbols. This fixes a case when request would cause (recovered) handler panic.
#18292 Bug fix TSDB/Agent: fix race in agent appender where concurrent appends for the same label set could produce duplicate in-memory series and duplicate WAL records.
#18487 Bug fix Config: Update --enable-feature flag description and sort feature names.

Reproduced from the official Prometheus 3.12.0 release notes. Last checked 7 Jul 2026, 21:23 UTC.