Introduction
Versioning helps keep old and new parts of a program working well together. It stops new changes from breaking things that already work.
When you add new features to an API but want old apps to keep working.
When you fix bugs but don't want to change how existing functions behave.
When you change how data is sent or received but need to support older clients.
When you want to improve performance without forcing everyone to update immediately.