version server client compatibility contract
This commit is contained in:
@@ -4,10 +4,12 @@
|
||||
"title": "Trixie Server Info",
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["api_version", "server_version", "status"],
|
||||
"required": ["api_version", "server_version", "minimum_client_version", "maximum_client_version", "status"],
|
||||
"properties": {
|
||||
"api_version": { "type": "string", "const": "v1" },
|
||||
"server_version": { "type": "string", "minLength": 1 },
|
||||
"minimum_client_version": { "type": "string", "minLength": 1 },
|
||||
"maximum_client_version": { "type": "string", "minLength": 1 },
|
||||
"status": { "type": "string", "enum": ["ready"] }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,4 +5,7 @@
|
||||
- Clients must tolerate unknown fields and events.
|
||||
- Breaking changes require a new major version, fixtures, migration notes, and coordinated releases.
|
||||
- Each release records minimum compatible client and server versions.
|
||||
- `GET /api/v1/server/info` publishes `minimum_client_version` and
|
||||
`maximum_client_version`; clients must use these fields to detect an
|
||||
incompatible pairing before enabling authenticated controls.
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{
|
||||
"api_version": "v1",
|
||||
"server_version": "0.1.0-dev",
|
||||
"minimum_client_version": "0.1.0",
|
||||
"maximum_client_version": "0.x",
|
||||
"status": "ready"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user