セマンティックバージョニング とは
バージョン番号規格 MAJOR.MINOR.PATCH
セマンティックバージョニング(SemVer)——MAJOR.MINOR.PATCH形式のソフトウェアバージョン番号規格で、各部分に特定の意味があります。
バージョン構造
- MAJOR (1.x.x) — 互換性のないAPI変更
- MINOR (x.1.x) — 後方互換性のある新機能
- PATCH (x.x.1) — 後方互換性のあるバグ修正
- プレリリース — 1.0.0-alpha、1.0.0-beta.1
- ビルドメタデータ — 1.0.0+build.123
ルール
- 初期バージョン — 0.1.0
- 最初の安定版リリース — 1.0.0
- MAJORを上げる時 — MINORとPATCHをリセット
- MINORを上げる時 — PATCHをリセット
- バージョンは左から右に比較
変更例
- MAJOR:機能の削除、メソッドシグネチャの変更
- MINOR:新しいエンドポイントの追加、新しいオプションパラメータ
- PATCH:バグ修正、パフォーマンス改善
ツール
- npm — パッケージにSemVerを使用
- Composer — PHPパッケージマネージャー
- Maven — Java依存関係
- semantic-release — リリース自動化
- commitizen — 構造化コミット
メリット
- 予測可能性 — アップデートへの明確な期待
- 自動化 — 自動バージョン決定
- 文書化 — コミットからのチェンジログ
- 互換性 — 安全な依存関係の更新