Conventional Changelog形式ガイド

standard-versionやsemantic-releaseで使用されるConventional Changelog形式のガイド。コミットタイプのマッピング、スコープグループ化、自動生成について解説します。

Templates

詳細な説明

Conventional Changelog形式

Conventional Changelog形式は、Conventional Commitsから自動的に生成されるように設計されています。コミットタイプをチェンジログカテゴリにマッピングし、変更をスコープ別にグループ化します。

コミットタイプからカテゴリへのマッピング

コミットタイプ チェンジログカテゴリ SemVerバンプ
feat: Features Minor
fix: Bug Fixes Patch
perf: Performance Improvements Patch
revert: Reverts Patch
docs: (通常除外) None
style: (通常除外) None
refactor: (通常除外) None
test: (通常除外) None
chore: (通常除外) None
BREAKING CHANGE: Breaking Changes Major

自動化ツール

  • standard-version: バージョンバンプ、チェンジログ生成、gitタグ作成
  • semantic-release: 完全自動 — コミットからバージョンを決定し、npmに公開
  • conventional-changelog-cli: チェンジログ生成のみ、バージョンバンプなし

この形式を使うべき場合

  • Conventional Commitsを厳密に遵守するプロジェクト
  • 自動化されたリリースパイプラインを使用するチーム
  • スコープグループ化がパッケージの区別に役立つモノレポ

ユースケース

semantic-releaseやstandard-versionなどのツールを使用してCI/CDパイプラインで自動チェンジログ生成を設定する場合。Conventional Commitsがバージョニングとチェンジログコンテンツの両方を駆動します。

試してみる — Release Notes Generator

フルツールを開く