Extras icon indicating copy to clipboard operation
Extras copied to clipboard

[Bug] Various packages stopped updating due to checkver errors

Open z-Fng opened this issue 2 months ago โ€ข 27 comments

Description

Relates to:

  • #2308

The issue comes from:

  • #16349

There are lots of error logs during excavator execution. Various packages stopped updating due to checkver errors. See: https://github.com/ScoopInstaller/Extras/actions/runs/18627830520/job/53108310389

Contributors are warmly welcome to help fix one or more of these broken manifest. Please note:

  • Make sure there are no existing fix PRs.
  • Create a separate PR or a separate commit for each manifest, with a title following the naming rules.
  • Please do not attempt to close this issue in your PR.
  • For manifests that are still available but will no longer receive updates, remove their checkver fields instead of deprecating them.
  • For autoupdate filed, if we can still install a specific version via scoop install app@version (i.e., autoupdate is version-specific), removing it is also not recommended. https://github.com/ScoopInstaller/Extras/pull/16392#issuecomment-3438955656

IMO, if we keep the autoupdate field, users can still install a specific version via scoop install app@version. Otherwise:

PS> scoop install [email protected]
WARN  Given version (0.238.0) does not match manifest (0.239.0)
WARN  Attempting to generate manifest for 'fbflipper' (0.238.0)
'fbflipper' does not have autoupdate capability

P.S. If https://github.com/ScoopInstaller/Scoop/pull/6370 gets merged, this will no longer be necessary and can be removed later.

Package List

Here are all the packages stopped updating due to checkver errors.

This result was obtained using a simple matching script and may contain false positives.

  • [x] adventuregamestudio: #16436
  • [x] anaconda3: #16678
  • [x] anki: #16115
  • [x] anythingllm: #16385
  • [x] authy: #16386
  • [x] autohotkey: #16384
  • [ ] b1
  • [ ] basecamp
  • [x] betaflight-blackbox-explorer: #16387
  • [x] biblioteq: #16394
  • [ ] bitmessage
  • [x] blender: #16563
  • [x] capframex: https://github.com/ScoopInstaller/Extras/commit/d6f5a8eeb8a331943e054db95b7308586571d099
  • [ ] ccleaner
  • [x] chef-workstation: #16071 #16383
  • [x] cider: #16388
  • [x] classic-volume-mixer: #16382
  • [x] clementine: #16381
  • [x] color-sustainer: #16380
  • [x] compactgui: #16378
  • [x] cookiecutter: #16377
  • [x] ctypes: #16742, https://github.com/ScoopInstaller/Extras/commit/b99e3038342dd09d701c46c8956f2e0851bd7abc
  • [x] debugtron: #16376
  • [x] debugviewpp: #16375
  • [ ] dreamset: #16389
  • [x] duplicati: #16374
  • [x] eclipse-mat: #15977
  • [x] eclipse-parallel: #16390
  • [ ] engauge-digitizer: #16391
  • [x] executor: #16410
  • [ ] falkon: #16572
  • [x] fbflipper: #16392
  • [x] firemin: #16355
  • [x] fluidsynth: #16455
  • [x] folding-at-home: #16405
  • [x] folo: #16432
  • [x] fvim: #16373
  • [x] gatling: #16721
  • [x] gpu-z: #16413
  • [x] grafana: #16396
  • [x] hekasoft-backup-restore: #16650
  • [x] http-downloader: #16467
  • [ ] hwinfo: #16366
  • [x] icechat: #16717
  • [ ] ida-free
  • [ ] imdone
  • [ ] imo-messenger
  • [ ] interlink
  • [ ] ios-webkit-debug-proxy
  • [ ] jasper
  • [ ] jaspersoft-studio
  • [x] jetbrains-hub: #16406
  • [ ] kawaii-player
  • [ ] kmeans-colors
  • [x] kodi: #16456
  • [ ] libresprite
  • [ ] linkerd
  • [ ] liteide
  • [x] live777: #16735
  • [ ] ludwig
  • [x] madvr: #16412
  • [ ] mambaforge
  • [x] mc: #16409
  • [x] meshroom: #16462
  • [ ] micaforeveryone
  • [ ] miru
  • [x] moosync: #16738
  • [x] mqttx: #16417
  • [x] msikombustor: #16718
  • [ ] ncftpclient
  • [x] nexus-repository-oss: c630f00
  • [ ] olive-editor: Nvm. No stable releases. For now, let's keep it in the Extras bucket.
  • [x] openark: #16446
  • [x] opera: #16411, #16558
  • [x] opera-gx: #16411, #16558
  • [ ] papercut
  • [ ] pentaho-data-integration: #13198
  • [x] php-nts-xdebug: #16638
  • [x] php-xdebug: #16638
  • [x] pomotodo: #16550
  • [ ] popcorn-time
  • [ ] pulseview: #16538
  • [ ] pureref
  • [ ] pympress
  • [ ] quickinstaller
  • [ ] restish
  • [x] runcat: #16427
  • [ ] scantailor-advanced: #15231
  • [x] scopy: #16535
  • [ ] screenoff
  • [ ] secureuxtheme
  • [x] shadowsocks-qtun-plugin: #16739
  • [ ] sidekick-browser
  • [ ] so
  • [x] sonic-visualiser: #16541
  • [x] soulseekqt: #16740
  • [x] sozi: #16542
  • [ ] splashtop-business-access: #14673
  • [ ] spyder
  • [ ] spyder-lite
  • [x] stellarium: #16539
  • [x] sts: #16516
  • [x] tageditor: #16408
  • [ ] tanoshi
  • [x] tauon: #16634
  • [x] tcno-acc-switcher: #16447
  • [x] tern-subtitle-file-translator: #16430
  • [x] texteditoranywhere: #16548
  • [ ] tftpd: #15967
  • [x] tsukimi: #16741
  • [x] vapoursyntheditor: #16547
  • [ ] vidi: Nvm. No stable releases. For now, let's keep it in the Extras bucket.
  • [x] winsetupfromusb: #16546
  • [x] wonderpen: 14019b4
  • [ ] wordmark
  • [x] wox: #16416
  • [ ] xplorer: Nvm. No stable releases. For now, let's keep it in the Extras bucket.
  • [x] yesplaymusic: #16429
  • [x] youtrack: #16449

