Skip to content

Prepare 0.7.0: bump versions and stop DEFAULT_WSM_VERSION rotting - #46

Merged
TheValiantOne merged 1 commit into
mainfrom
chore/release-0.7.0
Aug 22, 2026
Merged

Prepare 0.7.0: bump versions and stop DEFAULT_WSM_VERSION rotting#46
TheValiantOne merged 1 commit into
mainfrom
chore/release-0.7.0

Conversation

@TheValiantOne

Copy link
Copy Markdown
Owner

Release prep for the six PRs just merged. Nothing here changes behaviour — versions, one CI check, and one stale comment.

Why 0.7.0 and not 0.6.5

Vortex's bundled game-witcher3 extension auto-installs the IDCs fork with RELEASE_CUTOFF = '0.6.5', MD5-pinned, using the same WitcherScriptMerger.exe filename and the same W3ScriptMerger tool id.

Publishing our own 0.6.5 would collide with that in a way that's confusing to diagnose and impossible to fix after release. Skipping the number costs nothing and sidesteps it entirely.

If you'd rather ship 0.6.5, say so before tagging — it's three constants and this PR.

The version that was silently rotting

release.yml's verify-version already cross-checked AssemblyInfo.cs, Headless.csproj, and the tag. It did not check DEFAULT_WSM_VERSION — the fourth copy of the same number, and the only one nothing enforced. Which is exactly why it was still 0.6.4 while main moved seven-plus commits past it.

That constant selects which release the Vortex extension downloads when a user acquires WSM through it. Shipping without bumping it means every new extension user auto-downloads the previous build — the one missing the fixes the release was cut for. Now checked, and it fails the release loudly.

Versions

from to
AssemblyInfo.cs (WinForms) 0.6.4 0.7.0
WitcherScriptMerger.Headless.csproj 0.6.4 0.7.0
githubRelease.ts DEFAULT_WSM_VERSION 0.6.4 0.7.0
extension package.json / info.json / lockfile 0.1.0 0.2.0

The extension version tracks separately from WSM's — eight commits since companion-0.1.0.

One stale comment

githubRelease.ts justified downloading the Headless host by saying the WinForms host's merge and mcp verbs both gate on the combined QuickBMS+wcc_lite check. That stopped being true for merge in #40.

mcp still gates on the combined check — and MCP is how this extension actually drives WSM — so the conclusion is unchanged and arguably stronger. The comment just needed to stop asserting something false.

Verification

Release-configuration build clean, 216 .NET tests, 225 extension tests, dotnet format / typecheck / lint clean. --version prints 0.7.0. npm run package produces witcherscriptmerger-vortex-0.2.0.zip, and the version/id guards added in #44 pass against the bumped files.

After this merges — yours

  1. git push origin v0.7.0release.yml builds and publishes all three assets
  2. git push origin companion-0.2.0 for the extension (today release.yml only triggers on v*, so this one is still hand-cut)
  3. gh api -X PATCH repos/TheValiantOne/WitcherScriptMerger -f has_issues=true — issues are disabled, and the wiki now sends people looking for somewhere to report

I'll refresh the wiki once v0.7.0 exists: it currently documents 0.6.4 behaviour, so the "merge refuses to start without QuickBMS/wcc_lite" entry and the re-merge duplication workaround both become obsolete the moment this ships.

AI-assisted development

Produced by Claude Code (Opus 5). Version-collision finding came from a review pass over the bundled Vortex extension's own source; all verification results above are from real runs.

WSM 0.6.4 -> 0.7.0 across AssemblyInfo.cs, Headless.csproj, and the Vortex
extension's DEFAULT_WSM_VERSION. Extension 0.1.0 -> 0.2.0, which tracks separately.

0.7.0 rather than 0.6.5, deliberately: Vortex's bundled game-witcher3 extension
auto-installs the IDCs fork with RELEASE_CUTOFF = '0.6.5', MD5-pinned, using the
same WitcherScriptMerger.exe name and the same W3ScriptMerger tool id. Releasing
our own 0.6.5 would collide with that in a way that is confusing to diagnose and
impossible to fix after the fact. Skipping the number sidesteps it entirely.

release.yml's verify-version already checked AssemblyInfo.cs, Headless.csproj and
the tag against each other. It did not check DEFAULT_WSM_VERSION - the fourth copy
of the same number and the only one nothing enforced, which is why it was still
pinned to 0.6.4 while main moved on. That constant selects which release the Vortex
extension downloads when a user acquires WSM through it, so leaving it behind ships
an extension that auto-fetches the PREVIOUS build: every new user would get exactly
the build missing the fixes the release was cut for. Now checked and fails loudly.

Also corrects a comment in githubRelease.ts that justified downloading the Headless
host by saying the WinForms host's `merge` *and* `mcp` verbs both gate on the
combined QuickBMS+wcc_lite check. That stopped being true for `merge` when its gate
was narrowed to the text-merge engine. `mcp` still gates on the combined check, and
MCP is how this extension actually drives WSM, so the conclusion is unchanged - the
comment just needed to stop asserting something false.

Verified: Release build clean, 216 .NET tests, 225 extension tests, typecheck and
lint clean, `--version` prints 0.7.0, and `npm run package` produces
witcherscriptmerger-vortex-0.2.0.zip.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FP8H6rBLCGPBFRSVsF3Kgw
@TheValiantOne
TheValiantOne merged commit 4a2cb82 into main Aug 22, 2026
2 checks passed
@TheValiantOne
TheValiantOne deleted the chore/release-0.7.0 branch August 22, 2026 13:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant