-
-
Notifications
You must be signed in to change notification settings - Fork 631
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Winget package manager treats NVDA Alpha as older than version 2020.4 #12469
Comments
I opened microsoft/winget-cli#1209 In short, there are plans to improve Winget with regard to version matching, but NVDA will need a change regardless. I see several options:
I think this also puts us in question whether our current version naming of alpha and beta snapshots is actually practical and whether our Thoughts @seanbudd and @feerrenrut? |
I discovered the same problem. I think it would be good to prefix every build with the release it will become, so that we could rely on major.minor versions for sorting. If we have 2 alpha/beta builds of the same release we couldn't tell which one should be considered newer anyway. It depends on what you want, upgrades from alpha to beta are a logical path, but if alpha contains some stuff you would like to test before it gets into beta, the opposite is also a reasonable upgrade path. So, without knowing what the intent to upgrade is, it's not possible to say which one should be considered newer/preferred. |
Why are alpha versions even submitted to winGet? My initial thought is this isn't something we should support. Alpha versions aren't official releases. I'd like to close this as 'won't fix'. |
@feerrenrut this issue does raise a question about which I have wondered.
Do alphas have to be named as they are? Is there some advantage to not including
the version number for what they are an alpha of?
If a PR to start naming alphas in a more version-related form would be
considered, I believe I have a method for accomplishing it with minimal effort,
and would be happy to put it forward.
|
I'm afraid you misunderstood the issue. Alpha versions are not submitted to winget, but winget investigates whether an update is available by looking at the current version of NVDA that's installed on the system (version set in the registry). If an alpha version is installed, winget always thinks that there's an update, regardless whether the most recent of NVDA is older than the installed alpha version. |
@XLTechie Curious to know your solutions. Ideally, Winget would parse the major and minor version strings in the registry, unfortunately they don't yet. Having said that, adding the current development cycle to the version name would certainly be an advantage for readability too. |
Not necessarily, but the version string serves our purposes, and changing it requires work (in several systems) that would take us away from more important things.
Not necessarily an advantage, but it would be misleading. A released version isn't a released version till the release. The alpha snapshot version strings tell us the build order and the commit. |
@LeonarddeR, yes I misunderstood. Thanks for pointing that out. I still don't think this is something we should fix on our side. |
I don't think this has to be a show stopper. Firefox for example uses major version + 1 for their beta versions and major version + 2 for their alpha versions I believe. The fact whether you're dealing with an alpha or beta is clear from the version string as well there. |
…upport (#13911) Fixes #12469 Summary of the issue: Winget is the new package manager in the most recent versions of Windows 10 and 11. It allows automatic updating via the command line. However, Winget threats Alpha versions of NVDA older than any released version. This means that, when an Alpha version for NVDA 2022.3 is installed, Winget will yet threat NVDA 2022.1 as an upgrade. See microsoft/winget-cli#1209 (comment) for more information about version parsing in Winget. In short, our versioning scheme for alpha versions (e.g. alpha-25875,d6a193ae) is considered pretty exotic. I proposed three possible solutions in #12469 (comment). Option 3 is not possible with winget, see microsoft/winget-cli#1209 (comment). Therefore, this pr chooses option 1, but it extends on that (see below) Description of user facing changes In add/remove programs: Old situation: DisplayName: NVDA DisplayVersion: alpha-25875,d6a193ae New situation: DisplayName: NVDA alpha-25875,d6a193ae DisplayVersion: '2022.3.0.25875' In about window: Old situation: Version: alpha-25875,d6a193ae New situation: Version: alpha-25875,d6a193ae (2022.3.0.25875) Apart from fixing Winget this way, it will be much easier for end users to see on what year.major.minor branch of NVDA they are with their alpha version. note that versions in other places are really not affected. Therefore this change is barely visible. Also note that having a version in the Displayname and the product version in the DisplayVersion for ARP is pretty common. This is used by Visual Studio for example.
Note, it is likely that we have to file this issue against WinGet, but filing it here as well for reference.
Steps to reproduce:
Actual behavior:
2020.4 is treated as an update from Alpha, which is certainly not the case.
Expected behavior:
2020.4 should not be treated as an update from Alpha
System configuration
NVDA installed/portable/running from source:
Installed
NVDA version:
alpha-22934,e05715d3
Windows version:
Windows 10 21H1
Name and version of other software in use when reproducing the issue:
Winget v1.0.11451
The text was updated successfully, but these errors were encountered: