Skip to content

Preserve changelog release heading depth - #16

Merged
dblock merged 1 commit into
masterfrom
dblock/changelog-heading-depth
Nov 7, 2026
Merged

dblock merged 1 commit into
masterfrom
dblock/changelog-heading-depth

Conversation

@dblock

@dblock dblock commented Nov 7, 2026

Copy link
Copy Markdown
Owner

Summary

Consumers should not have to normalize their changelog headings to use release automation. In ruby-link-checker #26, existing ### release headings were changed to ## only to satisfy our parser.

Recognize Markdown release headings at depths 1 through 6 in both Intridea and Keep a Changelog formats. Preserve the matched heading depth when dating a release and opening the next section, without extra configuration. Intridea sections include deeper subsection headings and end at the next heading of equal or shallower depth. Historical formatting remains unchanged; matching headings at different depths are still rejected when ambiguous. Code, HTML, and nested-block headings remain excluded.

Focused tests cover all heading depths, the star-placeholder Intridea format used by the consumer, deeper subsections and shallower section boundaries, and mixed-depth ambiguity. The local real consumer and installed-gem check keep the original ### format throughout the lifecycle; the actual reusable-workflow fixture now exercises third-level headings too.

Validation

bundle exec rake: 111 examples and RuboCop passed. actionlint .github/workflows/*.yml examples/.github/workflows/*.yml and bundle exec rake build passed. Installed the built gem in a temporary consumer and ran input configuration and all five lifecycle phases with ### headings and a star placeholder, without remote writes.

No release is dispatched by this PR. The consumer can remove its heading-normalization changes once it upgrades from v0.1.0 to a release containing this fix.

Authored by an AI (GitHub Copilot) on behalf of @dblock.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dblock
dblock force-pushed the dblock/changelog-heading-depth branch from 2e13fdb to 58e6293 Compare November 7, 2026 23:16
@dblock
dblock merged commit 99548d2 into master Nov 7, 2026
9 checks passed
@dblock
dblock deleted the dblock/changelog-heading-depth branch November 7, 2026 23:18

This branch was previously deployed

1 inactive deployment
release — 58e62933 Deployed Nov 7, 2026 by dblock via consumer / release #79
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.

1 participant