Skip to content

SimpleBLE v0.6.0

Compare
Choose a tag to compare
@kdewald kdewald released this 23 Feb 04:19
· 79 commits to main since this release

[0.6.0] - 2023-02-23

Added

  • Option to build SimpleBLE plain-flavored (without any BLE code) for testing and debugging purposes.
  • Support for advertized services.
  • Support for GATT Characteristic properties.
  • Retrieve the MTU value of an established connection. (Thanks Marco Cruz!)
  • Peripheral addresses can now be queried for their type. (Thanks camm73!)
  • Tx Power is decoded from advertising data if available. (Thanks camm73!)
  • Logger now provides default functions to log to a file or to stdout.
  • Support for exposing advertized service data. (Thanks Symbitic!)
  • (Rust) Preliminary implementation of Rust bindings.
  • (Windows) Logging of WinRT initialization behavior.
  • (SimpleBluez) Support for GATT characteristic flags.
  • (SimpleBluez) Support for GATT characteristic MTUs. (Thanks Marco Cruz!)
  • (SimpleBluez) Support for advertized services.
  • (SimpleBluez) Mechanism to select the default DBus bus type during compilation-time. (Thanks MrMinos!)

Changed

  • Debug, MinSizeRel and RelWithDebInfo targets now contain their appropriate suffix. (Thanks kutij!)
  • API CHANGE: Log level convention changed from uppercase to capitalizing the first letter.
  • Updated libfmt dependency to version 9.1.0.
  • Unused libfmt targets removed from the build process.
  • (MacOS) More explicit exception messages.
  • (MacOS) 16-bit UUIDs are now presented in their 128-bit form.
  • (MacOS) Adapter address now swapped for a random UUID. (Thanks nothingisdead!)
  • (Windows) Reinitialize the WinRT backend if a single-threaded apartment is detected. (Thanks jferdelyi!)
  • (Windows) Callbacks for indications and notifications are now swapped if one already exists.

Fixed

  • Incorrect handling of services and characteristics in the Python examples. (Thanks Carl-CWX!)
  • Minor potential race condition in the safe callback.
  • Compilation-time log levels were not being set correctly. (Thanks chen3496!)
  • Missing function definition in C-bindings. (Thanks eriklins!)
  • (Linux) Peripheral would still issue callbacks after deletion.
  • (MacOS) Increased priority of the dispatch queue to prevent jitter in the incoming data.
  • (MacOS) Incorrect listing of advertized services. (Thanks eriklins & Symbitic!)
  • (Windows) Missing peripheral identifier data. (Thanks eriklins!)
  • (Windows) Multiple initializations of the WinRT backend.
  • (Windows) Incorrect initialization of the WinRT backend. (Thanks ChatGPT & Andrey1994!)
  • (Windows) Scan callbacks would continue after scan stopped.
  • (Windows) Disconnecting would prevent the user from connecting again. (Thanks klaff, felixdollack & lairdrt!)
  • (Windows) Uncleared callbacks when unsubscribe is called.
  • (Windows) Incorrect handling of non-english locale by MSVC. (Thanks felixdollack!)
  • (Windows) Disconnection callback would not be triggered on a manual disconnect. (Thanks crashtua!)
  • (Python) Type returned by simplepyble.get_operating_system() was not defined.
  • (SimpleBluez) Incorrect attempt to operate on an uninitialized DBus connection. (Thanks jacobbreen25!)

Full Changelog: v0.5.0...v0.6.0