Q: Given a version number 2.728.0 (as in "aws-sdk": "^2.728.0"), what is the 2 referred to as?

Major version.


Q: Given a version number 2.728.0 (as in "aws-sdk": "^2.728.0"), what is the 728 referred to as?

Minor version.


Q: Given a version number 2.728.0 (as in "aws-sdk": "^2.728.0"), what is the 0 referred to as?

Patch version.


Q: When does the Major version number get incremented?

When incompatible API changes are in the release.


Q: When does the Minor version get incremented?

When functionality is added in a backwards compatible manner.


Q: When does the Patch version get incremented?

When backwards compatible bug fixes are added.


Q: What does ~ (a tilde) preceding a version number mean?

Update all future patch versions, without incrementing the minor version. eg. ~1.2.3 will use releases from 1.2.3 to <1.3.0.


Q: What does ^ (a caret) preceding a version number mean?

Update all future minor/patch versions, without incrementing the major version. eg. ^2.3.4 will use releases from 2.3.4 to <3.0.0.