Keep a Changelog形式
Added、Changed、Fixed、Removedセクションを持つKeep a Changelog仕様に従ったCHANGELOG.mdの生成方法を学びます。
Format Types
詳細な説明
Keep a Changelog標準
Keep a Changelogは、チェンジログの構造化において最も広く採用されている規約です。各変更の性質を一目で伝える標準化されたセクション見出しの下に変更をグループ化します。
セクションマッピング
Keep a Changelog形式を使用する場合、Conventional Commitのタイプは標準セクションにマッピングされます:
| コミットタイプ | Keep a Changelogセクション |
|---|---|
feat |
Added |
fix |
Fixed |
perf、refactor、docs、style、build、ci、chore、test |
Changed |
revert |
Removed |
出力構造
# Changelog
All notable changes to this project will be documented in this file.
## [1.2.0] - 2026-02-27
### Added
- **auth:** add OAuth2 login with Google
- add dark mode toggle to settings page
### Fixed
- **auth:** resolve token refresh race condition
- prevent crash when config file is missing
### Changed
- upgrade TypeScript to 5.4
- update API authentication guide
なぜKeep a Changelogなのか?
この仕様は機械ではなく人間の読者のために設計されました。明確な分類を重視し、生のコミットメッセージをそのまま出力することを推奨しません。Conventional CommitsをKeep a Changelogのセクションにマッピングすることで、開発者向けのコミットメッセージとユーザー向けのリリースノートの間のギャップを埋めます。前文テキストとフォーマット規約は自動的に含まれるため、生成されたファイルは即座に仕様に準拠します。
ユースケース
Keep a Changelog規約に従うオープンソースプロジェクトに最適です。コントリビューターやユーザーは、生のコミットログを読むことなく、AddedとFixedセクションをスキャンして各リリースの変更内容を把握できます。