-
Release v0.8.0
Stablereleased this
2026-06-26 16:56:34 +02:00 | 1370 commits to main since this releaseAdded
AGENTS.md§8 Axis A grows to n=7 across 5 surfaces. Adds instance 6 (merge_whitelist-semantic-mis-mapping— joins config-semantics surface) + instance 7 (self-approval-globally-hardcoded— adds NEW 5th surface for configurable-vs-hardcoded policy). Both from the 2026-06-26 path (α) auto-merge investigation. Adds lifecycle caveat (instances are observed-once external-system claims, future Forgejo upgrades could change behavior) + source-quotation-as-verification calibration note.- ADR-0007 lands: manifest commit lifecycle splits along consumer setup. Path (α)
release-bot-configured consumers get direct-push tomain(no PR machinery, norequired_approvalsinteraction); path (γ) consumers keep the existing manifest-via-PR mechanism unchanged. Closes #112 (review-gate tradeoff dissolves under path α).
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Release v0.7.0
Stablereleased this
2026-06-26 14:35:17 +02:00 | 1390 commits to main since this releaseAdded
- ADR-0006 decided: option (c) — don't integrate RNA as a backend. Empirical rationale: source-of-truth mismatch (fragments vs PR-titles), output target mismatch (Release Object vs file/milestone/PR-desc),
fix:vsbug:convention conflict, 0 of 10 arc-convergence catches preventable by RNA, (B1) absorbed the load-bearing need at minimal cost. Closes #98.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- ADR-0006 decided: option (c) — don't integrate RNA as a backend. Empirical rationale: source-of-truth mismatch (fragments vs PR-titles), output target mismatch (Release Object vs file/milestone/PR-desc),
-
Release v0.6.2
Stablereleased this
2026-06-26 11:54:34 +02:00 | 1398 commits to main since this releaseFixed
- v0.6.2 substrate sweep:
manifest-check.shgains release-state-manifest validation guarding against silent-desync (#56);draft-release.shnormalizes hard-wrapped CHANGELOG paragraphs in release-body (#54); manifest PR title reframedchore(manifest): post-cut bookkeeping for ${TAG}for operator-UX clarity;AGENTS.md§8 gains Axis C (trusted-proxy at report layer). Closes #56 + #54 + #47.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- v0.6.2 substrate sweep:
-
Release v0.6.1
Stablereleased this
2026-06-26 10:26:14 +02:00 | 1403 commits to main since this releaseFixed
scripts/release-decide.shLayer 2 now checkshead.labelinstead ofhead.ref— Forgejo replaceshead.refwithrefs/pull/N/headafter auto-delete-branch on merge, breaking exact-match cut detection. Closes #92.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Release v0.6.0
Stablereleased this
2026-06-26 09:36:44 +02:00 | 1408 commits to main since this releaseAdded
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
Release v0.5.0
Stablereleased this
2026-06-26 00:47:47 +02:00 | 1413 commits to main since this releaseAdded
- v0.5.0 docs lock-in:
integration.mdrewritten for v0.4.0+ push-triggered + rolling-PR shape with new sections for thesummary:frontmatter convention + branch-protection compatibility; newAGENTS.mdcarry-forward pre-flight checklist for contributors; newdocs/migration/v0.3-to-v0.5.mdmigration guide. Closes #52 slice 5. - Fragment frontmatter (
summary:) bifurcates release-notes vs CHANGELOG.md — short consumer-facing summaries land in the Forgejo release body via.release-toolkit-release-notes.mdsidecar; long-form prose still lands in CHANGELOG.md. Closes #77.
Fixed
_release.ymlcut path now opens a PR for the manifest update instead of direct-pushing tomain, then attempts auto-merge via the Forgejo API. Self-contained — no admin-scope tokens required from consumers. Closes #78.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- v0.5.0 docs lock-in:
-
Release v0.4.0
StableAll checks were successfulmanifest-check / manifest-vs-tag consistency (pull_request) Successful in 4smanifest-check / check (pull_request) Successful in 0srelease / decide + act (push) Recovered via manual manifest push at 595c10f (see #78)release / release (push) Recovered via manual manifest push at 595c10f (see #78)released this
2026-06-25 22:19:43 +02:00 | 1423 commits to main since this releaseAdded
Push-triggered rolling-release-PR mechanic — v0.4.0 replaces the v0.3.x operator-dispatched prep flow with a
push: branches: [main]trigger backed by a committed.release-toolkit-manifest.jsonstate file and a shell-based decision engine (scripts/release-decide.sh). On every push to main, the workflow walksgit log <last_released_sha>..HEADand decides one of three modes:noop(no release-relevant content),update(refresh the rolling release-prep PR with the accumulated bump), orcut(the operator merged the rolling PR — firedraft-release.sh+ commit-and-push the manifest update). The substrate-honest escape from the Forgejo Actions expression-engine bug (#41 / #47) that constrained the v0.3.x flow — no${{ github.event.* }}/${{ forgejo.event.* }}accesses on the load-bearing path.Fixed
scripts/release-prep.sh:DRY_RUN_INPUT/DRY_RUN_ENVenv-var sources now use truthy semantics — the literal string"false"no longer falsely enables dry-run (closes #70).scripts/release-prep.sh+.forgejo/workflows/_release.yml: defensive git identity setup beforegit commit— works on fresh CI runner containers without pre-configured git config; configurable viaRELEASE_TOOLKIT_GIT_NAME/RELEASE_TOOLKIT_GIT_EMAILenv vars; consumer-provided config preserved (closes #73).
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Release v0.3.5
Stablereleased this
2026-06-25 18:41:24 +02:00 | 1432 commits to main since this releasePatch release closing a latent semver-correctness bug in last-tag detection that the v0.4.0 architectural arc's bootstrap-tag surfaced as a dogfood catch.
Fixed
scripts/manifest-check.sh+scripts/release-prep.sh: last-tag detection now skips pre-release tags viagit describe --exclude '*-*'. Without the fix, a pre-release tag (e.g.v0.4.0-rc.1) closer to HEAD than the last stable release falsely tripped manifest-check's tag-vs-manifest step (manifest 0.3.4 BEHIND tag v0.4.0-rc.1) AND silently shiftedrelease-prep.sh'scc_categorize_commits_sincewalk window to the prerelease, dropping conventional-commits content from the cut's CHANGELOG section. Surfaced as a dogfood catch during the v0.4.0 architectural arc — slice 3's bootstrap-tagv0.4.0-rc.1blocked slice 2's CI (#65). The fix is semver-correctness (pre-releases are not releases), not a dogfood-only workaround: any consumer creating their own-rc/-beta/-alphatag would have hit the identical false-failure. Closes #66.Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
Release v0.3.4
Stablereleased this
2026-06-25 01:21:01 +02:00 | 1451 commits to main since this releaseThe auto-fire of
release-drafton prep-PR merge has been retired:
release-draftis now operator-dispatched only viaworkflow_dispatchwith an explicittaginput. This formalizes the empirical reality — the auto-fire mechanic has never worked since #41 was filed (every release cut to date has used the manualscripts/draft-release.shfallback) because Forgejo Actions' expression engine cannot reliably resolvegithub.*/forgejo.*accesses pulling from thepull_requestevent payload on.closedevents. See #41 + #47 for the substrate-evidence (n=3 falsifications during the v0.3.4 sprint's hypothesis-test arc).A release-please-shaped redesign (
push: branches: [main]trigger + state-file manifest + shell git-log walk — zeropull_requestexpression-engine exposure) is planned to reinstate single-button auto-fire in the next architectural arc, tracked as #52.Fixed
.forgejo/workflows/release-draft.yml+docs/integration.mdtemplate: drop thepull_request: types: [closed]auto-fire trigger entirely.release-draftis now operator-dispatched only viaworkflow_dispatchwith an explicittaginput. Consumer integration docs updated to match + explain the substrate constraint inline. Closes #41.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Release v0.3.3
StableSome checks failedmanifest-check / manifest-vs-tag consistency (pull_request) Successful in 4smanifest-check / check (pull_request) Successful in 0sdebug-event-payload / dump github.event JSON (pull_request) Successful in 1srelease-draft / create Forgejo draft release (pull_request) Failing after 4srelease-draft / draft (pull_request) Failing after 0sreleased this
2026-06-24 23:52:17 +02:00 | 1458 commits to main since this releasev0.3.3 patch sprint — closes 2 v0.3.x candidates from the v0.3.2
review cycle: #35 fragment-kind lint (warning-only authoring
discipline that flags suspicious kind-vs-body-content mismatches at
release-prep time) + #41 disposition (A) probe (temporary
diagnostic workflow that logsgithub.eventpayload on
pull_request.closedto root-cause the consumer-side empty-version
issue exposed by the v0.3.1 inline-collapse fix's guard).Both items ship as kind=
internalper the consumer-facing-surface
test refined in v0.3.2: the discriminator is whether RELEASE OUTPUT
changes, not whether any author-side behavior is observable. The
lint emits stderr warnings to AUTHORS; the probe is temporary
scaffolding that will be removed once #41's right-layer fix lands
in v0.3.4. Neither changes the consumer-observable release artifact.Internal
-
scripts/lib/fragments.sh: newlint_fragment_kind+lint_fragmentsfunctions that flag suspicious kind-vs-body-content mismatches per the consumer-facing-surface test (docs/conventions.md). Two heuristics: (A) minor-bumping kind (added/changed/...) + docs-only body → warn "should this be.internal.md?"; (B) patch-bumping kind + new-capability body → warn "should this be.added.md?". Warning-only; never fails the cut. Author opt-out per fragment via<!-- lint-fragment-kind: ok -->body marker. Wired intorelease-prep.shat bump-determination time. Same observability-not-author-discipline family as the #29 install-deps probe + the #16 empty-version::error::guard. See #35. -
.forgejo/workflows/debug-event-payload.yml(consumer-side, temporary): diagnostic workflow firing onpull_request.closedevents that logs the fullgithub.eventJSON + individual field evaluations (head.ref,head.label,merged,startsWith()test). Surfaces the data needed to root-cause #41 — why the consumer-siderelease-draft.ymlline 28 expression evaluates to empty. This workflow will be REMOVED once #41's right-layer fix lands (tracked on the issue). Disposition (A) per Surveyor e455 framing: probe first, don't fix on hypothesis.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-