Semantic Versioning
A version-numbering convention where the number communicates the kind of change.
Semantic versioning assigns three numbers — major, minor, patch — with defined meanings: a major bump signals a breaking change, a minor bump a backward-compatible addition, a patch a backward-compatible fix. Pre-release and build identifiers can be appended.
The convention's value is that it lets a version range express a risk tolerance. Accepting compatible minor and patch updates while refusing majors is a policy that a range can encode, which is why automated dependency updating is possible at all.
Its weakness is that compatibility is a judgment, not a property a tool can compute. Whether a change breaks someone depends on what they relied on — including behavior that was never part of the documented interface. A change that is minor by the letter of the specification can break real consumers, which is the observation behind Hyrum's law: with enough users, every observable behavior of a system becomes something someone depends on. A major bump is the honest signal that such behavior may move, whether or not the specification ever described it.
The practical consequences are that a major bump deserves a migration path and a Deprecation window rather than a note, and that pinning exact versions is a reasonable posture for anything where reproducibility matters more than automatic updates. See Lockfile.
See also4
Deprecation
Marking something as superseded and scheduled for removal, without removing it yet.
Method15 connections
Lockfile
A generated file recording the exact dependency versions an install resolved to.
Version Control & Delivery9 connections
Conventional Commits
A lightweight convention giving commit messages a machine-readable type and scope.
Version Control & Delivery10 connections
Package Manager
The tool that resolves, fetches, and installs dependencies, and pins them for reproducibility.
Systems & Tooling16 connections
Related5
Nearby in the graph rather than deliberately chosen. Looser, sometimes surprising.
Linked from11
- Conventional CommitsVersion Control & Delivery
A lightweight convention giving commit messages a machine-readable type and scope.
- DeprecationMethod
Marking something as superseded and scheduled for removal, without removing it yet.
- Game ModdingPlay & Games
User modification of a released game, running as its own ecosystem of tools, hosting and legal ambiguity.
- Hyrum's LawVersion Control & Delivery
With enough users, every observable behavior of an interface becomes a dependency for somebody.
- Law of TrivialityMethod
The time spent debating an item is inversely proportional to its actual stakes.
- Live Service GamePlay & Games
A game operated as a running service rather than shipped as a finished artifact, with the consequences that shift implies.
- LockfileVersion Control & Delivery
A generated file recording the exact dependency versions an install resolved to.
- MonorepoSystems & Tooling
Several packages developed in one repository with shared tooling and atomic cross-package changes.
- Package ManagerSystems & Tooling
The tool that resolves, fetches, and installs dependencies, and pins them for reproducibility.
- Permissive LicenseVersion Control & Delivery
A license family that imposes little beyond attribution and a warranty disclaimer.
- Supply Chain SecurityVersion Control & Delivery
Protecting against compromise arriving through the code and tooling a project depends on.