Skip to content

0.13.0 — follow openkal-musl 0.17.0, and correct the floor this names - #26

Merged
Sunrisepeak merged 2 commits into
mainfrom
follow-openkal-musl-0-17-0
Sep 20, 2026
Merged

Sunrisepeak merged 2 commits into
mainfrom
follow-openkal-musl-0-17-0

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

The pin move

openkal-musl 0.17.0 is a manifest-only release — it declares what the library does not supply ([c-abi-absent], 24 rows, asserted against the built archive by its own CI) and moves its implementation pins to openkal-linux 0.15.0 and openkal-windows 0.10.0. No source changed, so following it is a pin move: openkal-musl = "0.17.0", this package to 0.13.0.

The floor this README names was wrong

It said mcpp 2026.9.18.3, and credited that release with stripping host macros (-U_WIN32, -U_WIN64, -U__MINGW32__, -U__MINGW64__) on Windows hosts before reading the predefines that back the [c-abi] declaration.

The strip was real and it protected nothing. On a freestanding target there was no --target= substitution in the probe's argv for it to compensate for — 2026.9.18.3's probe ran with no target selection at all on every freestanding build, so the compiler answered for the machine it was running on. Deleting the host's predefines deleted the one piece of evidence that would have said so: a measurement that removes its own disagreement reports an agreement it never established.

mcpp 2026.9.20.1 assembles that command line in one place that refuses to omit the target (cenv_probe::assemble_argv), so the README now names that release and says what the old note got wrong rather than quietly replacing it.

Still to do on this branch

MCPP_VERSION in CI stays at 2026.9.18.3 until 2026.9.20.1 is released, then moves with it before this merges. Leaving it would keep this package validated by an engine its own README says misbuilds it on freestanding — and green, because that misbuild is the silent kind.

CI resolves the ecosystem from working trees (tools/branch-graph.sh), so openkal-musl here is main, which is 0.17.0.

openkal-musl 0.17.0 is a manifest-only release: it declares what the library
does not supply (`[c-abi-absent]`, 24 rows, asserted against the archive by
its own CI) and moves its implementation pins to openkal-linux 0.15.0 and
openkal-windows 0.10.0. No source changed, so following it is a pin move.

THE ENGINE FLOOR IN THE README WAS WRONG, AND WRONG IN THE DIRECTION THAT
MATTERS. It named 2026.9.18.3 and credited that release with stripping host
macros (`-U_WIN32`, `-U_WIN64`, the MinGW pair) on Windows hosts before
reading the predefines that back the `[c-abi]` declaration. The strip existed
and it protected nothing: on a freestanding target there was no `--target=`
substitution in the probe's argv for it to compensate for, and removing the
host's predefines removed the one piece of evidence that would have said so.
2026.9.18.3's probe ran with no target selection at all on every freestanding
build, so the compiler answered for the machine it was running on.

2026.9.20.1 assembles that command line in one place that refuses to omit the
target, so the README now names it. CI's `MCPP_VERSION` still pins 2026.9.18.3
and moves with that release --- leaving it here would keep this package
validated by an engine its own README says misbuilds it on freestanding, and
green, because the misbuild is the silent kind.
The README here says the floor is mcpp 2026.9.20.1, because that is the first
release whose verification probe refuses to run without a target selection ---
below it, a freestanding cross-build's probe answered for the machine it ran
on. Leaving CI on 2026.9.18.3 would validate this package with an engine its
own README says misbuilds it on freestanding, and the run would be green,
because that misbuild is the silent kind.

2026.9.20.1 is released and in the index, so the pin moves with it. The
openkal-musl pin moves to 0.18.0 in the same change: 0.17.0 was the version
this branch was opened against, and 0.18.0 followed openkal-macos 0.12.0 so
that a consumer's `requires-interfaces` is answered on macOS too. Pinning
0.17.0 here would publish a manifest naming a version CI did not test, since
`tools/branch-graph.sh` resolves the sibling to its default branch.
@Sunrisepeak
Sunrisepeak merged commit 35b6598 into main Sep 20, 2026
5 checks passed
@Sunrisepeak
Sunrisepeak deleted the follow-openkal-musl-0-17-0 branch September 20, 2026 15:28
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