Skip to content

Releases: hbldh/bleak

Version 0.9.1

22 Oct 09:14
910f034
Compare
Choose a tag to compare

Description

Minor patch version, fixing some regressions introduced in 0.9.0 and fixing some new bugs.

Added

  • Added new attribute _device_info on BleakClientBlueZDBus. Merges #346.
  • Added Pull Request Template.

Changed

  • Updated instructions on how to contribute, file issues and make PRs.
  • Updated AUTHORS.rst file with development team.

Fixed

  • Fix well-known services not converted to UUIDs in BLEDevice.metadata in CoreBluetooth backend. Fixes #342.
  • Fix advertising data replaced instead of merged in scanner in CoreBluetooth backend. Merged #343.
  • Fix CBCentralManager not properly waited for during initialization in some cases.
  • Fix AttributeError in CoreBluetooth when using BLEDeviceCoreBluetooth object.

Version 0.9.0

20 Oct 21:31
4dc6ee4
Compare
Choose a tag to compare

Added

  • Timeout for BlueZ backend connect call to avoid potential infinite hanging. Merged #306.
  • Added Interfaces API docs again.
  • Troubleshooting documentation.
  • noqa flags added to BleakBridge imports.
  • Adding a timeout on OSX so that the connect cannot hang forever. Merge #336.

Changed

  • BleakCharacteristic.description() on .NET now returns the same value as other platforms.
  • Changed all adding and removal of .NET event handler from +=/-= syntax to calling add_ and remove_ methods instead. This allows for proper removal of event handlers in .NET backend.
  • All code dependence on the BleakBridge is now removed. It is only imported to allow for access to UWP namespaces.
  • Removing internal method _start_notify in the .NET backend.
  • GattSession object now manages lifetime of .NET BleakClient connection.
  • BleakClient in .NET backend will reuse previous device information when reconnecting so that it doesn't have to scan/discover again.

Fixed

  • UUID property bug fixed in BlueZ backend. Merged #307.
  • Fix for broken RTD documentation.
  • Fix UUID string arguments should not be case sensitive.
  • Fix BleakGATTService.get_characteristic() method overridden with NotImplementedError in BlueZ backend.
  • Fix AttributeError when trying to connect using CoreBluetooth backend. Merged #323.
  • Fix disconnect callback called multiple times in .NET backend. Fixes #312.
  • Fix BleakClient.disconnect() method failing when called multiple times in .NET backend. Fixes #313.
  • Fix BleakClient.disconnect() method failing when called multiple times in Core Bluetooth backend. Merge #333.
  • Catch RemoteError in is_connected in BlueZ backend. Fixes #310,
  • Prevent overwriting address in constructor of BleakClient in BlueZ backend. Merge #311.
  • Fix nordic uart UUID. Merge #339.

Version 0.8.0

22 Sep 07:34
99f3b73
Compare
Choose a tag to compare

0.8.0 (2020-09-22)

Added

  • Implemented set_disconnected_callback in the .NET backend BleakClient implementation.
  • Added find_device_by_address method to the BleakScanner interface, for stopping scanning
    when a desired address is found.
  • Implemented find_device_by_address in the .NET backend BleakScanner implementation and
    switched its BleakClient implementation to use that method in connect.
  • Implemented find_device_by_address in the BlueZ backend BleakScanner implementation and
    switched its BleakClient implementation to use that method in connect.
  • Implemented find_device_by_address in the Core Bluetooth backend BleakScanner implementation
    and switched its BleakClient implementation to use that method in connect.
  • Added text representations of Protocol Errors that are visible in the .NET backend. Added these texts to errors raised.
  • Added pairing method in BleakClient interface.
  • Implemented pairing method in .NET backend.
  • Implemented pairing method in the BlueZ backend.
  • Added stumps and NotImplementedError on pairing in macOS backend.
  • Added the possibility to connect using BLEDevice instead of a string address. This
    allows for skipping the discovery call when connecting.

Removed

  • Support for Python 3.5.

Changed

  • BREAKING CHANGE All notifications now have the characteristic's integer handle instead of its UUID as a
    string as the first argument sender sent to notification callbacks. This provides the uniqueness of
    sender in notifications as well.
  • Renamed BleakClient argument address to address_or_ble_device.
  • Version 0.5.0 of BleakUWPBridge, with some modified methods and implementing IDisposable.
  • Merged #224. All storing and passing of event loops in bleak is removed.
  • Removed Objective C delegate compliance checks. Merged #253.
  • Made context managers for .NET DataReader and DataWriter.

