Skip to content

fix(changelog): fix KaC ordering, safer delimiter, and per-module changelog paths#263

Merged
indaco merged 6 commits intomainfrom
fix/changelog-kac-ordering-and-permodule-paths
Apr 7, 2026
Merged

fix(changelog): fix KaC ordering, safer delimiter, and per-module changelog paths#263
indaco merged 6 commits intomainfrom
fix/changelog-kac-ordering-and-permodule-paths

Conversation

@indaco
Copy link
Copy Markdown
Owner

@indaco indaco commented Apr 7, 2026

Description

Fixes and improvements to the changelog-generator plugin:

  • KaC ordering fix: regroupCommits iterated a Go map, causing non-deterministic commit ordering when multiple original groups mapped to the same Keep a Changelog section. Now iterates sortedKeys for stable output.
  • Header-template warning: missing header-template file was silently ignored. Now prints a warning to stderr.
  • Empty versioned files: when all commits are non-conventional and include-non-conventional: false, no longer writes a header-only .changes/v*.md file.
  • Safer delimiter: replaced | with \x1f (ASCII unit separator) in git log format strings to prevent commit subjects containing | from corrupting field parsing.
  • Per-module changelog: when workspace.versioning: independent, writes unified changelog to {modulePath}/CHANGELOG.md instead of root.

Related Issue

  • None

Notes for Reviewers

  • None

indaco added 6 commits April 7, 2026 14:46
A missing header-template file was silently ignored and the default
header was used. Now prints a warning to stderr so users knowtheir
custom header is not being applied.
Replace pipe character (|) with ASCII unit separator (\x1f) in
--pretty=format strings and SplitN calls. Prevents commit subjects
containing | from corrupting field parsing.
…onal

When include-non-conventional is false and all commits in the range are
non-conventional, do not write a header-only .changes/v*.md file.
When workspace.versioning is "independent" and a module path is set,
write the unified changelog to {modulePath}/CHANGELOG.md instead of
the shared root CHANGELOG.md. Follows the same auto-follow pattern
used by tag-manager prefix interpolation.
@indaco indaco self-assigned this Apr 7, 2026
@indaco indaco added bug Something isn't working plugin labels Apr 7, 2026
@indaco indaco merged commit ae73131 into main Apr 7, 2026
7 checks passed
@indaco indaco deleted the fix/changelog-kac-ordering-and-permodule-paths branch April 7, 2026 14:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working plugin

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant