Versioning
LPM uses semantic versioning (semver). Each version is immutable once published.
Semantic Versioning
MAJOR.MINOR.PATCH
- MAJOR - Breaking changes
- MINOR - New features (backward compatible)
- PATCH - Bug fixes (backward compatible)
Publishing New Versions
Each publish requires a unique version number:
# Bump version
npm version patch # 1.0.0 -> 1.0.1
npm version minor # 1.0.1 -> 1.1.0
npm version major # 1.1.0 -> 2.0.0
# Publish the new version
lpm publish
Version Ranges
When depending on LPM packages, use standard semver ranges:
{
"dependencies": {
"@lpm.dev/acme.design-system": "^1.0.0"
}
}
| Range | Meaning |
|---|---|
^1.2.3 | >= 1.2.3 and < 2.0.0 |
~1.2.3 | >= 1.2.3 and < 1.3.0 |
1.2.3 | Exactly 1.2.3 |
>=1.0.0 | Any version 1.0.0 or higher |