- What is Conventional Commits?
- A commit message convention that prefixes messages with types: feat: (new feature), fix: (bug fix), docs:, style:, refactor:, test:, chore:. BREAKING CHANGE in footer triggers a MAJOR version bump. Tools parse these to generate changelogs and semver bumps automatically.
- Should I maintain a CHANGELOG.md or just use GitHub releases?
- Both are complementary. CHANGELOG.md is checked into the repository — it's versioned, searchable via git log, and accessible offline. GitHub releases add UI discoverability and are linked to tags. Use both for maximum visibility.
- How far back in history should the changelog go?
- For active projects, document changes since the earliest release you still support. Older unmaintained versions can be marked with a single 'Historical' section. New projects should start from v0.1.0 and document every release.