• v0.37.1 a57b70ce69

    v0.37.1
    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 7s
    fragment-check / check (pull_request) Successful in 0s
    go-ci / lint + build + test (pull_request) Successful in 36s
    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 6s
    register-check / check (pull_request) Successful in 0s
    tests / bats (pull_request) Successful in 2m20s
    tests / shellcheck (pull_request) Successful in 9s
    check-self-bootstrap / check (push) Successful in 3s
    go-ci / lint + build + test (push) Successful in 37s
    release / decide + act (push) Successful in 24s
    release / release (push) Successful in 0s
    tests / bats (push) Successful in 2m21s
    tests / shellcheck (push) Successful in 9s
    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 12:27:36 +02:00 | 879 commits to main since this release

    Added

    None.

    Changed

    None.

    Fixed

    release-decide.sh's #417 orphan check no longer refuses a legitimate cut when a release-plumbing fixup lands above the prepare commit.

    The walk broke on the first bump-worthy subject. A fix(changelog): commit one row above the prepare commit therefore made that prepare commit unreachable, and with it the #259 buried-prepare skip.

    The discriminator is now file scope rather than commit type. A bump-worthy commit touching only release-managed files — changelog, manifest, version_files — is reconciliation rather than adopter work. Anything that cannot be proven to be plumbing still fires.

    The #417 FATAL now names the commit that triggered it. That subject was captured and discarded before.

    • register-check.sh: the allow-list wildcard semantics were misdescribed (#655)

      Both comment blocks called * pathname expansion; one added that it stops at a path segment. The implementation is bash [[ == ]], where * crosses /. The error is silent in the dangerous direction: *.md allow-lists every .md in the tree, and a check that skips too much reads as a clean scan.

    release-decide's cut-safeguard now grades a prepare commit that is not its own PR's tip.

    Layer 2/3 asked the forge which PR was merged AS a given commit. That question is answerable only for a PR's tip. Under fast-forward-only, a fixup merged above the prepare makes the prepare non-tip. The lookup then found nothing, and the safeguard declined a legitimate cut.

    The lookup now also asks which merged PR CONTAINS the commit. It reads each PR's own commit list over a bounded window. This resolves a buried prepare under every merge style. Being a forge call, it does not depend on clone depth.

    The sha-translation helper that existed only to feed the tip-keyed lookup is deleted.

    • forgejo: bound the membership walk in ONE ordered request, matching bash

    Removed

    None.

    Deprecated

    None.

    Upgrade

    None.

    Downloads