The most recent versions of server and client introduce breaking changes to the API. These incompatibilities are not detected by the apps, which can then break in unexpected ways.
Versioning will be introduced to ensure compatability.
There are no plans to support multiple versions concurrently
Pairing and Client APIs are separate and both need to contain the change.
The client and server can be upgraded independently, if apps have already paired successfully, they will now need to inform the user about incompatibility.
Proposed implementation
All requests to server should expect an X-Version header.
If the client is compatible, the server will respond normally
If the client is incompatible the server will return a 400 Version mismatch
Client will be updated to handle the error gracefully and inform the user.
The most recent versions of server and client introduce breaking changes to the API. These incompatibilities are not detected by the apps, which can then break in unexpected ways.
Versioning will be introduced to ensure compatability.
Proposed implementation
X-Version
header.