Open R-Adrian opened 1 year ago
The issue is also with Thunderbird 102, see here https://github.com/marticliment/WingetUI/issues/1302
Cross posting, since my issue was closed as dupe:
I can't really understand why this issue was moved to winget-pkgs. If winget suggests a beta version as an upgrade for a stable version, I think the problem is not with winget-pkgs, but with the version detection of winget itself.
I think that a proper solution would be to delete all references to Mozilla beta installers from the winget packages manifest repository. (yes, really, nuke all betas)
Beta versions of software from Mozilla have a way faster life cycle than the stable versions, during the course of a week there can sometimes be 2...3 or even 4 new beta versions published by Mozilla and winget is extremely slow with updates to the package manifests.
Another reason for dropping the betas completely is that software from Mozilla (Firefox, Thunderbird) has a built-in self-update mechanism, and if someone installs a beta version on purpose they are assumed to at least be knowledgeable enough to also know about the built-in updater.
This would be possible, but not a solution to the problem at hand. This can also happen at any time with any other software. Updating a stable software to a beta version should not be something that a package manager can do so easily.
Furthermore, I - personally - would expect a proper package manager to make anti-patterns like integrated update management obsolete, not to support or promote them.
If I undestand correctly, this whole situation is a side effect of winget more or less being stateless. Question is whether this can be solved in the current model, or whether it would be a good reason to reconsider some design decisions.
Is nobody taking care of the manifest? The issue still persists.
but
I cannot confirm that winget installs the beta version. It just erroneously thinks version 117.0b4 is installed for some reason.
I have the stable version 115.2 installed, but winget says I have beta version 117.0b4 installed. Winget doesn't even upgrade to the beta version when I daringly and jokingly tell it to for experimental research reasons (testing what it does).
What's odd to me is that 117.0b4 isn't even the next highest version after 115.0, there's 116.0b7 and 117.0b1. But looking at the manifest file for 117.0b4, there's some entries that seem out of place:
AppsAndFeaturesEntries:
- DisplayName: Mozilla Thunderbird 117.0b4 x86 en-US
Publisher: '*'
DisplayVersion: 0.0.0.0
UpgradeCode: '{53BA97BB-F0FB-476D-BAF5-E2D649F39A31}'
Same problem here. I have to put a pin to avoid the upgrade.
For me, Winget is (correctly) not upgrading to Beta, but (incorrectly, from my point of view), showing the Beta as the Available version:
> winget upgrade --all
Name Id Version Available Source
----------------------------------------------------------------------------
Mozilla Thunderbird (x64 en-US) Mozilla.Thunderbird 115.2.0 118.0b2 winget
(2/4) Found Mozilla Thunderbird [Mozilla.Thunderbird] Version 115.2.2
Downloading https://download-installer.cdn.mozilla.net/pub/thunderbird/releases/115.2.2/win64/en-US/Thunderbird%20Setup%20115.2.2.exe
Successfully verified installer hash
Starting package install...
Successfully installed
> winget list Thunderbird
Name Id Version Available Source
----------------------------------------------------------------------------
Mozilla Thunderbird (x64 en-US) Mozilla.Thunderbird 115.2.2 118.0b2 winget
After that, winget upgrade --all
still shows the beta as being Available, but does not actually try to upgrade it.
EDIT: The next day, winget upgrade --all
installed Beta in parallel with the GA version .
Not here : Mozilla Thunderbird (x64 fr) Mozilla.Thunderbird.Beta > 117.0b4 118.0b2 winget
But the installed version of Thunderbird is 115.2.3 stable.
I confirm the issue on all my personal and working machines I am working with, no exclusions.
I can also confirm this because it happens on all computers at company for which I work. Some computers already got update to beta because of this issue when running winget upgrade --all
command and I had to roll them back manually.
To avoid roll back, you can pin thunderbird and thunderbird beta
I know but the issue is still annoying.
Same issue. Installed stable release 115.2.3, but after winget upgrade --all
winget show me next line:
Mozilla Thunderbird (x64 en-US) Mozilla.Thunderbird 115.2.3 118.0b6 winget
and updating app to beta version. After next running winget upgrade --all
winget show me two versions of app, like:
Mozilla Thunderbird (x64 en-US) Mozilla.Thunderbird 115.2.3 118.0b6 winget
Mozilla Thunderbird (x64 en-US) Mozilla.Thunderbird 118.0 118.0b6 winget
Same issue. For a few weeks winget just showed the Beta version as an available upgrade with 'winget upgrade' but did not upgrade it with 'winget upgrade --all'. As of this week winget now installs Thunderbird Beta in parallel with my Thunderbird 115.xx when I run 'winget upgrade --all'. I have had to pin Thunderbird in winget to avoid this. This is a bandaid approach as I can no longer use winget to see if/when there is an update to Thunderbird non-beta, and must now rely on Thunderbird's in-built updater instead of winget...
But this can only be a manifest problem, right? Why is nobody taking care about this? Oh boy, this is annoying...and we can't test possible fixes because we can't have a local repo for testing :(
Mee too, Does anyone knows how to remove packages or apps from wing get upgrade?
IntelliJ IDEA 2023.2.1 JetBrains.IntelliJIDEA.Ultimate > 2023.1 2023.2 winget
Terminal Windows Microsoft.WindowsTerminal 1.17.11461.0 1.18.2681.0 winget
Mozilla Thunderbird (x64 es-ES) Mozilla.Thunderbird.Beta > 117.0b4 118.0b6 winget
Oh My Posh version 18.4.0 XP8K0HKJFRXGCK 18.4.0 18.10.3 winget
Also I have Intellij Idea in 2023.2.3 an I have conflict too
Not only Winget installed the beta thunderbird to my system, it has removed all my mail data. Enough with Winget experiment.
don't worry about data, I have the same problem, Beta install in different directory. Re-install again the normal version and everything is ok. The da is in your user directory
I have problem with intellIj too with the version
I have to put more pin to block.... ejem, please solve this situation
Nombre Id Versión Origen Tipo de anclaje
------------------------------------------------------------------------------------------------
Mozilla Thunderbird (x64 es-ES) Mozilla.Thunderbird.Beta > 117.0b4 winget Blocking
IntelliJ IDEA 2023.2.2 JetBrains.IntelliJIDEA.Ultimate > 2023.1 winget Blocking
My workaround for these issues is to consequently pinblock any application that gives me trouble. It's not just package manifests being outdated or incorrect, also winget's inability to deal with letter appendices to version numbering is bothering me. Some authors release hotfixes, so after let's say 3.22 comes 3.22a, 3.22b, but winget treats them as pre-releases due to difference convention.
don't worry about data, I have the same problem, Beta install in different directory. Re-install again the normal version and everything is ok. The da is in your user directory
Thanks, got my data back.
To me, the manifests seem correct.
Mozilla.Thunderbird
and Mozilla.Thundebird.Beta
have different IDs, names, and so on.
(Disclaimer: This is the first time I look at Winget manifests — but the format is simple enough!)
It rather seems that Winget is unable to distinguish between installed GA and Beta,
and thinks they are different versions of the GA variant.
Perhaps there is something that could be done on the winget-cli
side to fix that.
(But that code is not simple at all, some expert on that would need to comment here.)
Or perhaps the only way to get this working is that Thunderbird changes something in their Beta installer. If I check my installed software in Windows Settings → Applications, I see two Mozilla Thunderbirds, otherwise identical but versions numbers 115.2.2 and 118.0 — I would have expected two different names, with one clearly flagged as Beta here.
@fancybody @vedantmgoyal2009 you two have added the last eight Thunderbird Betas. Are you aware of this problem? Do you have insight what is happening here, and how this could be fixed?
If you ask me, unless there is a proper fix available, the proposal (already with merge requests) to stop shipping Betas is worth doing. There certainly are may more users who want GA versions than users who want Betas.
I've created pin for Thunderbird, but it doesn't work and Thunderbird is still updating. My pin looks like this:
Mozilla Thunderbird (x64 en-US) Mozilla.Thunderbird 115.3.1 winget Blocking
You must pin Thunderbird AND Thunderbird beta. Because winget identify Thunderbird as Thunderbird beta.
I know it's not the actual fix but I made PRs to remove versions of Mozilla.Thunderbird.Beta that have a higher version than the stable one. WinGet seems to be correlating stable versions to beta versions (since they have the exact AppsAndFeatures metadata) and the temporary fix is to just let stable version be the "highest" version in the repo.
Since those PRs have been merged, can someone verify if this issue is still occurring?
[Policy] Area-Matching
I checked, winget doesn't update Thunderbird.Stable to Thunderbird.Beta
Since those PRs have been merged, can someone verify if this issue is still occurring?
it is not happening anymore for me
Discord app and Google Drive though... those are different known problems:
It is not happening for me too.
@mdanish-kh
The actual fix would be to address the problem in Support different release channels [released, beta, alpha] winget-cli#147
Or that Thunderbird uses a different ARP name for beta versions, see https://github.com/microsoft/winget-pkgs/issues/117895#issuecomment-1723260727 and https://bugzilla.mozilla.org/show_bug.cgi?id=1853673 They need to fix this regardless of winget IMHO, since it is not possible right now to install the Thunderbird beta alongside the stable version IIUC.
Brief description of your issue
Missing stable package definitions for newer sub-versions than currently listed in the package manifests causes winget to upgrade stable editions to beta versions.
example: Winget currently tries to upgrade Mozilla Thunderbird 115.0.1, 115.1.0 and 115.1.1 (so far) to the beta 117.0b9 because there is no package manifest definition for any other version in the 115 series except for the 115.0 (115.0,0) one so winget will detect any newer stable version (installed by Mozilla's own updater) as being a beta.... and thus winget starts to install newer betas on top of existing stable editions
Steps to reproduce
see https://github.com/microsoft/winget-pkgs/issues/117895
winget upgrade
- it should say nothing about Thunderbirdwinget upgrade
- winget now identifies the installed 115.1.1 version as being part of the Thunderbird Betas, "> 117.0b4"winget upgrade --all
- winget will now install Thunderbird Beta 117 even if it was Stable 115 beforeExpected behavior
even if winget is missing package manifests for newer stable versions of a software it should not install beta versions on top of the currently stable one, even if the current stable one has higher version numbers than what numbers are present in the manifests repository for whatever version winget considers as "stable" And this especially if there is a major version change (e.g. 115->117 in the case of Thunderbird)
Actual behavior
winget upgrades stable versions to beta/testing versions.
Environment