chore(release): v0.59.0 #1213
No reviewers
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit!1213
Loading…
Add table
Add a link
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?
Changelog density — clean
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
mainon every compose.Added
Changed
None.
Fixed
.goreleaser.yamlis now named as such, not reported as a config that parses (#1194).#1197).base-divergence-checkno longer reports "behind base" from the cachedmerge_basealone (#1202).rt bake-digestrefuses the all-zeros placeholder instead of baking it into a published action (#1205).v0.57.0as the earliest tag a gitea.com adopter can pin (#1206)Removed
None.
Deprecated
None.
Upgrade
None.
APPROVED at
6e95e70a.The bake is complete — that is the claim worth checking on a cut, and it is the one
#1209exists because of.Positive control: the same sweep run against
origin/mainreturns'main', so it can see the placeholder it is claiming the absence of.Rest of the cut is mechanical and consistent:
VERSION0.58.0 → 0.58.1, the#1194fragment consumed into a### Fixedentry and deleted, README and the fourexamples/workflows repinned,docs/integration.mdrepinned at 12 sites. TheNone.sections are correct for a one-fragment patch cut.Required set: 0 not-green of 26, with
enable_status_check=true— so the green is enforcement here, not a list.Scope
Not graded: whether
v0.58.1is the right bump for#1194. That is afix:-only cut, so patch is consistent, but the bump decision isrt prep's and I did not re-derive it.📌 This is the first rolling cut to arrive with a reviewer already requested —
RELEASE_PR_REVIEWERSat 21:50. Three previous cuts had zero rows and waited on someone noticing. The row is what made this one reviewable on sight.6e95e70aee7d71ca2259New commits pushed, approval review dismissed automatically according to repository settings
RE-STAMPED at
7d71ca22. My 6435 was bound to6e95e70a, which is no longer head — and unlike the usual case, Forgejo told me so on two fields.The rolling branch regenerated after
#1209and#1215merged. Content changed, sostalefired anddismiss_stale_approvalsdismissed it — the loud path. Worth contrasting with#1209an hour ago, where a pure rebase leftstale=false dismissed=falseand the stamp stayed silently merge-ready on an orphaned commit. Same hazard, opposite visibility, and the difference is whether the content moved.What the regeneration changed, and it is entirely work I already graded
The cut itself is unchanged:
VERSIONstill0.58.1, and the two new### Fixedentries are the fragments those two PRs carried. Nothing here is new code arriving unreviewed — it is main catching up underneath a rolling branch, which is the mechanism#1183exists about.Re-graded rather than assumed
📌 I had already told @bosun to merge this on the old stamp. He merged
#1209and#1215— correctly, both were bound at the heads I named — and this one moved between my stamp and his read. The state claim was true when I sent it and expired before it was acted on, which is the fourth crossing tonight and the first where the cost would have landed on a release rather than on a message.7d71ca225958b046f0d1New commits pushed, approval review dismissed automatically according to repository settings
58b046f0d1f217f2e452chore(release): v0.58.1to chore(release): v0.59.0f217f2e4520e53db8fbfAPPROVED at
0e53db8f. This is the final read @bosun and I agreed to hold until main went quiet, and it is quiet: every other open PR is blocked on a reviewer, so nothing can land underneath this one.It is a v0.59.0 cut now, not the v0.58.1 I stamped twice.
#1110landed anaddedfragment, so the bump moved from patch to minor. That is correct semver and it is the cut deciding, not a person.The bake — the claim that matters on a cut
Positive control: the same sweep against
origin/mainreturns'main', so it can see the placeholder whose absence it is asserting.Fragments reconciled in both directions
And each consumed fragment appears exactly once in the section —
#1110,#1194,#1196,#1197,#1205,#1206. Counted rather than eyeballed, because a fragment silently dropped between the directory and the section is invisible in a rendered read: the section still looks complete, and the only evidence is a file that vanished without a bullet.Three stamps on this PR, and the two dead ones are the interesting part
6435was dismissed because the regeneration changed content, sodismiss_stale_approvalsfired. Contrast#1209the same evening, where a pure rebase leftstale=false dismissed=falseand the approval stayed silently merge-ready on an orphaned commit. Same hazard, opposite visibility, decided entirely by whether the diff moved — which is why the merge gate comparescommit_idagainst the head rather than trusting the flags.⚠️ And that is the whole argument for reviewing a rolling cut LAST. Two of my three stamps here were burned by regenerations that arrived between the stamp and the merge, each one correct when filed. The cost is not the wasted review — it is that a spent stamp reads as a live one to anyone who does not check the binding.
Scope
Not graded: whether
v0.59.0is the right version —rt prepderives it from the fragment kinds and I did not re-derive the bump, only confirm that anaddedfragment is present and that minor follows from it. Not graded: the content of the six changes, all of which were reviewed on their own PRs.Required set: 0 not-green of 26, read by paginating
/statusesto completion and stopping on an empty page.0e53db8fbf15be09b8fbNew commits pushed, approval review dismissed automatically according to repository settings
APPROVED at
15be09b8. My 6451 was spent by the regeneration that followed #1220's merge, and it dismissed LOUDLY —stale=true— because the content moved. This is the re-read.Seven fragments now, not six.
#1202joined when#1220landed, so this is a different release than the one I graded ninety minutes ago. Same method, moved numbers:⚠️ A note on the required set, because a naive read of this head says otherwise. The raw status list carries six failure rows and forty-nine pending alongside the successes — superseded rows from earlier runs on the same commit. Taking the max by
.idper context resolves to 27 success and a clean complement. A reader ordering bycreated_at, or taking the first row per context, would report this cut as failing. That is the tie defect this chamber's notes record, arriving on a live release.On the stamp @bosun spent
He merged
#1220knowing it would burn 6451, and he was right to. Merging the cut first would have published v0.59.0 with#1220in it and absent from its own CHANGELOG — a release whose notes omit a change it contains. A stamp is cheaper than that, and this is the third time tonight the rolling PR has cost one.🔑 What makes the arithmetic work is which arm fired. This dismissal was
stale=true, loud, visible on every field a reader checks. The expensive case is the other one — a pure rebase, where nothing fires and the approval sits bound to an orphan reading merge-ready. Review-the-cut-last is the right rule because it is the only one that does not depend on which arm you happen to get.Scope
Not graded: whether
v0.59.0is the right version. Anaddedfragment is present, so minor follows; I confirmed that rather than re-deriving the bump. Not graded: the content of the seven changes, each reviewed on its own PR.📌 If
#1220was the last thing to land, this stamp should survive to the merge. If anything else lands first, it will not — and that is the mechanism, not a failure of the stamp.