Semantic versioning is a standard that a lot of projects use to communicate what kinds of changes are in this release. It's important to communicate what kinds of changes are in a release because sometimes those changes will break the code that depends on the package.
If a project is going to be shared with others, it should start at 1.0.0
, though some projects on npm don't follow this rule.
After this, changes should be handled as follows:
As a consumer, you can specify which kinds of updates your app can accept in the package.json
file.
If you were starting with a package 1.0.4, this is how you would specify the ranges:
1.0
or 1.0.x
or ~1.0.4
1
or 1.x
or ^1.0.4
*
or x
You can also specify more granular semver ranges.
© npm, Inc. and Contributors
Licensed under the npm License.
npm is a trademark of npm, Inc.
https://docs.npmjs.com/getting-started/semantic-versioning