-
v0.37.1
StableAll checks were successfulchangelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 6schangelog-body-check / check (pull_request) Successful in 0scheck-self-bootstrap / check (pull_request) Has been skippedfragment-check / changelog fragment-kind (pull_request) Successful in 7sfragment-check / check (pull_request) Successful in 0sgo-ci / lint + build + test (pull_request) Successful in 36smanifest-check / manifest-vs-tag consistency (pull_request) Successful in 6smanifest-check / check (pull_request) Successful in 0sregister-check / register-drift check (pull_request) Successful in 6sregister-check / check (pull_request) Successful in 0stests / bats (pull_request) Successful in 2m20stests / shellcheck (pull_request) Successful in 9scheck-self-bootstrap / check (push) Successful in 3sgo-ci / lint + build + test (push) Successful in 37srelease / decide + act (push) Successful in 24srelease / release (push) Successful in 0stests / bats (push) Successful in 2m21stests / shellcheck (push) Successful in 9sgoreleaser / build + publish rt asset (push) Successful in 1m24smirror-on-cut / mirror-1 (release) Successful in 1smirror-on-cut / mirror (release) Successful in 0sreleased this
2026-08-18 12:27:36 +02:00 | 879 commits to main since this releaseAdded
None.
Changed
None.
Fixed
release-decide.sh's#417orphan 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#259buried-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
#417FATAL 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:*.mdallow-lists every.mdin 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
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-