Semantic versioning (SemVer), explained
SemVer is the norm for client SDKs and libraries. Package managers rely on it to decide which upgrades are safe to take automatically, so mislabelling a breaking change as a minor release breaks builds downstream.
Many APIs version their HTTP surface differently (for example with dates) from their SDKs (with SemVer), so consumers often track two version streams for the same provider.
Related terms
- API versioning: API versioning is the practice of exposing multiple versions of an API at once so providers can ship breaking changes while existing clients keep using the version they were built for.
- Backward compatibility: An API change is backward compatible when every client built against the previous version keeps working, with the same behavior, after the change ships.
- API SDK: An API SDK (software development kit) is a client library that wraps an API in idiomatic functions and types for a specific programming language.