We need to be able to test new features (and potentially support custom builds?) in a backwards-compatible manner, so server and client builds are not locked to one another. In other words, we need a versioning system flexible enough to support branching versions, and that can negotiate supported features between clients and servers.
Notes
Add version check endpoint
Needs to handle both servers and clients being outdated
Protocol version?
Needs to ideally be compatible across release streams for convenience in development
Enables using a stable build to connect to a nightly server and vice versa
We need to be able to test new features (and potentially support custom builds?) in a backwards-compatible manner, so server and client builds are not locked to one another. In other words, we need a versioning system flexible enough to support branching versions, and that can negotiate supported features between clients and servers.
Notes