-
v0.40.0
StableSome checks failedchangelog-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 / toolkit-self gate (PR's own rt) (pull_request) Successful in 5sfragment-check / changelog fragment-kind (pull_request) Successful in 6sfragment-check / check (pull_request) Successful in 0sgo-ci / lint + build + test (pull_request) Successful in 22smanifest-check / manifest-vs-tag consistency (pull_request) Successful in 7smanifest-check / check (pull_request) Successful in 0sregister-check / register-drift check (pull_request) Successful in 7sregister-check / check (pull_request) Successful in 0stests / bats (pull_request) Successful in 22stests / shellcheck (pull_request) Successful in 7scheck-self-bootstrap / check (push) Successful in 3sgo-ci / lint + build + test (push) Successful in 23srelease / decide + act (push) Failing after 9srelease / release (push) Failing after 0stests / bats (push) Successful in 22stests / shellcheck (push) Successful in 7sgoreleaser / build + publish rt asset (push) Successful in 1m34smirror-on-cut / mirror-1 (release) Successful in 2smirror-on-cut / mirror (release) Successful in 0sreleased this
2026-08-19 09:53:59 +02:00 | 831 commits to main since this releaseAdded
None.
Changed
The cut path no longer sources
forgejo-api.sh.Its seven forge callsites are now three
rtverbs:manifest-pr,close-stale-rolling-pr(#87) anddefault-branch(#370/#379). The first opens, assigns and auto-merges the manifest PR — ADR-0007 path γ.Task verbs, not thin API wrappers: the orchestration and the
jqpost-processing moved into Go where they are tested, rather than staying in YAML where they were not.Fixed
A cut can no longer finish green with no manifest bookkeeping. A new post-condition step verifies that the manifest either landed on the default branch or has an open manifest PR, and refuses the cut otherwise.
The two guards that existed before both cited this defect and neither could fire on it. They lived inside the
act on decisionstep, and the idempotency precheck can decideskipand exit that step with status 0 before either runs. A guard inside the step it must outlive is not a post-condition.A fragment whose body is joined into its header is now rejected.
The blank line between them is load-bearing — without it the composer emits one run-on bullet, and every existing check passed on that shape.
release-toolkit's OWN
fragment-checkwrapper also drops itspaths:filter, so it posts a status on every PR and can finally be a required context.Adopters choose: omit the filter to make it requireable, or keep it and stay advisory.
docs/integration.mdstates the trade.-
docs: the adopter-facing cut walkthrough named bash scripts that no longer exist (#713)
docs/integration.mddescribed the release path in the present tense usingrelease-decide.sh,release-prep.shanddraft-release.sh, retired by #607 and #705. Those now readrt decide,rt prepandrt release. Historical passages and quoted examples are unchanged, because they describe what was true when written.
The adopter guide no longer contradicts the gate it documents.
docs/integration.mdstill showedfragment-checkwith apaths:filter and said day-to-day PRs pay zero CI cost, after release-toolkit's own wrapper had dropped it.The recipe now omits the filter and states the trade. A filtered workflow does not run, so it posts no status, so it can never be a required context.
- docs: Lookout's two findings + the bare-stem class they exposed
- changelog: 'docs' is not a recognized fragment kind
Removed
None.
Deprecated
None.
Upgrade
None.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-