バージョン番号は MAJOR.MINOR.PATCH と表記し、 以下の3つの法則によって更新される。 このとき MAJOR, MINOR, PATCH は非負の整数とし、頭にゼロは入れず、それぞれの要素は数値的に増加する。
- 互換性のない API の変更を行うときに MAJOR バージョンをインクリメントする
- 後方互換性のある方法で機能性を追加したときに MINOR バージョンをインクリメントする
- そして、後方互換性のあるバグ フィックスをしたときに PATCH バージョンをインクリメントする
メジャー バージョン 0 (0.y.z) は、初期の開発のためのものであり、 いつでもどんなものでも変化する可能性があるため、 パブリック API は安定的と考えられるべきではない。
バージョン 1.0.0 はパブリック API を定義する。 このリリースの後でバージョン番号がインクリメントされることは、 このパブリック API とそれの変更がどの程度であるかに左右される。