Skip to content

docs: cxx_runtime was inert on MSVC until 2026.8.16, and upgrading is silent - #450

Merged
Sunrisepeak merged 1 commit into
mainfrom
docs/msvc-cxx-runtime-migration
Aug 17, 2026
Merged

docs: cxx_runtime was inert on MSVC until 2026.8.16, and upgrading is silent#450
Sunrisepeak merged 1 commit into
mainfrom
docs/msvc-cxx-runtime-migration

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

The MSVC section of 05-mcpp-toml describes today's behaviour correctly and says nothing about the fact that it is new.

Through 2026.8.15 the key reported not implemented for the MSVC runtime yet and every value fell back to /MD; since 2026.8.16 (#422) it selects the CRT model. So a manifest carrying cxx_runtime = "self-contained" from that era switches from /MD to /MT on upgrade — silently, because the value was always spelled correctly and always accepted, and /MT is a different CRT model rather than a stricter version of the same one.

Not hypothetical. Found while reviewing xrgui's mcpp manifest, which carried exactly that value — set while the key did nothing, with a comment explaining that it was a no-op:

# mcpp says so itself when asked for anything else:
#   cxx_runtime = "self-contained" is not implemented for the MSVC runtime yet
#   (it would need the /MT runtime); using host-coupled

That project wants /MD (it matches its xmake build), so the value there is being corrected to host-coupled on its side. This adds the note for everyone else in the same position.

Docs only, en + zh.

… silent

The MSVC section describes today's behaviour correctly and says nothing about
the fact that it is NEW. Through 2026.8.15 the key reported "not implemented
for the MSVC runtime yet" and every value fell back to /MD; since 2026.8.16
(#422) it selects the CRT model.

So a manifest carrying `cxx_runtime = "self-contained"` from that era switches
from /MD to /MT on upgrade — silently, because the value was always spelled
correctly and always accepted. /MT is a different CRT model rather than a
stricter version of the same one.

Not hypothetical: found while reviewing xrgui's mcpp manifest, which carried
exactly that value, set at a time when it did nothing, with a comment
explaining that it was a no-op.
@Sunrisepeak
Sunrisepeak merged commit 9c5cc8d into main Aug 17, 2026
19 checks passed
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