// Write commit messages, changelogs, release notes, and manage versioning following Conventional Commits with required scope. Use when the user asks for a commit message, changelog, release notes, versioning, tagging, or how to format commits.
Write commit messages, changelogs, release notes, and manage versioning following Conventional Commits with required scope. Use when the user asks for a commit message, changelog, release notes, versioning, tagging, or how to format commits.
feat(auth): add OAuth2 social login
fix(api): prevent race condition in user creation
docs(readme): update installation instructions
refactor(db)!: migrate from MySQL to PostgreSQL
BREAKING CHANGE: Database schema incompatible with v1.x
chore(deps): upgrade TypeScript to v5
test(api): add integration tests for user endpoints
perf(search): optimize query with database index
2. Changelog
Group by type (Added, Changed, Fixed, Removed, Security).
One line per item; link to PR/commit when possible.
Put newest entries at the top (or follow existing CHANGELOG style).
3. Release Notes
User-facing summary of the release.
Highlights and breaking changes first; then full list or link to changelog.
Version and date in title or header.
4. Versioning (Semantic Versioning)
Use SemVer (MAJOR.MINOR.PATCH): MAJOR for breaking changes, MINOR for new features, PATCH for bug fixes.
Create annotated tags (git tag -a v1.2.3 -m "Release v1.2.3") with v prefix. Use automated tools (semantic-release, release-please) or manual workflow (update version, CHANGELOG, commit, tag, push).