z-Fng avatar Oct 19 '25 11:10 z-Fng

The checkver in emacs seems to be working fine.

โ”[๏ณ 10/20/2025 @ 12:12:34 AM CST][๎ฎ™ Zertw :: ๏„ˆ ASUS][๎‰ฆ RAM: 9/15GB][๎ˆฏ 100๏Š•][๏‰’ 1.138s]
โ”ฃ[๏„• D:\Software\Scoop\Local\apps\scoop\current\bin][๏ˆ ๎‚ master โ‰ก]
โ””โ”€> .\checkver.ps1 -App emacs -Dir "D:\Temporary\Software\Microsoft\Windows Sandbox\Repositories\Scoop\Buckets\Extras\bucket" -f
emacs: 30.2 (scoop version is 30.2)                                                                                                                                                  
Forcing autoupdate!                                                                                                                                                                  
Autoupdating emacs                                                                                                                                                                   
DEBUG[1760890364] [$updatedProperties] = [hash url] -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:491:5                                                           
DEBUG[1760890364] $substitutions (hashtable) -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:221:5                                                                  
DEBUG[1760890364] $substitutions.$minorVersion                  2
DEBUG[1760890364] $substitutions.$matchHead                     30.2
DEBUG[1760890364] $substitutions.$patchVersion
DEBUG[1760890364] $substitutions.$buildVersion
DEBUG[1760890364] $substitutions.$preReleaseVersion             30.2
DEBUG[1760890364] $substitutions.$url                           https://ftpmirror.gnu.org/gnu/emacs/windows/emacs-30/emacs-30.2.zip
DEBUG[1760890364] $substitutions.$basename                      emacs-30.2.zip
DEBUG[1760890364] $substitutions.$underscoreVersion             30_2
DEBUG[1760890364] $substitutions.$cleanVersion                  302
DEBUG[1760890364] $substitutions.$majorVersion                  30
DEBUG[1760890364] $substitutions.$basenameNoExt                 emacs-30.2
DEBUG[1760890364] $substitutions.$baseurl                       https://ftpmirror.gnu.org/gnu/emacs/windows/emacs-30
DEBUG[1760890364] $substitutions.$urlNoExt                      https://ftpmirror.gnu.org/gnu/emacs/windows/emacs-30/emacs-30.2
DEBUG[1760890364] $substitutions.$dotVersion                    30.2
DEBUG[1760890364] $substitutions.$match1                        30.2
DEBUG[1760890364] $substitutions.$dashVersion                   30-2
DEBUG[1760890364] $substitutions.$version                       30.2
DEBUG[1760890364] $substitutions.$matchTail
DEBUG[1760890364] $hashfile_url = https://ftpmirror.gnu.org/gnu/emacs/windows/emacs-30/emacs-30.2-sha256sum.txt -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:224:5
Searching hash for emacs-30.2.zip in https://ftpmirror.gnu.org/gnu/emacs/windows/emacs-30/emacs-30.2-sha256sum.txt
DEBUG[1760890366] $filenameRegex = ([a-fA-F0-9]{32,128})[\x20\t]+.*emacs-30\.2\.zip(?:\s|$)|emacs-30\.2\.zip[\x20\t]+.*?([a-fA-F0-9]{32,128}) -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:99:13
Found: 414d3a1a21147af257ebd98bdd15976fdcb5ed0563f6de89f76d4a4b5dad9c72 using Extract Mode
Writing updated emacs manifest

