openkal-musl 0.17.0: register it, and it asks nothing of the floor - #447
Merged
Merged
Conversation
0.17.0 states what the library does NOT supply --- a top-level
`[c-abi-absent]` table of 24 rows, each naming the shape in which that absence
reaches a program, with the package's own CI asserting every row against the
objects it builds. It also moves the implementation pins to openkal-linux
0.15.0 and openkal-windows 0.10.0. No source changed.
`min_mcpp` DOES NOT MOVE, and that is measured rather than assumed. mcpp
ignores a top-level table it does not know and refuses an unknown MEMBER of a
table it does know, so the first spelling of that table made every engine
below 2026.9.20.1 refuse the whole manifest on every target. It is top-level
now, and openkal-musl's own CI builds 0.17.0 green against the published
2026.9.18.3 --- this index's current floor. All 231 descriptors parse with
that same engine, so the descriptor grammar is unchanged too.
The hash was recomputed from a fresh download of the GLOBAL url, and the CN
asset was fetched in full and compared byte for byte against it: equal.
Two other things this touches:
* The entry lands in all three platform blocks. It went into `linux` alone
first, and `check_platform_version_parity` caught it --- the omission
would have read as "0.17.0 not found" on macOS and Windows while the file
plainly contained it.
* The descriptor's header note said 0.15.0 was pending and unlisted. It had
been released and registered, and so had 0.16.0. A note claiming a
published version does not exist reads as missing data rather than as a
stale sentence, so it is replaced rather than amended.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The release
openkal-musl 0.17.0 states what the library does not supply: a top-level
[c-abi-absent]table of 24 rows, each naming the shape in which that absence reaches a program (link,enosys,accepted-no-effect), with the package's own CI asserting every row against the 1380 objects it builds. It also moves the implementation pins to openkal-linux 0.15.0 and openkal-windows 0.10.0. No source changed.min_mcppdoes not move, and that is measuredmcpp ignores a top-level table it does not know and refuses an unknown member of a table it does know. The first spelling of this table was
[c-abi].absent, and measured against the genuine published 2026.9.18.3 archive — this index's current floor — it made that engine refuse the whole manifest on every target:Top-level, the same engine builds it. openkal-musl's own CI pins 2026.9.18.3 and is green on 0.17.0, which is the end-to-end form of the same statement. A client stopped below 2026.9.20.1 keeps this package and loses only the note mcpp would attach to a link that failed at one of these names.
All 231 descriptors parse with 2026.9.18.3, so the descriptor grammar is unchanged as well.
Verification
cmpagainst the GLOBAL archive — byte-for-byte equalmcpp xpkg parse, all 231Two things this also fixes
linuxalone first andcheck_platform_version_paritycaught it: the omission would read as "0.17.0 not found" on macOS and Windows while the file plainly contained it.