セマンティックバージョニング(せまんてぃっくばーじょにんぐ)
最終更新:2026/4/25
セマンティックバージョニングは、ソフトウェアの変更内容に応じてバージョン番号を体系的に管理する規格である。
別名・同義語 SemVer
ポイント
バージョン番号の形式は「メジャー.マイナー.パッチ」とし、互換性の有無を明確に示すことで、依存関係の管理を容易にする。
概要
セマンティックバージョニング(SemVer)は、ソフトウェアのバージョン番号に意味を持たせるための規格です。バージョン番号を単なる連番としてではなく、変更の種類に応じて適切に更新することで、ソフトウェアの互換性を明確にし、依存関係を管理しやすくすることを目的としています。
バージョン番号の構成
セマンティックバージョニングでは、バージョン番号は「メジャー.マイナー.パッチ」の3つの要素で構成されます。
- メジャーバージョン: 互換性のない変更(APIの変更など)が行われた場合にインクリメントされます。
- マイナーバージョン: 後方互換性を維持した機能追加が行われた場合にインクリメントされます。
- パッチバージョン: 後方互換性を維持したバグ修正やセキュリティアップデートが行われた場合にインクリメントされます。
プリリリースバージョンとビルドメタデータ
セマンティックバージョニングでは、上記の基本的なバージョン番号に加えて、プリリリースバージョンやビルドメタデータを付加することも可能です。
- プリリリースバージョン: 開発中のバージョンやベータ版などを区別するために使用されます(例: 1.0.0-alpha.1)。
- ビルドメタデータ: ビルドの日時やコミットハッシュなどの情報を付加するために使用されます(例: 1.0.0+20231027)。
メリット
セマンティックバージョニングを導入することで、以下のメリットが得られます。
- 依存関係の管理: ソフトウェアの依存関係を明確に管理し、互換性の問題を回避できます。
- 自動化: バージョン番号の管理を自動化し、人的ミスを減らすことができます。
- コミュニケーション: ソフトウェアの変更内容をバージョン番号を通じて明確に伝えることができます。