RESTful APIs are interfaces for computers to communicate with one another, and are ideally set in stone. However, even with great design knowledge and practices, demands and requirements of systems evolve over time, which may cause incompatibility with older versions. The use of API versioning helps to manage these incompatibilities, which also called breaking changes.
API versioning is a concept that I have heard of some time ago but did not realise its significance until I needed to implement them. It is also one of the concepts that are rather subjective in nature, with no single superior approach to rule them all.[Read more…] about API versioning: The inevitable breaking change in software