-
v0.57.2 Stable
released this
2026-09-05 04:57:04 +02:00 | 447 commits to main since this releaseAdded
None.
Changed
None.
Fixed
- dead-script ledger: uses stable anchors and records the 16 remediations (#1119, #1111)
- decide: a Layer-2 lookup that could not complete no longer renders as a refusal of the prepare commit (
#1126). - recover-pending-cut: the recovery workflow now opens its PR instead of failing after the push (
#1153) - twins: the
.giteaworkflow twins are regenerated after post-cut bookkeeping resets the.forgejobake markers, somainno longer carries drift that every subsequent PR inherits (#1163). - rt prep: regenerates the
.giteatwins after the bake and stages them, so a prepare commit is no longer twin-dirty (#1163) - post-cut: bake-marker resets and
rt build-bakenow regenerate the.giteatwins, closing the two callers#1175left (#1163).
Removed
None.
Deprecated
None.
Upgrade
None.
Internal
- contract-paths-check: pin the seven intentionally uncovered contract files by name, so adding an ungraded document fails the PR gate instead of growing a passing log silently (#1121).
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.57.1 Stable
released this
2026-09-05 03:24:27 +02:00 | 464 commits to main since this releaseAdded
None.
Changed
None.
Fixed
- wrappers: Discover preserves directory read errors, distinguishing unreachable paths from readable directories with no matching wrappers (#1084)
- release: the goreleaser workflow builds the pipeline
rtbefore the step that runs it (#1112) - fragment-check: the optional coverage control now protects the complete skip disclosure, including its required-mode remedy (#1145)
Removed
None.
Deprecated
None.
Upgrade
None.
Internal
- ci: regenerate the
.giteaworkflow twins left stale by the v0.57.0 post-cut bookkeeping (#1112)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.57.0 Stable
released this
2026-09-05 01:49:23 +02:00 | 475 commits to main since this releaseAdded
- distribution: a public push mirror on gitea.com, and what it does not carry (#1021)
- mirror: releases and their assets can be published to another forge (#1030)
- multi-forge: a generated
.gitea/workflows/twin, behind a drift gate (#1092) - auth: an opt-in split credential pair — a deploy key for git, a narrow PAT for the API (#1094)
- recovery:
rt recover-pending-cutfolds an interrupted cut's stranded section back under[Unreleased](#1130) - recovery: an adopter can recover an interrupted cut without local tooling (#1135)
- config:
pyproject.tomlandCargo.tomlwork as version files (#337) - release: route the release PR for review when it is created (#620)
Changed
-
post-cut: an absent manifest is now graded from the repository rather than assumed (
#1019). It refuses only when an existing tag's tree carries a manifest, so a first cut on an already-tagged project still proceeds -
post-cut: an absent manifest is graded from the repository, not assumed (#1019)
-
manifest-check: several refusals now name the repair, not just the discrepancy (
#1077) -
internal: the fork approval notice moved from bash into
rt(#1113)
Fixed
-
post-cut: an unreadable config no longer defaults the tag probe to
v*(#1019) -
operations: document the merge-time stamp convention for regenerated rolling PRs (#770)
-
release: the bake unwinds prior digest pins and refuses a tag move the gate would reject (#980)
-
release: the bake's pipeline checkout now resolves in the job that uses it (#980)
-
release: a rebuild no longer stacks a digest-pin commit on the previous one (#980)
-
release: the bake builds its pipeline
rtin a container, not on the runner (#980) -
mirror: the backfill dispatch runs, and its reruns change nothing (#1087)
-
docs: the C5 contract states the exclusion rule and lists all ten verbs (#1095)
-
fragment-check: local runs explicitly report when PR fragment coverage is skipped instead of silently passing that dimension (#1098)
-
mirror: the published
.giteatwins carry the fixes their sources already had (#1102) -
docs: the README's mirror snapshot describes the mirror as it is (#1105)
-
docs: the C5 exclusion section no longer contradicts its own table (#1106)
-
cli: a rejected flag or argument now names itself and exits 2 instead of exiting silently (#1123)
-
decide: the documented recovery for an interrupted cut now terminates (#1128)
-
register-check: refuse explicitly requested paths that resolve to nothing (#1132)
-
recovery: a second stranded cut is no longer silent (#1138)
Removed
None.
Deprecated
None.
Upgrade
None.
Security
-
release: publish the minisign public key adopters verify releases with (#1062)
-
security: a
post_bump_hookno longer receives the workflow's push credentials under tier 3 (#1106)
Internal
-
release dispatch guard: keep fire-cut reachability independent of cut_gate (#1065)
-
release cut: the post-condition guard is fail-closed and the defer path is simulated in CI (#1057).
-
integration guide: name the two Actions-variable namespaces and which side of the bridge line to create (#1067)
-
release checks: manifest-check and post-cut now share toolkit-self detection (#1079)
-
integration guide: state which TOML layouts the version-file strategies actually support (#1088)
-
gitea-twin: the drift refusal names each source's last commit (#1103)
-
release-assets: the asset preparation moves from bash into
rt(#1112) -
ci:
contract-paths-check.shis wired into CI — it had no caller anywhere (#1114) -
architecture docs: state which shell survives the Go port and the test that decides it (#1115)
-
constraints: TC-4 now names Go
rtas the release-engine substrate and bounds the measured shell residuals (#1118) -
tests: fold
register-checkinto the unknown-flag census arm (#1132) -
docs: the v1.0.0 stability contract names what it does NOT cover, and is linked from README + the integration guide (
#338) -
docs: four illustrative/hypothetical/historical
@vX.Y.Zpins are now marked and guarded (#968)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.56.1 Stable
released this
2026-08-30 00:08:13 +02:00 | 590 commits to main since this releaseAdded
None.
Changed
None.
Fixed
- release cut: a deferring caller no longer fails its own job for deferring (#1057).
Removed
None.
Deprecated
None.
Upgrade
None.
Security
- release bootstrap: authenticate checksum manifests before using release assets (#513)
Internal
- fetch-rt: the sign-in comments cite the tracked history instead of asserting around it (#1020).
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.56.0 Stable
released this
2026-08-28 22:15:12 +02:00 | 595 commits to main since this releaseAdded
- rt:
pre-pushruns the locally-runnable required gates (#1037) - pre-push: go-ci is graded locally, and both lint invocations are uncapped (#1046)
Changed
None.
Fixed
- fragment-check: a PR that deletes a fragment and adds none no longer passes coverage (#1033)
- release caller: the cut's concurrency group is no longer claimed by pushes that are not cuts (#1038).
- fragment-check: the rolling cut PR no longer fails coverage (#1051)
- register-check: ignore compact option clusters at a punctuation boundary while preserving word-boundary matching (#897)
Removed
None.
Deprecated
None.
Upgrade
None.
Internal
- fetch-rt: the sign-in-page guard no longer names a forge that does not have the setting (#1020).
- workflows.bats: add a regression guard for
release.yml'sconcurrencyblock (#1032) - fragment-check: the unknown-change-set branch is covered in isolation (#1036)
- workflow tests: the cut-workflow integration arm records its discriminating mutation (#1038).
- integration docs: fix a stale adoption-decision record that described the design #735 replaced (#735)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- rt:
-
v0.55.0 Stable
released this
2026-08-28 17:06:12 +02:00 | 621 commits to main since this releaseAdded
None.
Changed
None.
Fixed
- post-cut: a manifest created from scratch seeds the legacy schema (#1019)
- release: a half-completed cut can be finished without deleting published assets (#1024)
- fragment-check: the changed-fragment set is computed from the merge base (#1028)
- fragment-check: density refuses only on fragments this PR touched (#735)
Removed
None.
Deprecated
None.
Upgrade
None.
Internal
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.54.2 Stable
released this
2026-08-28 13:44:24 +02:00 | 636 commits to main since this releaseAdded
None.
Changed
None.
Fixed
- container image: republish the
rtimage and bake a real action digest, whichv0.54.1shipped without (#1022)
Removed
None.
Deprecated
None.
Upgrade
None.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- container image: republish the
-
v0.54.1
StableSome checks failedfork-pr-approval-notice / explain fork workflow approval (pull_request_target) Successful in 2sac-closure-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 4sac-closure-check / ac-closure check (pull_request) Successful in 6sac-closure-check / check (pull_request) Successful in 0schangelog-body-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 4schangelog-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 4sfragment-check / changelog fragment-kind (pull_request) Successful in 7sfragment-check / check (pull_request) Successful in 0sgo-ci / lint + build + test (pull_request) Successful in 25smanifest-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 4smanifest-check / manifest-vs-tag consistency (pull_request) Successful in 7smanifest-check / check (pull_request) Successful in 0sregister-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 4sregister-check / register-drift check (pull_request) Successful in 7sregister-check / check (pull_request) Successful in 0stests / workflow-schema (pull_request) Successful in 3stests / bats (pull_request) Successful in 13stests / dated-examples (pull_request) Successful in 4stests / shellcheck (pull_request) Successful in 2sworkflow-parse-check / toolkit-self parse guard and controls (pull_request) Successful in 3sworkflow-parse-check / workflow parse and schema (pull_request) Successful in 5sworkflow-parse-check / check (pull_request) Successful in 0scheck-self-bootstrap / check (push) Successful in 41stests / dated-examples (push) Successful in 1m0stests / workflow-schema (push) Successful in 1m18stests / shellcheck (push) Successful in 1m36stests / bats (push) Successful in 2m13srelease-toolkit/manifest-postcondition manifest-postcondition verdict=landedrelease / decide + act (push) Successful in 3m21srelease / release (push) Successful in 0sgoreleaser / build + publish rt asset (push) Failing after 56sgoreleaser / publish the rt image + bake its digest (push) Has been skippedgoreleaser / adopters can pull the published image (push) Has been skippedgoreleaser / adopters can fetch the published asset (push) Has been skippedgo-ci / lint + build + test (push) Successful in 42sreleased this
2026-08-28 10:38:42 +02:00 | 641 commits to main since this releaseAdded
None.
Changed
None.
Fixed
- target-version validation: reject doubled
vprefixes before release prep (#617)
Removed
None.
Deprecated
None.
Upgrade
None.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- target-version validation: reject doubled
-
v0.54.0 Stable
released this
2026-08-27 23:46:56 +02:00 | 645 commits to main since this releaseAdded
- A cut refuses while a previous release is an unpublished draft: the block is named on the PR (
#811).
Changed
- fragment coverage: PRs now declare a changelog fragment or an explicit reason when no entry is needed (#498).
- branch strategy: clarify current main-line guidance and preserve superseded history (#604)
- Forgejo client comments: distinguish the retired shell source from the live Go contract (#990)
Fixed
- A wrapped
Intended-targets:trailer: the refusal now names the anchoring problem instead of repeating itself (#1008). - Changelog body gate: keep em-dash headers valid under byte locales (#611)
- changelog gates: fail mixed release sections and keep fragment brevity as guidance (#627)
- test fixtures: use unambiguous Git option spelling for commit helpers (#897)
- Push preflight: distinguish absent, hidden, unreadable, and failed branch-protection reads (#914)
- Forgejo client: document the deliberate dry-run release lookup exception (#957)
- AC-closure CI diagnostics: distinguish crashed fixtures from live fixtures that time out without publishing a port (#992)
Removed
None.
Deprecated
None.
Upgrade
None.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- A cut refuses while a previous release is an unpublished draft: the block is named on the PR (
-
v0.53.1 Stable
released this
2026-08-27 11:22:30 +02:00 | 670 commits to main since this releaseAdded
None.
Changed
None.
Fixed
- release cut: stage the AC-closure reusable and resolve its local ref safely (#997)
Removed
None.
Deprecated
None.
Upgrade
None.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads