fix(daemon): version the contract by its protocol, not by the crate

info.version carried the crate version, so release-plz bumping Cargo.toml
left docs/openrpc.json a version behind and failed document_is_current on
every platform. With the CI gate in front of publishing, that made every
release PR unmergeable. The protocol version is what auth negotiates and
what the contract actually describes.
This commit is contained in:
Michel de Graaf
2026-07-29 10:41:29 +02:00
parent 30698aa7ce
commit 9a3c19b380
2 changed files with 5 additions and 2 deletions
+1 -1
View File
@@ -1225,7 +1225,7 @@
"name": "MIT" "name": "MIT"
}, },
"title": "soulseek-rs daemon", "title": "soulseek-rs daemon",
"version": "12.0.0" "version": "1"
}, },
"methods": [ "methods": [
{ {
+4 -1
View File
@@ -331,7 +331,10 @@ fn document() -> Value {
"openrpc": "1.3.2", "openrpc": "1.3.2",
"info": { "info": {
"title": "soulseek-rs daemon", "title": "soulseek-rs daemon",
"version": env!("CARGO_PKG_VERSION"), // The contract's own version, which is what a client negotiates in
// `auth`. The crate version would put a release bump in this file
// and fail `document_is_current` on every release PR.
"version": crate::daemon::proto::PROTOCOL_VERSION.to_string(),
"description": "Control a running soulseek-rs daemon. Newline-delimited \ "description": "Control a running soulseek-rs daemon. Newline-delimited \
JSON-RPC 2.0 over a Unix socket (local, authenticated by socket permissions) or \ JSON-RPC 2.0 over a Unix socket (local, authenticated by socket permissions) or \
TCP (remote, authenticated by the token in <state-dir>/daemon.token). `auth` must \ TCP (remote, authenticated by the token in <state-dir>/daemon.token). `auth` must \