The first rule defines the version number of the first stable release:
The first stable release of a package must use the version number 1.0.0.
Releases prior to the first stable release must use a 0.x version number, and must not be stable.
Backward compatibility may be broken arbitrarily between 0.x releases.
After the first stable release, some more rules start kicking in:
Release 1.N must be compatible with 1.M where N > M. For example, 1.3 must be compatible with 1.2.
Release N.x may break compatibility with M.x where N > M. For example, 3.0 may break compatibility with 2.4.
New features require that the minor version increases (for example, ...