version server client compatibility contract

This commit is contained in:
2026-10-25 05:32:08 +01:00
parent e4e4337852
commit 1a28d120c2
3 changed files with 8 additions and 1 deletions
+3 -1
View File
@@ -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"] }
} }
} }
+3
View File
@@ -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.
+2
View File
@@ -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"
} }