Added
- Added
BLEAK_DBUS_AUTH_UIDenvironment variable for hardcoding D-Bus UID. Merged #1182. - Added return type
Noneto some scanner methods. - Added optional hack to use Bluetooth address instead of UUID on macOS. Merged #1073.
- Added
BleakScanner.find_device_by_name()class method. - Added optional command line argument to use debug log level to all applicable examples.
- Added
bleak.uuids.normalize_uuid_str()function. - Added optional
servicesargument toBleakClient()to filter services. Merged #654. - Added automatic retry on
le-connection-abort-by-localin BlueZ backend. Fixes #1220.
Changed
- Dropped
async-timeoutdependency on Python >= 3.11. - Deprecated
BLEDevice.rssiandBLEDevice.metadata. Fixes #1025. BLEDevicenow uses__slots__to reduce memory usage. Merged #1117.BaseBleakClient.servicesis nowNoneinstead of empty service collection
until services are discovered.- Include thread name in
BLEAK_LOGGINGoutput. Merged #1144. - Updated PyObjC dependency on macOS to v9.x.
Fixed
- Fixed invalid UTF-8 in
uuids.uuid16_dict. - Fixed
AttributeErrorin_ensure_successin WinRT backend. - Fixed
BleakScanner.stop()can raiseBleakDBusErrorwithorg.bluez.Error.NotReadyin BlueZ backend. - Fixed
BleakScanner.stop()hanging in WinRT backend when Bluetooth is disabled. - Fixed leaking services when
get_services()is cancelled in WinRT backend. - Fixed disconnect monitor task not always cancelled on the BlueZ client. Merged #1159.
- Fixed WinRT scanner never calling
detection_callbackwhen a device does
not send a scan response. Fixes #1211. - Fixed
BLEDevicename sometimes incorrectlyNone. - Fixed unhandled exception in
CentralManagerDelegatedestructor on macOS. Fixes #1219. - Fixed object passed to
disconnected_callbackis notBleakClient. Fixes #1200.