⚠️ This release raises the minimum required Go version to 1.26 and includes breaking API changes in api/prometheus/v1 (see the [CHANGE] entries below). ⚠️
1.25.0 / 2026-10-07
[CHANGE] Minimum required Go version is now 1.26, only the two latest Go versions (1.26 and 1.27) are supported from now on. #2138
[CHANGE] api/prometheus/v1: Query, QueryRange, Series, LabelNames, and LabelValues now return Infos annotations in addition to Warnings, matching the Prometheus server's info annotations. This changes the signatures of these methods and of api.Client's Do/DoGetFallback; custom API client implementations must be updated. #1963
[CHANGE] api/prometheus/v1: Rework TSDBBlocks result types to align with the Prometheus server's tsdb.BlockMeta: TSDBBlocksResult now contains Blocks []TSDBBlockMeta directly instead of mirroring the full API envelope, nested types are renamed (TSDBBlockMeta, TSDBBlockStats, TSDBBlockMetaCompaction), stat fields are uint64 with omitempty tags, and the optional compaction parents field is included. #1928
[FEATURE] testutil: Add GatherAndFormat to encode a subset of metrics from a Gatherer. #2091
[FEATURE] promhttp: Add HandlerOpts.AcceptedFormats to customize the formats negotiated from the incoming Accept header, enabling opt-in to experimental formats such as OpenMetrics 2.0 without changing default negotiation. #2146
[ENHANCEMENT] promhttp: Negotiated metrics responses now include a Vary header. #2142
[ENHANCEMENT] prometheus: Regenerate the default runtime collector metrics for Go 1.25 and Go 1.26. #2090, #2095
[ENHANCEMENT] testutil: Finalize OpenMetrics output in GatherAndFormat and CollectAndFormat (terminating # EOF). #2125
[BUGFIX] api: Match complete URL path placeholders only; a :foo argument no longer substitutes inside :foobar. #2136
[BUGFIX] exp/api/remote: Reset the pooled buffer before generic proto marshaling, preventing corrupted remote-write payloads. #2139
[BUGFIX] testutil/promlint: Fix "mibi" unit prefix to "mebi". #2135
[CHANGE] Minimum required Go version is now 1.25, only the two latest Go versions (1.25 and 1.26) are supported from now on. #1862
[CHANGE] prometheus: Name validation now always uses the UTF-8 scheme instead of the deprecated model.NameValidationScheme global. Default behavior is unchanged; code that set NameValidationScheme = LegacyValidation no longer gets legacy enforcement at metric, label, and push-grouping construction. #2051
[CHANGE] api/prometheus/v1: Support matchers (matches[] parameter) in Rules method (Rules(ctx context.Context, matches []string) (RulesResult, error)). #1843
[CHANGE] api/prometheus/v1: Refactor LabelNames method to return model.LabelNames instead of []string for consistency across the API. #1850
[CHANGE] exp/api/remote: Simplify Store interface, rename Handler to WriteHandler, and encapsulate write response handling. #1855
[FEATURE] prometheus: Add new Go 1.26 runtime metrics (/sched/goroutines-created:goroutines, /sched/goroutines/not-in-go:goroutines, /sched/goroutines/runnable:goroutines, /sched/goroutines/running:goroutines, /sched/goroutines/waiting:goroutines, /sched/threads/total:threads). #1942
[FEATURE] prometheus: Add WithUnit(unit string) option and explicit OpenMetrics unit support in CounterOpts, GaugeOpts, SummaryOpts, and HistogramOpts. #1392
[FEATURE] prometheus: Expose descriptor construction error through public Err() method on Desc. #1902
[FEATURE] promhttp: Add opt-in HandlerOpts.CoalesceGather to deduplicate concurrent Gather calls so overlapping scrapes share one collection cycle, preventing goroutine pile-up when the scrape rate outpaces collection time. #1969
[FEATURE] promhttp: HTTP handlers created by promhttp package now support metrics filtering by providing one or more name[] query parameters. The default behavior when none are provided remains the same, returning all metrics. #1925
[FEATURE] api/prometheus/v1: Add query formatting endpoint support (/format_query) and FormatQuery(ctx context.Context, query string) (string, error) method. #1846, #1856
[FEATURE] api/prometheus/v1: Add support for /status/tsdb/blocks endpoint via TSDBBlocks(ctx context.Context) ([]TSDBBlock, error) method. #1896
[FEATURE] exp/api/remote: Export BackoffConfig to allow customization when using WithAPIBackoff. #1895
[FEATURE] exp/api/remote: Add RetryCallBack to allow custom logging or handling on retry attempts in the remote write client. #1888, #1890
[ENHANCEMENT] prometheus/collectors/version: Allow specifying custom labels when registering the version collector. #1860
[ENHANCEMENT] api: Use cloned http.DefaultTransport when constructing default HTTP clients to prevent accidental mutations of shared global transport state. #1885
[BUGFIX] prometheus: Recover from collector panics during Gather() and return an error instead of crashing the process. #1961
[BUGFIX] prometheus: Fix cpu-seconds unit suffix handling for metric go_cpu_classes_gc_mark_assist_cpu_seconds. #1991
[BUGFIX] promhttp: InstrumentHandlerDuration and InstrumentHandlerCounter no longer panic when given an observer/counter that does not implement ExemplarObserver/ExemplarAdder (e.g. a SummaryVec). The exemplar is dropped and the value is recorded via the plain Observe/Add path, matching the safe-cast already used by Timer.ObserveDurationWithExemplar. #2005
[BUGFIX] api/prometheus/v1: Fall back to GET requests when POST requests return 403 Forbidden or method not allowed. #2030
This PR contains the following updates:
| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) | `v1.23.2` → `v1.25.0` |  |  |
---
### Release Notes
<details>
<summary>prometheus/client_golang (github.com/prometheus/client_golang)</summary>
### [`v1.25.0`](https://github.com/prometheus/client_golang/releases/tag/v1.25.0)
[Compare Source](https://github.com/prometheus/client_golang/compare/v1.24.1...v1.25.0)
:warning: This release raises the minimum required Go version to 1.26 and includes breaking API changes in `api/prometheus/v1` (see the \[CHANGE] entries below). :warning:
#### 1.25.0 / 2026-10-07
- \[CHANGE] Minimum required Go version is now 1.26, only the two latest Go versions (1.26 and 1.27) are supported from now on. [#​2138](https://github.com/prometheus/client_golang/issues/2138)
- \[CHANGE] api/prometheus/v1: `Query`, `QueryRange`, `Series`, `LabelNames`, and `LabelValues` now return `Infos` annotations in addition to `Warnings`, matching the Prometheus server's info annotations. This changes the signatures of these methods and of `api.Client`'s `Do`/`DoGetFallback`; custom API client implementations must be updated. [#​1963](https://github.com/prometheus/client_golang/issues/1963)
- \[CHANGE] api/prometheus/v1: Rework `TSDBBlocks` result types to align with the Prometheus server's `tsdb.BlockMeta`: `TSDBBlocksResult` now contains `Blocks []TSDBBlockMeta` directly instead of mirroring the full API envelope, nested types are renamed (`TSDBBlockMeta`, `TSDBBlockStats`, `TSDBBlockMetaCompaction`), stat fields are `uint64` with `omitempty` tags, and the optional compaction `parents` field is included. [#​1928](https://github.com/prometheus/client_golang/issues/1928)
- \[FEATURE] testutil: Add `GatherAndFormat` to encode a subset of metrics from a Gatherer. [#​2091](https://github.com/prometheus/client_golang/issues/2091)
- \[FEATURE] promhttp: Add `HandlerOpts.AcceptedFormats` to customize the formats negotiated from the incoming `Accept` header, enabling opt-in to experimental formats such as OpenMetrics 2.0 without changing default negotiation. [#​2146](https://github.com/prometheus/client_golang/issues/2146)
- \[ENHANCEMENT] promhttp: Negotiated metrics responses now include a `Vary` header. [#​2142](https://github.com/prometheus/client_golang/issues/2142)
- \[ENHANCEMENT] prometheus: Regenerate the default runtime collector metrics for Go 1.25 and Go 1.26. [#​2090](https://github.com/prometheus/client_golang/issues/2090), [#​2095](https://github.com/prometheus/client_golang/issues/2095)
- \[ENHANCEMENT] testutil: Finalize OpenMetrics output in `GatherAndFormat` and `CollectAndFormat` (terminating `# EOF`). [#​2125](https://github.com/prometheus/client_golang/issues/2125)
- \[BUGFIX] api: Match complete URL path placeholders only; a `:foo` argument no longer substitutes inside `:foobar`. [#​2136](https://github.com/prometheus/client_golang/issues/2136)
- \[BUGFIX] exp/api/remote: Reset the pooled buffer before generic proto marshaling, preventing corrupted remote-write payloads. [#​2139](https://github.com/prometheus/client_golang/issues/2139)
- \[BUGFIX] testutil/promlint: Fix "mibi" unit prefix to "mebi". [#​2135](https://github.com/prometheus/client_golang/issues/2135)
<details>
<summary> What's changed </summary>
#### What's Changed
* fix: Remove unneeded and broken CI badge by @​bwplotka in https://github.com/prometheus/client_golang/pull/2057
* Synchronize common files from prometheus/prometheus by @​prombot in https://github.com/prometheus/client_golang/pull/2060
* build(deps): bump the codeql group with 4 updates by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2066
* build(deps): bump github.com/klauspost/compress from 1.19.0 to 1.19.1 by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2071
* build(deps): bump golang.org/x/sys from 0.46.0 to 0.47.0 in the golang-org-x group across 1 directory by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2069
* build(deps): bump github.com/klauspost/compress from 1.19.0 to 1.19.1 in /exp by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2072
* build(deps): bump github.com/prometheus/common from 0.69.0 to 0.70.1 in /exp by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2073
* build(deps): bump github.com/prometheus/common from 0.69.0 to 0.70.1 by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2070
* build(deps): bump google.golang.org/grpc from 1.79.3 to 1.82.1 in /tutorials/whatsup by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2075
* Pin GitHub Actions by @​SuperQ in https://github.com/prometheus/client_golang/pull/2074
* build(deps): bump actions/checkout from 7.0.0 to 7.0.1 by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2067
* promhttp: fix panic on requests with nil URL by @​SAY-5 in https://github.com/prometheus/client_golang/pull/2065
* Return info annotations in addition to warnings in the API by @​zenador in https://github.com/prometheus/client_golang/pull/1963
* build(deps): bump ossf/scorecard-action from 2.4.3 to 2.4.4 by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2082
* Synchronize common files from prometheus/prometheus by @​prombot in https://github.com/prometheus/client_golang/pull/2084
* Synchronize common files from prometheus/prometheus by @​prombot in https://github.com/prometheus/client_golang/pull/2086
* Synchronize common files from prometheus/prometheus by @​prombot in https://github.com/prometheus/client_golang/pull/2088
* Regenerate Go collector runtime metrics for Go 1.25 and Go 1.26 by @​bwplotka in https://github.com/prometheus/client_golang/pull/2090
* go.mod: remove obsolete exclude rule by @​thaJeztah in https://github.com/prometheus/client_golang/pull/2077
* Synchronize common files from prometheus/prometheus by @​prombot in https://github.com/prometheus/client_golang/pull/2093
* README: document the OpenTelemetry OTLP push bridge by @​mvanhorn in https://github.com/prometheus/client_golang/pull/1987
* docs: add AGENTS.md contributor and maintainer guide by @​bwplotka in https://github.com/prometheus/client_golang/pull/2056
* testutil: add GatherAndFormat helper by @​wieghx in https://github.com/prometheus/client_golang/pull/2091
* build(deps): bump the codeql group with 4 updates by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2101
* build(deps): bump google.golang.org/protobuf from 1.36.11 to 1.36.12 by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2097
* build(deps): bump github.com/klauspost/compress from 1.19.1 to 1.19.2 by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2098
* build(deps): bump google.golang.org/protobuf from 1.36.11 to 1.36.12 in /exp by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2099
* build(deps): bump github.com/klauspost/compress from 1.19.1 to 1.19.2 in /exp by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2100
* build(deps): bump github.com/prometheus/procfs from 0.21.1 to 0.22.0 in the prometheus group across 1 directory by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2096
* build(deps): bump google.golang.org/grpc from 1.82.1 to 1.83.1 in /tutorials/whatsup by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2102
* chore: Update metrics for new Go version by @​github-actions[bot] in https://github.com/prometheus/client_golang/pull/2095
* Benchmark json-iter, stdlib json and json/v2 by @​liggitt in https://github.com/prometheus/client_golang/pull/2107
* build(deps): bump google.golang.org/grpc from 1.83.1 to 1.83.2 in /tutorials/whatsup by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2112
* RuleGroup: use stdlib for json decoding, optimize decoding by @​liggitt in https://github.com/prometheus/client_golang/pull/2109
* Modernize micro benchmarks: b.Loop and key=value case names by @​radianceded in https://github.com/prometheus/client_golang/pull/2114
* QueryResult: use stdlib for envelope decoding by @​liggitt in https://github.com/prometheus/client_golang/pull/2110
* Use stdlib to decode apiResult envelope by @​liggitt in https://github.com/prometheus/client_golang/pull/2111
* Improve linting by @​SuperQ in https://github.com/prometheus/client_golang/pull/2115
* Delete unused custom json-iterator marshaling by @​liggitt in https://github.com/prometheus/client_golang/pull/2121
* Simplify apiClientImpl#Do error path by @​liggitt in https://github.com/prometheus/client_golang/pull/2120
* testutil: finalize OpenMetrics output by @​ajavanma in https://github.com/prometheus/client_golang/pull/2125
* build(deps): bump go.opentelemetry.io/otel/sdk from 1.44.0 to 1.45.0 in /tutorials/whatsup by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2124
* Synchronize common files from prometheus/prometheus by @​prombot in https://github.com/prometheus/client_golang/pull/2116
* prometheus: fix revive indent-error-flow lint on Darwin by @​bwplotka in https://github.com/prometheus/client_golang/pull/2131
* build(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace from 1.34.0 to 1.45.0 in /tutorials/whatsup by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2123
* Combine envelope/inner apiResponse decoding, switch to stdlib json by @​liggitt in https://github.com/prometheus/client_golang/pull/2118
* build(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.34.0 to 1.45.0 in /tutorials/whatsup by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2122
* testutil/promlint: fix "mibi" unit prefix to "mebi" by @​ZainnQureshii in https://github.com/prometheus/client_golang/pull/2135
* all: update prometheus/common to v0.72.0 and apply modernize fixes by @​bwplotka in https://github.com/prometheus/client_golang/pull/2138
* limit json-iterator use to Go 1.26 by @​liggitt in https://github.com/prometheus/client_golang/pull/2128
* promhttp: add AcceptedFormats option to customize format negotiation by @​bwplotka in https://github.com/prometheus/client_golang/pull/2146
* build(deps): bump github.com/klauspost/compress from 1.19.2 to 1.20.1 by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2143
* build(deps): bump the codeql group with 4 updates by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2145
* build(deps): bump github.com/klauspost/compress from 1.19.2 to 1.20.1 in /exp by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2144
* promhttp: vary negotiated metrics responses by @​lowgame in https://github.com/prometheus/client_golang/pull/2142
* exp/api/remote: reset pooled buffer before generic marshal by @​lowgame in https://github.com/prometheus/client_golang/pull/2139
* api: match complete URL placeholders by @​lowgame in https://github.com/prometheus/client_golang/pull/2136
* fix: updates for tsdb blocks handling by @​tjhop in https://github.com/prometheus/client_golang/pull/1928
* prometheus: fix modernize lint findings by @​kakkoyun in https://github.com/prometheus/client_golang/pull/2151
* build(deps): bump google.golang.org/grpc from 1.82.1 to 1.83.2 in /api/prometheus/v1/paritytest by @​dependabot[bot] in https://github.com/prometheus/client_golang/pull/2152
* Cut v1.25.0-rc.0 by @​kakkoyun in https://github.com/prometheus/client_golang/pull/2154
* Cut v1.25.0 by @​kakkoyun in https://github.com/prometheus/client_golang/pull/2164
#### New Contributors
* @​SAY-5 made their first contribution in https://github.com/prometheus/client_golang/pull/2065
* @​zenador made their first contribution in https://github.com/prometheus/client_golang/pull/1963
* @​thaJeztah made their first contribution in https://github.com/prometheus/client_golang/pull/2077
* @​mvanhorn made their first contribution in https://github.com/prometheus/client_golang/pull/1987
* @​wieghx made their first contribution in https://github.com/prometheus/client_golang/pull/2091
* @​radianceded made their first contribution in https://github.com/prometheus/client_golang/pull/2114
* @​ajavanma made their first contribution in https://github.com/prometheus/client_golang/pull/2125
* @​ZainnQureshii made their first contribution in https://github.com/prometheus/client_golang/pull/2135
* @​lowgame made their first contribution in https://github.com/prometheus/client_golang/pull/2142
**Full Changelog**: <https://github.com/prometheus/client_golang/compare/v1.24.1...v1.25.0>
</details>
### [`v1.24.1`](https://github.com/prometheus/client_golang/releases/tag/v1.24.1): / 2026-07-23
[Compare Source](https://github.com/prometheus/client_golang/compare/v1.24.0...v1.24.1)
Small bugfix release for promhttp.
#### What's Changed
\[BUGFIX] promhttp: Fix panic on requests with nil URL. [#​2065](https://github.com/prometheus/client_golang/issues/2065)
**Full Changelog**: <https://github.com/prometheus/client_golang/compare/v1.24.0...v1.24.1>
### [`v1.24.0`](https://github.com/prometheus/client_golang/releases/tag/v1.24.0): - 2026-07-20
[Compare Source](https://github.com/prometheus/client_golang/compare/v1.23.2...v1.24.0)
##### Changes
- \[CHANGE] Minimum required Go version is now 1.25, only the two latest Go versions (1.25 and 1.26) are supported from now on. [#​1862](https://github.com/prometheus/client_golang/issues/1862)
- \[CHANGE] prometheus: Name validation now always uses the UTF-8 scheme instead of the deprecated `model.NameValidationScheme` global. Default behavior is unchanged; code that set `NameValidationScheme = LegacyValidation` no longer gets legacy enforcement at metric, label, and push-grouping construction. [#​2051](https://github.com/prometheus/client_golang/issues/2051)
- \[CHANGE] api/prometheus/v1: Support matchers (`matches[]` parameter) in `Rules` method (`Rules(ctx context.Context, matches []string) (RulesResult, error)`). [#​1843](https://github.com/prometheus/client_golang/issues/1843)
- \[CHANGE] api/prometheus/v1: Refactor `LabelNames` method to return `model.LabelNames` instead of `[]string` for consistency across the API. [#​1850](https://github.com/prometheus/client_golang/issues/1850)
- \[CHANGE] exp/api/remote: Simplify `Store` interface, rename `Handler` to `WriteHandler`, and encapsulate write response handling. [#​1855](https://github.com/prometheus/client_golang/issues/1855)
- \[FEATURE] prometheus: Add new Go 1.26 runtime metrics (`/sched/goroutines-created:goroutines`, `/sched/goroutines/not-in-go:goroutines`, `/sched/goroutines/runnable:goroutines`, `/sched/goroutines/running:goroutines`, `/sched/goroutines/waiting:goroutines`, `/sched/threads/total:threads`). [#​1942](https://github.com/prometheus/client_golang/issues/1942)
- \[FEATURE] prometheus: Add `WithUnit(unit string)` option and explicit OpenMetrics unit support in `CounterOpts`, `GaugeOpts`, `SummaryOpts`, and `HistogramOpts`. [#​1392](https://github.com/prometheus/client_golang/issues/1392)
- \[FEATURE] prometheus: Expose descriptor construction error through public `Err()` method on `Desc`. [#​1902](https://github.com/prometheus/client_golang/issues/1902)
- \[FEATURE] promhttp: Add opt-in `HandlerOpts.CoalesceGather` to deduplicate concurrent `Gather` calls so overlapping scrapes share one collection cycle, preventing goroutine pile-up when the scrape rate outpaces collection time. [#​1969](https://github.com/prometheus/client_golang/issues/1969)
- \[FEATURE] promhttp: HTTP handlers created by `promhttp` package now support metrics filtering by providing one or more `name[]` query parameters. The default behavior when none are provided remains the same, returning all metrics. [#​1925](https://github.com/prometheus/client_golang/issues/1925)
- \[FEATURE] api/prometheus/v1: Add query formatting endpoint support (`/format_query`) and `FormatQuery(ctx context.Context, query string) (string, error)` method. [#​1846](https://github.com/prometheus/client_golang/issues/1846), [#​1856](https://github.com/prometheus/client_golang/issues/1856)
- \[FEATURE] api/prometheus/v1: Add support for `/status/tsdb/blocks` endpoint via `TSDBBlocks(ctx context.Context) ([]TSDBBlock, error)` method. [#​1896](https://github.com/prometheus/client_golang/issues/1896)
- \[FEATURE] exp/api/remote: Export `BackoffConfig` to allow customization when using `WithAPIBackoff`. [#​1895](https://github.com/prometheus/client_golang/issues/1895)
- \[FEATURE] exp/api/remote: Add `RetryCallBack` to allow custom logging or handling on retry attempts in the remote write client. [#​1888](https://github.com/prometheus/client_golang/issues/1888), [#​1890](https://github.com/prometheus/client_golang/issues/1890)
- \[ENHANCEMENT] prometheus/collectors/version: Allow specifying custom labels when registering the version collector. [#​1860](https://github.com/prometheus/client_golang/issues/1860)
- \[ENHANCEMENT] api: Use cloned `http.DefaultTransport` when constructing default HTTP clients to prevent accidental mutations of shared global transport state. [#​1885](https://github.com/prometheus/client_golang/issues/1885)
- \[BUGFIX] prometheus: Recover from collector panics during `Gather()` and return an error instead of crashing the process. [#​1961](https://github.com/prometheus/client_golang/issues/1961)
- \[BUGFIX] prometheus: Fix `cpu-seconds` unit suffix handling for metric `go_cpu_classes_gc_mark_assist_cpu_seconds`. [#​1991](https://github.com/prometheus/client_golang/issues/1991)
- \[BUGFIX] promhttp: `InstrumentHandlerDuration` and `InstrumentHandlerCounter` no longer panic when given an observer/counter that does not implement `ExemplarObserver`/`ExemplarAdder` (e.g. a `SummaryVec`). The exemplar is dropped and the value is recorded via the plain `Observe`/`Add` path, matching the safe-cast already used by `Timer.ObserveDurationWithExemplar`. [#​2005](https://github.com/prometheus/client_golang/issues/2005)
- \[BUGFIX] api/prometheus/v1: Fall back to `GET` requests when `POST` requests return `403 Forbidden` or method not allowed. [#​2030](https://github.com/prometheus/client_golang/issues/2030)
- \[BUGFIX] api: Respect context cancellation inside `httpClient.Do`. [#​1971](https://github.com/prometheus/client_golang/issues/1971)
- \[BUGFIX] exp/api/remote: Fix compression buffer pooling where compressed buffers were released prematurely, causing corrupted remote-write payloads. [#​1889](https://github.com/prometheus/client_golang/issues/1889)
- \[BUGFIX] exp/api/remote: Reject malformed snappy payloads declaring huge decoded sizes. Enforce a 32MB decoded-size limit to prevent OOM from oversized remote-write requests. [#​1917](https://github.com/prometheus/client_golang/issues/1917)
- \[BUGFIX] exp/api/remote: Ensure remote write v2 headers cannot be returned on v1 requests. [#​1927](https://github.com/prometheus/client_golang/issues/1927)
<details>
<summary> All commits </summary>
- build(deps): bump github.com/prometheus/procfs from 0.16.1 to 0.17.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1839](https://github.com/prometheus/client_golang/pull/1839)
- build(deps): bump golang.org/x/sys from 0.33.0 to 0.34.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1838](https://github.com/prometheus/client_golang/pull/1838)
- prometheus/collectors: use godoc link for runtime/metrics supported metrics by [@​xieyuschen](https://github.com/xieyuschen) in [#​1844](https://github.com/prometheus/client_golang/pull/1844)
- Fix doc typo by [@​torrca](https://github.com/torrca) in [#​1849](https://github.com/prometheus/client_golang/pull/1849)
- Merge release-1.23 into main by [@​vesari](https://github.com/vesari) in [#​1851](https://github.com/prometheus/client_golang/pull/1851)
- build(deps): bump github/codeql-action from 3.29.2 to 3.29.5 in the github-actions group by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1852](https://github.com/prometheus/client_golang/pull/1852)
- Refactor LabelNames to return model.LabelNames type for consistency by [@​yshngg](https://github.com/yshngg) in [#​1850](https://github.com/prometheus/client_golang/pull/1850)
- remote: simplified Store interface; renamed Handler to WriteHandler by [@​bwplotka](https://github.com/bwplotka) in [#​1855](https://github.com/prometheus/client_golang/pull/1855)
- feat(api/prometheus): add format_query endpoint for query formatting by [@​yshngg](https://github.com/yshngg) in [#​1846](https://github.com/prometheus/client_golang/pull/1846)
- feat(api): add FormatQuery method to Prometheus v1 API by [@​yshngg](https://github.com/yshngg) in [#​1856](https://github.com/prometheus/client_golang/pull/1856)
- Support matchers in rules API by [@​jotak](https://github.com/jotak) in [#​1843](https://github.com/prometheus/client_golang/pull/1843)
- Use prometheus/common.expfmt.NewTextParser by [@​aknuds1](https://github.com/aknuds1) in [#​1859](https://github.com/prometheus/client_golang/pull/1859)
- Merge release-1.23 into main by [@​aknuds1](https://github.com/aknuds1) in [#​1861](https://github.com/prometheus/client_golang/pull/1861)
- chore: Drop support for \<go1.22 by [@​mrueg](https://github.com/mrueg) in [#​1862](https://github.com/prometheus/client_golang/pull/1862)
- collectors/version: Allow custom additional labels by [@​mrueg](https://github.com/mrueg) in [#​1860](https://github.com/prometheus/client_golang/pull/1860)
- build(deps): bump github.com/prometheus/common from 0.65.0 to 0.66.0 by [@​ywwg](https://github.com/ywwg) in [#​1865](https://github.com/prometheus/client_golang/pull/1865)
- Sync release-1.23 into main by [@​aknuds1](https://github.com/aknuds1) in [#​1868](https://github.com/prometheus/client_golang/pull/1868)
- Sync main with release-1.23 by [@​aknuds1](https://github.com/aknuds1) in [#​1871](https://github.com/prometheus/client_golang/pull/1871)
- chore: clean up golangci-lint configuration by [@​mmorel-35](https://github.com/mmorel-35) in [#​1802](https://github.com/prometheus/client_golang/pull/1802)
- build(deps): bump google.golang.org/protobuf from 1.36.8 to 1.36.9 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1880](https://github.com/prometheus/client_golang/pull/1880)
- build(deps): bump google.golang.org/protobuf from 1.36.6 to 1.36.9 in /exp by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1882](https://github.com/prometheus/client_golang/pull/1882)
- build(deps): bump github.com/prometheus/common from 0.65.0 to 0.66.1 in /exp by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1883](https://github.com/prometheus/client_golang/pull/1883)
- build(deps): bump the github-actions group with 4 updates by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1881](https://github.com/prometheus/client_golang/pull/1881)
- Fix typo in remote api err msg by [@​SungJin1212](https://github.com/SungJin1212) in [#​1878](https://github.com/prometheus/client_golang/pull/1878)
- chore: Update metrics for new Go version by [@​github-actions](https://github.com/github-actions)\[bot] in [#​1864](https://github.com/prometheus/client_golang/pull/1864)
- Add RetryCallBack to remote_api.go by [@​pipiland2612](https://github.com/pipiland2612) in [#​1888](https://github.com/prometheus/client_golang/pull/1888)
- bug(remote_write): Fix compression buffer pooling by [@​fpetkovski](https://github.com/fpetkovski) in [#​1889](https://github.com/prometheus/client_golang/pull/1889)
- Change RetryCallBack initialized by [@​pipiland2612](https://github.com/pipiland2612) in [#​1890](https://github.com/prometheus/client_golang/pull/1890)
- Fix CI bug by [@​pipiland2612](https://github.com/pipiland2612) in [#​1892](https://github.com/prometheus/client_golang/pull/1892)
- Use cloned http.DefaultTransport. issue-1857 by [@​karthikkondapally](https://github.com/karthikkondapally) in [#​1885](https://github.com/prometheus/client_golang/pull/1885)
- Public backoff config to allow usage of WithAPIBackoff by [@​pipiland2612](https://github.com/pipiland2612) in [#​1895](https://github.com/prometheus/client_golang/pull/1895)
- Clarify exp library stability by [@​pipiland2612](https://github.com/pipiland2612) in [#​1894](https://github.com/prometheus/client_golang/pull/1894)
- feat: add support for `/status/tsdb/blocks` endpoint by [@​tjhop](https://github.com/tjhop) in [#​1896](https://github.com/prometheus/client_golang/pull/1896)
- minor refactor of replaceInvalidRune() in bridge.go by [@​karthikkondapally](https://github.com/karthikkondapally) in [#​1897](https://github.com/prometheus/client_golang/pull/1897)
- build(deps): bump github.com/prometheus/procfs from 0.17.0 to 0.19.2 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1903](https://github.com/prometheus/client_golang/pull/1903)
- build(deps): bump github.com/klauspost/compress from 1.18.0 to 1.18.1 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1906](https://github.com/prometheus/client_golang/pull/1906)
- build(deps): bump golang.org/x/sys from 0.35.0 to 0.37.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1904](https://github.com/prometheus/client_golang/pull/1904)
- build(deps): bump github.com/prometheus/common from 0.66.1 to 0.67.2 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1907](https://github.com/prometheus/client_golang/pull/1907)
- build(deps): bump github.com/klauspost/compress from 1.18.0 to 1.18.1 in /exp by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1911](https://github.com/prometheus/client_golang/pull/1911)
- build(deps): bump google.golang.org/protobuf from 1.36.9 to 1.36.10 in /exp by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1909](https://github.com/prometheus/client_golang/pull/1909)
- build(deps): bump github.com/prometheus/common from 0.66.1 to 0.67.2 in /exp by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1910](https://github.com/prometheus/client_golang/pull/1910)
- build(deps): bump the github-actions group with 2 updates by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1908](https://github.com/prometheus/client_golang/pull/1908)
- chore(ci): Add CRLF detection and fix targets to prevent CRLF contamination by [@​kakkoyun](https://github.com/kakkoyun) in [#​1898](https://github.com/prometheus/client_golang/pull/1898)
- chore(ci): Use stable names for CI steps by [@​kakkoyun](https://github.com/kakkoyun) in [#​1914](https://github.com/prometheus/client_golang/pull/1914)
- build(deps): bump github.com/klauspost/compress from 1.18.1 to 1.18.2 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1920](https://github.com/prometheus/client_golang/pull/1920)
- build(deps): bump github.com/prometheus/common from 0.67.2 to 0.67.4 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1921](https://github.com/prometheus/client_golang/pull/1921)
- build(deps): bump golang.org/x/sys from 0.37.0 to 0.38.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1922](https://github.com/prometheus/client_golang/pull/1922)
- build(deps): bump github.com/prometheus/common from 0.67.2 to 0.67.4 in /exp by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1923](https://github.com/prometheus/client_golang/pull/1923)
- build(deps): bump github.com/klauspost/compress from 1.18.1 to 1.18.2 in /exp by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1924](https://github.com/prometheus/client_golang/pull/1924)
- build(deps): bump the github-actions group with 4 updates by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1919](https://github.com/prometheus/client_golang/pull/1919)
- feat: expose Desc error through public Err() method by [@​duricanikolic](https://github.com/duricanikolic) in [#​1902](https://github.com/prometheus/client_golang/pull/1902)
- Allow `/metrics` handler output filtering via `name[]` query param by [@​colega](https://github.com/colega) in [#​1925](https://github.com/prometheus/client_golang/pull/1925)
- Prevent OOM from malformed snappy payloads by validating decoded length by [@​makasim](https://github.com/makasim) in [#​1917](https://github.com/prometheus/client_golang/pull/1917)
- Ensure remote write v2 headers cannot be returned on v1 requests by [@​kgeckhart](https://github.com/kgeckhart) in [#​1927](https://github.com/prometheus/client_golang/pull/1927)
- build(deps): bump google.golang.org/protobuf from 1.36.10 to 1.36.11 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1932](https://github.com/prometheus/client_golang/pull/1932)
- build(deps): bump golang.org/x/sys from 0.38.0 to 0.39.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1933](https://github.com/prometheus/client_golang/pull/1933)
- build(deps): bump google.golang.org/protobuf from 1.36.10 to 1.36.11 in /exp by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1935](https://github.com/prometheus/client_golang/pull/1935)
- build(deps): bump the github-actions group with 5 updates by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1934](https://github.com/prometheus/client_golang/pull/1934)
- promhttp/zstd: add unit tests for zstd writer registration by [@​90ashish](https://github.com/90ashish) in [#​1929](https://github.com/prometheus/client_golang/pull/1929)
- feat(collector): add Go 1.26 new runtime metrics by [@​kakkoyun](https://github.com/kakkoyun) in [#​1942](https://github.com/prometheus/client_golang/pull/1942)
- build(deps): bump github.com/prometheus/common from 0.67.4 to 0.67.5 in /exp by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1948](https://github.com/prometheus/client_golang/pull/1948)
- build(deps): bump the github-actions group with 4 updates by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1946](https://github.com/prometheus/client_golang/pull/1946)
- build(deps): bump github.com/klauspost/compress from 1.18.2 to 1.18.3 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1944](https://github.com/prometheus/client_golang/pull/1944)
- build(deps): bump golang.org/x/sys from 0.39.0 to 0.40.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1945](https://github.com/prometheus/client_golang/pull/1945)
- build(deps): bump github.com/klauspost/compress from 1.18.2 to 1.18.3 in /exp by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1947](https://github.com/prometheus/client_golang/pull/1947)
- chore(test): bump 1.25, tests with synctest and check not panic by [@​manute](https://github.com/manute) in [#​1950](https://github.com/prometheus/client_golang/pull/1950)
- build(deps): bump github.com/prometheus/procfs from 0.19.2 to 0.20.1 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1954](https://github.com/prometheus/client_golang/pull/1954)
- build(deps): bump golang.org/x/sys from 0.40.0 to 0.41.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1957](https://github.com/prometheus/client_golang/pull/1957)
- build(deps): bump github.com/klauspost/compress from 1.18.3 to 1.18.4 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1955](https://github.com/prometheus/client_golang/pull/1955)
- build(deps): bump go.opentelemetry.io/otel/sdk from 1.34.0 to 1.40.0 in /tutorials/whatsup by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1959](https://github.com/prometheus/client_golang/pull/1959)
- build(deps): bump github.com/prometheus/common from 0.67.4 to 0.67.5 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1956](https://github.com/prometheus/client_golang/pull/1956)
- build(deps): bump the github-actions group with 2 updates by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1958](https://github.com/prometheus/client_golang/pull/1958)
- chore(collectors/go): generate the tests after new metric by [@​kakkoyun](https://github.com/kakkoyun) in [#​1962](https://github.com/prometheus/client_golang/pull/1962)
- Remove Arthur from the list of maintainers by [@​ArthurSens](https://github.com/ArthurSens) in [#​1964](https://github.com/prometheus/client_golang/pull/1964)
- build(deps): bump google.golang.org/grpc from 1.69.4 to 1.79.3 in /tutorials/whatsup by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1965](https://github.com/prometheus/client_golang/pull/1965)
- fix: recover from collector panic and return error in Gather by [@​Saflaski](https://github.com/Saflaski) in [#​1961](https://github.com/prometheus/client_golang/pull/1961)
- prometheus: clarify MetricVec delete semantics in godoc by [@​Retr0-XD](https://github.com/Retr0-XD) in [#​1967](https://github.com/prometheus/client_golang/pull/1967)
- build(deps): bump golang.org/x/sys from 0.41.0 to 0.42.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1973](https://github.com/prometheus/client_golang/pull/1973)
- build(deps): bump github.com/klauspost/compress from 1.18.4 to 1.18.5 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1974](https://github.com/prometheus/client_golang/pull/1974)
- build(deps): bump github.com/klauspost/compress from 1.18.4 to 1.18.5 in /exp by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1976](https://github.com/prometheus/client_golang/pull/1976)
- Optionally add OM unit by [@​vesari](https://github.com/vesari) in [#​1392](https://github.com/prometheus/client_golang/pull/1392)
- fix: respect context cancellation in httpClient.Do by [@​pedrampdd](https://github.com/pedrampdd) in [#​1971](https://github.com/prometheus/client_golang/pull/1971)
- build(deps): bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.43.0 in /tutorials/whatsup by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1978](https://github.com/prometheus/client_golang/pull/1978)
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in [#​1977](https://github.com/prometheus/client_golang/pull/1977)
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in [#​1980](https://github.com/prometheus/client_golang/pull/1980)
- examples: add native histogram usage example by [@​thegdsks](https://github.com/thegdsks) in [#​1981](https://github.com/prometheus/client_golang/pull/1981)
- chore(ci): add macOS, Windows and arm64 test runners by [@​kakkoyun](https://github.com/kakkoyun) in [#​1968](https://github.com/prometheus/client_golang/pull/1968)
- prometheus: honor PidFn on windows and darwin by [@​Retr0-XD](https://github.com/Retr0-XD) in [#​1966](https://github.com/prometheus/client_golang/pull/1966)
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in [#​1984](https://github.com/prometheus/client_golang/pull/1984)
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in [#​1985](https://github.com/prometheus/client_golang/pull/1985)
- promhttp: implement WithXFromContext in terms of WithXFromRequest by [@​tie](https://github.com/tie) in [#​1863](https://github.com/prometheus/client_golang/pull/1863)
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in [#​1988](https://github.com/prometheus/client_golang/pull/1988)
- Fix bug unit cpu-seconds not a suffix of metric go_cpu_classes_gc_mark_assist_cpu_seconds by [@​vesari](https://github.com/vesari) in [#​1991](https://github.com/prometheus/client_golang/pull/1991)
- build(deps): bump golang.org/x/sys from 0.42.0 to 0.43.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1993](https://github.com/prometheus/client_golang/pull/1993)
- build(deps): bump github.com/klauspost/compress from 1.18.5 to 1.18.6 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1992](https://github.com/prometheus/client_golang/pull/1992)
- build(deps): bump github.com/klauspost/compress from 1.18.5 to 1.18.6 in /exp by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1995](https://github.com/prometheus/client_golang/pull/1995)
- exp/api/remote: limit request body size in SnappyDecodeMiddleware by [@​roidelapluie](https://github.com/roidelapluie) in [#​1996](https://github.com/prometheus/client_golang/pull/1996)
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in [#​2001](https://github.com/prometheus/client_golang/pull/2001)
- build(deps): bump the github-actions group across 1 directory with 4 updates by [@​dependabot](https://github.com/dependabot)\[bot] in [#​1994](https://github.com/prometheus/client_golang/pull/1994)
- ci(update-go-versions): declare permissions for the monthly chore PR by [@​arpitjain099](https://github.com/arpitjain099) in [#​2003](https://github.com/prometheus/client_golang/pull/2003)
- docs: fix godoc indentation and typos in timer.go and wrap.go by [@​immanuwell](https://github.com/immanuwell) in [#​2009](https://github.com/prometheus/client_golang/pull/2009)
- ci: harden actions/checkout with persist-credentials: false by [@​roidelapluie](https://github.com/roidelapluie) in [#​2011](https://github.com/prometheus/client_golang/pull/2011)
- fix(registry): prevent file descriptor leak in WriteToTextfile by [@​ProjectMutilation](https://github.com/ProjectMutilation) in [#​2010](https://github.com/prometheus/client_golang/pull/2010)
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in [#​2008](https://github.com/prometheus/client_golang/pull/2008)
- promhttp: add regression test for concurrent map writes ([#​1274](https://github.com/prometheus/client_golang/issues/1274)) by [@​pedrampdd](https://github.com/pedrampdd) in [#​2000](https://github.com/prometheus/client_golang/pull/2000)
- build(deps): bump github.com/prometheus/common from 0.67.6-0.20260224092343-e4c38a0aea47 to 0.68.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2015](https://github.com/prometheus/client_golang/pull/2015)
- build(deps): bump the github-actions group with 2 updates by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2016](https://github.com/prometheus/client_golang/pull/2016)
- build(deps): bump golang.org/x/sys from 0.43.0 to 0.45.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2014](https://github.com/prometheus/client_golang/pull/2014)
- build(deps): bump github.com/prometheus/common from 0.67.5 to 0.68.0 in /exp by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2017](https://github.com/prometheus/client_golang/pull/2017)
- promhttp: fix grammar in exemplar option doc comments by [@​s3onghyun](https://github.com/s3onghyun) in [#​2023](https://github.com/prometheus/client_golang/pull/2023)
- fix: use keyed fields in SamplePair struct literals in api_test.go by [@​immanuwell](https://github.com/immanuwell) in [#​2012](https://github.com/prometheus/client_golang/pull/2012)
- refactor: replace interface{} with any (Go 1.18+) by [@​MD-Mushfiqur123](https://github.com/MD-Mushfiqur123) in [#​2021](https://github.com/prometheus/client_golang/pull/2021)
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in [#​2013](https://github.com/prometheus/client_golang/pull/2013)
- build(deps): bump github.com/prometheus/common from 0.68.0 to 0.69.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2025](https://github.com/prometheus/client_golang/pull/2025)
- build(deps): bump github.com/prometheus/common from 0.68.0 to 0.69.0 in /exp by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2027](https://github.com/prometheus/client_golang/pull/2027)
- build(deps): bump golang.org/x/sys from 0.45.0 to 0.46.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2026](https://github.com/prometheus/client_golang/pull/2026)
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in [#​2028](https://github.com/prometheus/client_golang/pull/2028)
- build(deps): bump github.com/prometheus/procfs from 0.20.1 to 0.21.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2033](https://github.com/prometheus/client_golang/pull/2033)
- build(deps): bump github.com/klauspost/compress from 1.18.6 to 1.18.7 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2036](https://github.com/prometheus/client_golang/pull/2036)
- build(deps): bump github.com/prometheus/procfs from 0.21.0 to 0.21.1 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2035](https://github.com/prometheus/client_golang/pull/2035)
- build(deps): bump github.com/klauspost/compress from 1.18.6 to 1.18.7 in /exp by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2038](https://github.com/prometheus/client_golang/pull/2038)
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in [#​2041](https://github.com/prometheus/client_golang/pull/2041)
- fix(api): fall back to GET on forbidden POSTs by [@​immanuwell](https://github.com/immanuwell) in [#​2030](https://github.com/prometheus/client_golang/pull/2030)
- build(deps): bump golang.org/x/net from 0.48.0 to 0.55.0 in /tutorials/whatsup by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2042](https://github.com/prometheus/client_golang/pull/2042)
- build(deps): bump the github-actions group across 1 directory with 5 updates by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2043](https://github.com/prometheus/client_golang/pull/2043)
- chores: remove example Dockerfile and container_description.yaml by [@​bwplotka](https://github.com/bwplotka) in [#​2044](https://github.com/prometheus/client_golang/pull/2044)
- Update dependabot config by [@​SuperQ](https://github.com/SuperQ) in [#​2046](https://github.com/prometheus/client_golang/pull/2046)
- build(deps): bump github.com/klauspost/compress from 1.18.7 to 1.19.0 in /exp by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2048](https://github.com/prometheus/client_golang/pull/2048)
- build(deps): bump github.com/klauspost/compress from 1.18.7 to 1.19.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​2047](https://github.com/prometheus/client_golang/pull/2047)
- promhttp: don't panic when instrumenting with non-exemplar observers by [@​spor3006](https://github.com/spor3006) in [#​2005](https://github.com/prometheus/client_golang/pull/2005)
- Replace deprecated model.NameValidationScheme with explicit UTF8Validation by [@​kakkoyun](https://github.com/kakkoyun) in [#​2051](https://github.com/prometheus/client_golang/pull/2051)
- test: fix two flaky tests (darwin start_time regex, memstats HeapReleased drift) by [@​kakkoyun](https://github.com/kakkoyun) in [#​2050](https://github.com/prometheus/client_golang/pull/2050)
- fix: correct typos in comments and test error messages by [@​maxtaran2010](https://github.com/maxtaran2010) in [#​2049](https://github.com/prometheus/client_golang/pull/2049)
- examples: improve simple main.go example by [@​dhanudhanushree](https://github.com/dhanudhanushree) in [#​1999](https://github.com/prometheus/client_golang/pull/1999)
- Synchronize common files from prometheus/prometheus by [@​prombot](https://github.com/prombot) in [#​2055](https://github.com/prometheus/client_golang/pull/2055)
- feat(promhttp): add CoalesceGather option to deduplicate concurrent Gather calls by [@​kakkoyun](https://github.com/kakkoyun) in [#​1969](https://github.com/prometheus/client_golang/pull/1969)
- build(deps): update all Go dependencies in all go.mod files by [@​bwplotka](https://github.com/bwplotka) in [#​2059](https://github.com/prometheus/client_golang/pull/2059)
- Cut v1.24.0-rc.0 by [@​bwplotka](https://github.com/bwplotka) in [#​2058](https://github.com/prometheus/client_golang/pull/2058)
</details>
#### New Contributors
* @​xieyuschen made their first contribution in https://github.com/prometheus/client_golang/pull/1844
* @​torrca made their first contribution in https://github.com/prometheus/client_golang/pull/1849
* @​yshngg made their first contribution in https://github.com/prometheus/client_golang/pull/1850
* @​jotak made their first contribution in https://github.com/prometheus/client_golang/pull/1843
* @​SungJin1212 made their first contribution in https://github.com/prometheus/client_golang/pull/1878
* @​github-actions[bot] made their first contribution in https://github.com/prometheus/client_golang/pull/1864
* @​pipiland2612 made their first contribution in https://github.com/prometheus/client_golang/pull/1888
* @​fpetkovski made their first contribution in https://github.com/prometheus/client_golang/pull/1889
* @​karthikkondapally made their first contribution in https://github.com/prometheus/client_golang/pull/1885
* @​tjhop made their first contribution in https://github.com/prometheus/client_golang/pull/1896
* @​duricanikolic made their first contribution in https://github.com/prometheus/client_golang/pull/1902
* @​makasim made their first contribution in https://github.com/prometheus/client_golang/pull/1917
* @​kgeckhart made their first contribution in https://github.com/prometheus/client_golang/pull/1927
* @​90ashish made their first contribution in https://github.com/prometheus/client_golang/pull/1929
* @​manute made their first contribution in https://github.com/prometheus/client_golang/pull/1950
* @​Saflaski made their first contribution in https://github.com/prometheus/client_golang/pull/1961
* @​Retr0-XD made their first contribution in https://github.com/prometheus/client_golang/pull/1967
* @​pedrampdd made their first contribution in https://github.com/prometheus/client_golang/pull/1971
* @​thegdsks made their first contribution in https://github.com/prometheus/client_golang/pull/1981
* @​tie made their first contribution in https://github.com/prometheus/client_golang/pull/1863
* @​arpitjain099 made their first contribution in https://github.com/prometheus/client_golang/pull/2003
* @​immanuwell made their first contribution in https://github.com/prometheus/client_golang/pull/2009
* @​ProjectMutilation made their first contribution in https://github.com/prometheus/client_golang/pull/2010
* @​s3onghyun made their first contribution in https://github.com/prometheus/client_golang/pull/2023
* @​MD-Mushfiqur123 made their first contribution in https://github.com/prometheus/client_golang/pull/2021
* @​spor3006 made their first contribution in https://github.com/prometheus/client_golang/pull/2005
* @​maxtaran2010 made their first contribution in https://github.com/prometheus/client_golang/pull/2049
* @​dhanudhanushree made their first contribution in https://github.com/prometheus/client_golang/pull/1999
**Full Changelog**: <https://github.com/prometheus/client_golang/compare/v1.23.2...v1.24.0>
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC41MC4xIiwidXBkYXRlZEluVmVyIjoiNDQuMTQ2LjIiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyIsInJlbm92YXRlIl19-->
renovate-bot
changed title from chore(deps): Update module github.com/prometheus/client_golang to v1.24.1 to chore(deps): Update module github.com/prometheus/client_golang to v1.25.02026-10-08 14:01:36 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
v1.23.2→v1.25.0Release Notes
prometheus/client_golang (github.com/prometheus/client_golang)
v1.25.0Compare Source
⚠️ This release raises the minimum required Go version to 1.26 and includes breaking API changes in
api/prometheus/v1(see the [CHANGE] entries below). ⚠️1.25.0 / 2026-10-07
Query,QueryRange,Series,LabelNames, andLabelValuesnow returnInfosannotations in addition toWarnings, matching the Prometheus server's info annotations. This changes the signatures of these methods and ofapi.Client'sDo/DoGetFallback; custom API client implementations must be updated. #1963TSDBBlocksresult types to align with the Prometheus server'stsdb.BlockMeta:TSDBBlocksResultnow containsBlocks []TSDBBlockMetadirectly instead of mirroring the full API envelope, nested types are renamed (TSDBBlockMeta,TSDBBlockStats,TSDBBlockMetaCompaction), stat fields areuint64withomitemptytags, and the optional compactionparentsfield is included. #1928GatherAndFormatto encode a subset of metrics from a Gatherer. #2091HandlerOpts.AcceptedFormatsto customize the formats negotiated from the incomingAcceptheader, enabling opt-in to experimental formats such as OpenMetrics 2.0 without changing default negotiation. #2146Varyheader. #2142GatherAndFormatandCollectAndFormat(terminating# EOF). #2125:fooargument no longer substitutes inside:foobar. #2136What's changed
What's Changed
New Contributors
Full Changelog: https://github.com/prometheus/client_golang/compare/v1.24.1...v1.25.0
v1.24.1: / 2026-07-23Compare Source
Small bugfix release for promhttp.
What's Changed
[BUGFIX] promhttp: Fix panic on requests with nil URL. #2065
Full Changelog: https://github.com/prometheus/client_golang/compare/v1.24.0...v1.24.1
v1.24.0: - 2026-07-20Compare Source
Changes
model.NameValidationSchemeglobal. Default behavior is unchanged; code that setNameValidationScheme = LegacyValidationno longer gets legacy enforcement at metric, label, and push-grouping construction. #2051matches[]parameter) inRulesmethod (Rules(ctx context.Context, matches []string) (RulesResult, error)). #1843LabelNamesmethod to returnmodel.LabelNamesinstead of[]stringfor consistency across the API. #1850Storeinterface, renameHandlertoWriteHandler, and encapsulate write response handling. #1855/sched/goroutines-created:goroutines,/sched/goroutines/not-in-go:goroutines,/sched/goroutines/runnable:goroutines,/sched/goroutines/running:goroutines,/sched/goroutines/waiting:goroutines,/sched/threads/total:threads). #1942WithUnit(unit string)option and explicit OpenMetrics unit support inCounterOpts,GaugeOpts,SummaryOpts, andHistogramOpts. #1392Err()method onDesc. #1902HandlerOpts.CoalesceGatherto deduplicate concurrentGathercalls so overlapping scrapes share one collection cycle, preventing goroutine pile-up when the scrape rate outpaces collection time. #1969promhttppackage now support metrics filtering by providing one or morename[]query parameters. The default behavior when none are provided remains the same, returning all metrics. #1925/format_query) andFormatQuery(ctx context.Context, query string) (string, error)method. #1846, #1856/status/tsdb/blocksendpoint viaTSDBBlocks(ctx context.Context) ([]TSDBBlock, error)method. #1896BackoffConfigto allow customization when usingWithAPIBackoff. #1895RetryCallBackto allow custom logging or handling on retry attempts in the remote write client. #1888, #1890http.DefaultTransportwhen constructing default HTTP clients to prevent accidental mutations of shared global transport state. #1885Gather()and return an error instead of crashing the process. #1961cpu-secondsunit suffix handling for metricgo_cpu_classes_gc_mark_assist_cpu_seconds. #1991InstrumentHandlerDurationandInstrumentHandlerCounterno longer panic when given an observer/counter that does not implementExemplarObserver/ExemplarAdder(e.g. aSummaryVec). The exemplar is dropped and the value is recorded via the plainObserve/Addpath, matching the safe-cast already used byTimer.ObserveDurationWithExemplar. #2005GETrequests whenPOSTrequests return403 Forbiddenor method not allowed. #2030httpClient.Do. #1971All commits
/status/tsdb/blocksendpoint by @tjhop in #1896/metricshandler output filtering vianame[]query param by @colega in #1925New Contributors
Full Changelog: https://github.com/prometheus/client_golang/compare/v1.23.2...v1.24.0
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.
ℹ️ Artifact update notice
File name: go.mod
In order to perform the update(s) described in the table above, Renovate ran the
go getcommand, which resulted in the following additional change(s):godirective was updated for compatibility reasonsDetails:
go1.23.0->1.26.0github.com/klauspost/compressv1.18.0->v1.20.1github.com/nats-io/nkeysv0.4.7->v0.4.16github.com/prometheus/client_modelv0.6.2->v0.6.3github.com/prometheus/commonv0.66.1->v0.72.0github.com/prometheus/procfsv0.16.1->v0.22.0go.yaml.in/yaml/v2v2.4.2->v2.4.4golang.org/x/cryptov0.18.0->v0.57.0golang.org/x/sysv0.35.0->v0.48.0google.golang.org/protobufv1.36.8->v1.36.12888d61d4e5tob68e7079c5b68e7079c5tobdb1660bbbbdb1660bbbto4a50c20a55chore(deps): Update module github.com/prometheus/client_golang to v1.24.1to chore(deps): Update module github.com/prometheus/client_golang to v1.25.04a50c20a55toad11410580View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.