Buttplug sex toy control library
at master 784 lines 19 kB view raw view rendered
1# Intiface Engine v4.0.0-beta2 (2025/10/18) 2 3## Bugfixes 4 5- Allow engine to actually exit when stopping REST API 6 7# Intiface Engine v4.0.0-beta1 (2025/10/12) 8 9## Features 10 11- Brought Engine back into the main Buttplug repo 12 - No reason to keep it seperate since it's basically the output of the repo anyways 13- Update to Buttplug v10.0.0-beta1 14 - v4 message spec update 15- Added beginnings of REST API 16 17# Intiface Engine v3.0.8 (2025/04/20) 18 19## Features 20 21- Update to Buttplug v9.0.8 22 - Lots of new device support 23 - Bug fixes for serial ports, device limits 24 25# Intiface Engine v3.0.7 (2024/12/23) 26 27## Features 28 29- Update to Buttplug v9.0.7 30 - Lots of new device support 31 - Lovense devices with changed names now still connect 32 33# Intiface Engine v3.0.6 (2024/12/23) 34 35## Features 36 37- Update to Buttplug v9.0.6 38 - Lovense Gush 2/Osci 3 device support 39 40# Intiface Engine v3.0.5 (2024/12/21) 41 42## Features 43 44- Update to Buttplug v9.0.5 45 - Many devices additions 46 47# Intiface Engine v3.0.4 (2024/10/06) 48 49## Features 50 51- Update to Buttplug v9.0.4 52 - Lovense Solace Pro linear movement support 53 - Lovense Solace (non-pro) fixes 54 - Some device additions 55 56# Intiface Engine v3.0.3 (2024/09/29) 57 58## Features 59 60- Update to Buttplug v9.0.2 61 - Lots of device additions, look at the Buttplug changelog for more info 62 63# Intiface Engine v3.0.2 (2024/09/02) 64 65## Bugfixes 66 67- Update to Buttplug v9.0.1 68 - Fixes bug with messages IDs sometimes not getting set 69 70# Intiface Engine v3.0.1 (2024/09/01) 71 72## Features 73 74- Update to Buttplug v9.0.0 75 - Starting the Message Spec v4 development line 76 - There is now a "allow-unstable-v4-connections" feature that will allow for testing throughout 77 v4 development. Will be removed when Buttplug v10/Message Spec v4 is released. 78 - Lots of device support for like 10 different brands. It's been more than 3 months! 79- Rebuild server backdoor system to just be another Buttplug Server instead of exposing Device 80 Manager 81 - The thing I said I'd never do! 82 83## Bugfixes 84 85- Automatically prepend ws:// to repeater addresses if they don't have it already. 86 87# Intiface Engine v3.0.0 (2024/05/12) 88 89## Breaking Changes 90 91- Device Config File Compatibility 92 - This update moves to Buttplug v8, which changes our config file capabilities and adds extra API 93 calls for config file updates. 94 95## Features 96 97- Update to Buttplug v8.0.0 98 - Rewrite of the device config system 99 - Lots of device support for JoyHub, Svakom, LoveDistance, etc... 100 - Some backward compat bugfixes 101 102# Intiface Engine v2.0.4 (2024/04/20) 103 104## Features 105 106- Update to Buttplug v7.1.16 107 - Lots of device support for JoyHub, Kiiroo, Lioness 108 - Fix Lovense Solace issues 109 110# Intiface Engine v2.0.3 (2024/03/17) 111 112## Features 113 114- Update to Buttplug v7.1.15 115 - Fix panics that can happen on shutdown in lovense dongle 116 117# Intiface Engine v2.0.2 (2024/03/16) 118 119## Features 120 121- Update to Buttplug v7.1.14 122 - Added more device support (see Buttplug CHANGELOG) 123 124# Intiface Engine v2.0.1 (2024/01/27) 125 126## Features 127 128- Update to Buttplug v7.1.13 129 - Added more device support (see Buttplug CHANGELOG) 130 131# Intiface Engine v2.0.0 (2024/01/21) 132 133## Breaking Changes 134 135- Removed sentry/crash reporting 136 - This is now a library AND a CLI. If someone is using the CLI, they're using it in their own 137 setup they can wrap it in whatever crash reporter they want. Moving crash reporting up to Intiface Central. 138- Removed logging for library instances 139 - Intiface was originally built as a CLI and meant to be run only as such. Now that it's a CLI and 140 a library, we need to let applications handle their own logging. The CLI build still has logging features, but library now just exposes a log/tracing interface. 141- Removed Websocket Frontend 142 - This was used when we were letting other programs run the CLI. Now that there's a library mode, 143 we expect applications to just attach directly. This makes things more secure overall, and if users want it back, they can implement their own frontend using the trait. 144- All above changes will mostly be reflected externally in either missing CLI arguments, or updates 145 to the EngineOptions struct. 146- The v2 line may be fairly short, as the engine will once again have a major revision once Buttplug 147 moves to its new spec and therefore new major revision. 148 149## Features 150 151- Update to Buttplug v7.1.12 152 - Massive number of hardware support updates/bugfixes, just go look at the CHANGELOG 153 - Fixes bugs with streaming JSON 154- Moved to tokio-tungstenite 155 - Matched move made by Buttplug 156- Implemented repeater mode (Basic websocket proxy) 157 - Mostly needed for reflecting desktop browser apps to phone control 158 159# Intiface Engine v1.4.10 (2023/11/18) 160 161## Bugfixes 162 163- Update to Buttplug v7.1.11 164 - Fixed btleplug compilation issue on macOS 165 166# Intiface Engine v1.4.9 (2023/11/18) 167 168## Features 169 170- Update to Buttplug v7.1.10 171 - Fixes issues with invalid bluetooth names on Android 172 173# Intiface Engine v1.4.8 (2023/11/16) 174 175## Features 176 177- Update to Buttplug v7.1.9 178 - Added Lovense Solace, OhMiBod Foxy, Chill support 179 180# Intiface Engine v1.4.7 (2023/11/04) 181 182## Features 183 184- Allow logging to use environment variables for setup over command line prefs 185- Update to Buttplug v7.1.8 186 - Add lovense device support 187 - Fix some device support issues 188 189# Intiface Engine v1.4.6 (2023/10/19) 190 191## Features 192 193- Update to Buttplug v7.1.7 194 - Fixes memory leak in mDNS handling 195 - Defaults to device keepalive being on when compiling for iOS 196 197# Intiface Engine v1.4.5 (2023/10/08) 198 199## Features 200 201- Update to Buttplug v7.1.6 202 - Fixes Lovense Dongle support 203 - Added Foreo device support 204 205# Intiface Engine v1.4.4 (2023/10/05) 206 207## Bugfixes 208 209- Make mDNS actually work in all cases (but it's still considered experimental) 210- Fix compilation issues for android 211 212# Intiface Engine v1.4.3 (2023/10/04) 213 214## Features 215 216- Update to Buttplug v7.1.5 217 - Lots of device additions, HID device manager for Joycons 218- Add mDNS broadcast capabilities 219 220# Intiface Engine v1.4.2 (2023/07/16) 221 222## Features 223 224- Update to Buttplug v7.1.2 225 - Device additions for Magic Motion, Lovense Connect bugfix 226 227# Intiface Engine v1.4.1 (2023/07/09) 228 229## Features 230 231- Update to Buttplug v7.1.1 232 - Mostly device additions/updates 233 234# Intiface Engine v1.4.0 (2023/05/21) 235 236## Features 237 238- Update to Buttplug v7.1.0 239 - Mostly device additions/updates 240 - Some fixes for user configs 241- Move ButtplugRemoteServer into Intiface Engine 242 - Gives us more flexibility to change things in development 243- Updates for user device config updates via Buttplug 244 245# Intiface Engine v1.3.0 (2023/02/19) 246 247## Features 248 249- Added Websocket Client argument for running the engine as a websocket client instead of a server 250- Update to Buttplug v7.0.2 251 - Hardware protocols updates for Kizuna/Svakom/Sakuraneko 252 253# Intiface Engine v1.2.2 (2023/01/30) 254 255## Bugfixes 256 257- Fix timing issue on sending EngineStopped message on exit 258 259# Intiface Engine v1.2.1 (2023/01/16) 260 261## Features 262 263- Update to Buttplug v7.0.1 264 - Hardware protocol updates/fixed, see Buttplug CHANGELOG for more info. 265 266# Intiface Engine v1.2.0 (2023/01/01) 267 268## Features 269 270- Update to Buttplug v7.0.0 271 - Major version move because of API breakage. 272 - Mostly bugfixes otherwise. 273 - Removes IPC Pipes, so removed them in Intiface Engine too. 274 275# Intiface Engine v1.1.0 (2022/12/19) 276 277## Features 278 279- Update to Buttplug v6.3.0 280 - Lots of device additions 281 - Major bugfixes for WeVibe/Satisfyer/Magic Motion and Lovense Connect 282 283# Intiface Engine v1.0.5 (2022/11/27) 284 285## Bugfixes 286 287- Update to Buttplug v6.2.2 288 - Fixes issues with platform dependencies and DCMs 289 - Fixes error message in common path in CoreBluetooth 290 - Stops devices when server disconnects 291 292# Intiface Engine v1.0.4 (2022/11/24) 293 294## Features 295 296- Update to Buttplug v6.2.1 297- Add optional tokio_console feature for task debugging 298- Remove crash reporting for now 299 - Needs to be updated, more testing, etc... 300 301# Intiface Engine v1.0.3 (2022/11/05) 302 303## Features 304 305- Implemented BackdoorServer, which allows access to server devices directly, while still allowing a 306 client to access them simultaneously. Can't possibly see how this could go wrong. 307- Added EngineServerCreated Event for IntifaceCentral to know when to bring up the BackdoorServer. 308 309## Bugfixes 310 311- Fixed issue where logging could stay alive through multiple server bringups when run in process. 312 313# Intiface Engine v1.0.2 (2022/10/18) 314 315## Bugfixes 316 317- Vergen should not block building as a library dependency 318 319# Intiface Engine v1.0.1 (2022/10/15) 320 321## Features 322 323- Update to Buttplug v6.1.0 324 - Mostly bugfixes 325 - Now requires v2.x device config files 326 327# Intiface Engine v1.0.0 (2022/10/01) 328 329## Breaking Changes 330 331- Rebuilt command line arguments 332 - Now in kebab case format 333 - ALL DCMs require --use statements, there are no default DCMs anymore 334- Incorporates changes made during the egui betas. 335- The `--stay_open` argument is now assumed. The server will run until either Ctrl-C is pressed or 336 an IPC stop message is received. 337 338## Features 339 340- Intiface Engine is now compiled as both a CLI (for desktop) and a Library (for mobile). 341- Updated to Buttplug v6 342- Moved to semantic versioning, major version denotes CLI argument or breaking IPC protocol change. 343 344# v101 (egui Beta 2) (2021/01/25) 345 346- Add websocket device server port selection 347 348# v100 (egui Beta 1) (2021/01/04) 349 350## Features 351 352- Use JSON over named pipes instead of protobufs over stdio 353- Add sentry crash logging 354- Server version now uses a shorter tag 355- Update to Rust 2021 356 357# v50 (2022/04/26) - Last version of Intiface CLI 358 359## Features 360 361- Update to Buttplug v5.1.9 362 - Add Magic Motion Crystal support 363 - Fix issues with Satisfyer Plugalicious 2 connections 364 - Fix issues with Satisfyer device identification 365 366# v49 (2022/03/05) 367 368## Features 369 370- Update to Buttplug v5.1.8 371 - Added Lelo F1s v2 support, more support for Mannuo/Magic Motion/OhMiBod devices 372 - May fix issues with windows bluetooth on older Win 10 versions 373 374# v48 (2021/01/24) 375 376## Features 377 378- Update to Buttplug v5.1.7 379 - Lovense Calor support, Folove support, more WeVibe/Satisfyer support 380 381# v47 (2022/01/04) 382 383## Bugfixes 384 385- No changes to build, re-release to fix issue with a wrong tag getting pushed. 386 387# v46 (2022/01/01) 388 389## Bugfixes 390 391- Update to Buttplug v5.1.6 392 - Fix issues with serial ports blocking, lovense connect data types, log message levels, etc... 393 - See Buttplug v5.1.6 changelog for more info. 394 (https://github.com/buttplugio/buttplug/blob/master/buttplug/CHANGELOG.md) 395 396# v45 (2021/12/19) 397 398## Bugfixes 399 400- Update to Buttplug v5.1.5 401 - Fix issues with Satisfyer name detection and disconnection 402 - Fix issues with device scanning always saying it's instantly finished 403 404# v44 (2021/12/14) 405 406## Bugfixes 407 408- Update to Buttplug v5.1.4 409 - Shouldn't change anything in here, all the fixes were FFI related, but eh. 410- Try to get crash logs into frontend log output for easier debugging 411- #14: Fix issue with intiface-cli not sending events to desktop after first disconnection 412 413# v43 (2021/12/04) 414 415## Bugfixes 416 417- Update to Buttplug v5.1.2 418 - Fix race condition with bluetooth advertisements causing multiple simultaneous connects to 419 devices 420- Update to vergen 5.2.0 421 - Last version was yanked 422 423# v42 (2021/12/03) 424 425## Bugfixes 426 427- Update to Buttplug v5.1.1 428 - Fix issues with devices w/ advertised services being ignored 429 - Fix issues with lovense dongle on linux 430 431# v41 (2021/12/02) 432 433## Features 434 435- Update to Buttplug v5.1 436 - Bluetooth library updates 437 - Satisfyer/ManNuo/other device support (see Buttplug README) 438 - Lots of other fixes 439- Update to vergen v5, tracing-subscriber v0.3 440 441# v40 (2021/09/14) 442 443## Features 444 445- Update to Buttplug v5.0.1 446 - Better MacOS bluetooth support 447 - Better Linux bluetooth support 448 - Tons of device additions (see Buttplug README) 449 - Adds websocket device interface 450 451# v39 (2021/07/05) 452 453## Features 454 455- Server now throws warnings whenever a client tries to connect when another client is already 456 connected. 457- Update to Buttplug 4.0.4 458 - Added hardware support for TCode devices, Patoo, Vorze Piston SA 459 460## Bugfixes 461 462- Fix cancellation of tasks on shutdown. 463 464# v38 (2021/06/18) 465 466## Bugfixes 467 468- Update to buttplug-rs 4.0.3, which fixes issues with Android phones using the Lovense Connect app. 469 470# v37 (2021/06/11) 471 472## Bugfixes 473 474- Fix timing issue where Process Ended message may not be seen by Intiface Desktop 475- Update to buttplug-rs 4.0.2, fixing issue with Intiface Desktop stalling due to logging issues. 476- Add Info.plist file for macOS Big Sur and later compat 477 478# v36 (2021/06/10) 479 480## Features 481 482- Added opt-in/out arguments for all available device communication managers 483- Added support for Lovense Connect Service 484 485# v35 (2021/04/04) 486 487## Bugfixes 488 489- Update to Buttplug v2.1.9 490 - Reduces error log messages thrown by lovense dongle 491 - Reduces panics in bluetooth handling on windows 492 - Fixes issue with battery checking on lovense devices stalling library on device disconnect 493 494# v34 (2021/03/25) 495 496## Bugfixes 497 498- Update to Buttplug v2.1.8 499 - Possibly fixes issue with bluetooth devices not registering disconnection on windows. 500 501# v33 (2021/03/08) 502 503## Bugfixes 504 505- Update to Buttplug v2.1.7 506 - Fixes legacy message issues with The Handy and Vorze toys 507 - Fixes init issues with some Kiiroo vibrators 508 509# v32 (2021/02/28) 510 511## Bugfixes 512 513- Update to Buttplug v2.1.6 514 - Fixes issues with log message spamming 515 - Update btleplug to 0.7.0, lots of cleanup 516 517# v31 (2021/02/20) 518 519## Bugfixes 520 521- Update to Buttplug v2.1.5 522 - Fixes panic in devices that disconnect during initialize(). 523 524# v30 (2021/02/13) 525 526## Features 527 528- Update to Buttplug v2.1.4 529- Added Hardware Support 530 - The Handy 531 532## Bugfixes 533 534- Fixes issues with the LoveAi Dolp and Lovense Serial Dongle 535 536# v29 (2021/02/06) 537 538## Bugfixes 539 540- Update to Buttplug v2.1.3 541 - Fix StopAllDevices so it actually stops all devices again 542 - Allow for setting device intensity to 1.0 543 544# v28 (2021/02/06) 545 546## Features 547 548- Update to Buttplug v2.1.1 549 - Adds Lovense Diamo and Nobra's Silicone Dreams support 550 - Lots of bugfixes and more/better errors being emitted 551 552# v27 (2021/01/24) 553 554## Bugfixes 555 556- Update to Buttplug 2.0.5 557 - Fixes issue with v2 protocol conflicts in DeviceMessageInfo 558 559# v26 (2021/01/24) 560 561## Bugfixes 562 563- Update to Buttplug 2.0.4 564 - Fixes issue with XInput devices being misaddressed and stopping all scanning. 565 566# v25 (2021/01/19) 567 568## Bugfixes 569 570- Update to Buttplug 2.0.2 571 - Fixes issue with scanning status getting stuck on Lovense dongles 572 573# v24 (Yanked) (2021/01/18) 574 575## Features 576 577- Update to Buttplug 2.0.1 578 - Event system and API cleanup 579 - Lovense Ferri Support 580- Backtraces now emitted via logging system when using frontend IPC 581 582# v23 (2021/01/01) 583 584## Bugfixes 585 586- Update to Buttplug 1.0.4 587 - Fixes issues with XInput Gamepads causing intiface-cli-rs crashes on reconnect. 588 589# v22 (2021/01/01) 590 591## Bugfixes 592 593- Update to Buttplug 1.0.3 594 - Fixes issues with BTLE advertisements and adds XInput device rescanning. 595 596# v21 (2020/12/31) 597 598## Bugfixes 599 600- Update to Buttplug 1.0.1 601 - Fixes issue with device scanning races. 602 603# v20 (2020/12/22) 604 605## Bugfixes 606 607- Update to Buttplug 0.11.3 608 - Fixes security issues and a memory leak when scanning is called often. 609 610# v19 (2020/12/11) 611 612## Bugfixes 613 614- Update to Buttplug 0.11.2 615 - Emits Scanningfinished when scanning is finished. Finally. 616 617# v18 (2020/11/27) 618 619## Features 620 621- Update to buttplug-rs 0.11.1 622 - System bugfixes 623 - Mysteryvibe support 624 625# v17 (2020/10/25) 626 627## Features 628 629- Update to buttplug-rs 0.10.1 630 - Lovense Dongle Bugfixes 631 - BLE Toy Connection Bugfixes 632- Fix logging output 633 - Pay attention to log option on command line again 634 - Outputs full tracing JSON to frontend 635 636# v16 (2020/10/17) 637 638## Features 639 640- Update to buttplug-rs 0.10.0 641 - Kiiroo Keon Support 642 - New raw device commands (use --allowraw option for access) 643 644## Bugfixes 645 646- Update to buttplug-rs 0.10.0 647 - Lots of websocket crash fixes 648 649# v15 (2020/10/05) 650 651## Bugfixes 652 653- Update to buttplug-rs 0.9.2 w/ btleplug 0.5.4, fixing an issue with macOS 654 panicing whenever it tries to read from a BLE device. 655 656# v14 (2020/10/05) 657 658## Bugfixes 659 660- Update to buttplug-rs 0.9.1 w/ btleplug 0.5.3, fixing an issue with macOS 661 panicing whenever it tries to write to a BLE device. 662 663# v13 (2020/10/04) 664 665## Features 666 667- Update to buttplug-rs 0.9.0, which now has Battery level reading capabilites 668 for some hardware. 669 670## Bugfixes 671 672- Update to buttplug-rs 0.9.0, which now does not crash when 2 devices are 673 connected and one disconnects. 674 675# v12 (2020/10/02) 676 677## Features 678 679- Update to Buttplug-rs 0.8.4, fixing a bunch of device issues. 680- Default to outputting info level logs if no env log var set. (Should pick this 681 up from command line argument in future version) 682 683## Bugfixes 684 685- Only run for one connection attempt if --stayopen isn't passed in. 686 687# v11 (2020/09/20) 688 689## Bugfixes 690 691- Moves to buttplug-0.8.3, which fixes support for some programs using older 692 APIs (FleshlightLaunchFW12Cmd) for Kiiroo stroking products (Onyx, Fleshlight 693 Launch, etc). 694 695# v10 (2020/09/13) 696 697## Features 698 699- Added log handling from Buttplug library. Still needs protocol/CLI setting, 700 currently outputs everything INFO or higher. 701 702## Bugfixes 703 704- Moves to buttplug-0.8.2, fixing Lovense rotation and adding log output 705 support. 706 707# v9 (2020/09/11) 708 709## Bugfixes 710 711- Moves to buttplug-0.7.3, which loads both RSA and pkcs8 certificates. This 712 allows us to load the certs that come from Intiface Desktop. 713 714# v8 (2020/09/07) 715 716## Bugfixes 717 718- Move to buttplug-rs 0.7.2, which adds more device configurations and fixes 719 websocket listening on all interfaces. 720 721# v7 (2020/09/06) 722 723## Features 724 725- Move to buttplug-rs 0.7.1, which includes status emitting features and way 726 more device protocol support. 727- Allow frontend to trigger process stop 728- Send disconnect to frontend when client disconnects 729- Can now relay connected/disconnected devices to GUIs via PBuf protocol 730 731# v6 (2020/08/06) 732 733## Features 734 735- Move to buttplug-rs 0.6.0, which integrates websockets and server lifetime 736 handling. intiface-cli-rs is now a very thin wrapper around buttplug-rs, 737 handling system bringup and frontend communication and that's about it. 738 739# v5 (2020/05/13) 740 741## Bugfixes 742 743- Move to buttplug-rs 0.3.1, with a couple of unwrap fixes 744 745# v4 (2020/05/10) 746 747## Features 748 749- --stayopen option now actually works, reusing the server between 750 client connections. 751 752# v3 (2020/05/09) 753 754## Features 755 756- Added protobuf basis for hooking CLI into Intiface Desktop 757 758## Bugfixes 759 760- Fixed bug where receiving ping message from async_tungstenite would 761 panic server 762- Update to buttplug 0.2.4, which fixes ServerInfo message ID matching 763 764# v2 (2020/02/15) 765 766## Features 767 768- Move to using rolling versioning, since this is a binary 769- Move to using buttplug 0.2, with full server implementation 770- Add cert generation 771- Add secure websocket capabilities 772- Move to using async-tungstenite 773- Use Buttplug's built in JSONWrapper 774- Add XInput capability on windows 775- Add CI building 776- Add Simple GUI message output for Intiface Desktop 777 778# v1 (aka v0.0.1) (2020/02/15) 779 780## Features 781 782- First version 783- Can bring up insecure websocket, run server, access toys 784- Most options not used yet