Skip to content

exhyperv: Update to version 1.4.2, fix autoupdate, add arm64 support#17460

Closed
Kookiejarz wants to merge 3 commits into
ScoopInstaller:masterfrom
Kookiejarz:fix-exhyperv-autoupdate
Closed

exhyperv: Update to version 1.4.2, fix autoupdate, add arm64 support#17460
Kookiejarz wants to merge 3 commits into
ScoopInstaller:masterfrom
Kookiejarz:fix-exhyperv-autoupdate

Conversation

@Kookiejarz

@Kookiejarz Kookiejarz commented Mar 22, 2026

Copy link
Copy Markdown

Summary

The release asset naming convention in the upstream repository has changed (see Justsenger/ExHyperV#163). This PR updates the manifest to version 1.4.2 and fixes the broken checkver and autoupdate logic.

Changes

  • Version Update: Update to v1.4.2.

  • Checkver Fix: Fixed the regex to handle the V prefix in Git tags.

  • Autoupdate Fix: Updated URL patterns to match the new versioned asset filenames (e.g., ExHyperV_1.4.2_x64.zip).

  • Testing: Successfully tested locally with scoop install .\bucket\exhyperv.json.

  • 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 ARM64 support for expanded platform compatibility
  • Updates

    • Upgraded to v1.4.2 with updated download packages and checksums
    • Installer now exposes the main executable directly
    • Installation notes now indicate administrator privileges are required
    • Improved release/version detection and auto-update URLs for architecture-specific packages

@coderabbitai

coderabbitai Bot commented Mar 22, 2026

Copy link
Copy Markdown

Walkthrough

Manifest bucket/exhyperv.json updated from version 1.4.11.4.2: added arm64 artifacts, added bin and notes, removed suggest, pre_install, and persist, and changed checkver/autoupdate to use GitHub release tag V patterns with architecture-specific filenames.

Changes

Cohort / File(s) Summary
Package Manifest
bucket/exhyperv.json
Version bumped 1.4.1 → 1.4.2. Removed suggest, pre_install, persist; added notes and bin: "ExHyperV.exe". Added architecture.arm64 (URL/hash) and updated architecture.64bit URL/hash to include V1.4.2 and arch-specific filenames. checkver changed from GitHub releases API JSON parsing to a GitHub source with regex: "tag/V([\\d.]+)". autoupdate updated to use /download/V$version/ExHyperV_$version_x64.zip and added arm64 equivalent.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

review-needed

Suggested reviewers

  • z-Fng

Poem

🐰 A hop from one-four-one to one-four-two,
New arch wings flutter — arm64 too!
Tags now wear a V and files wear a name,
ExHyperV leaps into the release game. 🥕

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The PR description includes a comprehensive summary, detailed changes, testing confirmation, and satisfies both checkboxes for PR title convention and Contributing Guide compliance.
Title check ✅ Passed The title clearly and accurately summarizes the main changes: version update to 1.4.2, autoupdate fix, and arm64 support addition.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

Your changes did not pass all checks.

Please address the issues in the manifest and comment starting with /verify to rerun the checks.

exhyperv

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

Check the full log for details.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
bucket/exhyperv.json (1)

25-26: Tighten the checkver regex to enforce valid semantic versioning.

The current pattern tag/V([\\d.]+) is overly broad—its character class [\\d.] can match invalid sequences like V1...2 or V.1.2. The proposed pattern enforces proper semantic versioning (digits separated by single dots), adds the full releases/tag/ path for specificity, and anchors with $ to prevent partial matches.

Suggested change
 "checkver": {
     "github": "https://github.com/Justsenger/ExHyperV",
-    "regex": "tag/V([\\d.]+)"
+    "regex": "releases/tag/V([\\d]+(?:\\.[\\d]+)*)$"
 },
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@bucket/exhyperv.json` around lines 25 - 26, The current "regex" value is too
permissive; update the "regex" entry (the key named "regex" in this JSON block)
to match the full releases/tag/ path and a strict semantic version pattern
(digits separated by single dots) and anchor it with $ so only valid versions
like V1.2.3 match; replace the existing "regex": "tag/V([\\d.]+)" with a pattern
that includes "releases/tag/" and captures a semantic version (e.g., V followed
by \d+(?:\.\d+)*) and ends with $ to prevent partial matches.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@bucket/exhyperv.json`:
- Line 38: The file ends with a closing brace '}' with no trailing newline which
triggers lint failures; add a single newline character at the end of the file
(after the final '}') so the file ends with a newline (restore the conventional
EOF newline).

---

Nitpick comments:
In `@bucket/exhyperv.json`:
- Around line 25-26: The current "regex" value is too permissive; update the
"regex" entry (the key named "regex" in this JSON block) to match the full
releases/tag/ path and a strict semantic version pattern (digits separated by
single dots) and anchor it with $ so only valid versions like V1.2.3 match;
replace the existing "regex": "tag/V([\\d.]+)" with a pattern that includes
"releases/tag/" and captures a semantic version (e.g., V followed by
\d+(?:\.\d+)*) and ends with $ to prevent partial matches.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: bd47176f-45f5-4de0-9ef7-e8cdae5c3af1

📥 Commits

Reviewing files that changed from the base of the PR and between 495618f and 6dd3eda.

📒 Files selected for processing (1)
  • bucket/exhyperv.json

Comment thread bucket/exhyperv.json Outdated
@Kookiejarz

Copy link
Copy Markdown
Author

/verify

@github-actions

Copy link
Copy Markdown
Contributor

All changes look good.

Wait for review from human collaborators.

exhyperv

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

Check the full log for details.

@z-Fng z-Fng changed the title exhyperv@1.4.2: update version and fix autoupdate exhyperv: Update to version 1.4.2, fix autoupdate Mar 23, 2026
Comment thread bucket/exhyperv.json
Comment on lines -6 to -8
"suggest": {
".NET Desktop Runtime 8.0": "versions/windowsdesktop-runtime-8.0"
},

@z-Fng z-Fng Mar 23, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Could you explain the reasoning behind this change?

ScoopInstaller/Scoop#6378 (comment)

VCRedist / .NET Runtime related

When they are suggested by manifest, it means that the app requires them. You can install them any way you want, not limited to Scoop

Comment thread bucket/exhyperv.json
Comment on lines -15 to -19
"pre_install": [
"if (-not (Test-Path -LiteralPath \"$persist_dir\\Config.xml\" -PathType Leaf)) {",
" Set-Content -Path \"$dir\\Config.xml\" -Value '<?xml version=\"1.0\" encoding=\"utf-8\"?><Config/>' -Encoding UTF8",
"}"
],

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

And what about this part?

@z-Fng z-Fng changed the title exhyperv: Update to version 1.4.2, fix autoupdate exhyperv: Update to version 1.4.2, fix autoupdate, add arm64 support Mar 23, 2026
Comment thread bucket/exhyperv.json
Comment on lines -28 to -30
"url": "https://api.github.com/repos/Justsenger/ExHyperV/releases",
"jsonpath": "$[?(@.tag_name =~ /^v?[\\d.]+$/i)].tag_name",
"regex": "(?i)v?([\\d.]+)"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I believe the checkver logic is working correctly; the purpose here is to filter out beta releases.

Comment thread bucket/exhyperv.json
" Set-Content -Path \"$dir\\Config.xml\" -Value '<?xml version=\"1.0\" encoding=\"utf-8\"?><Config/>' -Encoding UTF8",
"}"
],
"bin": "ExHyperV.exe",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

https://github.com/ScoopInstaller/.github/blob/main/.github/CONTRIBUTING.md#for-scoop-buckets
If the program file is a GUI application and it doesn't accept any commandline arguments, no need to add it in bin.

@z-Fng

z-Fng commented Mar 23, 2026

Copy link
Copy Markdown
Member

Closing this in favor of the fix implemented in 75d5f53.

@z-Fng z-Fng closed this Mar 23, 2026
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.

2 participants