The GitHub repository for OpenArk, its homepage, and even the author's GitHub profile are no longer available. I will try to contact the author to inquire whether the software will continue to be developed.

I will attempt to fix the automatic updates for madvr.

SorYoshino avatar Oct 19 '25 16:10 SorYoshino

The checkver in emacs seems to be working fine.

Yes, confirmed. It may be caused by network issues. I'll remove it.

This list above was obtained using a simple matching script and may contain false positives.

z-Fng avatar Oct 19 '25 17:10 z-Fng

I will try to contact the author to inquire whether the software will continue to be developed.

The GitHub page has been maliciously shut down, but development will continue. Currently, there doesn't seem to be a stable download link available, so we need to wait for updates from the upstream source.

Should this manifest be modified to use a working download URL while we continue waiting for upstream updates? Or should we simply deprecate it?

SorYoshino avatar Oct 20 '25 04:10 SorYoshino

Following does not seem to have a problem anymore:

  • blender
  • gpu-z
  • throttlestop

o-l-a-v avatar Oct 20 '25 13:10 o-l-a-v

Following does not seem to have a problem anymore:

  • gpu-z

Since a more secure SHA256 hash is available on the download page, the MD5 hash should be replaced.

SorYoshino avatar Oct 20 '25 15:10 SorYoshino

The GitHub page has been maliciously shut down, but development will continue. Currently, there doesn't seem to be a stable download link available, so we need to wait for updates from the upstream source. Should this manifest be modified to use a working download URL while we continue waiting for upstream updates? Or should we simply deprecate it?

Thanks! Let's ignore it for now. I'll add a temporary mark in the list.

z-Fng avatar Oct 20 '25 18:10 z-Fng

Following does not seem to have a problem anymore:

  • blender
  • gpu-z
  • throttlestop

Thanks! Removed for broken package list.

z-Fng avatar Oct 20 '25 18:10 z-Fng

Following does not seem to have a problem anymore:

  • flat-assembler

  • hammultiplayer

  • mini-sftp-server

  • nvcleanstall

  • yuescript

  • xjoy

SorYoshino avatar Oct 20 '25 20:10 SorYoshino

I have compiled a list of software names whose pull requests have not yet been resolved, and then wrote the following script to check whether they can be automatically updated.

