Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package golang-github-prometheus-prometheus
for openSUSE:Factory checked in at 2025-12-30 12:00:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/golang-github-prometheus-prometheus (Old)
and
/work/SRC/openSUSE:Factory/.golang-github-prometheus-prometheus.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "golang-github-prometheus-prometheus"
Tue Dec 30 12:00:23 2025 rev:65 rq:1324659 version:3.8.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/golang-github-prometheus-prometheus/golang-github-prometheus-prometheus.changes
2025-12-10 15:31:06.639720564 +0100
+++
/work/SRC/openSUSE:Factory/.golang-github-prometheus-prometheus.new.1928/golang-github-prometheus-prometheus.changes
2025-12-30 12:00:37.277193609 +0100
@@ -1,0 +2,8 @@
+Wed Dec 17 06:55:02 UTC 2025 - Johannes Kastl
<[email protected]>
+
+- update to 3.8.1:
+ * [BUGFIX] remote: Fix Remote Write receiver, so it does not send
+ wrong response headers for v1 flow and cause Prometheus senders
+ to emit false partial error log and metrics. #17683
+
+-------------------------------------------------------------------
Old:
----
prometheus-3.8.0.obscpio
New:
----
prometheus-3.8.1.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ golang-github-prometheus-prometheus.spec ++++++
--- /var/tmp/diff_new_pack.aqf6r3/_old 2025-12-30 12:00:43.281440245 +0100
+++ /var/tmp/diff_new_pack.aqf6r3/_new 2025-12-30 12:00:43.285440410 +0100
@@ -27,7 +27,7 @@
%endif
Name: golang-github-prometheus-prometheus
-Version: 3.8.0
+Version: 3.8.1
Release: 0
Summary: The Prometheus monitoring system and time series database
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.aqf6r3/_old 2025-12-30 12:00:43.381444353 +0100
+++ /var/tmp/diff_new_pack.aqf6r3/_new 2025-12-30 12:00:43.385444518 +0100
@@ -4,7 +4,7 @@
<param name="scm">git</param>
<param name="exclude">.git</param>
<param name="versionformat">@PARENT_TAG@</param>
- <param name="revision">v3.8.0</param>
+ <param name="revision">v3.8.1</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="match-tag">v3*</param>
</service>
++++++ node_modules.obscpio ++++++
/work/SRC/openSUSE:Factory/golang-github-prometheus-prometheus/node_modules.obscpio
/work/SRC/openSUSE:Factory/.golang-github-prometheus-prometheus.new.1928/node_modules.obscpio
differ: char 2490560, line 9651
++++++ node_modules.spec.inc ++++++
++++ 822 lines (skipped)
++++ between
/work/SRC/openSUSE:Factory/golang-github-prometheus-prometheus/node_modules.spec.inc
++++ and
/work/SRC/openSUSE:Factory/.golang-github-prometheus-prometheus.new.1928/node_modules.spec.inc
++++++ package-lock.json ++++++
++++ 1038 lines (skipped)
++++ between
/work/SRC/openSUSE:Factory/golang-github-prometheus-prometheus/package-lock.json
++++ and
/work/SRC/openSUSE:Factory/.golang-github-prometheus-prometheus.new.1928/package-lock.json
++++++ prometheus-3.8.0.obscpio -> prometheus-3.8.1.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/prometheus-3.8.0/CHANGELOG.md
new/prometheus-3.8.1/CHANGELOG.md
--- old/prometheus-3.8.0/CHANGELOG.md 2025-12-02 09:53:55.000000000 +0100
+++ new/prometheus-3.8.1/CHANGELOG.md 2025-12-16 09:21:17.000000000 +0100
@@ -2,9 +2,13 @@
## main / unreleased
+## 3.8.1 / 2025-12-16
+
+* [BUGFIX] remote: Fix Remote Write receiver, so it does not send wrong
response headers for v1 flow and cause Prometheus senders to emit false partial
error log and metrics. #17683
+
## 3.8.0 / 2025-11-28
-* [CHANGE] Remote-write 2 (receiving): Update to [2.0-rc.4
spec](https://github.com/prometheus/docs/blob/60c24e450010df38cfcb4f65df874f6f9b26dbcb/docs/specs/prw/remote_write_spec_2_0.md).
"created timestamp" (CT) is now called "start timestamp" (ST). #17411
+* [CHANGE] remote: Update Remote Write receiving to [2.0-rc.4
spec](https://github.com/prometheus/docs/blob/60c24e450010df38cfcb4f65df874f6f9b26dbcb/docs/specs/prw/remote_write_spec_2_0.md).
"created timestamp" (CT) is now called "start timestamp" (ST). #17411
* [CHANGE] TSDB: Native Histogram Custom Bounds with a NaN threshold are now
rejected. #17287
* [FEATURE] OAuth2: support jwt-bearer grant-type (RFC7523 3.1). #17592
* [FEATURE] Dockerfile: Add OpenContainers spec labels to Dockerfile. #16483
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/prometheus-3.8.0/VERSION new/prometheus-3.8.1/VERSION
--- old/prometheus-3.8.0/VERSION 2025-12-02 09:53:55.000000000 +0100
+++ new/prometheus-3.8.1/VERSION 2025-12-16 09:21:17.000000000 +0100
@@ -1 +1 @@
-3.8.0
+3.8.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/prometheus-3.8.0/go.mod new/prometheus-3.8.1/go.mod
--- old/prometheus-3.8.0/go.mod 2025-12-02 09:53:55.000000000 +0100
+++ new/prometheus-3.8.1/go.mod 2025-12-16 09:21:17.000000000 +0100
@@ -43,7 +43,7 @@
github.com/hetznercloud/hcloud-go/v2 v2.29.0
github.com/ionos-cloud/sdk-go/v6 v6.3.4
github.com/json-iterator/go v1.1.12
- github.com/klauspost/compress v1.18.1
+ github.com/klauspost/compress v1.18.2
github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b
github.com/linode/linodego v1.60.0
github.com/miekg/dns v1.1.68
@@ -56,7 +56,7 @@
github.com/ovh/go-ovh v1.9.0
github.com/prometheus/alertmanager v0.28.1
github.com/prometheus/client_golang v1.23.2
- github.com/prometheus/client_golang/exp
v0.0.0-20250914183048-a974e0d45e0a
+ github.com/prometheus/client_golang/exp
v0.0.0-20251212205219-7ba246a648ca
github.com/prometheus/client_model v0.6.2
github.com/prometheus/common v0.67.4
github.com/prometheus/common/assets v0.2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/prometheus-3.8.0/go.sum new/prometheus-3.8.1/go.sum
--- old/prometheus-3.8.0/go.sum 2025-12-02 09:53:55.000000000 +0100
+++ new/prometheus-3.8.1/go.sum 2025-12-16 09:21:17.000000000 +0100
@@ -302,8 +302,8 @@
github.com/keybase/go-keychain v0.0.1/go.mod
h1:PdEILRW3i9D8JcdM+FmY6RwkHGnhHxXwkPPMeUgOK1k=
github.com/kisielk/errcheck v1.5.0/go.mod
h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod
h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
-github.com/klauspost/compress v1.18.1
h1:bcSGx7UbpBqMChDtsF28Lw6v/G94LPrrbMbdC3JH2co=
-github.com/klauspost/compress v1.18.1/go.mod
h1:ZQFFVG+MdnR0P+l6wpXgIL4NTtwiKIdBnrBd8Nrxr+0=
+github.com/klauspost/compress v1.18.2
h1:iiPHWW0YrcFgpBYhsA6D1+fqHssJscY/Tm/y2Uqnapk=
+github.com/klauspost/compress v1.18.2/go.mod
h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4=
github.com/knadh/koanf/maps v0.1.2
h1:RBfmAW5CnZT+PJ1CVc1QSJKf4Xu9kxfQgYVQSu8hpbo=
github.com/knadh/koanf/maps v0.1.2/go.mod
h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI=
github.com/knadh/koanf/providers/confmap v1.0.0
h1:mHKLJTE7iXEys6deO5p6olAiZdG5zwp8Aebir+/EaRE=
@@ -438,8 +438,8 @@
github.com/prometheus/client_golang v1.4.0/go.mod
h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU=
github.com/prometheus/client_golang v1.23.2
h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h0RJWRi/o0o=
github.com/prometheus/client_golang v1.23.2/go.mod
h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg=
-github.com/prometheus/client_golang/exp v0.0.0-20250914183048-a974e0d45e0a
h1:RF1vfKM34/3DbGNis22BGd6sDDY3XBi0eM7pYqmOEO0=
-github.com/prometheus/client_golang/exp
v0.0.0-20250914183048-a974e0d45e0a/go.mod
h1:FGJuwvfcPY0V5enm+w8zF1RNS062yugQtPPQp1c4Io4=
+github.com/prometheus/client_golang/exp v0.0.0-20251212205219-7ba246a648ca
h1:BOxmsLoL2ymn8lXJtorca7N/m+2vDQUDoEtPjf0iAxA=
+github.com/prometheus/client_golang/exp
v0.0.0-20251212205219-7ba246a648ca/go.mod
h1:gndBHh3ZdjBozGcGrjUYjN3UJLRS3l2drALtu4lUt+k=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod
h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod
h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.2.0/go.mod
h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/prometheus-3.8.0/storage/remote/client.go
new/prometheus-3.8.1/storage/remote/client.go
--- old/prometheus-3.8.0/storage/remote/client.go 2025-12-02
09:53:55.000000000 +0100
+++ new/prometheus-3.8.1/storage/remote/client.go 2025-12-16
09:21:17.000000000 +0100
@@ -301,6 +301,9 @@
_ = httpResp.Body.Close()
}()
+ // NOTE(bwplotka): Only PRW2 spec defines response HTTP headers.
However, spec does not block
+ // PRW1 from sending them too for reliability. Support this case.
+ //
// TODO(bwplotka): Pass logger and emit debug on error?
// Parsing error means there were some response header values we can't
parse,
// we can continue handling.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/prometheus-3.8.0/storage/remote/write_handler.go
new/prometheus-3.8.1/storage/remote/write_handler.go
--- old/prometheus-3.8.0/storage/remote/write_handler.go 2025-12-02
09:53:55.000000000 +0100
+++ new/prometheus-3.8.1/storage/remote/write_handler.go 2025-12-16
09:21:17.000000000 +0100
@@ -96,6 +96,10 @@
}
// Store implements remoteapi.writeStorage interface.
+// TODO(bwplotka): Improve remoteapi.Store API. Right now it's confusing if
PRWv1 flows should use WriteResponse or not.
+// If it's not filled, it will be "confirmed zero" which caused partial error
reporting on client side in the past.
+// Temporary fix was done to only care about WriteResponse stats for PRW2 (see
https://github.com/prometheus/client_golang/pull/1927
+// but better approach would be to only confirm if explicit stats were
injected.
func (h *writeHandler) Store(r *http.Request, msgType
remoteapi.WriteMessageType) (*remoteapi.WriteResponse, error) {
// Store receives request with decompressed content in body.
body, err := io.ReadAll(r.Body)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/prometheus-3.8.0/storage/remote/write_handler_test.go
new/prometheus-3.8.1/storage/remote/write_handler_test.go
--- old/prometheus-3.8.0/storage/remote/write_handler_test.go 2025-12-02
09:53:55.000000000 +0100
+++ new/prometheus-3.8.1/storage/remote/write_handler_test.go 2025-12-16
09:21:17.000000000 +0100
@@ -1510,3 +1510,74 @@
})
}
}
+
+// Regression test for https://github.com/prometheus/prometheus/issues/17659
+func TestRemoteWriteHandler_ResponseStats(t *testing.T) {
+ payloadV1, _, _, err := buildWriteRequest(nil,
writeRequestFixture.Timeseries, nil, nil, nil, nil, "snappy")
+ require.NoError(t, err)
+ payloadV2, _, _, err := buildV2WriteRequest(nil,
writeV2RequestFixture.Timeseries, writeV2RequestFixture.Symbols, nil, nil, nil,
"snappy")
+ require.NoError(t, err)
+
+ for _, tt := range []struct {
+ msgType remoteapi.WriteMessageType
+ payload []byte
+ forceInjectHeaders bool
+ expectHeaders bool
+ }{
+ {
+ msgType: remoteapi.WriteV1MessageType,
+ payload: payloadV1,
+ },
+ {
+ msgType: remoteapi.WriteV1MessageType,
+ payload: payloadV1,
+ forceInjectHeaders: true,
+ expectHeaders: true,
+ },
+ {
+ msgType: remoteapi.WriteV2MessageType,
+ payload: payloadV2,
+ expectHeaders: true,
+ },
+ } {
+ t.Run(fmt.Sprintf("msg=%v/force-inject-headers=%v", tt.msgType,
tt.forceInjectHeaders), func(t *testing.T) {
+ // Setup server side.
+ appendable := &mockAppendable{}
+ handler := NewWriteHandler(
+ promslog.NewNopLogger(),
+ nil,
+ appendable,
+
[]remoteapi.WriteMessageType{remoteapi.WriteV1MessageType,
remoteapi.WriteV2MessageType},
+ false,
+ false,
+ false,
+ )
+
+ if tt.forceInjectHeaders {
+ base := handler
+ handler = http.HandlerFunc(func(w
http.ResponseWriter, r *http.Request) {
+ // Inject response header. This
simulates PRWv1 server that uses PRWv2 response headers
+ // for confirmation of samples. This is
not against spec and we support it.
+
w.Header().Set(rw20WrittenSamplesHeader, "2")
+
+ base.ServeHTTP(w, r)
+ })
+ }
+
+ srv := httptest.NewServer(handler)
+
+ // Send message and do the parse response flow.
+ c := &Client{Client: srv.Client(), urlString: srv.URL,
timeout: 5 * time.Minute, writeProtoMsg: tt.msgType}
+
+ stats, err := c.Store(t.Context(), tt.payload, 0)
+ require.NoError(t, err)
+
+ if tt.expectHeaders {
+ require.True(t, stats.Confirmed)
+ require.Equal(t, len(appendable.samples),
stats.Samples)
+ } else {
+ require.False(t, stats.Confirmed)
+ }
+ })
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/prometheus-3.8.0/web/ui/mantine-ui/package.json
new/prometheus-3.8.1/web/ui/mantine-ui/package.json
--- old/prometheus-3.8.0/web/ui/mantine-ui/package.json 2025-12-02
09:53:55.000000000 +0100
+++ new/prometheus-3.8.1/web/ui/mantine-ui/package.json 2025-12-16
09:21:17.000000000 +0100
@@ -1,7 +1,7 @@
{
"name": "@prometheus-io/mantine-ui",
"private": true,
- "version": "0.308.0",
+ "version": "0.308.1",
"type": "module",
"scripts": {
"start": "vite",
@@ -28,7 +28,7 @@
"@microsoft/fetch-event-source": "^2.0.1",
"@nexucis/fuzzy": "^0.5.1",
"@nexucis/kvsearch": "^0.9.1",
- "@prometheus-io/codemirror-promql": "0.308.0",
+ "@prometheus-io/codemirror-promql": "0.308.1",
"@reduxjs/toolkit": "^2.10.1",
"@tabler/icons-react": "^3.35.0",
"@tanstack/react-query": "^5.90.7",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/prometheus-3.8.0/web/ui/module/codemirror-promql/package.json
new/prometheus-3.8.1/web/ui/module/codemirror-promql/package.json
--- old/prometheus-3.8.0/web/ui/module/codemirror-promql/package.json
2025-12-02 09:53:55.000000000 +0100
+++ new/prometheus-3.8.1/web/ui/module/codemirror-promql/package.json
2025-12-16 09:21:17.000000000 +0100
@@ -1,6 +1,6 @@
{
"name": "@prometheus-io/codemirror-promql",
- "version": "0.308.0",
+ "version": "0.308.1",
"description": "a CodeMirror mode for the PromQL language",
"types": "dist/esm/index.d.ts",
"module": "dist/esm/index.js",
@@ -29,7 +29,7 @@
},
"homepage":
"https://github.com/prometheus/prometheus/blob/main/web/ui/module/codemirror-promql/README.md",
"dependencies": {
- "@prometheus-io/lezer-promql": "0.308.0",
+ "@prometheus-io/lezer-promql": "0.308.1",
"lru-cache": "^11.2.2"
},
"devDependencies": {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/prometheus-3.8.0/web/ui/module/lezer-promql/package.json
new/prometheus-3.8.1/web/ui/module/lezer-promql/package.json
--- old/prometheus-3.8.0/web/ui/module/lezer-promql/package.json
2025-12-02 09:53:55.000000000 +0100
+++ new/prometheus-3.8.1/web/ui/module/lezer-promql/package.json
2025-12-16 09:21:17.000000000 +0100
@@ -1,6 +1,6 @@
{
"name": "@prometheus-io/lezer-promql",
- "version": "0.308.0",
+ "version": "0.308.1",
"description": "lezer-based PromQL grammar",
"main": "dist/index.cjs",
"type": "module",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/prometheus-3.8.0/web/ui/package-lock.json
new/prometheus-3.8.1/web/ui/package-lock.json
--- old/prometheus-3.8.0/web/ui/package-lock.json 2025-12-02
09:53:55.000000000 +0100
+++ new/prometheus-3.8.1/web/ui/package-lock.json 2025-12-16
09:21:17.000000000 +0100
@@ -1,12 +1,12 @@
{
"name": "prometheus-io",
- "version": "0.308.0",
+ "version": "0.308.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "prometheus-io",
- "version": "0.308.0",
+ "version": "0.308.1",
"workspaces": [
"mantine-ui",
"module/*"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/prometheus-3.8.0/web/ui/package.json
new/prometheus-3.8.1/web/ui/package.json
--- old/prometheus-3.8.0/web/ui/package.json 2025-12-02 09:53:55.000000000
+0100
+++ new/prometheus-3.8.1/web/ui/package.json 2025-12-16 09:21:17.000000000
+0100
@@ -1,7 +1,7 @@
{
"name": "prometheus-io",
"description": "Monorepo for the Prometheus UI",
- "version": "0.308.0",
+ "version": "0.308.1",
"private": true,
"scripts": {
"build": "bash build_ui.sh --all",
++++++ prometheus.obsinfo ++++++
--- /var/tmp/diff_new_pack.aqf6r3/_old 2025-12-30 12:00:45.577534562 +0100
+++ /var/tmp/diff_new_pack.aqf6r3/_new 2025-12-30 12:00:45.593535220 +0100
@@ -1,5 +1,5 @@
name: prometheus
-version: 3.8.0
-mtime: 1764665635
-commit: e44ed351cdf0181f9fde56ba096f4d949f9e295d
+version: 3.8.1
+mtime: 1765873277
+commit: ed753444ffec98097399d0cfa9073c70a840b812
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/golang-github-prometheus-prometheus/vendor.tar.gz
/work/SRC/openSUSE:Factory/.golang-github-prometheus-prometheus.new.1928/vendor.tar.gz
differ: char 133, line 2