Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package etcd for openSUSE:Factory checked in at 2026-06-02 16:09:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/etcd (Old) and /work/SRC/openSUSE:Factory/.etcd.new.1937 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "etcd" Tue Jun 2 16:09:09 2026 rev:58 rq:1356663 version:3.6.12 Changes: -------- --- /work/SRC/openSUSE:Factory/etcd/etcd.changes 2026-05-04 12:57:33.547461048 +0200 +++ /work/SRC/openSUSE:Factory/.etcd.new.1937/etcd.changes 2026-06-02 16:10:43.962827282 +0200 @@ -1,0 +2,10 @@ +Tue Jun 02 09:15:20 UTC 2026 - Elisei Roca <[email protected]> + +- Update to version 3.6.12: + * server: allow non-admin maintenance status + * client/pkg/fileutil: use os.Getuid() to skip TestIsDirWriteable as root + * etcdutl: validate data file path and return consistent errors instead of panic when given non-existent paths + * bugfix: MemberUpdate implicitly and unexpectedly promotes a learner + * Bump Go to 1.25.10 + +------------------------------------------------------------------- Old: ---- etcd-3.6.11.tar.gz New: ---- etcd-3.6.12.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ etcd.spec ++++++ --- /var/tmp/diff_new_pack.yLuO2Y/_old 2026-06-02 16:10:45.718900109 +0200 +++ /var/tmp/diff_new_pack.yLuO2Y/_new 2026-06-02 16:10:45.722900275 +0200 @@ -23,7 +23,7 @@ %define _fillupdir %{_localstatedir}/adm/fillup-templates %endif Name: etcd -Version: 3.6.11 +Version: 3.6.12 Release: 0 Summary: Reliable key-value store for the most critical data of a distributed system License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.yLuO2Y/_old 2026-06-02 16:10:45.790903096 +0200 +++ /var/tmp/diff_new_pack.yLuO2Y/_new 2026-06-02 16:10:45.798903427 +0200 @@ -3,7 +3,7 @@ <param name="url">https://github.com/etcd-io/etcd.git</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">v3.6.11</param> + <param name="revision">v3.6.12</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> <param name="versionrewrite-pattern">v(.*)</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.yLuO2Y/_old 2026-06-02 16:10:45.822904423 +0200 +++ /var/tmp/diff_new_pack.yLuO2Y/_new 2026-06-02 16:10:45.826904589 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/etcd-io/etcd.git</param> - <param name="changesrevision">ec166e2292a58365c90e96fcd206b3b74938d49d</param></service></servicedata> + <param name="changesrevision">90b034a02766ab83e425f9b79262311f508dba4e</param></service></servicedata> (No newline at EOF) ++++++ etcd-3.6.11.tar.gz -> etcd-3.6.12.tar.gz ++++++ /work/SRC/openSUSE:Factory/etcd/etcd-3.6.11.tar.gz /work/SRC/openSUSE:Factory/.etcd.new.1937/etcd-3.6.12.tar.gz differ: char 12, line 1 ++++++ vendor-etcdctl.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/go.etcd.io/etcd/api/v3/version/version.go new/vendor/go.etcd.io/etcd/api/v3/version/version.go --- old/vendor/go.etcd.io/etcd/api/v3/version/version.go 2026-05-01 20:50:30.000000000 +0200 +++ new/vendor/go.etcd.io/etcd/api/v3/version/version.go 2026-06-01 22:47:35.000000000 +0200 @@ -26,7 +26,7 @@ var ( // MinClusterVersion is the min cluster version this etcd binary is compatible with. MinClusterVersion = "3.0.0" - Version = "3.6.11" + Version = "3.6.12" APIVersion = "unknown" // Git SHA Value will be set during build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/modules.txt new/vendor/modules.txt --- old/vendor/modules.txt 2026-05-01 20:50:30.000000000 +0200 +++ new/vendor/modules.txt 2026-06-01 22:47:35.000000000 +0200 @@ -66,7 +66,7 @@ github.com/stretchr/testify/assert github.com/stretchr/testify/assert/yaml github.com/stretchr/testify/require -# go.etcd.io/etcd/api/v3 v3.6.11 => ../api +# go.etcd.io/etcd/api/v3 v3.6.12 => ../api ## explicit; go 1.25.0 go.etcd.io/etcd/api/v3/authpb go.etcd.io/etcd/api/v3/etcdserverpb @@ -75,7 +75,7 @@ go.etcd.io/etcd/api/v3/v3rpc/rpctypes go.etcd.io/etcd/api/v3/version go.etcd.io/etcd/api/v3/versionpb -# go.etcd.io/etcd/client/pkg/v3 v3.6.11 => ../client/pkg +# go.etcd.io/etcd/client/pkg/v3 v3.6.12 => ../client/pkg ## explicit; go 1.25.0 go.etcd.io/etcd/client/pkg/v3/fileutil go.etcd.io/etcd/client/pkg/v3/logutil @@ -85,7 +85,7 @@ go.etcd.io/etcd/client/pkg/v3/transport go.etcd.io/etcd/client/pkg/v3/types go.etcd.io/etcd/client/pkg/v3/verify -# go.etcd.io/etcd/client/v3 v3.6.11 => ../client/v3 +# go.etcd.io/etcd/client/v3 v3.6.12 => ../client/v3 ## explicit; go 1.25.0 go.etcd.io/etcd/client/v3 go.etcd.io/etcd/client/v3/concurrency @@ -94,7 +94,7 @@ go.etcd.io/etcd/client/v3/internal/resolver go.etcd.io/etcd/client/v3/mirror go.etcd.io/etcd/client/v3/snapshot -# go.etcd.io/etcd/pkg/v3 v3.6.11 => ../pkg +# go.etcd.io/etcd/pkg/v3 v3.6.12 => ../pkg ## explicit; go 1.25.0 go.etcd.io/etcd/pkg/v3/cobrautl go.etcd.io/etcd/pkg/v3/flags ++++++ vendor-etcdutl.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/go.etcd.io/etcd/api/v3/version/version.go new/vendor/go.etcd.io/etcd/api/v3/version/version.go --- old/vendor/go.etcd.io/etcd/api/v3/version/version.go 2026-05-01 20:50:30.000000000 +0200 +++ new/vendor/go.etcd.io/etcd/api/v3/version/version.go 2026-06-01 22:47:35.000000000 +0200 @@ -26,7 +26,7 @@ var ( // MinClusterVersion is the min cluster version this etcd binary is compatible with. MinClusterVersion = "3.0.0" - Version = "3.6.11" + Version = "3.6.12" APIVersion = "unknown" // Git SHA Value will be set during build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/go.etcd.io/etcd/server/v3/etcdserver/api/membership/cluster.go new/vendor/go.etcd.io/etcd/server/v3/etcdserver/api/membership/cluster.go --- old/vendor/go.etcd.io/etcd/server/v3/etcdserver/api/membership/cluster.go 2026-05-01 20:50:30.000000000 +0200 +++ new/vendor/go.etcd.io/etcd/server/v3/etcdserver/api/membership/cluster.go 2026-06-01 22:47:35.000000000 +0200 @@ -619,24 +619,31 @@ c.Lock() defer c.Unlock() + var ( + m *Member + ok bool + ) + + if m, ok = c.members[id]; !ok { + c.lg.Info("Skipped updating non-existent member in v2store", + zap.String("cluster-id", c.cid.String()), + zap.String("local-member-id", c.localID.String()), + zap.String("updated-remote-peer-id", id.String()), + zap.Strings("updated-remote-peer-urls", raftAttr.PeerURLs), + zap.Bool("updated-remote-peer-is-learner", raftAttr.IsLearner), + zap.Bool("should-apply-v3", bool(shouldApplyV3)), + ) + return + } + // `MemberUpdateRequest` only supports updating PeerURLs. + m.RaftAttributes.PeerURLs = raftAttr.PeerURLs + if c.v2store != nil { - if _, ok := c.members[id]; ok { - m := *(c.members[id]) - m.RaftAttributes = raftAttr - mustUpdateMemberInStore(c.lg, c.v2store, &m) - } else { - c.lg.Info("Skipped updating non-existent member in v2store", - zap.String("cluster-id", c.cid.String()), - zap.String("local-member-id", c.localID.String()), - zap.String("updated-remote-peer-id", id.String()), - zap.Strings("updated-remote-peer-urls", raftAttr.PeerURLs), - zap.Bool("updated-remote-peer-is-learner", raftAttr.IsLearner), - ) - } + mustUpdateMemberInStore(c.lg, c.v2store, m) } + if c.be != nil && shouldApplyV3 { - c.members[id].RaftAttributes = raftAttr - c.be.MustSaveMemberToBackend(c.members[id]) + c.be.MustSaveMemberToBackend(m) c.lg.Info( "updated member", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v3rpc/maintenance.go new/vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v3rpc/maintenance.go --- old/vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v3rpc/maintenance.go 2026-05-01 20:50:30.000000000 +0200 +++ new/vendor/go.etcd.io/etcd/server/v3/etcdserver/api/v3rpc/maintenance.go 2026-06-01 22:47:35.000000000 +0200 @@ -364,7 +364,7 @@ } func (ams *authMaintenanceServer) Status(ctx context.Context, ar *pb.StatusRequest) (*pb.StatusResponse, error) { - if err := ams.isPermitted(ctx); err != nil { + if err := ams.requireAuthInfo(ctx); err != nil { return nil, togRPCError(err) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/modules.txt new/vendor/modules.txt --- old/vendor/modules.txt 2026-05-01 20:50:30.000000000 +0200 +++ new/vendor/modules.txt 2026-06-01 22:47:35.000000000 +0200 @@ -143,7 +143,7 @@ go.etcd.io/bbolt/errors go.etcd.io/bbolt/internal/common go.etcd.io/bbolt/internal/freelist -# go.etcd.io/etcd/api/v3 v3.6.11 => ../api +# go.etcd.io/etcd/api/v3 v3.6.12 => ../api ## explicit; go 1.25.0 go.etcd.io/etcd/api/v3/authpb go.etcd.io/etcd/api/v3/etcdserverpb @@ -153,7 +153,7 @@ go.etcd.io/etcd/api/v3/v3rpc/rpctypes go.etcd.io/etcd/api/v3/version go.etcd.io/etcd/api/v3/versionpb -# go.etcd.io/etcd/client/pkg/v3 v3.6.11 => ../client/pkg +# go.etcd.io/etcd/client/pkg/v3 v3.6.12 => ../client/pkg ## explicit; go 1.25.0 go.etcd.io/etcd/client/pkg/v3/fileutil go.etcd.io/etcd/client/pkg/v3/logutil @@ -164,7 +164,7 @@ go.etcd.io/etcd/client/pkg/v3/transport go.etcd.io/etcd/client/pkg/v3/types go.etcd.io/etcd/client/pkg/v3/verify -# go.etcd.io/etcd/client/v3 v3.6.11 => ../client/v3 +# go.etcd.io/etcd/client/v3 v3.6.12 => ../client/v3 ## explicit; go 1.25.0 go.etcd.io/etcd/client/v3 go.etcd.io/etcd/client/v3/concurrency @@ -172,7 +172,7 @@ go.etcd.io/etcd/client/v3/internal/endpoint go.etcd.io/etcd/client/v3/internal/resolver go.etcd.io/etcd/client/v3/snapshot -# go.etcd.io/etcd/pkg/v3 v3.6.11 => ../pkg +# go.etcd.io/etcd/pkg/v3 v3.6.12 => ../pkg ## explicit; go 1.25.0 go.etcd.io/etcd/pkg/v3/adt go.etcd.io/etcd/pkg/v3/cobrautl @@ -192,7 +192,7 @@ go.etcd.io/etcd/pkg/v3/schedule go.etcd.io/etcd/pkg/v3/traceutil go.etcd.io/etcd/pkg/v3/wait -# go.etcd.io/etcd/server/v3 v3.6.11 => ../server +# go.etcd.io/etcd/server/v3 v3.6.12 => ../server ## explicit; go 1.25.0 go.etcd.io/etcd/server/v3/auth go.etcd.io/etcd/server/v3/config ++++++ vendor-server.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/go.etcd.io/etcd/api/v3/version/version.go new/vendor/go.etcd.io/etcd/api/v3/version/version.go --- old/vendor/go.etcd.io/etcd/api/v3/version/version.go 2026-05-01 20:50:30.000000000 +0200 +++ new/vendor/go.etcd.io/etcd/api/v3/version/version.go 2026-06-01 22:47:35.000000000 +0200 @@ -26,7 +26,7 @@ var ( // MinClusterVersion is the min cluster version this etcd binary is compatible with. MinClusterVersion = "3.0.0" - Version = "3.6.11" + Version = "3.6.12" APIVersion = "unknown" // Git SHA Value will be set during build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/modules.txt new/vendor/modules.txt --- old/vendor/modules.txt 2026-05-01 20:50:30.000000000 +0200 +++ new/vendor/modules.txt 2026-06-01 22:47:35.000000000 +0200 @@ -156,7 +156,7 @@ go.etcd.io/bbolt/errors go.etcd.io/bbolt/internal/common go.etcd.io/bbolt/internal/freelist -# go.etcd.io/etcd/api/v3 v3.6.11 => ../api +# go.etcd.io/etcd/api/v3 v3.6.12 => ../api ## explicit; go 1.25.0 go.etcd.io/etcd/api/v3/authpb go.etcd.io/etcd/api/v3/etcdserverpb @@ -166,7 +166,7 @@ go.etcd.io/etcd/api/v3/v3rpc/rpctypes go.etcd.io/etcd/api/v3/version go.etcd.io/etcd/api/v3/versionpb -# go.etcd.io/etcd/client/pkg/v3 v3.6.11 => ../client/pkg +# go.etcd.io/etcd/client/pkg/v3 v3.6.12 => ../client/pkg ## explicit; go 1.25.0 go.etcd.io/etcd/client/pkg/v3/fileutil go.etcd.io/etcd/client/pkg/v3/logutil @@ -178,7 +178,7 @@ go.etcd.io/etcd/client/pkg/v3/transport go.etcd.io/etcd/client/pkg/v3/types go.etcd.io/etcd/client/pkg/v3/verify -# go.etcd.io/etcd/client/v3 v3.6.11 => ../client/v3 +# go.etcd.io/etcd/client/v3 v3.6.12 => ../client/v3 ## explicit; go 1.25.0 go.etcd.io/etcd/client/v3 go.etcd.io/etcd/client/v3/concurrency @@ -190,7 +190,7 @@ go.etcd.io/etcd/client/v3/naming/endpoints go.etcd.io/etcd/client/v3/naming/endpoints/internal go.etcd.io/etcd/client/v3/ordering -# go.etcd.io/etcd/pkg/v3 v3.6.11 => ../pkg +# go.etcd.io/etcd/pkg/v3 v3.6.12 => ../pkg ## explicit; go 1.25.0 go.etcd.io/etcd/pkg/v3/adt go.etcd.io/etcd/pkg/v3/contention
