Package Versioning Major, Minor, Patch and How to Manage it
- Published on
Versioning is very important aspect of software development, ensuring that updates to packages and dependencies are managed in a controlled and predictable manner.
What is Semantic Versioning?
Semantic versioning, commonly referred to as SemVer, is a versioning scheme that uses a three-part version number: MAJOR.MINOR.PATCH. Each part of the version number signifies the nature of the changes made in the release.
- MAJOR Version (X.y.z)
Changes: Introduces incompatible API changes. Impact: Breaking changes that may require changes to existing code. Example: Moving from 1.0.0 to 2.0.0.
- MINOR Version (x.Y.z)
Changes: Adds new functionality in a backwards-compatible manner. Impact: New features that do not break existing functionality. Example: Moving from 1.0.0 to 1.1.0.
- PATCH Version (x.y.Z)
Changes: Introduces backwards-compatible bug fixes. Impact: Fixes and small improvements that do not affect the API. Example: Moving from 1.0.0 to 1.0.1.