chore(release): v0.3.1 #33

Merged
quartermaster merged 2 commits from release-prep/v0.3.1 into main 2026-06-24 21:57:11 +02:00

Fixed

  • _release-draft.yml: inline-collapse version-normalization into the script-invocation step. Sidesteps a runtime step-skip that was leaving the script's --version empty on every release-draft cycle. See #16. Consumers must bump @v0.2.0@v0.3.1 to pick this up; the toolkit's own consumer wrapper gets bumped as part of the v0.3.1 cut.

  • tests/conventional-commits.bats: rewrite the 4 cc_parse_subject tests to compare against $output directly (with explicit boundaries) instead of ${lines[N]} indexing. Fixes 2 pre-existing failures on bats 5.2.37+ where the run wrapper collapses empty strings out of the lines array, silently shifting indices. Test logic + the function under test are unchanged. See #18.

  • changelog.d: correct kind 'added' → 'internal' for #14 docs fragment

  • tests: cc_parse_subject bats 5.2.37+ portability — closes #18

  • workflows: inline-collapse normalize-version in _release-draft.yml — closes #16

Internal

  • docs/conventions.md: new subsection "Choosing chore: vs feat: for internal-infrastructure changes" with the consumer-facing-surface test + the v0.2.1 cut-escalation worked instance. Helps human authors avoid the cut-escalation footgun where a chore:-shaped commit lands as feat: and pulls the next cut into a higher version lane. See #14.
### Fixed - **`_release-draft.yml`**: inline-collapse version-normalization into the script-invocation step. Sidesteps a runtime step-skip that was leaving the script's `--version` empty on every release-draft cycle. See [#16](https://git.frankenbit.de/frankenbit/release-toolkit/issues/16). Consumers must bump `@v0.2.0` → `@v0.3.1` to pick this up; the toolkit's own consumer wrapper gets bumped as part of the v0.3.1 cut. - **`tests/conventional-commits.bats`**: rewrite the 4 `cc_parse_subject` tests to compare against `$output` directly (with explicit ` ` boundaries) instead of `${lines[N]}` indexing. Fixes 2 pre-existing failures on bats 5.2.37+ where the `run` wrapper collapses empty strings out of the `lines` array, silently shifting indices. Test logic + the function under test are unchanged. See [#18](https://git.frankenbit.de/frankenbit/release-toolkit/issues/18). - **changelog.d**: correct kind 'added' → 'internal' for #14 docs fragment - **tests**: cc_parse_subject bats 5.2.37+ portability — closes #18 - **workflows**: inline-collapse normalize-version in _release-draft.yml — closes #16 ### Internal - **`docs/conventions.md`**: new subsection "Choosing `chore:` vs `feat:` for internal-infrastructure changes" with the consumer-facing-surface test + the v0.2.1 cut-escalation worked instance. Helps human authors avoid the cut-escalation footgun where a `chore:`-shaped commit lands as `feat:` and pulls the next cut into a higher version lane. See [#14](https://git.frankenbit.de/frankenbit/release-toolkit/issues/14).
Generated by release-toolkit release-prep.sh.

Tracker: frankenbit/release-toolkit#1
docs(CHANGELOG): clean up v0.3.1 section per substrate-care discipline
Some checks failed
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 4s
manifest-check / check (pull_request) Successful in 0s
release-draft / create Forgejo draft release (pull_request) Failing after 4s
release-draft / draft (pull_request) Failing after 0s
b8ae12934c
Same v0.2.1/v0.3.0-shape manual fold (toolkit-sanctioned per
docs/conventions.md "No deduplication in v0.1; review prep PR +
dedupe manually if it matters"):

- Drop 3 commit-subject summary bullets that duplicated the long-form
  fragment prose:
  - "**changelog.d**: correct kind 'added' → 'internal'..." (PR #32
    recovery; not a consumer-facing change, internal cut housekeeping)
  - "**tests**: cc_parse_subject bats 5.2.37+ portability..." (duplicate
    of #18 fragment prose above it)
  - "**workflows**: inline-collapse normalize-version..." (duplicate
    of #16 fragment prose above it)
- Fix the literal-newline rendering artifact in the #18 fragment text
  ("with explicit `\n` boundaries" → "with explicit newline boundaries
  via `$'...'` syntax" — sidesteps the toolkit normalization eating the
  backslash; substance unchanged)
- Add 2-paragraph framing intro: scope summary + consumer-bump note
  about the chicken-and-egg @v0.2.0 → @v0.3.1 dynamic for the #16 fix

Substrate-honest disclosure: the framing intro paragraphs are
HAND-WRITTEN, same shape as the v0.2.1 + v0.3.0 cleanup folds. The
auto-cut section was structurally complete; this fold adds the
sprint-narrative + the consumer-bump caveat that makes the section
legible for a future reader.

No code changes from the auto-cut; CHANGELOG narrative only.

Tracker: v0.3.1 patch sprint cut cleanup
Sign in to join this conversation.
No description provided.