diff --git a/crates/buttplug_client_in_process/CHANGELOG.md b/crates/buttplug_client_in_process/CHANGELOG.md index 171830b84..9cbc23b24 100644 --- a/crates/buttplug_client_in_process/CHANGELOG.md +++ b/crates/buttplug_client_in_process/CHANGELOG.md @@ -1,3 +1,9 @@ +# 10.0.4 (2026-06-01) + +## Features + +- Update internal Buttplug library dependencies + # 10.0.3 (2026-05-31) ## Features diff --git a/crates/buttplug_client_in_process/Cargo.toml b/crates/buttplug_client_in_process/Cargo.toml index 8a17d90ee..b9bc7ab64 100644 --- a/crates/buttplug_client_in_process/Cargo.toml +++ b/crates/buttplug_client_in_process/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "buttplug_client_in_process" -version = "10.0.3" +version = "10.0.4" authors = ["Nonpolynomial Labs, LLC "] description = "Buttplug Intimate Hardware Control Library - Core Library" license = "BSD-3-Clause" @@ -34,15 +34,15 @@ wasm = ["buttplug_core/wasm", "buttplug_client/wasm", "buttplug_server/wasm"] [dependencies] buttplug_core = { version = "10.0.3", path = "../buttplug_core", default-features = false } buttplug_client = { version = "10.0.3", path = "../buttplug_client", default-features = false } -buttplug_server = { version = "10.0.3", path = "../buttplug_server", default-features = false } -buttplug_server_device_config = { version = "10.1.0", path = "../buttplug_server_device_config" } -buttplug_server_hwmgr_btleplug = { version = "10.0.3", path = "../buttplug_server_hwmgr_btleplug", optional = true} -buttplug_server_hwmgr_hid = { version = "10.0.3", path = "../buttplug_server_hwmgr_hid", optional = true} -buttplug_server_hwmgr_lovense_connect = { version = "10.0.3", path = "../buttplug_server_hwmgr_lovense_connect", optional = true} -buttplug_server_hwmgr_lovense_dongle = { version = "10.0.3", path = "../buttplug_server_hwmgr_lovense_dongle", optional = true} -buttplug_server_hwmgr_serial = { version = "10.0.3", path = "../buttplug_server_hwmgr_serial", optional = true} -buttplug_server_hwmgr_websocket = { version = "10.0.3", path = "../buttplug_server_hwmgr_websocket", optional = true} -buttplug_server_hwmgr_xinput = { version = "10.0.3", path = "../buttplug_server_hwmgr_xinput", optional = true} +buttplug_server = { version = "10.0.4", path = "../buttplug_server", default-features = false } +buttplug_server_device_config = { version = "10.1.1", path = "../buttplug_server_device_config" } +buttplug_server_hwmgr_btleplug = { version = "10.0.4", path = "../buttplug_server_hwmgr_btleplug", optional = true} +buttplug_server_hwmgr_hid = { version = "10.0.4", path = "../buttplug_server_hwmgr_hid", optional = true} +buttplug_server_hwmgr_lovense_connect = { version = "10.0.4", path = "../buttplug_server_hwmgr_lovense_connect", optional = true} +buttplug_server_hwmgr_lovense_dongle = { version = "10.0.4", path = "../buttplug_server_hwmgr_lovense_dongle", optional = true} +buttplug_server_hwmgr_serial = { version = "10.0.4", path = "../buttplug_server_hwmgr_serial", optional = true} +buttplug_server_hwmgr_websocket = { version = "10.0.4", path = "../buttplug_server_hwmgr_websocket", optional = true} +buttplug_server_hwmgr_xinput = { version = "10.0.4", path = "../buttplug_server_hwmgr_xinput", optional = true} futures = "0.3.32" futures-util = "0.3.32" thiserror = "2.0.18" diff --git a/crates/buttplug_server/CHANGELOG.md b/crates/buttplug_server/CHANGELOG.md index c72e0595c..f4dd07672 100644 --- a/crates/buttplug_server/CHANGELOG.md +++ b/crates/buttplug_server/CHANGELOG.md @@ -1,3 +1,14 @@ +# 10.0.4 (2026-06-01) + +## Features + +- Update to device configuration v10.1.1 with additional device support + +## Bugfixes + +- Add new JoyHub Rosella 2 and Svakom Pulse Lite Neo identifiers +- Add heater support to JoyHub Thermos + # 10.0.3 (2026-05-31) ## Features diff --git a/crates/buttplug_server/Cargo.toml b/crates/buttplug_server/Cargo.toml index f8e533034..2494f653b 100644 --- a/crates/buttplug_server/Cargo.toml +++ b/crates/buttplug_server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "buttplug_server" -version = "10.0.3" +version = "10.0.4" authors = ["Nonpolynomial Labs, LLC "] description = "Buttplug Intimate Hardware Control Library - Core Library" license = "BSD-3-Clause" @@ -26,7 +26,7 @@ wasm=["buttplug_core/wasm", "uuid/js", "instant/wasm-bindgen"] [dependencies] buttplug_core = { version = "10.0.3", path = "../buttplug_core", default-features = false } -buttplug_server_device_config = { version = "10.1.0", path = "../buttplug_server_device_config" } +buttplug_server_device_config = { version = "10.1.1", path = "../buttplug_server_device_config" } futures = "0.3.32" futures-util = "0.3.32" thiserror = "2.0.18" diff --git a/crates/buttplug_server/src/device/protocol_impl/svakom/svakom_v6.rs b/crates/buttplug_server/src/device/protocol_impl/svakom/svakom_v6.rs index 88e2e3d41..581cda62b 100644 --- a/crates/buttplug_server/src/device/protocol_impl/svakom/svakom_v6.rs +++ b/crates/buttplug_server/src/device/protocol_impl/svakom/svakom_v6.rs @@ -134,4 +134,48 @@ impl ProtocolHandler for SvakomV6 { ]) } } + + fn handle_output_constrict_cmd( + &self, + _feature_index: u32, + feature_id: uuid::Uuid, + level: u32, + ) -> Result, ButtplugDeviceError> { + Ok(vec![ + HardwareWriteCmd::new( + &[feature_id], + Endpoint::Tx, + [0x55, 0x09, 0x00, 0x00, level as u8, 0x00, 0x00].to_vec(), + false, + ) + .into(), + ]) + } + + fn handle_output_rotate_cmd( + &self, + _feature_index: u32, + feature_id: uuid::Uuid, + speed: i32, + ) -> Result, ButtplugDeviceError> { + let speed = speed.unsigned_abs() as u8; + Ok(vec![ + HardwareWriteCmd::new( + &[feature_id], + Endpoint::Tx, + [ + 0x55, + 0x14, + 0x00, + 0x00, + if speed == 0 { 0x00 } else { 0x01 }, + speed, + 0x00, + ] + .to_vec(), + false, + ) + .into(), + ]) + } } diff --git a/crates/buttplug_server_device_config/CHANGELOG.md b/crates/buttplug_server_device_config/CHANGELOG.md index cc49e0cfc..fe19bddd3 100644 --- a/crates/buttplug_server_device_config/CHANGELOG.md +++ b/crates/buttplug_server_device_config/CHANGELOG.md @@ -1,3 +1,31 @@ +# 10.1.1 (2026-06-01) + +## Features + +- Device Support + - Adorime Anal Vibrator 2 + - Bestvibe Rotational Vibration + - Honey Play Box Frenzy + - Honey Play Box Noah + - JoyHub Aurora II + - JoyHub Mystor + - JoyHub Phantom + - JoyHub Pixel + - JoyHub Rose Star + - JoyHub Sync Flare + - JoyHub Thelma + - JoyHub Vortus + - JoyHub Vows + - Lelo Boomerang + - Luvmazer Fantasy Nova + - Luvmazer Rose Finger Vibe + - WeVibe Jive Lite + +## Bugfixes + +- Add new JoyHub Rosella 2 and Svakom Pulse Lite Neo identifiers +- Add heater support to JoyHub Thermos + # 10.1.0 (2026-05-31) ## Features diff --git a/crates/buttplug_server_device_config/Cargo.toml b/crates/buttplug_server_device_config/Cargo.toml index 68dcc8e48..06e8de9d8 100644 --- a/crates/buttplug_server_device_config/Cargo.toml +++ b/crates/buttplug_server_device_config/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "buttplug_server_device_config" -version = "10.1.0" +version = "10.1.1" authors = ["Nonpolynomial Labs, LLC "] description = "Buttplug Intimate Hardware Control Library - Server Device Config Library" license = "BSD-3-Clause" diff --git a/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json b/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json index eb78890b3..0d0098039 100644 --- a/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json +++ b/crates/buttplug_server_device_config/build-config/buttplug-device-config-v5.json @@ -22349,7 +22349,8 @@ "Vick Neo 2", "Iker Neo", "VA617A-3", - "VA617A-4" + "VA617A-4", + "ST462A" ], "services": { "0000ffe0-0000-1000-8000-00805f9b34fb": { @@ -22480,6 +22481,51 @@ "VA617A-4" ], "name": "BeYourLover Naughty Clock Sucker" + }, + { + "features": [ + { + "id": "e420ade4-22b0-4a72-adfc-18a5e065bb53", + "index": 0, + "output": { + "vibrate": { + "value": [ + 0, + 10 + ] + } + } + }, + { + "id": "9e9ab318-33fc-44e6-96a2-53a1d4f66665", + "index": 1, + "output": { + "constrict": { + "value": [ + 0, + 3 + ] + } + } + }, + { + "id": "513fd726-9f49-4a8c-bf45-67ed2b016688", + "index": 2, + "output": { + "rotate": { + "value": [ + 0, + 10 + ] + } + } + } + ], + "id": "62e5336b-bb9e-4528-9310-5a524c76b779", + "identifier": [ + "ST462A" + ], + "name": "Svakom Klitty" } ], "defaults": { diff --git a/crates/buttplug_server_device_config/device-config/protocols/svakom-v6.yml b/crates/buttplug_server_device_config/device-config/protocols/svakom-v6.yml index 6414d1b1d..fc3944a44 100644 --- a/crates/buttplug_server_device_config/device-config/protocols/svakom-v6.yml +++ b/crates/buttplug_server_device_config/device-config/protocols/svakom-v6.yml @@ -80,6 +80,32 @@ configurations: - 10 index: 0 id: 1e587721-7e91-44b2-9612-f9cfd88389fc +- identifier: + - ST462A + name: Svakom Klitty + features: + - id: e420ade4-22b0-4a72-adfc-18a5e065bb53 + output: + vibrate: + value: + - 0 + - 10 + index: 0 + - id: 9e9ab318-33fc-44e6-96a2-53a1d4f66665 + output: + constrict: + value: + - 0 + - 3 + index: 1 + - id: 513fd726-9f49-4a8c-bf45-67ed2b016688 + output: + rotate: + value: + - 0 + - 10 + index: 2 + id: 62e5336b-bb9e-4528-9310-5a524c76b779 communication: - btle: names: @@ -89,6 +115,7 @@ communication: - Iker Neo - VA617A-3 - VA617A-4 + - ST462A services: 0000ffe0-0000-1000-8000-00805f9b34fb: tx: 0000ffe1-0000-1000-8000-00805f9b34fb diff --git a/crates/buttplug_server_hwmgr_btleplug/CHANGELOG.md b/crates/buttplug_server_hwmgr_btleplug/CHANGELOG.md index 2d174b7b2..8db45e254 100644 --- a/crates/buttplug_server_hwmgr_btleplug/CHANGELOG.md +++ b/crates/buttplug_server_hwmgr_btleplug/CHANGELOG.md @@ -1,3 +1,9 @@ +# 10.0.4 (2026-06-01) + +## Features + +- Update internal Buttplug library dependencies + # 10.0.3 (2026-05-31) ## Bugfixes diff --git a/crates/buttplug_server_hwmgr_btleplug/Cargo.toml b/crates/buttplug_server_hwmgr_btleplug/Cargo.toml index bfbcad359..af4df7ea6 100644 --- a/crates/buttplug_server_hwmgr_btleplug/Cargo.toml +++ b/crates/buttplug_server_hwmgr_btleplug/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "buttplug_server_hwmgr_btleplug" -version = "10.0.3" +version = "10.0.4" authors = ["Nonpolynomial Labs, LLC "] description = "Buttplug Intimate Hardware Control Library - Core Library" license = "BSD-3-Clause" @@ -21,8 +21,8 @@ doc = true [dependencies] buttplug_core = { version = "10.0.3", path = "../buttplug_core", default-features = false } -buttplug_server = { version = "10.0.3", path = "../buttplug_server", default-features = false } -buttplug_server_device_config = { version = "10.1.0", path = "../buttplug_server_device_config" } +buttplug_server = { version = "10.0.4", path = "../buttplug_server", default-features = false } +buttplug_server_device_config = { version = "10.1.1", path = "../buttplug_server_device_config" } futures = "0.3.32" futures-util = "0.3.32" log = "0.4.29" diff --git a/crates/buttplug_server_hwmgr_hid/CHANGELOG.md b/crates/buttplug_server_hwmgr_hid/CHANGELOG.md index 5169d8ded..ad11edabd 100644 --- a/crates/buttplug_server_hwmgr_hid/CHANGELOG.md +++ b/crates/buttplug_server_hwmgr_hid/CHANGELOG.md @@ -1,3 +1,9 @@ +# 10.0.4 (2026-06-01) + +## Features + +- Update internal Buttplug library dependencies + # 10.0.3 (2026-05-31) ## Bugfixes diff --git a/crates/buttplug_server_hwmgr_hid/Cargo.toml b/crates/buttplug_server_hwmgr_hid/Cargo.toml index bdc15de05..321fd782b 100644 --- a/crates/buttplug_server_hwmgr_hid/Cargo.toml +++ b/crates/buttplug_server_hwmgr_hid/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "buttplug_server_hwmgr_hid" -version = "10.0.3" +version = "10.0.4" authors = ["Nonpolynomial Labs, LLC "] description = "Buttplug Intimate Hardware Control Library - Core Library" license = "BSD-3-Clause" @@ -21,8 +21,8 @@ doc = true [dependencies] buttplug_core = { version = "10.0.3", path = "../buttplug_core", default-features = false } -buttplug_server = { version = "10.0.3", path = "../buttplug_server", default-features = false } -buttplug_server_device_config = { version = "10.1.0", path = "../buttplug_server_device_config" } +buttplug_server = { version = "10.0.4", path = "../buttplug_server", default-features = false } +buttplug_server_device_config = { version = "10.1.1", path = "../buttplug_server_device_config" } futures = "0.3.32" futures-util = "0.3.32" log = "0.4.29" diff --git a/crates/buttplug_server_hwmgr_lovense_connect/CHANGELOG.md b/crates/buttplug_server_hwmgr_lovense_connect/CHANGELOG.md index a919256be..64c6c0ca4 100644 --- a/crates/buttplug_server_hwmgr_lovense_connect/CHANGELOG.md +++ b/crates/buttplug_server_hwmgr_lovense_connect/CHANGELOG.md @@ -1,3 +1,9 @@ +# 10.0.4 (2026-06-01) + +## Features + +- Update internal Buttplug library dependencies + # 10.0.3 (2026-05-31) ## Features diff --git a/crates/buttplug_server_hwmgr_lovense_connect/Cargo.toml b/crates/buttplug_server_hwmgr_lovense_connect/Cargo.toml index 2012074d9..6df56ed7e 100644 --- a/crates/buttplug_server_hwmgr_lovense_connect/Cargo.toml +++ b/crates/buttplug_server_hwmgr_lovense_connect/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "buttplug_server_hwmgr_lovense_connect" -version = "10.0.3" +version = "10.0.4" authors = ["Nonpolynomial Labs, LLC "] description = "Buttplug Intimate Hardware Control Library - Core Library" license = "BSD-3-Clause" @@ -28,8 +28,8 @@ features = ["default", "unstable"] [dependencies] buttplug_core = { version = "10.0.3", path = "../buttplug_core", default-features = false } -buttplug_server = { version = "10.0.3", path = "../buttplug_server", default-features = false } -buttplug_server_device_config = { version = "10.1.0", path = "../buttplug_server_device_config" } +buttplug_server = { version = "10.0.4", path = "../buttplug_server", default-features = false } +buttplug_server_device_config = { version = "10.1.1", path = "../buttplug_server_device_config" } futures = "0.3.32" futures-util = "0.3.32" log = "0.4.29" diff --git a/crates/buttplug_server_hwmgr_lovense_dongle/CHANGELOG.md b/crates/buttplug_server_hwmgr_lovense_dongle/CHANGELOG.md index 41bbfb146..2814a6fc1 100644 --- a/crates/buttplug_server_hwmgr_lovense_dongle/CHANGELOG.md +++ b/crates/buttplug_server_hwmgr_lovense_dongle/CHANGELOG.md @@ -1,3 +1,9 @@ +# 10.0.4 (2026-06-01) + +## Features + +- Update internal Buttplug library dependencies + # 10.0.3 (2026-05-31) ## Bugfixes diff --git a/crates/buttplug_server_hwmgr_lovense_dongle/Cargo.toml b/crates/buttplug_server_hwmgr_lovense_dongle/Cargo.toml index 1f526d45e..c0b7e1072 100644 --- a/crates/buttplug_server_hwmgr_lovense_dongle/Cargo.toml +++ b/crates/buttplug_server_hwmgr_lovense_dongle/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "buttplug_server_hwmgr_lovense_dongle" -version = "10.0.3" +version = "10.0.4" authors = ["Nonpolynomial Labs, LLC "] description = "Buttplug Intimate Hardware Control Library - Core Library" license = "BSD-3-Clause" @@ -21,8 +21,8 @@ doc = true [dependencies] buttplug_core = { version = "10.0.3", path = "../buttplug_core", default-features = false } -buttplug_server = { version = "10.0.3", path = "../buttplug_server", default-features = false } -buttplug_server_device_config = { version = "10.1.0", path = "../buttplug_server_device_config" } +buttplug_server = { version = "10.0.4", path = "../buttplug_server", default-features = false } +buttplug_server_device_config = { version = "10.1.1", path = "../buttplug_server_device_config" } futures = "0.3.32" futures-util = "0.3.32" log = "0.4.29" diff --git a/crates/buttplug_server_hwmgr_serial/CHANGELOG.md b/crates/buttplug_server_hwmgr_serial/CHANGELOG.md index a919256be..64c6c0ca4 100644 --- a/crates/buttplug_server_hwmgr_serial/CHANGELOG.md +++ b/crates/buttplug_server_hwmgr_serial/CHANGELOG.md @@ -1,3 +1,9 @@ +# 10.0.4 (2026-06-01) + +## Features + +- Update internal Buttplug library dependencies + # 10.0.3 (2026-05-31) ## Features diff --git a/crates/buttplug_server_hwmgr_serial/Cargo.toml b/crates/buttplug_server_hwmgr_serial/Cargo.toml index 5fadc6f1d..4713d3bc1 100644 --- a/crates/buttplug_server_hwmgr_serial/Cargo.toml +++ b/crates/buttplug_server_hwmgr_serial/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "buttplug_server_hwmgr_serial" -version = "10.0.3" +version = "10.0.4" authors = ["Nonpolynomial Labs, LLC "] description = "Buttplug Intimate Hardware Control Library - Core Library" license = "BSD-3-Clause" @@ -21,8 +21,8 @@ doc = true [dependencies] buttplug_core = { version = "10.0.3", path = "../buttplug_core", default-features = false } -buttplug_server = { version = "10.0.3", path = "../buttplug_server", default-features = false } -buttplug_server_device_config = { version = "10.1.0", path = "../buttplug_server_device_config" } +buttplug_server = { version = "10.0.4", path = "../buttplug_server", default-features = false } +buttplug_server_device_config = { version = "10.1.1", path = "../buttplug_server_device_config" } futures = "0.3.32" futures-util = "0.3.32" log = "0.4.29" diff --git a/crates/buttplug_server_hwmgr_webbluetooth/CHANGELOG.md b/crates/buttplug_server_hwmgr_webbluetooth/CHANGELOG.md index a9de54058..31b3c2dbf 100644 --- a/crates/buttplug_server_hwmgr_webbluetooth/CHANGELOG.md +++ b/crates/buttplug_server_hwmgr_webbluetooth/CHANGELOG.md @@ -1,3 +1,9 @@ +# 10.0.4 (2026-06-01) + +## Features + +- Update internal Buttplug library dependencies + # 10.0.3 (2026-05-31) ## Features diff --git a/crates/buttplug_server_hwmgr_webbluetooth/Cargo.toml b/crates/buttplug_server_hwmgr_webbluetooth/Cargo.toml index f1313a7e7..0cdf368cd 100644 --- a/crates/buttplug_server_hwmgr_webbluetooth/Cargo.toml +++ b/crates/buttplug_server_hwmgr_webbluetooth/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "buttplug_server_hwmgr_webbluetooth" -version = "10.0.3" +version = "10.0.4" authors = ["Nonpolynomial Labs, LLC "] description = "Buttplug Intimate Hardware Control Library - WebBluetooth Hardware Manager for WASM" license = "BSD-3-Clause" @@ -15,8 +15,8 @@ path = "src/lib.rs" [dependencies] buttplug_core = { version = "10.0.3", path = "../buttplug_core", default-features = false, features = ["wasm"] } -buttplug_server = { version = "10.0.3", path = "../buttplug_server", default-features = false, features = ["wasm"] } -buttplug_server_device_config = { version = "10.1.0", path = "../buttplug_server_device_config" } +buttplug_server = { version = "10.0.4", path = "../buttplug_server", default-features = false, features = ["wasm"] } +buttplug_server_device_config = { version = "10.1.1", path = "../buttplug_server_device_config" } async-trait = "0.1.89" futures = "0.3.32" js-sys = "0.3.77" diff --git a/crates/buttplug_server_hwmgr_websocket/CHANGELOG.md b/crates/buttplug_server_hwmgr_websocket/CHANGELOG.md index fe36582ab..31942a9c7 100644 --- a/crates/buttplug_server_hwmgr_websocket/CHANGELOG.md +++ b/crates/buttplug_server_hwmgr_websocket/CHANGELOG.md @@ -1,3 +1,9 @@ +# 10.0.4 (2026-06-01) + +## Features + +- Update internal Buttplug library dependencies + # 10.0.3 (2026-05-31) ## Features diff --git a/crates/buttplug_server_hwmgr_websocket/Cargo.toml b/crates/buttplug_server_hwmgr_websocket/Cargo.toml index 0335a8927..b8789e929 100644 --- a/crates/buttplug_server_hwmgr_websocket/Cargo.toml +++ b/crates/buttplug_server_hwmgr_websocket/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "buttplug_server_hwmgr_websocket" -version = "10.0.3" +version = "10.0.4" authors = ["Nonpolynomial Labs, LLC "] description = "Buttplug Intimate Hardware Control Library - Core Library" license = "BSD-3-Clause" @@ -28,8 +28,8 @@ features = ["default", "unstable"] [dependencies] buttplug_core = { version = "10.0.3", path = "../buttplug_core", default-features = false } -buttplug_server = { version = "10.0.3", path = "../buttplug_server", default-features = false } -buttplug_server_device_config = { version = "10.1.0", path = "../buttplug_server_device_config" } +buttplug_server = { version = "10.0.4", path = "../buttplug_server", default-features = false } +buttplug_server_device_config = { version = "10.1.1", path = "../buttplug_server_device_config" } futures = "0.3.32" futures-util = "0.3.32" log = "0.4.29" diff --git a/crates/buttplug_server_hwmgr_xinput/CHANGELOG.md b/crates/buttplug_server_hwmgr_xinput/CHANGELOG.md index a919256be..64c6c0ca4 100644 --- a/crates/buttplug_server_hwmgr_xinput/CHANGELOG.md +++ b/crates/buttplug_server_hwmgr_xinput/CHANGELOG.md @@ -1,3 +1,9 @@ +# 10.0.4 (2026-06-01) + +## Features + +- Update internal Buttplug library dependencies + # 10.0.3 (2026-05-31) ## Features diff --git a/crates/buttplug_server_hwmgr_xinput/Cargo.toml b/crates/buttplug_server_hwmgr_xinput/Cargo.toml index 82d49f232..2b71ea671 100644 --- a/crates/buttplug_server_hwmgr_xinput/Cargo.toml +++ b/crates/buttplug_server_hwmgr_xinput/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "buttplug_server_hwmgr_xinput" -version = "10.0.3" +version = "10.0.4" authors = ["Nonpolynomial Labs, LLC "] description = "Buttplug Intimate Hardware Control Library - Core Library" license = "BSD-3-Clause" @@ -21,8 +21,8 @@ doc = true [dependencies] buttplug_core = { version = "10.0.3", path = "../buttplug_core", default-features = false} -buttplug_server = { version = "10.0.3", path = "../buttplug_server", default-features = false} -buttplug_server_device_config = { version = "10.1.0", path = "../buttplug_server_device_config" } +buttplug_server = { version = "10.0.4", path = "../buttplug_server", default-features = false} +buttplug_server_device_config = { version = "10.1.1", path = "../buttplug_server_device_config" } futures = "0.3.32" futures-util = "0.3.32" log = "0.4.29" diff --git a/crates/buttplug_tests/Cargo.toml b/crates/buttplug_tests/Cargo.toml index 588db330e..eed9c02c4 100644 --- a/crates/buttplug_tests/Cargo.toml +++ b/crates/buttplug_tests/Cargo.toml @@ -13,9 +13,9 @@ edition = "2024" [dependencies] buttplug_core = { version = "10.0.3", path = "../buttplug_core" } buttplug_client = { version = "10.0.3", path = "../buttplug_client" } -buttplug_client_in_process = { version = "10.0.3", path = "../buttplug_client_in_process", default-features = false} -buttplug_server = { version = "10.0.3", path = "../buttplug_server" } -buttplug_server_device_config = { version = "10.1.0", path = "../buttplug_server_device_config" } +buttplug_client_in_process = { version = "10.0.4", path = "../buttplug_client_in_process", default-features = false} +buttplug_server = { version = "10.0.4", path = "../buttplug_server" } +buttplug_server_device_config = { version = "10.1.1", path = "../buttplug_server_device_config" } log = "0.4.29" tokio = { version = "1.50.0", features = ["macros"] } uuid = "1.22.0" diff --git a/crates/buttplug_tests/tests/test_device_protocols.rs b/crates/buttplug_tests/tests/test_device_protocols.rs index c0fdf30ab..499a0537f 100644 --- a/crates/buttplug_tests/tests/test_device_protocols.rs +++ b/crates/buttplug_tests/tests/test_device_protocols.rs @@ -120,6 +120,7 @@ async fn load_test_case(test_file: &str) -> DeviceTestCase { #[test_case("test_svakom_cocopro.yaml" ; "Svakom Coco Pro")] #[test_case("test_svakom_ella.yaml" ; "Svakom V1 Protocol - Ella")] #[test_case("test_svakom_iker.yaml" ; "Svakom Iker")] +#[test_case("test_svakom_klitty.yaml" ; "Svakom Klitty")] #[test_case("test_svakom_mora_neo.yaml" ; "Svakom Mora Neo")] #[test_case("test_svakom_pulse.yaml" ; "Svakom Pulse Protocol - Pulse Lite Neo")] #[test_case("test_svakom_sam2.yaml" ; "Svakom Sam Neo 2 Pro")] @@ -247,6 +248,7 @@ async fn test_device_protocols_embedded_v4(test_file: &str) { #[test_case("test_svakom_cocopro.yaml" ; "Svakom Coco Pro")] #[test_case("test_svakom_ella.yaml" ; "Svakom V1 Protocol - Ella")] #[test_case("test_svakom_iker.yaml" ; "Svakom Iker")] +#[test_case("test_svakom_klitty.yaml" ; "Svakom Klitty")] #[test_case("test_svakom_mora_neo.yaml" ; "Svakom Mora Neo")] #[test_case("test_svakom_pulse.yaml" ; "Svakom Pulse Protocol - Pulse Lite Neo")] #[test_case("test_svakom_sam2.yaml" ; "Svakom Sam Neo 2 Pro")] @@ -373,6 +375,7 @@ async fn test_device_protocols_json_v4(test_file: &str) { #[test_case("test_svakom_cocopro.yaml" ; "Svakom Coco Pro")] #[test_case("test_svakom_ella.yaml" ; "Svakom V1 Protocol - Ella")] #[test_case("test_svakom_iker.yaml" ; "Svakom Iker")] +#[test_case("test_svakom_klitty.yaml" ; "Svakom Klitty")] #[test_case("test_svakom_mora_neo.yaml" ; "Svakom Mora Neo")] #[test_case("test_svakom_pulse.yaml" ; "Svakom Pulse Protocol - Pulse Lite Neo")] #[test_case("test_svakom_sam2.yaml" ; "Svakom Sam Neo 2 Pro")] @@ -500,6 +503,7 @@ async fn test_device_protocols_embedded_v3(test_file: &str) { #[test_case("test_svakom_cocopro.yaml" ; "Svakom Coco Pro")] #[test_case("test_svakom_ella.yaml" ; "Svakom V1 Protocol - Ella")] #[test_case("test_svakom_iker.yaml" ; "Svakom Iker")] +#[test_case("test_svakom_klitty.yaml" ; "Svakom Klitty")] #[test_case("test_svakom_mora_neo.yaml" ; "Svakom Mora Neo")] #[test_case("test_svakom_pulse.yaml" ; "Svakom Pulse Protocol - Pulse Lite Neo")] #[test_case("test_svakom_sam2.yaml" ; "Svakom Sam Neo 2 Pro")] diff --git a/crates/buttplug_tests/tests/util/device_test/device_test_case/test_svakom_klitty.yaml b/crates/buttplug_tests/tests/util/device_test/device_test_case/test_svakom_klitty.yaml new file mode 100644 index 000000000..887430cc4 --- /dev/null +++ b/crates/buttplug_tests/tests/util/device_test/device_test_case/test_svakom_klitty.yaml @@ -0,0 +1,65 @@ +devices: + - identifier: + name: "ST462A" + expected_name: "Svakom Klitty" +device_commands: + - !Messages + device_index: 0 + messages: + - !Vibrate + - Index: 0 + Speed: 0.5 + - !Commands + device_index: 0 + commands: + - !Write + endpoint: tx + data: [0x55, 0x03, 0x00, 0x00, 0x01, 0x05, 0x00] + write_with_response: false + - !Messages + device_index: 0 + messages: + - !Scalar + - Index: 1 + Scalar: 1.0 + ActuatorType: Constrict + - !Commands + device_index: 0 + commands: + - !Write + endpoint: tx + data: [0x55, 0x09, 0x00, 0x00, 0x03, 0x00, 0x00] + write_with_response: false + - !Messages + device_index: 0 + messages: + - !Scalar + - Index: 2 + Scalar: 0.5 + ActuatorType: Rotate + - !Commands + device_index: 0 + commands: + - !Write + endpoint: tx + data: [0x55, 0x14, 0x00, 0x00, 0x01, 0x05, 0x00] + write_with_response: false + - !Messages + device_index: 0 + messages: + - !Stop + - !Commands + device_index: 0 + commands: + - !Write + endpoint: tx + data: [0x55, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00] + write_with_response: false + - !Write + endpoint: tx + data: [0x55, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00] + write_with_response: false + - !Write + endpoint: tx + data: [0x55, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00] + write_with_response: false diff --git a/crates/buttplug_wasm/CHANGELOG.md b/crates/buttplug_wasm/CHANGELOG.md index e110a9bd9..8f7a6a9ce 100644 --- a/crates/buttplug_wasm/CHANGELOG.md +++ b/crates/buttplug_wasm/CHANGELOG.md @@ -1,3 +1,9 @@ +# 3.0.2 (2026-06-01) + +## Features + +- Update internal Buttplug server and device configuration dependencies + # 3.0.1 (2026-05-31) ## Features diff --git a/crates/buttplug_wasm/Cargo.toml b/crates/buttplug_wasm/Cargo.toml index e78ef208c..c11e4ae20 100644 --- a/crates/buttplug_wasm/Cargo.toml +++ b/crates/buttplug_wasm/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "buttplug_wasm" -version = "3.0.1" +version = "3.0.2" authors = ["Nonpolynomial Labs, LLC "] description = "Buttplug WASM FFI crate for browser use via wasm-bindgen" license = "BSD-3-Clause" @@ -17,9 +17,9 @@ path = "src/lib.rs" [dependencies] buttplug_core = { version = "10.0.3", path = "../buttplug_core", default-features = false, features = ["wasm"] } -buttplug_server = { version = "10.0.3", path = "../buttplug_server", default-features = false, features = ["wasm"] } -buttplug_server_device_config = { version = "10.1.0", path = "../buttplug_server_device_config" } -buttplug_server_hwmgr_webbluetooth = { version = "10.0.3", path = "../buttplug_server_hwmgr_webbluetooth" } +buttplug_server = { version = "10.0.4", path = "../buttplug_server", default-features = false, features = ["wasm"] } +buttplug_server_device_config = { version = "10.1.1", path = "../buttplug_server_device_config" } +buttplug_server_hwmgr_webbluetooth = { version = "10.0.4", path = "../buttplug_server_hwmgr_webbluetooth" } console_error_panic_hook = "0.1.7" futures = "0.3.32" js-sys = "0.3.77" diff --git a/crates/intiface_engine/CHANGELOG.md b/crates/intiface_engine/CHANGELOG.md index e76e896a5..4f5e5d67f 100644 --- a/crates/intiface_engine/CHANGELOG.md +++ b/crates/intiface_engine/CHANGELOG.md @@ -1,3 +1,10 @@ +# 4.0.4 (2026-06-01) + +## Features + +- Update internal Buttplug library dependencies + - Packages device configuration v10.1.1 with additional device support + # 4.0.3 (2026-05-31) ## Features diff --git a/crates/intiface_engine/Cargo.toml b/crates/intiface_engine/Cargo.toml index d10c7e81a..c0c0754b5 100644 --- a/crates/intiface_engine/Cargo.toml +++ b/crates/intiface_engine/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "intiface-engine" -version = "4.0.3" +version = "4.0.4" authors = ["Nonpolynomial Labs, LLC "] description = "CLI and Library frontend for the Buttplug sex toy control library" license = "BSD-3-Clause" @@ -25,17 +25,17 @@ tokio-console=["console-subscriber"] [dependencies] buttplug_client = { version = "10.0.3", path = "../buttplug_client" } -buttplug_client_in_process = { version = "10.0.3", path = "../buttplug_client_in_process" } +buttplug_client_in_process = { version = "10.0.4", path = "../buttplug_client_in_process" } buttplug_core = { version = "10.0.3", path = "../buttplug_core" } -buttplug_server = { version = "10.0.3", path = "../buttplug_server" } -buttplug_server_device_config = { version = "10.1.0", path = "../buttplug_server_device_config" } -buttplug_server_hwmgr_btleplug = { version = "10.0.3", path = "../buttplug_server_hwmgr_btleplug" } -buttplug_server_hwmgr_hid = { version = "10.0.3", path = "../buttplug_server_hwmgr_hid" } -buttplug_server_hwmgr_lovense_connect = { version = "10.0.3", path = "../buttplug_server_hwmgr_lovense_connect" } -buttplug_server_hwmgr_lovense_dongle = { version = "10.0.3", path = "../buttplug_server_hwmgr_lovense_dongle" } -buttplug_server_hwmgr_serial = { version = "10.0.3", path = "../buttplug_server_hwmgr_serial" } -buttplug_server_hwmgr_websocket = { version = "10.0.3", path = "../buttplug_server_hwmgr_websocket" } -buttplug_server_hwmgr_xinput = { version = "10.0.3", path = "../buttplug_server_hwmgr_xinput" } +buttplug_server = { version = "10.0.4", path = "../buttplug_server" } +buttplug_server_device_config = { version = "10.1.1", path = "../buttplug_server_device_config" } +buttplug_server_hwmgr_btleplug = { version = "10.0.4", path = "../buttplug_server_hwmgr_btleplug" } +buttplug_server_hwmgr_hid = { version = "10.0.4", path = "../buttplug_server_hwmgr_hid" } +buttplug_server_hwmgr_lovense_connect = { version = "10.0.4", path = "../buttplug_server_hwmgr_lovense_connect" } +buttplug_server_hwmgr_lovense_dongle = { version = "10.0.4", path = "../buttplug_server_hwmgr_lovense_dongle" } +buttplug_server_hwmgr_serial = { version = "10.0.4", path = "../buttplug_server_hwmgr_serial" } +buttplug_server_hwmgr_websocket = { version = "10.0.4", path = "../buttplug_server_hwmgr_websocket" } +buttplug_server_hwmgr_xinput = { version = "10.0.4", path = "../buttplug_server_hwmgr_xinput" } buttplug_transport_websocket_tungstenite = { version = "10.0.3", path = "../buttplug_transport_websocket_tungstenite" } argh = "0.1.18" log = "0.4.29" diff --git a/wasm/packages/blob/package.json b/wasm/packages/blob/package.json index e1a04c9d2..e52dd242c 100644 --- a/wasm/packages/blob/package.json +++ b/wasm/packages/blob/package.json @@ -1,6 +1,6 @@ { "name": "buttplug-wasm-blob", - "version": "3.0.1", + "version": "3.0.2", "description": "Buttplug WASM server binary with typed FFI wrapper", "license": "BSD-3-Clause", "author": "Nonpolynomial Labs, LLC ", diff --git a/wasm/packages/connector/package.json b/wasm/packages/connector/package.json index 547ad4d3b..6c9c4d094 100644 --- a/wasm/packages/connector/package.json +++ b/wasm/packages/connector/package.json @@ -1,6 +1,6 @@ { "name": "buttplug-wasm", - "version": "3.0.1", + "version": "3.0.2", "description": "Buttplug WASM client connector for the official buttplug JS library", "license": "BSD-3-Clause", "author": "Nonpolynomial Labs, LLC ", @@ -40,7 +40,7 @@ "prepublishOnly": "npm run build" }, "dependencies": { - "buttplug-wasm-blob": "^3.0.1", + "buttplug-wasm-blob": "^3.0.2", "buttplug": "^4.0.2", "eventemitter3": "^5.0.4" },