Description
CHANGELOG.md currently contains three separate ## [Unreleased] headings — a clear merge conflict artifact where the same section was triplicated instead of being properly resolved.
This breaks:
- Automated changelog parsing tools (e.g.,
git-cliff, standard-version, release scripts) that expect exactly one [Unreleased] section
- The
release.yml GitHub Actions workflow, which likely extracts the [Unreleased] block to generate release notes — it will either pick the first (possibly empty) block or concatenate all three
- Manual readability — contributors scanning the changelog to understand what's queued for the next release will see confusing duplicates
The only released version currently documented is ## [1.0.0] — 2026-05-17.
Steps to Reproduce
grep -n '\[Unreleased\]' CHANGELOG.md
Should output exactly one line. Currently outputs three.
Acceptance Criteria
Priority
Low — does not affect runtime behavior, but causes release automation failures.
Estimated Effort
Small
Description
CHANGELOG.mdcurrently contains three separate## [Unreleased]headings — a clear merge conflict artifact where the same section was triplicated instead of being properly resolved.This breaks:
git-cliff,standard-version, release scripts) that expect exactly one[Unreleased]sectionrelease.ymlGitHub Actions workflow, which likely extracts the[Unreleased]block to generate release notes — it will either pick the first (possibly empty) block or concatenate all threeThe only released version currently documented is
## [1.0.0] — 2026-05-17.Steps to Reproduce
grep -n '\[Unreleased\]' CHANGELOG.mdShould output exactly one line. Currently outputs three.
Acceptance Criteria
## [Unreleased]sections into a single, coherent## [Unreleased]section at the top of the file## [1.0.0]section and all subsequent released version sections are left unchangedgrep -c '\[Unreleased\]' CHANGELOG.mdoutputs1git-cliff --check), it passes cleanlyPriority
Low — does not affect runtime behavior, but causes release automation failures.
Estimated Effort
Small