Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package nova for openSUSE:Factory checked in 
at 2026-10-13 17:44:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nova (Old)
 and      /work/SRC/openSUSE:Factory/.nova.new.3698736 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "nova"

Tue Oct 13 17:44:49 2026 rev:42 rq:1384474 version:3.12.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/nova/nova.changes        2026-09-19 
22:22:50.373851286 +0200
+++ /work/SRC/openSUSE:Factory/.nova.new.3698736/nova.changes   2026-10-13 
17:44:55.723267785 +0200
@@ -1,0 +2,7 @@
+Tue Oct 13 04:30:06 UTC 2026 - Johannes Kastl 
<[email protected]>
+
+- Update to version 3.12.2:
+  * INS-3021: Nova incorrectly suggests there's new version
+    available if using compatibility flag (#485)
+
+-------------------------------------------------------------------

Old:
----
  nova-3.12.1.obscpio

New:
----
  nova-3.12.2.obscpio

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

Other differences:
------------------
++++++ nova.spec ++++++
--- /var/tmp/diff_new_pack.vuznHx/_old  2026-10-13 17:44:58.015363844 +0200
+++ /var/tmp/diff_new_pack.vuznHx/_new  2026-10-13 17:44:58.018363970 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           nova
-Version:        3.12.1
+Version:        3.12.2
 Release:        0
 Summary:        Find outdated or deprecated Helm charts running in your cluster
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.vuznHx/_old  2026-10-13 17:44:58.128368580 +0200
+++ /var/tmp/diff_new_pack.vuznHx/_new  2026-10-13 17:44:58.139369041 +0200
@@ -3,7 +3,7 @@
     <param name="url">https://github.com/FairwindsOps/nova.git</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">refs/tags/v3.12.1</param>
+    <param name="revision">refs/tags/v3.12.2</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="changesgenerate">enable</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.vuznHx/_old  2026-10-13 17:44:58.219372394 +0200
+++ /var/tmp/diff_new_pack.vuznHx/_new  2026-10-13 17:44:58.229372813 +0200
@@ -3,6 +3,6 @@
                 <param name="url">https://github.com/FairwindsOps/nova</param>
               <param 
name="changesrevision">0803b0840d990bbf6518951899fcf8b948acc971</param></service><service
 name="tar_scm">
                 <param 
name="url">https://github.com/FairwindsOps/nova.git</param>
-              <param 
name="changesrevision">686e939f41cd8e72b3e888b989622b3aa5d0700d</param></service></servicedata>
+              <param 
name="changesrevision">42acc2769fb010870b6150f3c215b6a4858ec350</param></service></servicedata>
 (No newline at EOF)
 

++++++ nova-3.12.1.obscpio -> nova-3.12.2.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nova-3.12.1/pkg/containers/images.go 
new/nova-3.12.2/pkg/containers/images.go
--- old/nova-3.12.1/pkg/containers/images.go    2026-09-15 19:51:18.000000000 
+0200
+++ new/nova-3.12.2/pkg/containers/images.go    2026-10-12 18:50:16.000000000 
+0200
@@ -300,12 +300,18 @@
        if err != nil {
                return errors.Wrap(err, "failed to create constraint")
        }
-       // The goal of the filter below is to find things like "1.2.3-alpine" 
or "1.2.3-buster" and make sure we only give upgrade suggestions that match.
-       // There may be unintended consequenses from this. We do our best by 
ignoring actual common pre-release tags in the variable preReleaseIgnore.
-       // This means if you are currently running 1.2.3-beta.0 the filter will 
not limit the upgrade suggestions to other beta releases.
+       // Suffixes like "alpine" or "distroless" are parsed as semver 
prereleases, but they
+       // mark an image variant. Semver ranks 1.2.3 above 1.2.3-distroless, so 
the bare tag
+       // looks newer. Only suggest tags with the same suffix. Real 
prereleases (alpha, beta,
+       // rc, ...) are not variants: a later stable release is still an 
upgrade.
        filter := i.Current.version.Prerelease()
+       compatibilitySuffix := filter != "" && 
!preReleaseRegex(preReleaseIgnore, filter)
        for _, tag := range i.semverTags {
-               if tag.Prerelease() != filter && 
preReleaseRegex(preReleaseIgnore, tag.Prerelease()) {
+               if compatibilitySuffix {
+                       if tag.Prerelease() != filter {
+                               continue
+                       }
+               } else if tag.Prerelease() != filter && 
preReleaseRegex(preReleaseIgnore, tag.Prerelease()) {
                        continue
                }
                if constraint.Check(tag) {
@@ -327,6 +333,8 @@
                if err != nil {
                        return errors.Wrap(err, "failed to create minor version 
constraint")
                }
+               // Wildcard constraints ignore prereleases unless asked. The 
suffix is not a prerelease.
+               newerMinorConstraint.IncludePrerelease = compatibilitySuffix
                for _, tag := range newerTags {
                        if newerMinorConstraint.Check(tag) {
                                i.NewestMinor = &Tag{
@@ -341,6 +349,7 @@
        if err != nil {
                return errors.Wrap(err, "failed to create patch version 
constraint")
        }
+       newerPatchConstraint.IncludePrerelease = compatibilitySuffix
        for _, tag := range newerTags {
                if newerPatchConstraint.Check(tag) {
                        i.NewestPatch = &Tag{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nova-3.12.1/pkg/containers/images_test.go 
new/nova-3.12.2/pkg/containers/images_test.go
--- old/nova-3.12.1/pkg/containers/images_test.go       2026-09-15 
19:51:18.000000000 +0200
+++ new/nova-3.12.2/pkg/containers/images_test.go       2026-10-12 
18:50:16.000000000 +0200
@@ -294,6 +294,67 @@
                        newestPatch: "1.0.2",
                        wantErr:     false,
                },
+               {
+                       name: "TestPopulateNewestCompatibilitySuffix",
+                       image: &Image{
+                               Name:   "prom/node-exporter",
+                               Prefix: "v",
+                               Current: &Tag{
+                                       version: 
version.MustParse("1.12.1-distroless"),
+                                       Value:   "1.12.1-distroless",
+                               },
+                               allTags: []string{
+                                       "v1.12.1",
+                                       "v1.12.1-distroless",
+                                       "v1.12.2",
+                                       "v1.12.2-distroless",
+                                       "v1.13.0",
+                                       "v1.13.0-alpine",
+                                       "v1.13.0-distroless",
+                                       "v1.14.0-beta.1",
+                               },
+                       },
+                       newestTag:   "1.13.0-distroless",
+                       newestMinor: "1.13.0-distroless",
+                       newestPatch: "1.12.2-distroless",
+               },
+               {
+                       name: 
"TestPopulateNewestCompatibilitySuffixSameVersion",
+                       image: &Image{
+                               Name:   "prom/node-exporter",
+                               Prefix: "v",
+                               Current: &Tag{
+                                       version: 
version.MustParse("1.12.1-distroless"),
+                                       Value:   "1.12.1-distroless",
+                               },
+                               allTags: []string{
+                                       "v1.11.0-distroless",
+                                       "v1.12.1",
+                                       "v1.12.1-distroless",
+                                       "v1.13.0",
+                               },
+                       },
+               },
+               {
+                       name: "TestPopulateNewestPrereleaseStillUpgrades",
+                       image: &Image{
+                               Prefix: "v",
+                               Current: &Tag{
+                                       version: 
version.MustParse("1.2.3-beta.0"),
+                                       Value:   "1.2.3-beta.0",
+                               },
+                               allTags: []string{
+                                       "v1.2.3-beta.0",
+                                       "v1.2.3-beta.1",
+                                       "v1.2.3",
+                                       "v1.2.4-alpha.1",
+                                       "v1.2.4",
+                               },
+                       },
+                       newestTag:   "1.2.4",
+                       newestMinor: "1.2.4",
+                       newestPatch: "1.2.4",
+               },
        }
        for _, tt := range tests {
                t.Run(tt.name, func(t *testing.T) {
@@ -304,19 +365,26 @@
                                t.Errorf("populateNewest() error = %v, wantErr 
%v", err, tt.wantErr)
                                return
                        }
-                       if got.Newest.Value != tt.newestTag {
-                               t.Errorf("populateNewest() Newest.Value got = 
%v, want %v", got.Newest.Value, tt.newestTag)
+                       if tagValue(got.Newest) != tt.newestTag {
+                               t.Errorf("populateNewest() Newest.Value got = 
%v, want %v", tagValue(got.Newest), tt.newestTag)
                        }
-                       if got.NewestMinor.Value != tt.newestMinor {
-                               t.Errorf("populateNewest() NewestMinor.Value 
got = %v, want %v", got.NewestMinor.Value, tt.newestMinor)
+                       if tagValue(got.NewestMinor) != tt.newestMinor {
+                               t.Errorf("populateNewest() NewestMinor.Value 
got = %v, want %v", tagValue(got.NewestMinor), tt.newestMinor)
                        }
-                       if got.NewestPatch.Value != tt.newestPatch {
-                               t.Errorf("populateNewest() NewestPatch.Value 
got = %v, want %v", got.NewestPatch.Value, tt.newestPatch)
+                       if tagValue(got.NewestPatch) != tt.newestPatch {
+                               t.Errorf("populateNewest() NewestPatch.Value 
got = %v, want %v", tagValue(got.NewestPatch), tt.newestPatch)
                        }
                })
        }
 }
 
+func tagValue(tag *Tag) string {
+       if tag == nil {
+               return ""
+       }
+       return tag.Value
+}
+
 func TestParseTagString(t *testing.T) {
        tests := []struct {
                name          string
@@ -377,4 +445,3 @@
                })
        }
 }
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nova-3.12.1/renovate.json 
new/nova-3.12.2/renovate.json
--- old/nova-3.12.1/renovate.json       2026-09-15 19:51:18.000000000 +0200
+++ new/nova-3.12.2/renovate.json       2026-10-12 18:50:16.000000000 +0200
@@ -11,58 +11,9 @@
   "minimumReleaseAge": "7 days",
   "enabledManagers": [
     "gomod",
-    "dockerfile",
-    "circleci",
-    "custom.regex"
+    "dockerfile"
   ],
   "postUpdateOptions": ["gomodTidy", "gomodUpdateImportPaths"],
-  "customManagers": [
-    {
-      "description": "HashiCorp Vault download URL in CircleCI",
-      "customType": "regex",
-      "managerFilePatterns": ["/(^|/)\\.circleci/config\\.yml$/"],
-      "matchStrings": [
-        
"https://releases\\.hashicorp\\.com/vault/(?<currentValue>[\\d.]+)/vault_[\\d.]+_linux_amd64\\.zip"
-      ],
-      "depNameTemplate": "hashicorp/vault",
-      "datasourceTemplate": "hashicorp-releases",
-      "autoReplaceStringTemplate": 
"https://releases.hashicorp.com/vault/{{{newValue}}}/vault_{{{newValue}}}_linux_amd64.zip";
-    },
-    {
-      "description": "HashiCorp Vault archive name in CircleCI (sha256 line 
must be updated manually)",
-      "customType": "regex",
-      "managerFilePatterns": ["/(^|/)\\.circleci/config\\.yml$/"],
-      "matchStrings": [
-        "vault_(?<currentValue>[\\d.]+)_linux_amd64\\.zip"
-      ],
-      "depNameTemplate": "hashicorp/vault",
-      "datasourceTemplate": "hashicorp-releases",
-      "autoReplaceStringTemplate": "vault_{{{newValue}}}_linux_amd64.zip"
-    },
-    {
-      "description": "golangci-lint install.sh pin in CircleCI",
-      "customType": "regex",
-      "managerFilePatterns": ["/(^|/)\\.circleci/config\\.yml$/"],
-      "matchStrings": [
-        "golangci/golangci-lint/HEAD/install.sh \\| sh -s -- -b /usr/local/bin 
v(?<currentValue>[0-9.]+)"
-      ],
-      "depNameTemplate": "golangci/golangci-lint",
-      "datasourceTemplate": "github-releases",
-      "extractVersionTemplate": "^v?(?<version>.*)$",
-      "autoReplaceStringTemplate": "golangci/golangci-lint/HEAD/install.sh | 
sh -s -- -b /usr/local/bin v{{{newValue}}}"
-    },
-    {
-      "description": "Kind node image for rok8s-scripts kubernetes_e2e_tests",
-      "customType": "regex",
-      "managerFilePatterns": ["/(^|/)\\.circleci/config\\.yml$/"],
-      "matchStrings": [
-        "kind_node_image:\\s*\"kindest/node:(?<currentValue>v[^\"\\s]+)\""
-      ],
-      "depNameTemplate": "kindest/node",
-      "datasourceTemplate": "docker",
-      "autoReplaceStringTemplate": "kind_node_image: 
\"kindest/node:{{{newValue}}}\""
-    }
-  ],
   "packageRules": [
     {
       "description": "Group all non-major (minor + patch) updates into a 
single PR",
@@ -84,14 +35,8 @@
     },
     {
       "description": "Every upgrade: upstream release must be at least 7 days 
old",
-      "matchManagers": ["gomod", "dockerfile", "circleci", "custom.regex"],
+      "matchManagers": ["gomod", "dockerfile"],
       "minimumReleaseAge": "7 days"
-    },
-    {
-      "description": "Group HashiCorp Vault version bumps (sha256 checksum 
still needs manual update)",
-      "groupName": "HashiCorp Vault",
-      "matchManagers": ["custom.regex"],
-      "matchDepNames": ["hashicorp/vault"]
     }
   ]
 }

++++++ nova.obsinfo ++++++
--- /var/tmp/diff_new_pack.vuznHx/_old  2026-10-13 17:45:00.192455083 +0200
+++ /var/tmp/diff_new_pack.vuznHx/_new  2026-10-13 17:45:00.206455669 +0200
@@ -1,5 +1,5 @@
 name: nova
-version: 3.12.1
-mtime: 1789494678
-commit: 686e939f41cd8e72b3e888b989622b3aa5d0700d
+version: 3.12.2
+mtime: 1791823816
+commit: 42acc2769fb010870b6150f3c215b6a4858ec350
 

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/nova/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.nova.new.3698736/vendor.tar.gz differ: char 130, 
line 2

Reply via email to