chore(release): prepare v0.25.0 beta-36 - #812
Merged
Merged
Conversation
Prepare Registry Stack v0.25.0 on release train beta-36 with exact version identity, immutable manifest and release notes, generated client and docs surfaces, canonical archive metadata, and release-scoped docs expectation updates. The minor version reflects one breaking change in adopter tooling: the `trace` field of `evidencectl fixtures run --json` changes from a string holding the text rendering to the structured document itself. `evidencectl` sits outside the frozen Version 1 runtime contract, and no runtime API, manifest format, or product boundary moves at this version. The identifier catalog is unchanged from beta-35, so the manifest carries the same 51-entry catalog digest. The v0.25.0 archive lock entry is the Ubuntu 24.04 x86_64 build on Node 22.12.0, the environment candidate construction uses. Pagefind's index bytes follow the builder, so a digest taken on another platform cannot match. The snapshot was taken with this preparation commit as HEAD, so stagePinnedGeneratedArtifacts staged the v0.25.0 CLI reference rather than a pre-bump one, and all three digests bind the release-identity tree. Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
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.
Release identity
mainatf4f9df45cPrepared surfaces
The planner reports
readywith 13 checks passed. The change set is 121 files,the same surface set as the v0.24.0 preparation commit
622614672.Why the minor version
The
tracefield ofevidencectl fixtures run --jsonchanges from a stringholding the text rendering of
evidence evaluate --explainto that command'sstructured JSON document.
evidencectlis adopter tooling outside the frozenVersion 1 runtime contract, and the field only ever appears under
--explain,but a consumer reading
traceas text must be updated.Archive identity
The v0.25.0 archive lock is bound to the canonical Ubuntu 24.04 x86_64 build on
Node 22.12.0, the environment candidate construction uses. Pagefind's index
bytes follow the builder, so a digest recorded on another platform cannot match.
v0.24.0 needed a second commit (
b2dc14c88) to correct this, because its firstsnapshot predated the preparation commit and
stagePinnedGeneratedArtifactsresolved the unpublished candidate tag to a
HEADthat still carried thepre-bump CLI reference. This branch avoids that failure by construction: the
preparation commit was created first, the Ubuntu snapshot was taken with that
commit as
HEAD, and the lock was amended into it. Three independent Ubuntubuilds agree on all three digests:
--write-lockeff46829b(pre-amend)--verify-lockb9ca33062--verify-lockb9ca33062Verification
ready, 13 checks passedvalidate release/manifests/registry-stack-beta-36.yaml,validate-current,validate-docsets,check:archive-lock --base-ref origin/main(31 archives),check-release-source-model.shin monorepo moderelease/scripts/test_*.pymodulesnpm run check: passed, 18439 built links checkedfmt --check,check --locked --workspace --all-targets,clippy --locked --workspace --all-targets -- -D warningsgit diff --checkOne local test failure, pre-existing and macOS-only
cargo test --locked --workspacefails fiveregistry-minttests on thismacOS arm64 machine:
This is not caused by the release and is not load-related. The branch changes
zero files under
crates/registry-mintand zero.rsfiles anywhere(
git diff origin/main...HEAD --name-only), andRust tests (mint)is greenon the base commit
f4f9df45c. Reproduced 3 out of 3 runs on an idle machine,and once more with a single test selected and nothing else running.
The cause is a test budget tighter than the code it exercises.
healthcheck_against_raw_responsewraps the call intokio::time::timeout(Duration::from_secs(1), ...), whilehealthcheck's ownHEALTHCHECK_TIMEOUTisDuration::from_secs(5). Each call builds a freshreqwest::Client, and the workspace pins reqwest withrustls-tls-native-roots, so every build enumerates the platform trust store.On Linux that reads one file; on macOS it queries the Security framework, which
costs about a second here. The request itself is plain HTTP to
127.0.0.1, so the trust store is loaded and never used.Flagged rather than fixed: it is outside this change's scope, and a release
branch is the wrong place to change a service's test timing.
After merge
Merge this last. Between recording a lock entry and publishing the bundle, any
change under
docs/site/src/content/**invalidates the candidate with nosupported repair, and
sync-repo-docs.mjsflowsproducts/*/docs/**into thattree. The candidate should be dispatched immediately after the squash lands.