Excursion: When to release a new API?
A version number tag indicates a certain level of backwards-compatibility that can be expected by the client, and as such, extra care should be taken to maintain this trust. The following lists show which types of changes necessitate a new version, and which don’t[1]:
Changes that don’t require a new version
- New resources (under a new resource path)
- New HTTP methods on existing resources (new commands)
- New data formats
- New attributes or elements on existing data types
Changes that require a new version
- Removed or renamed URIs
- Different data returned for same URI
- Removal of support for HTTP methods on existing URIs