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
BleakScanner
class 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
response
argument inBleakClient.write_gatt_char
.
Fixes #909. - Bleak recipe now automatically installs bleak from GitHub release in Kivy example.
- Changed
BlueZManager
methods to raiseBleakError
when 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
BaseBleakScanner
detection 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.