Once other systems depend on your API, you cannot change it freely. Versioning is the habit that lets you improve it without breaking what already works.

The idea

Each time a change would break existing users, you release it as a new version and keep the old one running for a while. People move over when they are ready.

Good habits

A few practices make changes calm.

  • Add new features without changing existing ones when you can
  • Announce changes well ahead of time
  • Keep the old version working for an agreed period
  • Document what changed and how to move

Plan the end of old versions

Say from the start how long a version will be supported. People can plan when they know the date.