Nonpolynomial Software Updates for January 19, 2021

Another week, another release of almost every piece of software in our stack!

btleplug 0.5.5

btleplug is our cross platform Rust Bluetooth LE library, which Buttplug uses for all bluetooth access.

Updates include:

  • Dependency update to fix issues with async-std v1.9 API move, needed so apps using Buttplug would build at all (we depended on some unstable things that ended up disappearing).
  • Preparation for bringing in a new Bluez core thanks to some contributor work!

Buttplug Rust v2.0.2

It’s been almost a month since releasing Buttplug Rust v1, so now obviously it’s time to release v2!…?

This is mostly a cleanup release, but some of that cleanup had fairly major effects on the surface API, hence the major version roll.

v2.0.0 and v2.0.1 were both yanked due to bugs found quickly after release, so v2.0.2 is really the first released version of the v2 chain.

Updates include:

  • Move our internal channel structures to using tokio-rs‘s sync module, as its mpsc and broadcast modules are more suited for our needs (blog post on this endeavor coming soon).
  • Restructured internal event loops to make things cleaner
  • Fixes for device scanning and discovery issues with the Lovense Dongle
  • Added hardware support for the Lovense Ferri

Buttplug JS v1.0.3, Buttplug C# v1.0.9

Not a lot to say here, other than “there were updates”. Both Buttplug JS and Buttplug C# got updates to Buttplug Rust v2.0.2, but the only change that may be visible is that Rust panics (crashes) are now communicated through the logging system, so more information can be provided for debugging.

Intiface CLI v25, Intiface GHR v11

Same as the FFI libraries, Intiface CLI (used in Intiface Desktop) and the Game Haptics Router was mostly an update to Buttplug Rust v2.0.2, along with the same addition for more crash logging.

Here’s hoping it’s more than a month before Buttplug Rust v3 needs to be a thing.