Added
- Added
BleakAdapterclass withget_connected_devices()to retrieve BLE devices that are already connected to the system without scanning. - Added new Android backend for apps built with BeeWare/Briefcase (Chaquopy). Requires Python 3.13 or later.
Changed
- Changed minimum
dbus-fastversion to 4.0.0 on Linux.
Fixed
- Fixed deprecated
adapterkeyword argument mutating shared defaults and caller-providedbluezarguments inBleakScannerandBleakClient. Fixes #2028. - Fixed handling empty notification payloads in BlueZ backend when using "AcquireNotify". Fixes #1982.
- Fixed memory leaks when scanning and using a notification discriminator in CoreBluetooth backend.
- Fixed
BleakClientbeing kept alive by theCentralManagerDelegateafter a failed connection attempt in CoreBluetooth backend. - Fixed leaking Bluetooth address data when scanning with
cb={"use_bdaddr": True}in CoreBluetooth backend. - Fixed crash in WinRT backend if a WinRT event handler is called after the asyncio event loop is closed.
- Fixed device removed callbacks in BlueZ backend matching devices on adapters whose name starts with the watched adapter name, e.g.
hci10forhci1. - Fixed BlueZ backend not detecting loss of the D-Bus connection, which left clients reporting connected forever and disconnect callbacks never firing.
- Fixed
disconnect()raisingEOFErrorand leaking the D-Bus connection in BlueZ backend when the message bus died. - Fixed
disconnect()leaking the D-Bus connection in BlueZ backend when it raised or was canceled. - Fixed
start_notify()raisingValueErrorafter reconnecting in CoreBluetooth backend. Fixes #1969. - Fixed GATT operations raising
OSErrorinstead ofBleakErrorin WinRT backend when the device disconnects during the operation. - Fixed intermittent
AssertionErrorin WinRT backend on fast reconnect. - Fixed BlueZ backend to attempt to automatically recover from
InProgresserror when stopping scanning. Fixes #2021.