Skip to content

Release Notes Authoring Guide

Kyn release notes are generated by GoReleaser and grouped by commit message prefixes.

Why this matters

Structured commit messages produce structured, meaningful release notes. Without this, releases degrade into noisy raw commit lists.

Preferred commit prefixes

  • feat: user-visible capability improvements
  • fix: bug fixes and behavior corrections
  • docs: documentation updates
  • build: release/build/packaging changes
  • ci: pipeline or automation updates
  • refactor: internal restructuring without behavior change

Examples

  • feat(cli): add clearer auto input-mode diagnostics
  • fix(report): keep deterministic order for expected files
  • docs(ci): add reviewdog example for rdjson output
  • build(release): tighten linux artifact naming
  • ci: add strict docs build job

PR checklist for release quality

  1. Use a commit prefix that matches user impact.
  2. Include at least one user-facing sentence in PR description.
  3. If behavior changed, update CHANGELOG.md under v0.1.1 - Unreleased.
  4. Keep wording concrete: what changed, why it matters.

Notes

  • Merge commits and chore: / test: commits are filtered out of release notes.
  • If a change is user-visible, avoid chore: as the only commit prefix.