$apps = @(
    'adventuregamestudio', 'anaconda3', 'b1', 'basecamp', 
    'betaflight-blackbox-explorer', 'bitmessage', 'capframex', 
    'ccleaner', 'falkon', 'flat-assembler', 'fluidsynth', 'folo', 'gatling', 
    'hammultiplayer', 'hekasoft-backup-restore', 'http-downloader', 'i2pdbrowser', 
    'icechat', 'ida-free', 'imdone', 'imo-messenger', 'interlink', 'ios-webkit-debug-proxy', 
    'jasper', 'jaspersoft-studio', 'kawaii-player', 'kmeans-colors', 'kodi', 'libresprite', 'linkerd', 
    'liteide', 'live777', 'ludwig', 'mambaforge', 'meshroom', 'micaforeveryone', 'mini-sftp-server', 'miru', 
    'moar', 'moosync', 'msikombustor', 'ncftpclient', 'nexus-repository-oss', 'nvcleanstall', 'olive-editor', 
    'opera', 'papercut', 'php-nts-xdebug', 'php-xdebug', 'pomotodo', 'popcorn-time', 'processhacker', 'pulseview', 'pureref', 
    'pympress', 'quickinstaller', 'restish', 'runcat', 'scopy', 'screenoff', 'secureuxtheme', 'shadowsocks-qtun-plugin', 'sidekick-browser', 
    'so', 'sonic-visualiser', 'soulseekqt', 'sozi', 'spyder', 'spyder-lite', 'stellarium', 'sts', 'tanoshi', 'tauon', 'tcno-acc-switcher', 'tern-subtitle-file-translator', 
    'texteditoranywhere', 'tsukimi', 'vapoursyntheditor', 'vidi', 'winsetupfromusb', 'wonderpen', 'wordmark', 'xjoy', 'xplorer', 'yesplaymusic', 'youtrack', 'yuescript'
)

$apps | ForEach-Object {
    .\checkver.ps1 -App $_ -Dir "D:\Temporary\Software\Microsoft\Windows Sandbox\Repositories\Scoop\Buckets\Extras\bucket" -f
    Write-Host "`n"
}

[!NOTE] You can find the results for each piece of software that cannot be automatically updated in result.txt. I have kept only the essential parts.

Until this issue is resolved, I will ensure that the file remains accessible. I hope it will be helpful to contributors who are interested in addressing this problem.

SorYoshino avatar Oct 20 '25 20:10 SorYoshino

tanoshi: Project is dead/removed, this fork seems like the defacto replacement: https://github.com/luigi311/tanoshi.

o-l-a-v avatar Oct 21 '25 11:10 o-l-a-v

The following applications do not have stable releases and should be moved to the Versions bucket:

  • xplorer

  • vidi

  • olive-editor

SorYoshino avatar Oct 21 '25 12:10 SorYoshino

Hello, @z-Fng .

A Super-fast account switcher for Steam, Battle.net, Epic Games, Origin, Riot, Ubisoft and many others!

The description above is for tcno-acc-switcher. It seems more suitable for the Games bucket. Should we move it to the Games bucket? Or should we continue maintaining it in the Extras bucket?

SorYoshino avatar Oct 21 '25 16:10 SorYoshino

The GitHub page has been maliciously shut down, but development will continue. Currently, there doesn't seem to be a stable download link available, so we need to wait for updates from the upstream source.

Should this manifest be modified to use a working download URL while we continue waiting for upstream updates? Or should we simply deprecate it?

openark has now launched a new official website and added download links. I will submit a pull request shortly to update the existing manifest.

SorYoshino avatar Oct 23 '25 10:10 SorYoshino

The description above is for tcno-acc-switcher. It seems more suitable for the Games bucket. Should we move it to the Games bucket? Or should we continue maintaining it in the Extras bucket?

For now, let's keep it in the Extras bucket.

z-Fng avatar Oct 23 '25 11:10 z-Fng

For now, let's keep it in the Extras bucket.

Alright, I'll fix it.

The following applications do not have stable releases and should be moved to the Versions bucket:

  • xplorer
  • vidi
  • olive-editor

Then what should we do with these three applications?

SorYoshino avatar Oct 23 '25 13:10 SorYoshino

The latest release of i2pdbrowser has a tag_name of latest, and the file I2PdBrowserPortable_$version.7z uses 473cdfe as its version identifier.

I think this manifest does not need to be fixed at the moment, as the actual version number cannot be determined, and future versioning patterns remain unpredictable. This uncertainty makes it difficult to properly configure both checkver and autoupdate.

SorYoshino avatar Oct 25 '25 16:10 SorYoshino

As of version 2.0.0, moar has been renamed to 'moor', please install 'extras/moor' instead. Deprecate this manifest after 2026-02-01

moar has been confirmed as deprecated and does not require fixing.

SorYoshino avatar Oct 25 '25 17:10 SorYoshino

The following applications do not have stable releases and should be moved to the Versions bucket: xplorer vidi olive-editor

Thanks so much for your help!

I'm not sure why they were added to the Extras bucket in the first place. Maybe it's like: https://github.com/ScoopInstaller/Extras/pull/9185#issuecomment-1509864740

We don't have enough maintainers/collaborators to handle the migration right now, so the conclusion remains the same:

For now, let's keep it in the Extras bucket.

This issue is just for tracking broken manifests and may not resolve all of them at once. The number of PRs is getting a bit overwhelming -- nearly 40 were merged this week.

z-Fng avatar Oct 25 '25 17:10 z-Fng

We don't have enough maintainers/collaborators to handle the migration right now, so the conclusion remains the same:

For now, let's keep it in the Extras bucket.

Thank you for your reply.

This issue is just for tracking broken manifests and may not resolve all of them at once.

Unfortunately, due to upstream changes or other external factors, the number of issues may continue to grow. Combined with the limited number of active contributors and maintainers, it has become increasingly difficult to address them effectively.

SorYoshino avatar Oct 25 '25 18:10 SorYoshino

stellarium is fixed, they added an arm64 installer to v25.3:

o-l-a-v avatar Nov 06 '25 10:11 o-l-a-v

We might need to revisit our deprecation mechanism I guess?

Lutra-Fs avatar Nov 12 '25 11:11 Lutra-Fs

We might need to revisit our deprecation mechanism I guess?

I agree with this view.

I believe manifests that have not been updated for a long time should be automatically deprecated. For example, manifests that have not been automatically updated for three years after being added to the Main or Extras buckets should automatically enter the deprecation process, and those that remain unupdated for five years should be forcibly deprecated. Special cases may allow for a slight delay or exemption. Manifests in the Versions bucket could have a slightly extended timeframe. I am not sure whether such an automated process is feasible, but I hope this could provide some direction for improving the deprecation mechanism.

In addition, I think manifests added to buckets should also have an update-time requirement. For example, manifests added to the Main or Extras buckets should have received an update within the last three years before inclusion, while those in the Versions bucket should have been updated within the last five years. If these conditions are not met, the decision to include them should depend on the popularity of the software. I have noticed that some manifests in the Extras bucket had not been updated for over five years even before being added, and those manifests have still not received new updates to this day.


2025/11/18 Added

For manifests that are provided simultaneously in multiple buckets โ€” for example, sysinternals in the Extras bucket and sysinternals-suite in the Sysinternals bucket, steam in the Versions bucket and steam in the Games bucket, or the php* manifests in both the Versions and PHP buckets โ€” I think we should consider keeping only a single manifest in the most appropriate bucket and deprecating the corresponding duplicates in the other buckets.

SorYoshino avatar Nov 12 '25 14:11 SorYoshino

We might need to revisit our deprecation mechanism I guess?

Yes, it's definitely worth looking deeper into this issue, though I generally agree with the current mechanism.

https://github.com/ScoopInstaller/Extras/pull/16349#issuecomment-3416228252

