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"
  }
}
RangeMeaning
^1.2.3>= 1.2.3 and < 2.0.0
~1.2.3>= 1.2.3 and < 1.3.0
1.2.3Exactly 1.2.3
>=1.0.0Any version 1.0.0 or higher