チェンジログの破壊的変更
!マーカーとBREAKING CHANGEフッターから破壊的変更がどのように検出され、チェンジログの先頭の専用セクションに昇格されるかを学びます。
Breaking Changes
詳細な説明
破壊的変更の検出
破壊的変更はチェンジログで最も重要な項目です。ソフトウェアの利用者に、アップグレードにはコード、設定、またはワークフローの変更が必要であることを伝えます。チェンジログジェネレーターは2つの方法で破壊的変更を検出します。
方法1:感嘆符
コロンの前に!を追加することで破壊的変更を示します:
feat(api)!: change response format for /users endpoint
fix!: rename config key from "db_url" to "database_url"
!は任意のタイプとオプションのスコープの後に配置できます。ジェネレーターは解析時に!を除去し、コミットを破壊的としてフラグを立てます。
方法2:BREAKING CHANGEフッター
Conventional Commits仕様はフッター表記もサポートしています:
feat(api): change response format
BREAKING CHANGE: The /users endpoint now returns an array
instead of an object. Update all API consumers.
ジェネレーターは各行をBREAKING CHANGEまたはBREAKING-CHANGE(大文字小文字区別なし)でスキャンし、一致するコミットにフラグを立てます。
破壊的変更のレンダリング
検出された破壊的変更は、すべてのタイプグループセクションの前に、チェンジログの先頭の専用セクションに昇格されます:
## [2.0.0] - 2026-02-27
### BREAKING CHANGES
- **api:** change response format for /users endpoint
- rename config key from "db_url" to "database_url"
### Added
- add new pagination system
セマンティックバージョニングへの影響
セマンティックバージョニングでは、破壊的変更はメジャーバージョンバンプ(例:1.x.xから2.0.0)を必要とします。チェンジログでの破壊的変更の目立つ配置は、ドキュメントとアップグレード者への警告の両方の役割を果たします。
ユースケース
破壊的変更を消費者に明確に伝える必要があるライブラリメンテナーやAPIプロバイダーに不可欠です。専用セクションにより、アップグレードレビュー時に破壊的変更を見逃すことが不可能になります。