In the context of a production environment, and when deploying different frontend and backend versions, we should find a way to handle these transitions. This can occur in multiple forms:
The user has an older client version and hence might have to use an older corresponding backend version (but this does not have to be the case since a newer version can contain bug fixes and no breaking API changes).
When deploying a new frontend version, it might not be guaranteed that the new backend version is deployed at the same time. There will always be a lag time for when the infrastructure route requests to the new version as opposed to the older one. This becomes more important the more traffic the backend gets.
Version rollbacks on the backend (e.g. to recover from a faulty deployment).
In the context of a production environment, and when deploying different frontend and backend versions, we should find a way to handle these transitions. This can occur in multiple forms: