Added
- Added
bleak.uuids.normalize_uuid_16()function. - Added
bleak.uuids.normalize_uuid_32()function. - Added
advertisement_data()async iterator method toBleakScanner. Merged #1361. - Added type hints for kwargs on
BleakScannerclass methods. - Added support for Python 3.12.
Changed
- Improved error messages when failing to get services in WinRT backend.
- Improved error messages with enum values in WinRT backend. Fixes #1284.
- Scanner backends modified to allow multiple advertisement callbacks. Merged #1367.
- Changed default handling of the
responseargument inBleakClient.write_gatt_char.
Fixes #909. - Bleak recipe now automatically installs bleak from GitHub release in Kivy example.
- Changed
BlueZManagermethods to raiseBleakErrorwhen device is not in BlueZ. - Optimized BlueZ backend device watchers and condition callbacks to avoid linear searches.
- Changed type hint for buffer protocol to
collections.abc.Buffer.
Fixed
- Fixed handling all access denied errors when enumerating characteristics on Windows. Fixes #1291.
- Added support for 32bit UUIDs. Fixes #1314.
- Fixed typing for
BaseBleakScannerdetection callback. - Fixed possible crash in
_stopped_handler()in WinRT backend. Fixes #1330. - Reduced expensive logging in the BlueZ backend. Merged #1376.
- Fixed race condition with
"InterfaceRemoved"when getting services in BlueZ backend. - Fixed missing permissions and requirements in android Kivy example. Fixes #1184.
- Fixed WinRT backend sometimes hanging forever when a device goes out of range during connection. Fixes #1359.