セマンティックバージョニング(SemVer)とは?
セマンティックバージョニング(SemVer)は、MAJOR.MINOR.PATCHという形式のバージョン番号の規約で、非互換なAPI変更ではMAJORを、後方互換の機能追加ではMINORを、後方互換の修正ではPATCHを引き上げます。これにより利用者はバージョンだけからアップグレードのリスクを判断できます。パッケージマネージャが互換性のあるバージョン範囲を解決する仕組みの土台となっています。
なぜ重要か
SemVerは共有された契約です。パッチのアップグレードは安全であるべきで、メジャーのアップグレードは互換性を壊す可能性があります。これを守ることでツールは安全な範囲内で自動更新でき、人間は破壊的なアップグレードを計画できますが、これに違反すると依存関係のエコシステム全体で信頼が損なわれます。
関連する概念
- バージョン範囲とlockfileはSemVerのルールに依存する
- プレリリースタグがrelease candidateを示す
- メジャーの引き上げは破壊的変更を知らせる
関連ガイド
What Is a Release Candidate?A release candidate is a pre-release build believed ready to ship, published for final testing before becomin…
What Is a Lockfile?A lockfile records the exact resolved versions and hashes of every dependency, so installs are deterministic…
What Is Dependency Pinning?Dependency pinning fixes dependencies to exact versions (or hashes) instead of ranges, so builds are predicta…