Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package 
golang-github-prometheus-alertmanager for openSUSE:Factory checked in at 
2026-07-06 12:34:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/golang-github-prometheus-alertmanager (Old)
 and      
/work/SRC/openSUSE:Factory/.golang-github-prometheus-alertmanager.new.1982 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "golang-github-prometheus-alertmanager"

Mon Jul  6 12:34:53 2026 rev:37 rq:1363971 version:0.33.1

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/golang-github-prometheus-alertmanager/golang-github-prometheus-alertmanager.changes
      2026-06-15 19:50:02.043997908 +0200
+++ 
/work/SRC/openSUSE:Factory/.golang-github-prometheus-alertmanager.new.1982/golang-github-prometheus-alertmanager.changes
    2026-07-06 12:37:34.350331747 +0200
@@ -1,0 +2,13 @@
+Mon Jul  6 05:30:08 UTC 2026 - Johannes Kastl 
<[email protected]>
+
+- update to 0.33.1:
+  * [BUGFIX] doc: fix missing notification_reason field in webhook
+    documentation (#5329)
+  * [BUGFIX] silences: fix silences snapshot missing legacy
+    matchers field. This caused a bug that prevented older
+    alertmanager versions from reading newer snapshots
+    unnecessarily. (#5330)
+  * [BUGFIX] silence with no matchers should populate an empty
+    array in API response (#5331)
+
+-------------------------------------------------------------------

Old:
----
  alertmanager-0.33.0.tar.gz
  ui-0.33.0.tar.gz

New:
----
  alertmanager-0.33.1.tar.gz
  ui-0.33.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ golang-github-prometheus-alertmanager.spec ++++++
--- /var/tmp/diff_new_pack.75S7md/_old  2026-07-06 12:37:35.130358850 +0200
+++ /var/tmp/diff_new_pack.75S7md/_new  2026-07-06 12:37:35.134358990 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           golang-github-prometheus-alertmanager
-Version:        0.33.0
+Version:        0.33.1
 Release:        0
 Summary:        Prometheus Alertmanager
 License:        Apache-2.0

++++++ alertmanager-0.33.0.tar.gz -> alertmanager-0.33.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/alertmanager-0.33.0/.github/workflows/build-release-branch.yml 
new/alertmanager-0.33.1/.github/workflows/build-release-branch.yml
--- old/alertmanager-0.33.0/.github/workflows/build-release-branch.yml  
1970-01-01 01:00:00.000000000 +0100
+++ new/alertmanager-0.33.1/.github/workflows/build-release-branch.yml  
2026-07-04 21:04:39.000000000 +0200
@@ -0,0 +1,27 @@
+---
+name: Build release branch
+on:  # yamllint disable-line rule:truthy
+  push:
+    branches:
+      - release-*
+  workflow_dispatch:
+permissions:
+  contents: read
+
+jobs:
+  ci:
+    name: Run ci
+    uses: ./.github/workflows/ci.yml
+
+  build:
+    name: Build Alertmanager for all architectures
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        thread: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
+    needs: ci
+    steps:
+      - uses: prometheus/promci/build@13941414d409d227afd67544e5d306827db5a1a2 
# v0.8.5
+        with:
+          parallelism: 12
+          thread: ${{ matrix.thread }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alertmanager-0.33.0/CHANGELOG.md 
new/alertmanager-0.33.1/CHANGELOG.md
--- old/alertmanager-0.33.0/CHANGELOG.md        2026-06-12 17:28:35.000000000 
+0200
+++ new/alertmanager-0.33.1/CHANGELOG.md        2026-07-04 21:04:39.000000000 
+0200
@@ -4,6 +4,18 @@
 * [FEATURE] ...
 * [ENHANCEMENT] ...
 
+## 0.33.1 / 2026-07-04
+
+* [BUGFIX] doc: fix missing `notification_reason` field in webhook 
documentation (#5329)
+* [BUGFIX] silences: fix silences snapshot missing legacy matchers field. This 
caused a bug that prevented older alertmanager versions from reading newer 
snapshots unnecessarily. (#5330)
+* [BUGFIX] silence with no matchers should populate an empty array in API 
response (#5331)
+
+## 0.32.3 / 2026-07-04
+
+* [BUGFIX] doc: fix missing `notification_reason` field in webhook 
documentation (#5329)
+* [BUGFIX] silences: fix silences snapshot missing legacy matchers field. This 
caused a bug that prevented older alertmanager versions from reading newer 
snapshots unnecessarily. (#5330)
+* [BUGFIX] silence with no matchers should populate an empty array in API 
response (#5331)
+
 ## 0.33.0 / 2026-06-12
 
 * [CHANGE] The '--enable-feature=auto-gomaxprocs' option has been removed. 
This flag had no effect since v0.29 and was deprecated in v0.32. It can be 
safely removed from any startup scripts. #5090, #5251
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alertmanager-0.33.0/VERSION 
new/alertmanager-0.33.1/VERSION
--- old/alertmanager-0.33.0/VERSION     2026-06-12 17:28:35.000000000 +0200
+++ new/alertmanager-0.33.1/VERSION     2026-07-04 21:04:39.000000000 +0200
@@ -1 +1 @@
-0.33.0
+0.33.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alertmanager-0.33.0/api/v2/compat.go 
new/alertmanager-0.33.1/api/v2/compat.go
--- old/alertmanager-0.33.0/api/v2/compat.go    2026-06-12 17:28:35.000000000 
+0200
+++ new/alertmanager-0.33.1/api/v2/compat.go    2026-07-04 21:04:39.000000000 
+0200
@@ -38,6 +38,7 @@
                Silence: open_api_models.Silence{
                        StartsAt:    &start,
                        EndsAt:      &end,
+                       Matchers:    open_api_models.Matchers{},
                        Comment:     &s.Comment,
                        CreatedBy:   &s.CreatedBy,
                        Annotations: s.Annotations,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alertmanager-0.33.0/docs/configuration.md 
new/alertmanager-0.33.1/docs/configuration.md
--- old/alertmanager-0.33.0/docs/configuration.md       2026-06-12 
17:28:35.000000000 +0200
+++ new/alertmanager-0.33.1/docs/configuration.md       2026-07-04 
21:04:39.000000000 +0200
@@ -1944,6 +1944,7 @@
   "commonLabels": <object>,
   "commonAnnotations": <object>,
   "externalURL": <string>,           // backlink to the Alertmanager.
+  "notification_reason": <string>,   // string represent the reason this 
notification was generated
   "alerts": [
     {
       "status": "<resolved|firing>",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alertmanager-0.33.0/silence/silence.go 
new/alertmanager-0.33.1/silence/silence.go
--- old/alertmanager-0.33.0/silence/silence.go  2026-06-12 17:28:35.000000000 
+0200
+++ new/alertmanager-0.33.1/silence/silence.go  2026-07-04 21:04:39.000000000 
+0200
@@ -1359,9 +1359,11 @@
        var buf bytes.Buffer
 
        for _, e := range s {
-               if _, err := protodelim.MarshalTo(&buf, e); err != nil {
+               b, err := marshalMeshSilence(e)
+               if err != nil {
                        return nil, err
                }
+               buf.Write(b)
        }
        return buf.Bytes(), nil
 }
@@ -1392,7 +1394,9 @@
 // the first matcher set to the matchers field for backward compatibility with
 // older alertmanager versions.
 func prepareSilenceForMarshalling(sil *pb.Silence) {
-       if len(sil.MatcherSets) > 0 {
+       // The nil check is here because of rare cases where this function
+       // is called on a nil silence. It's up to the caller to decide if it's 
a bug
+       if sil != nil && len(sil.MatcherSets) > 0 {
                sil.Matchers = sil.MatcherSets[0].Matchers
        }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/alertmanager-0.33.0/silence/state_test.go 
new/alertmanager-0.33.1/silence/state_test.go
--- old/alertmanager-0.33.0/silence/state_test.go       2026-06-12 
17:28:35.000000000 +0200
+++ new/alertmanager-0.33.1/silence/state_test.go       2026-07-04 
21:04:39.000000000 +0200
@@ -13,10 +13,17 @@
 package silence
 
 import (
+       "bufio"
+       "bytes"
        "testing"
        "time"
 
        "github.com/stretchr/testify/require"
+       "google.golang.org/protobuf/encoding/protodelim"
+       "google.golang.org/protobuf/proto"
+       "google.golang.org/protobuf/types/known/timestamppb"
+
+       pb "github.com/prometheus/alertmanager/silence/silencepb"
 )
 
 func TestCurrentState(t *testing.T) {
@@ -37,3 +44,44 @@
        expected = CurrentState(pastStartTime, pastEndTime)
        require.Equal(t, SilenceStateExpired, expected)
 }
+
+// TestStateMarshalBinaryPopulatesLegacyMatchers asserts that snapshots and
+// cluster local-state payloads written by state.MarshalBinary include the
+// deprecated Silence.Matchers field, so that older Alertmanagers that don't
+// understand MatcherSets still see the silence's first matcher set.
+func TestStateMarshalBinaryPopulatesLegacyMatchers(t *testing.T) {
+       now := time.Now()
+       matchers := []*pb.Matcher{
+               {Name: "alertname", Pattern: "Foo", Type: pb.Matcher_EQUAL},
+               {Name: "severity", Pattern: "warn|crit", Type: 
pb.Matcher_REGEXP},
+       }
+       sil := &pb.Silence{
+               Id:          "abc",
+               MatcherSets: []*pb.MatcherSet{{Matchers: matchers}},
+               StartsAt:    timestamppb.New(now),
+               EndsAt:      timestamppb.New(now.Add(time.Hour)),
+       }
+       st := state{sil.Id: &pb.MeshSilence{
+               Silence:   sil,
+               ExpiresAt: timestamppb.New(now.Add(2 * time.Hour)),
+       }}
+
+       b, err := st.MarshalBinary()
+       require.NoError(t, err)
+
+       require.Nil(t, sil.Matchers, "MarshalBinary must not mutate in-memory 
silences")
+
+       // Decode directly via protodelim, bypassing decodeState — decodeState
+       // strips the legacy field, but we want to observe the on-the-wire 
shape.
+       var got pb.MeshSilence
+       require.NoError(t, 
protodelim.UnmarshalFrom(bufio.NewReader(bytes.NewReader(b)), &got))
+
+       require.Len(t, got.Silence.MatcherSets, 1)
+       require.Len(t, got.Silence.Matchers, len(matchers))
+       for i, m := range matchers {
+               require.True(t, proto.Equal(m, got.Silence.Matchers[i]),
+                       "legacy Matchers[%d] mismatch", i)
+               require.True(t, proto.Equal(m, 
got.Silence.MatcherSets[0].Matchers[i]),
+                       "MatcherSets[0].Matchers[%d] mismatch", i)
+       }
+}

++++++ ui-0.33.0.tar.gz -> ui-0.33.1.tar.gz ++++++

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/golang-github-prometheus-alertmanager/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.golang-github-prometheus-alertmanager.new.1982/vendor.tar.gz
 differ: char 12, line 1

Reply via email to