• v0.62.0 b6b5208bde

    v0.62.0 Stable

    release-bot released this 2026-09-06 22:10:37 +02:00 | 82 commits to main since this release

    Added

    • gates: preflight-push-whitelist grades a split-pair deploy-key push instead of always warning (#1105).
    • adopters: a dispatch exercises rt adopter-preflight from a gitea.com consumer (#1259).
    • gates: base divergence now reports a pull-request status for merge readiness (#1275)
    • new check: rt review-eligibility reports whether the authenticated reviewer's approval counts (#1277)
    • ci: post-merge Go failures page the landing PR with both adjacent commits (#1278)
    • new gate: refuse a v1.0.0 cut while ADR-0001 still reads accepted (#1292)
    • ci: records the commit an official review named beside the object Forgejo lands after replay (#1299)
    • gates: rt cut-fragment-coverage-check refuses a cut that leaves a fragment on its base (#1305)
    • new check: rt cancelled-context-check distinguishes a cancelled task from a genuine refusal on a failing status context (#1309)
    • new check: pre-push grades its local-gate table against the live required-context set (#1327)
    • adoption: rt readme-pin-check grades the README's version pins against the mirror (#1345).
    • security: a SHA-pinned consumer's second checkout now resolves through that SHA (#336)

    Changed

    • PR CI: gates build the tree a PR will land on, not the tree it was pushed as (#1195).
    • PR CI: the landing-tree replay names the base SHA it graded and what it does not cover (#1195).

    Fixed

    • adoption: the README named a version the mirror cannot serve (#1068).
    • adopter-preflight-probe: the run's verdict is now readable after the fact (#1259).
    • release checks: marker counts and value grading now stay aligned over canonical baked workflows (#1267).
    • tests: the second hook-credential scan gets the same sentinels and pre-assertion (#1295).
    • base-divergence-check: the PASS line names the base SHA it graded and says the status does not re-run when the base moves (#1307).
    • gates: the push preflights no longer pass when direct push is disabled entirely (#1313).
    • integration guide: the org-scope runner check is not 2xx, not == 403 (#1317)
    • README + integration guide: the uses: line depends on where the toolkit lives (#1321)
    • ci: the shared-tree guard refused to grade an unreadable outcome instead of waving it through (#1323)
    • pre-push: the declaration list is graded against the required set, so a dead entry cannot hide a gap (#1333)
    • review-eligibility: an unreported approval-whitelist flag is could-not-grade, not disabled (#1342)
    • gates: mirror-drift-check's red now reaches someone, and its two modes stay apart (#1348).
    • docs: the Quick start names the forge axis, so a Gitea adopter is not sent to .forgejo/ (#1350).
    • gates: prepared-uncut-check tells manifest drift from an uncut release (#1356).
    • release-state: the manifest still named v0.61.0 after v0.61.1 was cut (#1356).
    • adopters: rt adopter-preflight exits 2 when it could read nothing at all (#1357).
    • build-ref-check: names a runner label that exists, so the workflow can actually run (#1361).
    • forgejo: the shared pagination walk stops only on an empty page (#1374)
    • adopter-preflight: grades runners on Gitea, where the shapes differ in two places (#1374)
    • ci: every runs-on job carries a timeout-minutes bound, and a gate refuses a workflow that drops one (#1375)
    • adoption: the README's adopter pins are set by the mirror, not by the cut (#1378).
    • docs: identify base-divergence-check as an advisory pull-request workflow gate (#1381)
    • adoption: the pin gate grades the integration guide and the examples too (#1382).
    • forgejo: a forge that repeats pages is no longer reported as a large one (#1385)
    • release decision: manifest-free prerelease bootstrap now follows the detected tag lineage (#623).

    Removed

    None.

    Deprecated

    None.

    Upgrade

    None.

    Internal

    • ci: the consolidated gate job now attests that its nine gate steps actually ran (#1253).
    • ci: the five per-workflow toolkit-self gate jobs are removed (#1253).
    • ci: the consolidated gate job now enforces that its nine gates leave the shared tree alone (#1253).
    • Post-merge pager: pin transport and malformed-response refusals in the shell PR lookup. (#1301)
    • Forgejo reads: pin transport failures and malformed merge-SHA lookup responses as refusals instead of silent no-PR fallbacks. (#1301)
    • base-divergence-check: an arm executes the grading step's rc contract, so removing pipefail reddens (#1306).
    • base-divergence-check: the advisory-not-required decision is recorded in the verb's own doc comment (#1312).
    • internal: pre-push's local-gate table drops a context retired by #1320 (#1322).
    • pre-push: runPrePush's exit-status decisions are pinned (#1335).
    • tests: the tag-truncation control's fixture now models the hazard, so a tag assertion carries it (#1364)
    • internal: add an exact-head review submit gate and document the HOLD convention (#1383)
    • ci: the gitea wire probe settles paging without assuming a stable row order (#1374)
    Downloads