Release notes
Turn the merge log between two tags into user-facing notes. The point is that users care about what changed for them, not about commit hygiene — so group by user-visible effect, not by author or file.
Workflow
- Resolve the range. Default to the two most recent tags; ask if the repo has none.
- Collect merges:
git log <from>..<to> --merges --pretty=%s%n%b. If that returns nothing the repository squash-merges, so usegit log <from>..<to> --pretty=%s%n%binstead. - Group into Added / Changed / Fixed / Removed. Drop internal-only changes (CI, formatting, dependency bumps with no user effect).
- Write one line per entry in the user's own product vocabulary.
If the repository declares a release-notes format — a .release-notes.md
template, or a changelog section in CONTRIBUTING.md — read
references/house-format.md and follow it instead of the default grouping.
Done when
Every user-visible merge in the range appears exactly once, and the notes mention no internal-only change.