diff --git a/src/UniGetUI.PackageEngine.PackageLoader/UpgradablePackagesLoader.cs b/src/UniGetUI.PackageEngine.PackageLoader/UpgradablePackagesLoader.cs index eedb97e8a2..2fa5040f70 100644 --- a/src/UniGetUI.PackageEngine.PackageLoader/UpgradablePackagesLoader.cs +++ b/src/UniGetUI.PackageEngine.PackageLoader/UpgradablePackagesLoader.cs @@ -37,7 +37,11 @@ protected override async Task IsPackageValid(IPackage package) IgnoredPackages[package.Id] = package; return false; } - if ((await InstallationOptions.FromPackageAsync(package)).SkipMinorUpdates && package.IsUpdateMinor()) return false; + if ((await InstallationOptions.FromPackageAsync(package)).SkipMinorUpdates && package.IsUpdateMinor()) + { + Logger.Info($"Ignoring package {package.Id} because it is a minor update ({package.VersionString} -> {package.NewVersionString}) and SkipMinorUpdates is set to true."); + return false; + } if (package.NewerVersionIsInstalled()) return false; return true; } diff --git a/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Package.cs b/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Package.cs index bc44f142c4..df3800e321 100644 --- a/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Package.cs +++ b/src/UniGetUI.PackageEngine.PackageManagerClasses/Packages/Package.cs @@ -296,18 +296,9 @@ public virtual bool NewerVersionIsInstalled() public virtual bool IsUpdateMinor() { if (!IsUpgradable) return false; - string[] VersionSplit = VersionString.Split("."); - string[] NewVersionSplit = NewVersionString.Split("."); - // When in doubt, return false - if (VersionSplit.Length < 3 || NewVersionSplit.Length < 3) return false; - - if ( - VersionSplit[0] != NewVersionSplit[0] || - VersionSplit[1] != NewVersionSplit[1] - ) return false; // Major update - - return VersionSplit[2].CompareTo(NewVersionSplit[2]) < 0; + return NormalizedVersion.Major == NormalizedNewVersion.Major && NormalizedVersion.Minor == NormalizedNewVersion.Minor && + (NormalizedVersion.Patch != NormalizedNewVersion.Patch || NormalizedVersion.Remainder != NormalizedNewVersion.Remainder); } public virtual SerializablePackage_v1 AsSerializable()