• v0.38.0 82d4aa0932

    v0.38.0
    All checks were successful
    changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 6s
    changelog-body-check / check (pull_request) Successful in 0s
    check-self-bootstrap / check (pull_request) Has been skipped
    fragment-check / changelog fragment-kind (pull_request) Successful in 6s
    fragment-check / check (pull_request) Successful in 0s
    go-ci / lint + build + test (pull_request) Successful in 21s
    manifest-check / manifest-vs-tag consistency (pull_request) Successful in 6s
    manifest-check / check (pull_request) Successful in 0s
    register-check / register-drift check (pull_request) Successful in 7s
    register-check / check (pull_request) Successful in 0s
    tests / bats (pull_request) Successful in 22s
    tests / shellcheck (pull_request) Successful in 7s
    check-self-bootstrap / check (push) Successful in 3s
    go-ci / lint + build + test (push) Successful in 21s
    release / decide + act (push) Successful in 8s
    release / release (push) Successful in 0s
    tests / bats (push) Successful in 23s
    tests / shellcheck (push) Successful in 7s
    goreleaser / build + publish rt asset (push) Successful in 1m24s
    mirror-on-cut / mirror-1 (release) Successful in 1s
    mirror-on-cut / mirror (release) Successful in 0s
    Stable

    release-bot released this 2026-08-18 23:44:23 +02:00 | 863 commits to main since this release

    Added

    None.

    Changed

    None.

    Fixed

    • decide: --dry-run no longer skips the cut-safeguard layers, and an ungraded layer stops declaring a pass (#689)

      A dry run short-circuited both safeguard layers and the rolling-PR bump-label read, then reported mode=cut for a base a real run had refused seconds earlier. layer2=skip rendered identically to layer2=pass. The layers are reads, so they now run under --dry-run exactly as on a real run. The gate also requires an affirmative pass instead of merely "not a failure", so a layer that could not be graded declines the cut rather than clearing it.

    • docs: examples/README.md no longer hard-codes a "current" toolkit version that the release rewrite cannot update (#716)

      The setup step tells adopters to replace the uses: pin, and the release rewrite updates that pin on every cut. The parenthetical beside it named a fixed version and was updated by nothing, so it had said "v0.25.0 is current" for thirteen minor releases. It now points at the README Status section, which is the surface that actually tracks the current tag.

    • changelog: split the #689 fragment sentence that fails the density gate

    Removed

    • release path: the bash PR-CI gates and their differential oracle are gone; rt is the sole implementation (#607)

      The four gates already ran as rt subcommands, so no adopter action is needed and no gate behaviour changes. What goes is the parallel bash: eleven scripts, two now-unreferenced libs, and their bats suites. With them go the 22 equivalence tests, which existed only to prove the two implementations agreed. A fix now lands once instead of twice.

    The dead draft-release.sh component is retired — the script plus the three libraries whose only consumer it was (lib/changelog.sh, lib/config.sh, lib/semver.sh). 1,907 lines, reachable from nothing: the cut has published through rt release since the Go port landed.

    One bats test was ported to Go first. It was the only artifact verifying a claim the source makes in a comment: that scaffold and check 2 agree by construction.

    Deprecated

    None.

    Upgrade

    None.

    Downloads