winget upgrade
offers older versions of already installed packages with non-standard versioning schemes
#3126
Labels
Issue-Bug
It either shouldn't be doing this or needs an investigation.
Milestone
Brief description of your issue
For some packages
winget upgrade
offers older versions of packages.In this case, it is offering
CrystalDiskMark
it is offering8.0.4
which is older than the already installed8.0.4a
Stardock.Fences
it is offering4.07.02
which is older than the already installed4.1.0.6
I'm not sure how
CrystalDiskMark
was upgraded to8.0.4a
(probably manually by CrystalDiskMark installer by me),Fences
was upgraded to4.1.0.6
by its own built-in upgrade mechanismFences
there is no4.1.0.6
available yet in https://github.com/microsoft/winget-pkgs yet so the only problem is that it thinks4.07.02
is newer than4.1.0.6
already installedCrystalDiskMark
though there is already a newer8.0.4c
available in https://github.com/microsoft/winget-pkgs/blob/master/manifests/c/CrystalDewWorld/CrystalDiskMark/8.0.4c/CrystalDewWorld.CrystalDiskMark.yaml so I thinkwinget upgrade
should be offering8.0.4c
instead of8.0.4
besides the fact it thinks8.0.4
is newer than8.0.4a
I know that those applications have non-standard versioning schemes (
a
suffix forCrystalDiskMark
and0
prefix in the minor version number forFences
) and I don't know if this is really a bug and if that should be handled in the package manifests somehow but I'm reporting it just in case there is some space for winget version matching improvement (not sure whether this relates to Matching logic needs to be updated #2995)
Steps to reproduce
run
winget upgrade | grep -E "CrystalDiskMark|Fences"
with the latest versions ofCrystalDiskMark
/Fences
installedExpected behavior
winget upgrade
shouldn't be offering older versions of already installed packagesActual behavior
winget upgrade
is offering older versions of already installed packages with non-standard versioning schemesEnvironment
The text was updated successfully, but these errors were encountered: