Skip to content

vim: Update to version 9.1.1825, add arm64 support, update checkver#7305

Merged
niheaven merged 2 commits intoScoopInstaller:masterfrom
taviowong:vim-arm64
Nov 15, 2025
Merged

vim: Update to version 9.1.1825, add arm64 support, update checkver#7305
niheaven merged 2 commits intoScoopInstaller:masterfrom
taviowong:vim-arm64

Conversation

@taviowong
Copy link
Contributor

The vim manifest has not been updated for a long time (1.5 years) as they do not post signed build updates on the vim download page. Also, there are no guarantees from the site that signed builds are more stable than unsigned builds.

This PR changes checkver URL to track winget vim.vim (stable) release, which according to vim/vim-win32-installer is updated approximately every month. ARM64 builds are now available from the repository so they are added to the manifest as well.

Winget repository only provides unsigned builds so the autoupdate URLs are changed to use unsigned zips instead. I have tested updating from signed build to unsigned build and no errors were found.

  • Use conventional PR title: <manifest-name[@version]|chore>: <general summary of the pull request>
  • I have read the Contributing Guide

@github-actions
Copy link
Contributor

All changes look good.

Wait for review from human collaborators.

vim

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

@SorYoshino
Copy link
Contributor

To be honest, I am not in favor of using information from winget-pkgs as the source for checkver. My concerns are as follows:

  • The latest stable version displayed on the official download page is 9.1.1825, whereas the same version is classified as a nightly build in winget-pkgs.

  • winget-pkgs only provides unsigned builds. However, according to the official download page, signed builds may still be provided in the future.

Using winget-pkgs for checkver may create a discrepancy between Scoop and the official release channel. Therefore, I think we should continue using the official download page as the source for checkver.

Only a minor adjustment to checkver.regex is needed to continue using the official download page as the checkver source. This approach also ensures that future signed releases will be detected and updated automatically.

┏[ D:\Temporary\Software\Microsoft\Windows Sandbox]
└─> jq '{checkver, autoupdate}' .\vim.json
{
  "checkver": {
    "url": "https://www.vim.org/download.php",
    "regex": "(?msi)>gvim_([\\d.]+)_x64(?<suffix>[^>]+)?\\.zip<"
  },
  "autoupdate": {
    "architecture": {
      "64bit": {
        "url": "https://github.com/vim/vim-win32-installer/releases/download/v$version/gvim_$version_x64$matchSuffix.zip"
      },
      "32bit": {
        "url": "https://github.com/vim/vim-win32-installer/releases/download/v$version/gvim_$version_x86$matchSuffix.zip"
      },
      "arm64": {
        "url": "https://github.com/vim/vim-win32-installer/releases/download/v$version/gvim_$version_arm64$matchSuffix.zip"
      }
    },
    "extract_dir": "vim/vim$majorVersion$minorVersion"
  }
}

┏[ 10/31/2025 @ 1:13:36 AM CST][ Zertw ::  ASUS][ RAM: 9/15GB][ 97][ 5.95s]
┣[ D:\Software\Scoop\Local\apps\scoop\current\bin][ master ≡]
└─> .\checkver.ps1 -App "D:\Temporary\Software\Microsoft\Windows Sandbox\vim.json" -f
vim: 9.1.1825 (scoop version is 9.1.1825)
Forcing autoupdate!
Autoupdating vim
DEBUG[1761844471] $substitutions (hashtable) -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:221:5
DEBUG[1761844471] $substitutions.$majorVersion                  9
DEBUG[1761844471] $substitutions.$match1                        9.1.1825
DEBUG[1761844471] $substitutions.$cleanVersion                  911825
DEBUG[1761844471] $substitutions.$basename                      gvim_9.1.1825_arm64.zip
DEBUG[1761844471] $substitutions.$baseurl                       https://github.com/vim/vim-win32-installer/releases/download/v9.1.1825
DEBUG[1761844471] $substitutions.$version                       9.1.1825
DEBUG[1761844471] $substitutions.$dotVersion                    9.1.1825
DEBUG[1761844471] $substitutions.$url                           https://github.com/vim/vim-win32-installer/releases/download/v9.1.1825/gvim_9.1.1825_arm64.zip
DEBUG[1761844471] $substitutions.$preReleaseVersion             9.1.1825
DEBUG[1761844471] $substitutions.$dashVersion                   9-1-1825
DEBUG[1761844471] $substitutions.$urlNoExt                      https://github.com/vim/vim-win32-installer/releases/download/v9.1.1825/gvim_9.1.1825_arm64
DEBUG[1761844471] $substitutions.$matchTail
DEBUG[1761844471] $substitutions.$matchHead                     9.1.1825
DEBUG[1761844471] $substitutions.$patchVersion                  1825
DEBUG[1761844471] $substitutions.$minorVersion                  1
DEBUG[1761844471] $substitutions.$buildVersion
DEBUG[1761844471] $substitutions.$basenameNoExt                 gvim_9.1.1825_arm64
DEBUG[1761844471] $substitutions.$matchSuffix
DEBUG[1761844471] $substitutions.$underscoreVersion             9_1_1825
DEBUG[1761844471] $hashfile_url = $null -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:224:5
DEBUG[1761844472] $jsonpath = $..assets[?(@.browser_download_url == 'https://github.com/vim/vim-win32-installer/releases/download/v9.1.1825/gvim_9.1.1825_arm64.zip')].digest -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:132:5
Found: d0a8bf5e41dfa57464131d6c52963b0db95857171adc890469528fc8d5ae2e60 using Github Mode
Writing updated vim manifest