We generally don't deprecate a package unless the package cannot be obtained at all.

  • https://github.com/ScoopInstaller/Extras/pull/16007
  • https://github.com/ScoopInstaller/Versions/pull/2474
  • https://github.com/ScoopInstaller/Versions/pull/1169

For widely-used packages, sometimes we even retrieve them from web.archive.org.

The problem now is that we have too few maintainers/collaborators, too many packages, and an outdated workflow. Otherwise, I believe these rules are just acceptable.

For example, manifests that have not been automatically updated for three years after being added to the Main or Extras buckets should automatically enter the deprecation process, and those that remain unupdated for five years should be forcibly deprecated.

I don't think this is what a package manager should do.

Edit: IMO, a package manager should not decide on behalf of users that old versions are no longer needed. It may inform or warn users about outdated versions, such as https://github.com/ScoopInstaller/Versions/issues/2353, but the choice to upgrade, replace, or remove a version must remain with the user. As long as the original binary files are still accessible for download, the version should be permanently retained and made available to users.

In addition, I think manifests added to buckets should also have an update-time requirement. For example, manifests added to the Main or Extras buckets should have received an update within the last three years before inclusion, while those in the Versions bucket should have been updated within the last five years. If these conditions are not met, the decision to include them should depend on the popularity of the software. I have noticed that some manifests in the Extras bucket had not been updated for over five years even before being added, and those manifests have still not received new updates to this day.

Agree.

z-Fng avatar Nov 12 '25 19:11 z-Fng

For example, manifests that have not been automatically updated for three years after being added to the Main or Extras buckets should automatically enter the deprecation process, and those that remain unupdated for five years should be forcibly deprecated.

I don't think this is what a package manager should do.

I believe a package manager should provide users with safe and stable versions, and automated updates play an essential role in ensuring this.

If, for any reason, a manifest in a bucket has not been automatically updated for an extended period, the version it provides can no longer be considered safe or stable. In such cases, it may be necessary to add relevant notes or deprecate the manifest entirely. These tasks, much like automated updates, should ideally be handled by GitHub Actions.

The time thresholds I mentioned earlier should already be sufficient for most situations. It may also be possible to introduce mechanisms to collect statistics on how often users execute scoop install <app>, or use other approaches to estimate the actual number of users. Such information could then serve as a reference when determining whether an automatic deprecation process should be triggered.

Additionally, the auto-update system could detect whether a deprecated manifest is still capable of being updated automatically. Although such scenarios might be rare, incorporating this step would help make the overall workflow more complete.

With both automated deprecation and automated update mechanisms, a package manager can maximize its ability to provide versions that are safe and stable. I believe this is a feature a modern package manager ought to have.

SorYoshino avatar Nov 15 '25 07:11 SorYoshino

capframex has been fixed in https://github.com/ScoopInstaller/Extras/commit/d6f5a8eeb8a331943e054db95b7308586571d099.

SorYoshino avatar Dec 03 '25 19:12 SorYoshino

  • scopy has been fixed in #16535 .
  • msikombustor has been fixed in #16718 .

The program renamed to System Informer, please install 'extras/systeminformer' instead, this manifest will be removed after 2026-01-01. Deprecate the manifest after 2026-01-01.

processhacker has been confirmed as deprecated and does not require fixing.


PureRef changed its revenue model in 2020, and the files are now available only after payment. It was removed in commit 8cfad85, then reintroduced in commit 980d351 by switching to the files provided by ScoopInstaller/Binary.

Should we consider deprecating pureref again, or simply remove the checkver field from the manifest?

SorYoshino avatar Dec 05 '25 20:12 SorYoshino

PureRef changed its revenue model in 2020, and the files are now available only after payment. It was removed in commit 8cfad85, then reintroduced in commit 980d351 by switching to the files provided by ScoopInstaller/Binary.

Should we consider deprecating pureref again, or simply remove the checkver field from the manifest?

I would suggest deprecating it, since it requires manual updates, but I'm not sure where the other maintainers stand on this.

z-Fng avatar Dec 05 '25 21:12 z-Fng