Replies: 8 comments
-
Should package be versioned with semantic versioning? If winget supports automatic installation of dependent packages (#163), the package manifest should be able to claim which version of the dependent package this package is compatible with. |
Beta Was this translation helpful? Give feedback.
-
If winget were to enforce semantic versioning I think the challenge would be to match the manifest versions to package versions of vendors that don't actually use semver for their versioning. |
Beta Was this translation helpful? Give feedback.
-
The package version should match the vendor version, if possible. But: it does not have to. |
Beta Was this translation helpful? Give feedback.
-
I am also a fan of semantic versioning, but we |
Beta Was this translation helpful? Give feedback.
-
@denelon I agree, you can't. BUT: package version does not have to be the same as software version. Of course, in an ideal case they would get along, but if not, that's also ok, imo. To avoid confusion about the version of the application, a separate software version property (or package version) could be added to the manifest. But the package version should be semantic and easy to use for further processing. |
Beta Was this translation helpful? Give feedback.
-
The benefit of Semantic Versioning is that it can tell me if a new version is compatible with a previous version or not. If manifests use Semantic Versioning independently of the application version, and the application doesn't comply with it, then those version numbers could be several major versions distant. |
Beta Was this translation helpful? Give feedback.
-
I agree with you for the most part. But: if you fear that winget users get confused by providing two different version numbers, how much confusion would you expect if they have to provide compatible versions? That optional field will barely be filled. |
Beta Was this translation helpful? Give feedback.
-
I have also commented on several other issues on what needs to be considered to support package dependencies. |
Beta Was this translation helpful? Give feedback.
-
In order to automate installation and updates of packages it would be nice to have standarized versioning in repostiory.
To check if a package has been updated in repository and if an update should be triggered, a comparison of installed and avalaible versions would be preferable.
I use the System.Version class to do this (seems the correct way). But some packages currently use strange version strings. e.g. Windscibe:
Name Id Version
----------------------------------------------
Windscribe Windscribe.Windscribe 1.83 Build 18
A rule to enforce standarized versioning would make package handling so much easier...
major.minor.build.revision
Environment:
PS E:> winget --info
Windows Package Manager v0.1.41331 Vorschau
Copyright (c) Microsoft Corporation. All rights reserved.
Windows: Windows.Desktop v10.0.19041.264
Package: Microsoft.DesktopAppInstaller v1.0.41331.0
Beta Was this translation helpful? Give feedback.
All reactions