chore(release): v0.57.0 #1152

Merged
alex merged 1 commit from release-prep/rolling into main 2026-09-05 00:35:56 +02:00
Member

Changelog density — clean

  • PASS — check 7 (sentence length): all sentences ≤ 25 words. Lists, tables and blockquotes are measured too (#632).
  • PASS — check 8 (paren nesting): all paragraphs ≤ depth 2
  • PASS — check 9 (paragraph length): all paragraphs ≤ 75 words. Lists, tables and blockquotes are measured too (#632).

Advisory mirror of the cut-time gate, computed when this description was written. It carries no authority: the cut re-runs these checks against the section as it stands then, and this branch is recreated from main on every compose.

Added

  • 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-cut folds an interrupted cut's stranded section back under [Unreleased] (#1130)
  • recovery: an adopter can recover an interrupted cut without local tooling (#1135)
  • config: pyproject.toml and Cargo.toml work 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 rt in 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 .gitea twins 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_hook no 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.sh is 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 rt as the release-engine substrate and bounds the measured shell residuals (#1118)

  • tests: fold register-check into 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.Z pins are now marked and guarded (#968)

<!-- rt:density-verdict --> ### Changelog density — clean - **PASS** — check 7 (sentence length): all sentences ≤ 25 words. Lists, tables and blockquotes are measured too (#632). - **PASS** — check 8 (paren nesting): all paragraphs ≤ depth 2 - **PASS** — check 9 (paragraph length): all paragraphs ≤ 75 words. Lists, tables and blockquotes are measured too (#632). _Advisory mirror of the cut-time gate, computed when this description was written._ _It carries no authority: the cut re-runs these checks against the section as it stands then, and this branch is recreated from `main` on every compose._ <!-- /rt:density-verdict --> ### Added - **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-cut` folds an interrupted cut's stranded section back under `[Unreleased]` (#1130) - **recovery**: an adopter can recover an interrupted cut without local tooling (#1135) - **config**: `pyproject.toml` and `Cargo.toml` work 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 `rt` in 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 `.gitea` twins 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_hook` no 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.sh` is 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 `rt` as the release-engine substrate and bounds the measured shell residuals (#1118) - **tests**: fold `register-check` into 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.Z` pins are now marked and guarded (`#968`)
chore(release): prepare v0.57.0
All checks were successful
fork-pr-approval-notice / explain fork workflow approval (pull_request_target) Successful in 6s
ac-closure-check / ac-closure check (pull_request) Successful in 6s
ac-closure-check / check (pull_request) Successful in 0s
changelog-body-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 4s
ac-closure-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 16s
check-self-bootstrap / check (pull_request) Has been skipped
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 6s
changelog-body-check / check (pull_request) Successful in 0s
fragment-check / changelog fragment-kind (pull_request) Successful in 6s
fragment-check / check (pull_request) Successful in 0s
gitea-twin-check / check (pull_request) Successful in 4s
fragment-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 20s
manifest-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 15s
go-ci / lint + build + test (pull_request) Successful in 26s
register-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 4s
register-check / register-drift check (pull_request) Successful in 6s
register-check / check (pull_request) Successful in 0s
tests / workflow-schema (pull_request) Successful in 3s
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 32s
manifest-check / check (pull_request) Successful in 0s
tests / bats (pull_request) Successful in 18s
tests / contract-paths (pull_request) Successful in 3s
tests / shellcheck (pull_request) Successful in 2s
tests / dated-examples (pull_request) Successful in 19s
workflow-parse-check / toolkit-self parse guard and controls (pull_request) Successful in 3s
workflow-parse-check / workflow parse and schema (pull_request) Successful in 22s
workflow-parse-check / check (pull_request) Successful in 0s
9cd41da957
Generated by release-toolkit rt prep.

Tracker: frankenbit/release-toolkit#1
release-bot force-pushed release-prep/rolling from 9cd41da957
All checks were successful
fork-pr-approval-notice / explain fork workflow approval (pull_request_target) Successful in 6s
ac-closure-check / ac-closure check (pull_request) Successful in 6s
ac-closure-check / check (pull_request) Successful in 0s
changelog-body-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 4s
ac-closure-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 16s
check-self-bootstrap / check (pull_request) Has been skipped
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 6s
changelog-body-check / check (pull_request) Successful in 0s
fragment-check / changelog fragment-kind (pull_request) Successful in 6s
fragment-check / check (pull_request) Successful in 0s
gitea-twin-check / check (pull_request) Successful in 4s
fragment-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 20s
manifest-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 15s
go-ci / lint + build + test (pull_request) Successful in 26s
register-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 4s
register-check / register-drift check (pull_request) Successful in 6s
register-check / check (pull_request) Successful in 0s
tests / workflow-schema (pull_request) Successful in 3s
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 32s
manifest-check / check (pull_request) Successful in 0s
tests / bats (pull_request) Successful in 18s
tests / contract-paths (pull_request) Successful in 3s
tests / shellcheck (pull_request) Successful in 2s
tests / dated-examples (pull_request) Successful in 19s
workflow-parse-check / toolkit-self parse guard and controls (pull_request) Successful in 3s
workflow-parse-check / workflow parse and schema (pull_request) Successful in 22s
workflow-parse-check / check (pull_request) Successful in 0s
to 7e0bfd593d
Some checks failed
ac-closure-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 4s
ac-closure-check / ac-closure check (pull_request) Successful in 6s
ac-closure-check / check (pull_request) Successful in 0s
fragment-check / changelog fragment-kind (pull_request) Successful in 6s
fragment-check / check (pull_request) Successful in 0s
fragment-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 20s
check-self-bootstrap / check (push) Successful in 4s
gitea-twin-check / check (push) Successful in 16s
go-ci / lint + build + test (push) Successful in 25s
tests / workflow-schema (push) Successful in 3s
tests / bats (push) Successful in 17s
tests / dated-examples (push) Successful in 3s
release / decide + act (push) Successful in 42s
tests / contract-paths (push) Successful in 3s
release / release (push) Successful in 0s
tests / shellcheck (push) Successful in 2s
release / fire-cut (push) Successful in 5s
release-toolkit/manifest-postcondition manifest-postcondition verdict=landed
goreleaser / build + publish rt asset (push) Failing after 30s
goreleaser / publish the rt image + bake its digest (push) Has been skipped
goreleaser / adopters can pull the published image (push) Has been skipped
goreleaser / adopters can fetch the published asset (push) Has been skipped
2026-09-05 00:34:32 +02:00
Compare
alex merged commit 7e0bfd593d into main 2026-09-05 00:35:56 +02:00
alex deleted branch release-prep/rolling 2026-09-05 00:35:56 +02:00
Sign in to join this conversation.
No description provided.