@taviowong taviowong changed the title vim: Update to version 9.1.1882, add arm64 support, update checkver url vim: Update to version 9.1.1825, add arm64 support, update checkver Oct 31, 2025
@taviowong
Copy link
Contributor Author

To be honest, I am not in favor of using information from winget-pkgs as the source for checkver. My concerns are as follows:

* The latest stable version displayed on the official download page is `9.1.1825`, whereas the same version is classified as a `nightly` build in `winget-pkgs`.

* `winget-pkgs` only provides unsigned builds. However, according to the official download page, signed builds may still be provided in the future.

Using winget-pkgs for checkver may create a discrepancy between Scoop and the official release channel. Therefore, I think we should continue using the official download page as the source for checkver.

Only a minor adjustment to checkver.regex is needed to continue using the official download page as the checkver source. This approach also ensures that future signed releases will be detected and updated automatically.

┏[ D:\Temporary\Software\Microsoft\Windows Sandbox]
└─> jq '{checkver, autoupdate}' .\vim.json
{
  "checkver": {
    "url": "https://www.vim.org/download.php",
    "regex": "(?msi)>gvim_([\\d.]+)_x64(?<suffix>[^>]+)?\\.zip<"
  },
  "autoupdate": {
    "architecture": {
      "64bit": {
        "url": "https://github.com/vim/vim-win32-installer/releases/download/v$version/gvim_$version_x64$matchSuffix.zip"
      },
      "32bit": {
        "url": "https://github.com/vim/vim-win32-installer/releases/download/v$version/gvim_$version_x86$matchSuffix.zip"
      },
      "arm64": {
        "url": "https://github.com/vim/vim-win32-installer/releases/download/v$version/gvim_$version_arm64$matchSuffix.zip"
      }
    },
    "extract_dir": "vim/vim$majorVersion$minorVersion"
  }
}

┏[ 10/31/2025 @ 1:13:36 AM CST][ Zertw ::  ASUS][ RAM: 9/15GB][ 97][ 5.95s]
┣[ D:\Software\Scoop\Local\apps\scoop\current\bin][ master ≡]
└─> .\checkver.ps1 -App "D:\Temporary\Software\Microsoft\Windows Sandbox\vim.json" -f
vim: 9.1.1825 (scoop version is 9.1.1825)
Forcing autoupdate!
Autoupdating vim
DEBUG[1761844471] $substitutions (hashtable) -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:221:5
DEBUG[1761844471] $substitutions.$majorVersion                  9
DEBUG[1761844471] $substitutions.$match1                        9.1.1825
DEBUG[1761844471] $substitutions.$cleanVersion                  911825
DEBUG[1761844471] $substitutions.$basename                      gvim_9.1.1825_arm64.zip
DEBUG[1761844471] $substitutions.$baseurl                       https://github.com/vim/vim-win32-installer/releases/download/v9.1.1825
DEBUG[1761844471] $substitutions.$version                       9.1.1825
DEBUG[1761844471] $substitutions.$dotVersion                    9.1.1825
DEBUG[1761844471] $substitutions.$url                           https://github.com/vim/vim-win32-installer/releases/download/v9.1.1825/gvim_9.1.1825_arm64.zip
DEBUG[1761844471] $substitutions.$preReleaseVersion             9.1.1825
DEBUG[1761844471] $substitutions.$dashVersion                   9-1-1825
DEBUG[1761844471] $substitutions.$urlNoExt                      https://github.com/vim/vim-win32-installer/releases/download/v9.1.1825/gvim_9.1.1825_arm64
DEBUG[1761844471] $substitutions.$matchTail
DEBUG[1761844471] $substitutions.$matchHead                     9.1.1825
DEBUG[1761844471] $substitutions.$patchVersion                  1825
DEBUG[1761844471] $substitutions.$minorVersion                  1
DEBUG[1761844471] $substitutions.$buildVersion
DEBUG[1761844471] $substitutions.$basenameNoExt                 gvim_9.1.1825_arm64
DEBUG[1761844471] $substitutions.$matchSuffix
DEBUG[1761844471] $substitutions.$underscoreVersion             9_1_1825
DEBUG[1761844471] $hashfile_url = $null -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:224:5
DEBUG[1761844472] $jsonpath = $..assets[?(@.browser_download_url == 'https://github.com/vim/vim-win32-installer/releases/download/v9.1.1825/gvim_9.1.1825_arm64.zip')].digest -> D:\Software\Scoop\Local\apps\scoop\current\lib\autoupdate.ps1:132:5
Found: d0a8bf5e41dfa57464131d6c52963b0db95857171adc890469528fc8d5ae2e60 using Github Mode
Writing updated vim manifest

Thanks for the suggestion and suffix regex tips! I have reverted the checkver url and used a slightly modified regex in a new commit.

That said, I believe there is no notion of a "stable" version of vim on Windows as they just describe every release as "Nightly Vim Windows build snapshots" (even the current v9.1.0) in their github repo. The version listed on the official download page should be stable enough though.

@taviowong
Copy link
Contributor Author

/verify

@github-actions
Copy link
Contributor

All changes look good.

Wait for review from human collaborators.

vim

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate

Check the full log for details.

@SorYoshino
Copy link
Contributor

That said, I believe there is no notion of a "stable" version of vim on Windows as they just describe every release as "Nightly Vim Windows build snapshots" (even the current v9.1.0) in their github repo.

It is likely because Vim primarily targets Unix-like systems. The developers apparently do not use Windows as their main development environment, and therefore cannot guarantee the reliability or stability of Windows builds.

@Lutra-Fs
Copy link
Member

@niheaven niheaven merged commit 6dca31d into ScoopInstaller:master Nov 15, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants