Skip to content

(chore): Update to latest version, fix checkver/autoupdate logic#18087

Open
SorYoshino wants to merge 2 commits into
ScoopInstaller:masterfrom
SorYoshino:update-to-latest-version
Open

(chore): Update to latest version, fix checkver/autoupdate logic#18087
SorYoshino wants to merge 2 commits into
ScoopInstaller:masterfrom
SorYoshino:update-to-latest-version

Conversation

@SorYoshino

Copy link
Copy Markdown
Contributor

Summary

Updates multiple manifests to their latest versions and refactors their checkver and autoupdate blocks to use modern JSONPath, robust regex matching, and $matchTag/$matchName variables to ensure reliable automated updates.

Changes

  • Version Updates:
    • Update ani-cli to 4.14 (switch source URL to raw github tags)
    • Update clementine to 1.4.1-78
    • Update cyberchef to 11.2.0 (with custom asset 7z hash matching)
    • Update debugviewpp to 1.2.0.0
    • Update effekseer to 1.80.5
    • Update electron-cash to 4.4.5 (and restructure to 64bit architecture)
    • Update heidisql to 12.18
    • Update iographica to 2.0.2 (and switch checkver to GitHub)
    • Update keyguard to 2.14.2-20260616
  • Checkver & Autoupdate Optimizations:
    • Modernize checkver with GitHub API (jsonpath and specific asset filtering) for cupscale, cyberchef, debugviewpp, effekseer, keyguard, klogg, and maple.
    • Fix case-insensitive anchors (^(?i)) and replace patterns in clementine, heidisql, kotatogram, launchy, and memreduct.

Notes

  • For electron-cash, the portable executable has been properly nested inside the architecture.64bit block to align with modern upstream releases.
  • Modified regex patterns utilize explicit named captures (<tag>, <name>) where applicable to ensure Scoop's autoupdate mechanism evaluates properly without losing fallback variables.
  • Use conventional PR title: <manifest-name[@version]|chore>: <general summary of the pull request>
  • I have read the Contributing Guide

@coderabbitai

coderabbitai Bot commented Jun 19, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 8cfc173f-60e4-447f-bcd4-3db5749ca28c

📥 Commits

Reviewing files that changed from the base of the PR and between 02a3758 and ea01c07.

📒 Files selected for processing (1)
  • bucket/electron-cash.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • bucket/electron-cash.json

📝 Walkthrough

Walkthrough

Fourteen Scoop bucket manifest JSON files are updated. Nine manifests receive version bumps with corresponding download URL and hash replacements (ani-cli 4.14, clementine 1.4.1-78-gb55eca391, cyberchef v11.2.0, heidisql 12.18, iographica 2.0.2, effekseer 1.80.5, debugviewpp 1.2.0.0, electron-cash 4.4.5, keyguard 2.14.2-20260616). Across all fourteen files, checkver regex patterns, jsonpath selectors, and autoupdate URL templates are revised—replacing older tag-path or jsonpath approaches with updated patterns that use $matchTag, $matchName, $cleanVersion, and raw GitHub refs/tags paths.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related issues

Possibly related PRs

  • ScoopInstaller/Extras#16381: Both PRs modify bucket/clementine.json to bump the Clementine version and rework checkver/autoupdate to use tag-based extraction.
  • ScoopInstaller/Extras#17376: Both PRs update bucket/effekseer.json, revising checkver jsonpath/regex and the 64-bit autoupdate URL template based on upstream release asset naming.
  • ScoopInstaller/Extras#17639: Both PRs update bucket/heidisql.json to bump the version and adjust checkver.regex and autoupdate.architecture.64bit.url for GitHub release tag paths.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main changes: updating manifests to latest versions while fixing checkver/autoupdate logic, which matches the primary objectives of the PR.
Description check ✅ Passed The PR description provides a comprehensive summary of changes, lists all updated manifests with version numbers, explains checkver/autoupdate optimizations, and includes the required conventional commit checkbox marked as completed.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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


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.

@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: 2

🧹 Nitpick comments (2)
bucket/cupscale.json (1)

23-32: ⚡ Quick win

Make version extraction explicit in checkver to avoid capture-order ambiguity.

The regex is optimized for $matchTag/$matchName, but $version is still implicit. Adding replace makes checkver behavior deterministic and keeps extract_dir stable.

Proposed refactor
-        "regex": "(?i)download/(?<tag>[^/]+)/(?<name>Cupscale\\.?([\\w.]+)\\.zip)"
+        "regex": "(?i)download/(?<tag>[^/]+)/(?<name>Cupscale\\.?([\\w.]+)\\.zip)",
+        "replace": "$3"

