Semantic Versioning 2.0.0

Semantic Versioning 2.0.0.

Given a version number MAJOR.MINOR.PATCH, increment the:

MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards-compatible manner, and
PATCH version when you make backwards-compatible bug fixes.

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

mnots blog: Web API Versioning Smackdown

mnots blog: Web API Versioning Smackdown

“The key insight here, I think, is that URIs are used for so many things persistent identifiers, cache keys, bases for relative resolution, bookmarks that overloading them with versioning and extensibility information as well makes them worse for all of their various purposes. By pushing these concerns into link relations and media types using HATEOS, you end up with a flexible, future-proof system that can evolve in a controllable way, without giving up the benefits of using HTTP (never mind REST).”