Skip to content

feat: abridge release notes for a large changelog entry, link to CHANGELOG.md - #17

Merged
Marcogn merged 1 commit into
mainfrom
claude/verify-repo-functionality-gb3ro6
Aug 19, 2026
Merged

feat: abridge release notes for a large changelog entry, link to CHANGELOG.md#17
Marcogn merged 1 commit into
mainfrom
claude/verify-repo-functionality-gb3ro6

Conversation

@Marcogn

@Marcogn Marcogn commented Aug 19, 2026

Copy link
Copy Markdown
Owner

Summary

v2.4.0's own GitHub Release ended up as a ~200-line wall of text, since .github/workflows/release.yml's "Extract changelog section for this version" step always dumped the full ## Unreleased section verbatim into the Release body.

  • A short section (40 lines or fewer) is still used in full, unchanged behavior.
  • A long one is abridged to just its ### entry headings — each already written as a one-line summary by this file's own convention — as a bullet list.
  • Either way, the Release body now always ends with a link back to CHANGELOG.md's matching dated section for the full detail.

The link's #fragment reproduces GitHub's actual heading-anchor slug algorithm (lowercase; drop everything that isn't a-z0-9 _-; spaces → hyphens) — verified against this repo's own real rendered CHANGELOG.md anchors via the live page, e.g. v2.4.0 (2026-08-19) renders as id="v240-2026-08-19" (periods get dropped from the version number entirely, not turned into hyphens — an easy thing to get subtly wrong).

Test plan

  • python3 -c "import yaml; yaml.safe_load(...)" — workflow YAML parses cleanly
  • Ran the new extraction logic under real dash against this repo's actual huge v2.4.0 CHANGELOG.md section (198 lines, 8 ### headings): correctly abridges to the 8-bullet highlight list + a working link, and the computed slug (v240-2026-08-19) matches the real GitHub-rendered anchor for that exact heading, confirmed via a live fetch of the rendered page
  • Ran the same logic against a small synthetic section (4 lines, 1 heading): correctly falls through to the full-body-plus-link path, unchanged from prior behavior
  • Real trigger of the Release workflow (best confirmed on the next actual release)

Generated by Claude Code

…GELOG.md

v2.4.0's own Release ended up as a ~200-line dump since release.yml
always used the full "## Unreleased" section verbatim as the Release
body. Now a short section (<=40 lines) is still used in full; a long one
is abridged to just its "### " entry headings as a bullet list. Either
way the Release body always ends with a link back to CHANGELOG.md's
matching dated section, using a slug generator verified against this
repo's real rendered GitHub anchors (periods get dropped from the
version number, not turned into hyphens).
@Marcogn
Marcogn marked this pull request as ready for review August 19, 2026 14:45
@Marcogn
Marcogn merged commit 2a75ec6 into main Aug 19, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants