Added
- Added
BLEAK_DBUS_AUTH_UID
environment variable for hardcoding D-Bus UID. Merged #1182. - Added return type
None
to 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
services
argument toBleakClient()
to filter services. Merged #654. - Added automatic retry on
le-connection-abort-by-local
in BlueZ backend. Fixes #1220.
Changed
- Dropped
async-timeout
dependency on Python >= 3.11. - Deprecated
BLEDevice.rssi
andBLEDevice.metadata
. Fixes #1025. BLEDevice
now uses__slots__
to reduce memory usage. Merged #1117.BaseBleakClient.services
is nowNone
instead of empty service collection
until services are discovered.- Include thread name in
BLEAK_LOGGING
output. Merged #1144. - Updated PyObjC dependency on macOS to v9.x.
Fixed
- Fixed invalid UTF-8 in
uuids.uuid16_dict
. - Fixed
AttributeError
in_ensure_success
in WinRT backend. - Fixed
BleakScanner.stop()
can raiseBleakDBusError
withorg.bluez.Error.NotReady
in 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_callback
when a device does
not send a scan response. Fixes #1211. - Fixed
BLEDevice
name sometimes incorrectlyNone
. - Fixed unhandled exception in
CentralManagerDelegate
destructor on macOS. Fixes #1219. - Fixed object passed to
disconnected_callback
is notBleakClient
. Fixes #1200.