Added
- Allow 16-bit UUID string arguments to
get_service()andget_characteristic(). - Added
register_uuids()to augment the uuid-to-description mapping. - Added support for Python 3.10.
- Added
force_indicatekeyword argument for WinRT backend client'sstart_notifymethod. Fixes #526. - Added python-for-android backend.
Changed
- Changed from
winrtdependency tobleak-winrt. - Improved error when connecting to device fails in WinRT backend. Fixes #647.
- Changed examples to use
asyncio.run(). - Changed the default notify method for the WinRT backend from
IndicatetoNotify. - Refactored GATT error handling in WinRT backend.
- Changed Windows Bluetooth packet capture instructions. Fixes #653.
- Replaced usage of deprecated
@abc.abstractproperty. - Use
asyncio.get_running_loop()instead ofasyncio.get_event_loop(). - Changed "service is already present" exception to logged error in BlueZ backend. Merged #622.
Removed
- Removed
dotnetbackend. - Dropped support for Python 3.6.
- Removed
use_cachedkwarg fromBleakClientconnect()andget_services()methods. Fixes #646.
Fixed
- Fixed unused timeout in the implementation of BleakScanner's
find_device_by_address()function. - Fixed BleakClient ignoring the
adapterkwarg. Fixes #607. - Fixed writing descriptors in WinRT backend. Fixes #615.
- Fixed race on disconnect and cleanup of BlueZ matches when device disconnects early. Fixes #603.
- Fixed memory leaks on Windows.
- Fixed protocol error code descriptions on WinRT backend. Fixes #532.
- Fixed race condition hitting assentation in BlueZ
disconnect()method. Fixes #641. - Fixed enumerating services on a device with HID service on WinRT backend. Fixes #599.
- Fixed subprocess running to check BlueZ version each time a client is created. Fixes #602.
- Fixed exception when discovering services after reconnecting in CoreBluetooth backend.