diff --git a/googet.goospec b/googet.goospec index 605bf9a..5aa6bed 100644 --- a/googet.goospec +++ b/googet.goospec @@ -1,4 +1,4 @@ -{{$version := "2.21.0@0" -}} +{{$version := "2.21.1@0" -}} { "name": "googet", "version": "{{$version}}", @@ -15,6 +15,7 @@ "path": "install.ps1" }, "releaseNotes": [ + "2.21.1 - Remove offsets for semver to better support upgrading versions from X.X.X to Y.Y" "2.21.0 - Add arm64 arch support.", "2.20.0 - Add installdate metadata to registry key for consumption by external tools.", "2.19.0 - Updated to Go 1.19.", diff --git a/goolib/goospec.go b/goolib/goospec.go index cdc859b..de96a9f 100644 --- a/goolib/goospec.go +++ b/goolib/goospec.go @@ -159,13 +159,12 @@ func fixVer(ver string) string { } out := []string{"0", "0", "0"} nums := strings.SplitN(ver, ".", 3) - offset := len(out) - len(nums) for i, str := range nums { trimmed := strings.TrimLeft(str, "0") if trimmed == "" { trimmed = "0" } - out[i+offset] = trimmed + out[i] = trimmed } return strings.Join(out, ".") + suffix } @@ -189,8 +188,7 @@ func ComparePriorityVersion(p1 priority.Value, v1 string, p2 priority.Value, v2 func ParseVersion(ver string) (Version, error) { v := strings.SplitN(ver, "@", 2) v[0] = fixVer(v[0]) - - sv, err := semver.Parse(v[0]) + sv, err := semver.ParseTolerant(v[0]) if err != nil { return Version{}, err }