【チェンジログ】

CHANGELOG とは?

最終更新:
💡 利用者に伝える、バージョンごとの変更記録

ソフトウェア等のバージョンごとの重要な変更を、人が読みやすく整理した記録。コミット履歴との違い、未公開の変更、互換性のない変更の案内を解説します。

📌 このページのポイント
CHANGELOG:利用者へ伝える変更記録Unreleased:未公開の変更まだ配布済みとは限らないv2.0.0 / 公開日(例)+ 追加新しい機能↔ 変更互換性・移行手順✓ 修正どの問題が直ったかv1.1.0 / 公開日(例)その版の重要な変更コミット履歴を、利用者に伝わる単位で整理
新しい公開版を上に置く形式の例です。コミットの全件一覧とは目的が異なり、分類やファイル名はプロジェクトによって変わります。
ひよこ ひよこ
更新する前に、CHANGELOGを見るの?
ペンギン先生 ペンギン先生
そうだよ。何が追加され、何が修正・変更・削除されたかを知る手がかりになる。利用者や開発に参加する人が、バージョン間の重要な違いを読めるようにまとめた記録なんだ。
ひよこ ひよこ
Gitのコミット一覧と同じ?
ペンギン先生 ペンギン先生
コミットは、開発中の変更を積み重ねた履歴だよ。細かな内部作業やマージもある。CHANGELOGでは、複数のコミットにまたがる変更も、利用者に伝わる単位でまとめる。すべての作業を載せることが目的ではないんだ。
ひよこ ひよこ
書く順番や形式は、決まっている?
ペンギン先生 ペンギン先生
Keep a Changelogというガイドでは、新しい版を上に置き、版と日付を示して、追加・変更・非推奨・削除・修正・セキュリティを分ける方法を提案している。参考になる指針で、すべてのプロジェクトに義務付けられた規格ではないよ。
ひよこ ひよこ
Unreleasedに書いてある機能は、もう使える?
ペンギン先生 ペンギン先生
未公開の変更をまとめる見出しなので、公開済みとは限らないよ。リリース時に対応するバージョンへ移すなどして区別する。使う版に含まれるか、配布やリリースの情報も確かめよう。
ひよこ ひよこ
自動作成すれば、もう確認はいらない?
ペンギン先生 ペンギン先生
Conventional Commitsのようなメッセージの規約は、変更を分類する自動化に役立つ。でも、利用者への影響や移行方法まで、作業名だけで十分伝わるとは限らない。下書きを見直し、互換性のない変更や必要な手順を分かりやすく補おう。
もっと詳しく知りたい人へ

リリースノートとは、必ず別の内容になる?

呼び分けや内容はプロジェクトによります。CHANGELOGは版ごとの変更を継続して記録し、リリースノートでは特定の公開版の案内を詳しくする場合があります。どちらも利用者が読むための情報です。

非推奨と削除は、同じ?

非推奨は、利用を控え代替への移行を勧める状態で、その時点ではまだ使えることがあります。削除は機能がなくなった変更です。対象の版、移行先や手順を区別して案内すると、更新する人が判断しやすくなります。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「CHANGELOG」って出てきたら「バージョンごとの重要な変更を、読みやすくまとめた記録」と思えばだいたいOK!
📖 おまけ:英語の意味
「Change Log」 = 変更の記録
💬 CHANGELOG.mdというファイル名がよく使われますが、必須のファイル名や唯一の形式が決まっているわけではありません。

参考資料

← 用語集にもどる