diff --git a/soulseek-rs-lib/src/client/mod.rs b/soulseek-rs-lib/src/client/mod.rs index dd9cf09..b0fd64e 100644 --- a/soulseek-rs-lib/src/client/mod.rs +++ b/soulseek-rs-lib/src/client/mod.rs @@ -171,8 +171,9 @@ pub struct ClientSettings { /// Empty means nothing is shared. pub shared_directories: Vec, /// The version reported to the server on login. Defaults to the - /// soulseek-rs major version with minor version 1; clients and bots built - /// on this library should pick their own minor version. + /// soulseek-rs major version with minor version 1 ("unidentified"); + /// clients and bots built on this library should reserve their own minor + /// version (see [`ClientVersion`]). pub version: ClientVersion, } diff --git a/soulseek-rs-lib/src/types.rs b/soulseek-rs-lib/src/types.rs index fafdf8e..4ad4c7d 100644 --- a/soulseek-rs-lib/src/types.rs +++ b/soulseek-rs-lib/src/types.rs @@ -15,6 +15,18 @@ pub struct File { /// Major versions identify client projects on the Soulseek network and are /// reserved per project for the project's lifetime: /// . +/// +/// Within the soulseek-rs major, minor versions identify the individual +/// clients built on this library. Reserved minors: +/// +/// | Minor | Client | +/// |-------|-----------------------------------------------| +/// | 1 | unidentified (library default) | +/// | 2 | soulseek-rs reference client (CLI/TUI) | +/// +/// Building on this library? Keep [`ClientVersion::MAJOR`] and pick an +/// unused minor for your client by opening an issue: +/// . #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub struct ClientVersion { pub major: u32, @@ -23,14 +35,14 @@ pub struct ClientVersion { impl ClientVersion { /// The major version reserved for the soulseek-rs project. Clients and - /// bots built on this library keep this major and pick their own non-zero - /// minor version. + /// bots built on this library keep this major and pick their own + /// reserved minor version (see the table on [`ClientVersion`]). pub const MAJOR: u32 = 176; /// The version the soulseek-rs reference client (CLI/TUI) logs in with. pub const REFERENCE_CLIENT: Self = Self { major: Self::MAJOR, - minor: 100, + minor: 2, }; }