Fixed

  • .NET backend loop handling bug entered by #224 fixed.
  • Removed default DEBUG level set to bleak logger. Fixes #251.
  • More coherency in logger uses over all backends. Fixes #258
  • Attempted fix of #255 and #133: cleanups, disposing of objects and creating new BleakBridge instances each disconnect.
  • Fixed some type hints and docstrings.
  • Modified the connected_peripheral_delegate handling in macOS backend to fix #213 and #116.
  • Merged #270, fixing a critical bug in get_services method in Core Bluetooth backend.
  • Improved handling of disconnections and is_connected in BlueZ backend to fix #259.
  • Fix for set_disconnected_callback on Core Bluetooth. Fixes #276.
  • Safer Core Bluetooth presence check. Merged #280.

Version 0.7.1

02 Jul 21:58
3c948ef
Compare
Choose a tag to compare

0.7.1 (2020-07-02)

Changed

  • Improved, more explantory error on BlueZ backend when BleakClient cannot find the desired device when trying to connect. (#238)
  • Better-than-nothing documentation about scanning filters added (#230).
  • Ran black on code which was forgotten in 0.7.0. Large diffs due to that.
  • Re-adding Python 3.8 CI "tests" on Windows again.

Fixed

  • Fix when characteristic updates value faster than asyncio schedule (#240 & #241)
  • Incorrect MANIFEST.in corrected. (#244)

Version 0.7.0

30 Jun 20:40
5e8f8de
Compare
Choose a tag to compare

Added

  • Better feedback of communication errors to user in .NET backend and implementing error details proposed in #174.
  • Two devices example file to use for e.g. debugging.
  • Detection/discovery callbacks in Core Bluetooth backend Scanner implemented.
  • Characteristic handle printout in service_explorer.py.
  • Added scanning filters to .NET backend's discover method.

Changed

  • Replace NSRunLoop with dispatch queue in Core Bluetooth backend. This causes callbacks to be dispatched on a background thread instead of on the main dispatch queue on the main thread. call_soon_threadsafe() is used to synchronize the events with the event loop where the central manager was created. Fixes #111.
  • The Central Manager is no longer global in the Core Bluetooth backend. A new one is created for each BleakClient and BleakScanner. Fixes #206 and #105.
  • Merged #167 and reworked characteristics handling in Bleak. Implemented in all backends; bleak now uses the characteristics' handle to identify and keep track of them. Fixes #139 and #159 and allows connection for devices with multiple instances of the same characteristic UUIDs.
  • In requirements.txt and Pipfile, the requirement on pythonnet was bumped to version 2.5.1, which seems to solve issues described in #217 and #225.
  • Renamed HISTORY.rst to CHANGELOG.rst and adopted the Keep a Changelog format.
  • Python 3.5 support from macOS is officially removed since pyobjc>6 requires 3.6+
  • Pin pyobjc dependencies to use at least version 6.2. (PR #194)
  • Pin development requirement on bump2version to version 1.0.0
  • Added .pyup.yml for Pyup
  • Using CBManagerState constants from pyobj instead of integers.

Removed

  • Removed documentation note about not using new event loops in Linux. This was fixed by #143.
  • _central_manager_delegate_ready was removed in macOS backend.
  • Removed the bleak.backends.bluez.utils.get_gatt_service_path method. It is not used by
    bleak and possibly generates errors.

Fixed

  • Improved handling of the txdbus connection to avoid hanging of disconnection clients in BlueZ backend. Fixes #216, #219 & #221.
  • #150 hints at the device path not being possible to create as is done in the get_device_object_path method. Now, we try to get it from BlueZ first. Otherwise, use the old fallback.
  • Minor documentation errors corrected.
  • CBManagerStatePoweredOn is now properly handled in Core Bluetooth.
  • Device enumeration in discoverand Scanner corrected. Fixes #211
  • Updated documentation about scanning filters.
  • Handle missing isScanning boolean on macOS < 10.13. Fixes #234.

Version 0.6.4

20 May 10:35
Compare
Choose a tag to compare

Release to PyPI via Github Actions

Version 0.6.3

20 May 10:21
1c3d300
Compare
Choose a tag to compare

Release to test deployment via Github Actions.