chore(release): v0.67.0 #1553
Labels
No labels
bump
major
bump
minor
bump
patch
kind
bug
kind
chore
kind
docs
kind
epic
kind
feature
loop/paused
mirror-drift
priority
critical
priority
high
priority
low
priority
medium
size
L
size
M
size
S
size
XL
status
blocked
No milestone
No project
No assignees
4 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
frankenbit/release-toolkit!1553
Loading…
Reference in a new issue
No description provided.
Delete branch "release-prep/rolling"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Cut-time changelog gates - clean
Advisory mirror of
rt compose-verify, the cut-time preflight, run on the CHANGELOG this prep wrote. It carries no authority: the cut re-runs it against the file as it stands then, and this branch is recreated frommainon every compose.Added
None.
Changed
None.
Fixed
None.
Removed
pr.ymlonreusable-pr-gates.ymland requirepr / gates (pull_request)(#1542)Deprecated
None.
Upgrade
None.
Verdict: APPROVE at
901c9fca56Summary: the v0.67.0 cut is clean. The bake rewrites exactly the 8 remaining markers, the CHANGELOG carries the one Removed bullet, and the #1540 exemption and the #1541 gates ran live on this rolling PR. On the Upgrade question, I recommend shipping as is, with reasons and the tested alternative below. Verified at source (AGENTS.md section 6).
Head pinned with
rt review-submit-check(rc=0, READY) immediately before this review. Base0de3876is live main, with #1552 landed. One commit by release-bot.1. CHANGELOG and VERSION
VERSION:0.66.0becomes0.67.0.## [v0.67.0] - 2026-10-05:### Removedholds exactly one bullet,- **pr gates**: six single-gate reusables are gone: wire onepr.ymlonreusable-pr-gates.ymland requirepr / gates (pull_request)(#1542). Added, Changed, Fixed, Deprecated and Upgrade readNone.changelog.d/1542-remove-single-gate-reusables.removed.mdis deleted; it was the only fragment on the base..keepand.template.mdstay.2. The bake
git diff 0de3876...901c9fcover.forgejo/workflowsand.gitea/workflowsgives exactly 8 removed and 8 added lines, all the marker going from'main'to'v0.67.0', inreusable-pr-gates,reusable-prepared-uncut-check,reusable-recover-pending-cutandreusable-release, on both providers. Nothing else changes. No workflow file at head carries a marker with any other value.3. Live runs (Axis C)
toolkit-self-gates(run 19889, commit901c9fca56), g10:check-self-bootstrap: EXEMPT on the release-prep rolling PR (release-prep/rolling, #304).Attest readsEXEMPT: g10 recorded an exemption, which EXEMPTABLE_GATE_IDS allows, then15 of 15.pr / plan, and run every gate when combined(run 19886, job 1): it resolved the toolkit ref tomain(source=toolkit-self local invocation, ADR-0013 D6), and the replay passed against0de3876. The gates logged:cut consumed: changelog.d/1542-remove-single-gate-reusables.removed.md (CHANGELOG.md modified), coverage and density PASS;version=0.67.0 date=2026-10-05;PARSED=26 TOTAL=26.The tree was unchanged and attest passed.
tests / bats:1..241, nonot ok.tests / checks: attest14 of 14.4. The Upgrade question: recommendation, ship as is
What the contract says:
upgradeis not a fragment kind.valid_kindsisadded changed deprecated removed fixed security internal.Upgradeis "a CHANGELOG-only migration-guidance section — it is not a fragment kind and is never produced by fragment folding". It is either authored, or rendered from breaking commits in a release without fragments (ADR-0012).docs/conventions.mdfor a breaking commit: "bump only; add a fragment, or### Upgradeprose". This release took the first branch, with a fragment whose rendered summary line is the migration instruction.The alternative works, and I tested it. I added
### Upgradeprose under[Unreleased]on top of0de3876, in an LF clone, and ranrt prep --dry-run. It composes into[v0.67.0]as### Upgradewith the bullet, next to the fragment's Removed entry. So if wanted, the route is a smalldocs(changelog)PR on main that adds that prose. A fragment cannot do it. The rolling PR then recomposes and needs one more cut review.Why I would not do it:
mainalready wirepr.ymlonreusable-pr-gates.yml@v0.66.0withrelease.yml@v0.66.0; none calls a removed reusable. I read each repo's.forgejo/workflowslive. Bumping any of them to v0.67.0 is a drop-in, so "Upgrade: None." is literally true for every existing adopter.check_commit_subjectsdropped, renamed statuses) lives in the fragment body and the commit footer.changedfragment withUpgrade: None.The case for adding it is a future adopter outside frankenbit who scans only
### Upgrade. If Alex wants that covered, the prose route above is the tested one. A durable alternative is a small follow-up so that a fragment'sBREAKING CHANGE:body can render under Upgrade. Today #854 renders only summaries, so that detail never reaches CHANGELOG.md.Next: Alex merges with the admin bypass. Then verify the
v0.67.0tag, its assets and the minisign signature before mirror-release.Landing identity record
901c9fca56b063adc21969536ae44e1311af0129901c9fca56b063adc21969536ae44e1311af0129This is a post-merge identity record. It does not retroactively review the landed object; it records whether the server landed the object that an official approval named.