version server client compatibility contract
This commit is contained in:
@@ -4,10 +4,12 @@
|
|||||||
"title": "Trixie Server Info",
|
"title": "Trixie Server Info",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
"required": ["api_version", "server_version", "status"],
|
"required": ["api_version", "server_version", "minimum_client_version", "maximum_client_version", "status"],
|
||||||
"properties": {
|
"properties": {
|
||||||
"api_version": { "type": "string", "const": "v1" },
|
"api_version": { "type": "string", "const": "v1" },
|
||||||
"server_version": { "type": "string", "minLength": 1 },
|
"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"] }
|
"status": { "type": "string", "enum": ["ready"] }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,4 +5,7 @@
|
|||||||
- Clients must tolerate unknown fields and events.
|
- Clients must tolerate unknown fields and events.
|
||||||
- Breaking changes require a new major version, fixtures, migration notes, and coordinated releases.
|
- Breaking changes require a new major version, fixtures, migration notes, and coordinated releases.
|
||||||
- Each release records minimum compatible client and server versions.
|
- 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",
|
"api_version": "v1",
|
||||||
"server_version": "0.1.0-dev",
|
"server_version": "0.1.0-dev",
|
||||||
|
"minimum_client_version": "0.1.0",
|
||||||
|
"maximum_client_version": "0.x",
|
||||||
"status": "ready"
|
"status": "ready"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user