chore(release): 0.27.0 - #104
Merged
Merged
Conversation
Cuts the release that has been sitting on main. Seven merged PRs since v0.26.0 had no CHANGELOG entry at all, including a security change, so this backfills them before dating the section rather than shipping a release whose notes describe two of nine changes. What was missing: #98 KBS release now requires the authority-layer manifest identity to be pinned out of band. Without it a caller could present an attacker-authored policy reusing a weights hash the broker already held. Security-relevant and entirely absent from the notes. #94 wcm.runtime_records: signed, hash-chained custody receipts. #95 wcm.memory_sweep: signed protected-memory sweep. #93 Azure PCR 23 reset-and-extend with the approved serving-image digest. #92 PCR 23 bound to the manifest measurement; fail-closed RFC 5280 policy for non-positive certificate serials. #100 PyPI project URLs that resolve for an anonymous reader. #102 TDX missing-device coverage isolated from the host. #94 and #95 are the reason this release is worth cutting now rather than later. Both have been on main since before 0.26.0 shipped and neither is on PyPI, so the signed RuntimeRecord is unavailable to anything following the "target published releases" rule. The two WCM serving integrations in agentrust-io/integrations#142 work from observable EnclaveSession state instead and say so in their READMEs; this is what lets them carry a verified chain. 0.27.0 rather than 0.26.2: #94, #95 and the artifact digest are additive feature work, and #98 changes what a broker accepts. __version__ was already at 0.26.1 from #98's bump, which was never released. Verified: 599 passed, 3 skipped. python -m build produces weight_custody_manifest-0.27.0 wheel and sdist, and the wheel ships artifact_digest, runtime_records and memory_sweep along with the packaged schema and conformance vectors. twine check runs in the packaging job; locally it is blocked by a Windows Application Control policy on the nh3 DLL, which is an environment limitation rather than a package one. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014NL8o3PXq6kfs2SdmBv6ak
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.
Cuts the release that has been sitting on
main, and fixes the notes first.Seven merged PRs had no changelog entry
## Unreleaseddescribed two changes. Nine had landed sincev0.26.0. Backfilled rather than dated as-is, because a release whose notes cover two of nine is worse than no notes: it reads as complete.wcm.runtime_records: signed, hash-chained custody receiptswcm.memory_sweep: signed protected-memory sweepWhy cut it now
#94 and #95 have been on
mainsince before 0.26.0 shipped, and neither is on PyPI.That means the signed
RuntimeRecordis unavailable to anything following the "target published releases" rule. The two WCM serving integrations in agentrust-io/integrations#142 work from observableEnclaveSessionstate instead, and their READMEs say so explicitly:This release is what lets them carry a verified chain instead.
Version choice
0.27.0, not0.26.2. #94, #95 andartifact_digestare additive feature work, and #98 changes what a broker accepts.__version__was already at0.26.1from #98's bump, which was never released.Verified
python -m buildproducesweight_custody_manifest-0.27.0wheel and sdist.artifact_digest.py,runtime_records.pyandmemory_sweep.py, plus the packaged schema and conformance vectors.twine checkruns in thepackagingjob. Locally it is blocked by a Windows Application Control policy on thenh3DLL, an environment limitation rather than a package one.Not done here
Steps 4 and 5 of
python/RELEASING.md, the tag andgh release createthat fire the OIDC publish. That is yours to call, and a PyPI version cannot be unpublished and reused.Once it is on PyPI the follow-ups are: switch the two integration copies and the examples-repo copy of the digest recipe to import
wcm.artifact_digest, and lift the WCM serving integrations onto the signed runtime records.🤖 Generated with Claude Code
https://claude.ai/code/session_014NL8o3PXq6kfs2SdmBv6ak