Semantic versioning
3.4.1 === major.minor.patchMajor
- New feature which may potentially cause breaking changes to applications dependent on the previous major version.
Minor
- New features that do not break the existing API
Patch
- Bug fixes for the current minor version
Glob patterns for versioning
Caret
Interested in any version so long as the major version remains at \(n\). E.g if we are at ^4.2.1 and we upgrade, we are ok with 4.5.3 or 4.8.2. We are not bothered about the minor or patch version.
This is equivalent to 4.x
Tilde
Interested in any patch version within set major and minor parameters. For example ~1.8.3 means you don’t mind any patch version so long as it is a patch for 1.8. This is equivalent to 1.8.x.
No tilde or caret
Use the exact version specified