Please verify with .\bin\checkver.ps1 -App cupscale -f that the resolved version matches the intended manifest version format.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@bucket/cupscale.json` around lines 23 - 32, The checkver section in the
cupscale.json manifest currently lacks an explicit version extraction
specification, relying instead on implicit capture-order matching which can
cause ambiguity. In the checkver block, add a replace field that explicitly
defines how to extract the version from the regex match groups. Use the named
capture groups from the regex pattern (specifically the tag and name groups) to
construct a deterministic version string that matches what is used in the
extract_dir field (which currently references $version). This ensures the
version extraction is deterministic and the extract_dir pattern remains stable.
After making this change, verify it works correctly by running the checkver
PowerShell script with the app name as instructed in the comment.
bucket/keyguard.json (1)

22-27: Run the local Scoop validation flow for the touched manifests before merge.

Suggested commands:

  • scoop config debug true
  • scoop config gh_token <your-github-token>
  • .\bin\checkver.ps1 -App <manifest-name> -f
  • .\bin\formatjson.ps1 -App <manifest-name>
  • scoop install <manifest-path> -a <architecture>

References:

As per coding guidelines, "Provide clear instructions for testing the manifest locally before submission" and "always provide a link to the official contribution guide or wiki."

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@bucket/keyguard.json` around lines 22 - 27, The manifest changes in the
keyguard.json file require local validation before merging to ensure the version
checking and installation functionality work correctly. Configure Scoop debug
mode and GitHub token authentication, then run the checkver validation script
against the keyguard manifest to verify the version detection regex and JSON
path work as expected, followed by the formatjson validation to ensure proper
JSON formatting, and finally test local installation using the modified manifest
path with the appropriate architecture flag to confirm the manifest functions
correctly end-to-end.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@bucket/electron-cash.json`:
- Line 25: In the electron-cash.json manifest file, the
autoupdate.architecture.64bit.url on line 25 hardcodes the version number
"4.4.5" in the filename Electron-Cash-4.4.5-x86_64-portable.exe. Replace the
hardcoded "4.4.5" with the $version variable placeholder so that future version
bumps automatically reflect the correct filename. Change
Electron-Cash-4.4.5-x86_64-portable.exe to
Electron-Cash-$version-x86_64-portable.exe in the autoupdate URL string.

In `@bucket/klogg.json`:
- Around line 25-35: The checkver.regex pattern in the klogg.json file contains
two capture groups but lacks a replace directive to specify which group should
be used as the version. Without this directive, Scoop will use the entire
matched string instead of just the version number. Add a replace directive in
the checkver section that references the second unnamed capture group containing
the version pattern [\\d.]+ to ensure autoupdate correctly extracts and uses
only the full package version (like 22.06.0.1289) rather than the entire matched
string. Verify the fix using the provided checkver.ps1 command to confirm the
detected version matches the expected full asset version.

---

Nitpick comments:
In `@bucket/cupscale.json`:
- Around line 23-32: The checkver section in the cupscale.json manifest
currently lacks an explicit version extraction specification, relying instead on
implicit capture-order matching which can cause ambiguity. In the checkver
block, add a replace field that explicitly defines how to extract the version
from the regex match groups. Use the named capture groups from the regex pattern
(specifically the tag and name groups) to construct a deterministic version
string that matches what is used in the extract_dir field (which currently
references $version). This ensures the version extraction is deterministic and
the extract_dir pattern remains stable. After making this change, verify it
works correctly by running the checkver PowerShell script with the app name as
instructed in the comment.

In `@bucket/keyguard.json`:
- Around line 22-27: The manifest changes in the keyguard.json file require
local validation before merging to ensure the version checking and installation
functionality work correctly. Configure Scoop debug mode and GitHub token
authentication, then run the checkver validation script against the keyguard
manifest to verify the version detection regex and JSON path work as expected,
followed by the formatjson validation to ensure proper JSON formatting, and
finally test local installation using the modified manifest path with the
appropriate architecture flag to confirm the manifest functions correctly
end-to-end.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 600c5b2f-7e6b-4e69-8d31-cb71430b3511

📥 Commits

Reviewing files that changed from the base of the PR and between a33226b and 02a3758.

📒 Files selected for processing (15)
  • bucket/ani-cli.json
  • bucket/clementine.json
  • bucket/cupscale.json
  • bucket/cyberchef.json
  • bucket/debugviewpp.json
  • bucket/effekseer.json
  • bucket/electron-cash.json
  • bucket/heidisql.json
  • bucket/iographica.json
  • bucket/keyguard.json
  • bucket/klogg.json
  • bucket/kotatogram.json
  • bucket/launchy.json
  • bucket/maple.json
  • bucket/memreduct.json

Comment thread bucket/electron-cash.json Outdated
Comment thread bucket/klogg.json
@SorYoshino SorYoshino marked this pull request as draft June 19, 2026 16:07
@SorYoshino SorYoshino marked this pull request as ready for review June 19, 2026 16:11
@SorYoshino

Copy link
Copy Markdown
Contributor Author

/verify

@github-actions

Copy link
Copy Markdown
Contributor

All changes look good.

Wait for review from human collaborators.

ani-cli

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

clementine

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

cupscale

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

cyberchef

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

debugviewpp

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

effekseer

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

electron-cash

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

heidisql

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

iographica

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

keyguard

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

klogg

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

kotatogram

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

launchy

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

maple

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

memreduct

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

Check the full log for details.

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.

1 participant