It's not semver. It's semver-looking version number. Package version is not required to follow semantics of semver, it's just sorted like semver.
Usually these three digits have this meaning:
First number called
major
is incremented when there are big changes that will very likely require substantial changes to your application on an update.Second number called
minor
is incremented when there are small changes that mostly backward compatible. It might break some applications, but it's an exception.Third number called
micro
is incremented almost every time a new version is pushed to npm. It is considered a bad practice to include breaking changes in micro updates, but even npm itself do it sometimes.
But it is not set in stone, and basically you can pick every version number you want. For example, esprima-fb
package uses versioning like this: 1001.1001.2000-dev-harmony-fb
. These numbers have meaning too, but it's obviously not semver.
edit: I would like to include balupton's definition of version numbers from twitter, since it does reflect current status quo more precisely.
- revisions = no b/c breaks
- minors = b/c breaks for some
- majors = b/c breaks for everyone
... where b/c means backward compatibility