Skip to content

veracrypt: Add version 1.26.24#16881

Open
y2crow wants to merge 1 commit intoScoopInstaller:masterfrom
y2crow:veracrypt
Open

veracrypt: Add version 1.26.24#16881
y2crow wants to merge 1 commit intoScoopInstaller:masterfrom
y2crow:veracrypt

Conversation

@y2crow
Copy link
Copy Markdown
Contributor

@y2crow y2crow commented Dec 26, 2025

Closes #2381


To match the file structure of the official Portable installer:
"-x64" has been added to filenames
The COMReg.exe file has been removed

This makes the installation identical to the official Portable installer, except for some files that are not included in the MSI installer:
Missing donation.js and SM4.html files in docs\html
Missing ARM64 version

Everything else matches the official Portable version, including file names and file hashes.


  • Copying the data files to and from persist_dir because "persist" doesn't work: the app rewrites the data files instead of writing to the existing one. Deleting files from persist_dir after copying to avoid leaving sensitive data.
  • The .io domain is used in checkver for better latency (official mirror).

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

Summary by CodeRabbit

  • New Features
    • Added VeraCrypt (v1.26.24) support to the Windows package manager with automatic installation, configuration persistence, and update capabilities.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Dec 26, 2025

Walkthrough

This pull request introduces a new package manifest file for VeraCrypt 1.26.24, a Windows encryption application. The manifest defines metadata, architecture-specific installation procedures including MSI extraction and file renaming, binary mappings, configuration file persistence across uninstall, and automatic version detection and update mechanisms.

Changes

Cohort / File(s) Summary
Package Manifest
bucket/veracrypt.json
New manifest file for VeraCrypt 1.26.24 with 64-bit architecture support. Includes: metadata (description, homepage, Apache-2.0 license), MSI extraction workflow, executable renaming with -x64 suffix, binary mappings (VeraCrypt-x64.exe and VeraCrypt Format-x64.exe), shortcut configuration, persistent configuration file handling across install/uninstall cycles, version detection via Downloads.html regex, and autoupdate logic with dynamic URL and SHA-512 hash resolution.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested labels

review-needed

Suggested reviewers

  • z-Fng
  • aliesbelik
  • bjarneo

Poem

🐰 A vault joins our nest with a manifest bright,
VeraCrypt arrives to keep secrets locked tight,
With hashes and URLs, all in their place,
Configuration persists—a secure embrace! 🔐

Pre-merge checks and finishing touches

✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'veracrypt: Add version 1.26.24' clearly and concisely summarizes the main change—introducing a new VeraCrypt package manifest for version 1.26.24.
Description check ✅ Passed The description includes the linked issue (#2381), follows the conventional PR title format, and confirms reading the Contributing Guide, meeting template requirements.
Linked Issues check ✅ Passed The pull request successfully fulfills the core requirement from #2381 to add a VeraCrypt package with proper version, binaries, and checksums matching the official Portable installer.
Out of Scope Changes check ✅ Passed All changes are directly related to adding the VeraCrypt 1.26.24 manifest as requested in #2381; no unrelated modifications are present.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown
Contributor

All changes look good.

Wait for review from human collaborators.

veracrypt

  • Lint
  • Description
  • License
  • Hashes
  • Checkver
  • Autoupdate
  • Autoupdate Hash Extraction

Check the full log for details.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e56ee15 and d642b49.

📒 Files selected for processing (1)
  • bucket/veracrypt.json
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16378
File: bucket/compactgui.json:20-22
Timestamp: 2025-10-19T13:58:23.389Z
Learning: In the ScoopInstaller/Extras repository, the CompactGUI manifest removed hash verification from the autoupdate block because the hash verification mechanism (scraping SHA-256 from release page HTML) is no longer available in newer CompactGUI releases. GitHub asset digests exist in beta releases but not in v3.8.0, and Scoop doesn't have built-in support for extracting from GitHub API asset digests.
📚 Learning: 2025-10-19T13:58:23.389Z
Learnt from: o-l-a-v
Repo: ScoopInstaller/Extras PR: 16378
File: bucket/compactgui.json:20-22
Timestamp: 2025-10-19T13:58:23.389Z
Learning: In the ScoopInstaller/Extras repository, the CompactGUI manifest removed hash verification from the autoupdate block because the hash verification mechanism (scraping SHA-256 from release page HTML) is no longer available in newer CompactGUI releases. GitHub asset digests exist in beta releases but not in v3.8.0, and Scoop doesn't have built-in support for extracting from GitHub API asset digests.

Applied to files:

  • bucket/veracrypt.json
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: WindowsPowerShell
🔇 Additional comments (6)
bucket/veracrypt.json (6)

1-8: Metadata looks good.

The homepage and license URL are correctly pointing to official VeraCrypt resources. While VeraCrypt uses a multi-license approach (TrueCrypt License + Apache 2.0), using Apache-2.0 as the identifier with the full license URL is a reasonable approximation for Scoop's license field.


15-20: Pre-install logic is well-designed.

The persistence approach is thoughtful:

  • Config files are moved (copy then delete) from persist_dir to $dir during install
  • This avoids leaving sensitive configuration data in the persist directory while the app is running
  • -ErrorAction SilentlyContinue correctly handles fresh installs where no persisted files exist

The file renaming to add -x64 suffix matches the official Portable installer structure as described.


21-36: Bin and shortcuts are correctly configured.

The executables are properly aliased with lowercase names for command-line use. The renamed -x64 executables from pre_install are correctly referenced here.


37-40: Pre-uninstall correctly completes the persistence cycle.

The ensure helper creates persist_dir if needed, then config files are copied back for preservation. This pairs well with the pre_install logic that moves them back during reinstall/upgrade.


41-44: Checkver regex is correctly configured and matches the page content.

The regex pattern "Latest Stable Release - ([\d.]+)" successfully captures the version number from the Downloads page. Live verification confirms the pattern matches "Latest Stable Release - 1.26.24" on the current page.


9-14: No changes needed. The manifest correctly includes only 64-bit architecture. VeraCrypt 1.26.24 dropped 32-bit Windows support—only x64 MSI and EXE installers are provided by the official release.

Likely an incorrect or invalid review comment.

Comment thread bucket/veracrypt.json
Comment on lines +45 to +55
"autoupdate": {
"architecture": {
"64bit": {
"url": "https://launchpad.net/veracrypt/trunk/$version/+download/VeraCrypt_Setup_x64_$version.msi#/dl.msi_",
"hash": {
"url": "https://launchpad.net/veracrypt/trunk/$version/+download/veracrypt-$version-sha512sum.txt",
"find": "$sha512\\s+$basename"
}
}
}
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Fetch the actual sha512sum.txt to verify format matches the expected pattern
curl -sL "https://launchpad.net/veracrypt/trunk/1.26.24/+download/veracrypt-1.26.24-sha512sum.txt" | head -20

Repository: ScoopInstaller/Extras

Length of output: 3366


Fix autoupdate hash extraction: sha512sum.txt does not contain MSI file entries.

The sha512sum.txt file does not list any .msi files. The hash find pattern expects to match $basename (resolving to VeraCrypt_Setup_x64_1.26.24.msi), but the hash file only contains entries for .exe, .AppImage, .rpm, .deb, and documentation files. The autoupdate hash extraction will fail for every version update.

Remove the hash block or verify if Launchpad provides MSI hashes elsewhere.

🤖 Prompt for AI Agents
In bucket/veracrypt.json around lines 45 to 55, the autoupdate hash extraction
is using a sha512sum.txt which does not contain MSI filenames so the current
"find" pattern will never match; remove the "hash" block under the 64bit
architecture (or replace it with a valid source that actually contains MSI
hashes) and either rely on the URL alone for autoupdate or point "hash.url" and
"hash.find" to a file that lists the MSI SHA512 for the MSI basename.

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.

[Request] Add VeraCrypt

1 participant