• v0.30.2 fea688f024

    Release v0.30.2
    All checks were successful
    changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 3s
    check-self-bootstrap / check (pull_request) Has been skipped
    changelog-body-check / check (pull_request) Successful in 0s
    fragment-check / changelog fragment-kind (pull_request) Successful in 3s
    fragment-check / check (pull_request) Successful in 0s
    manifest-check / manifest-vs-tag consistency (pull_request) Successful in 5s
    manifest-check / check (pull_request) Successful in 0s
    register-check / register-drift check (pull_request) Successful in 4s
    register-check / check (pull_request) Successful in 0s
    tests / bats (pull_request) Successful in 1m55s
    tests / shellcheck (pull_request) Successful in 7s
    check-self-bootstrap / check (push) Successful in 3s
    release / decide + act (push) Successful in 6s
    release / release (push) Successful in 0s
    tests / bats (push) Successful in 1m55s
    tests / shellcheck (push) Successful in 7s
    mirror-on-cut / mirror-1 (release) Successful in 1s
    mirror-on-cut / mirror (release) Successful in 0s
    Stable

    release-bot released this 2026-07-07 18:56:16 +02:00 | 1061 commits to main since this release

    Added

    None.

    Changed

    None.

    Fixed

    Cut workflow no longer fails on the not-yet-existent cut tag under the toolkit-self floating-pin discipline. Under #456, the toolkit's own wrapper pins uses:@main. The reusable then runs from main HEAD.

    After a rolling-PR merge, main transiently carries BUILD_BAKED_TOOLKIT_REF='vCUT_TAG'. release-prep.sh bakes it at compose so adopters pinning the cut tag get frozen substrate. But the tag itself does not exist yet at push:main time. The old resolve-ref step emitted that value unconditionally as the checkout target; actions/checkout@v4 then failed trying to fetch a not-yet-created tag.

    Each resolve-ref step now scope-detects the consumer wrapper's uses:@<ref> value. When it is main, REF is overridden to main regardless of the baked value. Adopters are unaffected. Their wrapper pins @vX.Y.Z, the override branch is skipped, and the baked value is trusted as before.

    Cut-tag artifacts still carry the baked vCUT_TAG value. @vX.Y.Z pins remain a frozen source-of-record per #336. Empirical anchor: v0.30.1 cut failed at 7a1e63cb. No action required for adopters. Closes #460.

    Removed

    None.

    Deprecated

    None.

    Upgrade

    None.

    Downloads