Skip to content

chore: bump version to 2026.8.16.3 - #443

Merged
Sunrisepeak merged 1 commit into
mainfrom
chore/release-2026.8.16.3
Aug 16, 2026
Merged

chore: bump version to 2026.8.16.3#443
Sunrisepeak merged 1 commit into
mainfrom
chore/release-2026.8.16.3

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

Ships the round that made msvc@<toolset> actually work end to end, plus #437.

What this release contains

The managed MSVC toolchain now completes its whole lifecycle on a real Windows runner:

PASS: msvc@14.44.35207 installs, builds, stays distinct from msvc@system, and removes

Getting there took nine layers, each only reachable once the one before it was fixed — and every layer had been green in CI:

# defect where
1–2 installed() checked cl.exe only, then directories only index
3–4 no kernel32.lib; no um/shared headers, no rc/mt index #636
5 mcpp accepted an SDK on headers alone → LNK1104 #440
6–7 remove failed on Windows; the error did not say which file #440
8–9 vctip.exe held the payload; not installing it ≠ fixing machines that had it index #637 / #639

Also fixed here (from the architecture review, .agents/docs/2026-08-16-toolchain-architecture-review.md):

  • mcpp doctor could not see an installed msvc toolset that toolchain list showed — the pre-fix(toolchain): an installed msvc toolset did not appear in toolchain list #436 layout lookup, fourth copy
  • has_usable_msvc() gated three decisions on "this machine has VS", diverting a box with a pinned toolset to mingw
  • a default /MD build could not start on a clean Windows box: vcruntime140.dll is not an OS component, and the payload's copy was downloaded and never used
  • toolchain default accepted a directory that merely exists

And #437: on macOS any project carrying a build.mcpp failed to build, because the main build forces -fuse-ld=lld and the host helper did not — same toolchain, same environment, two link paths disagreeing.

Changelog accuracy

One entry in [Unreleased] described the removal fix as renaming the payload directory. That premise was wrong and CI disproved it: Windows renames an open file happily and refuses to rename a directory containing one. The entry now describes what actually ships — move the files aside, delete the emptied tree, and treat "no files remain" as removed.

@Sunrisepeak
Sunrisepeak merged commit e4f6c1e into main Aug 16, 2026
19 checks passed
@Sunrisepeak
Sunrisepeak deleted the chore/release-2026.8.16.3 branch August 16, 2026 13:56
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.

2 participants