Releases: hbldh/bleak
Releases · hbldh/bleak
Version 0.9.1
Description
Minor patch version, fixing some regressions introduced in 0.9.0 and fixing some new bugs.
Added
- Added new attribute
_device_info
onBleakClientBlueZDBus
. Merges #346. - Added Pull Request Template.
Changed
- Updated instructions on how to contribute, file issues and make PRs.
- Updated
AUTHORS.rst
file with development team.
Fixed
- Fix well-known services not converted to UUIDs in
BLEDevice.metadata
in CoreBluetooth backend. Fixes #342. - Fix advertising data replaced instead of merged in scanner in CoreBluetooth backend. Merged #343.
- Fix CBCentralManager not properly waited for during initialization in some cases.
- Fix AttributeError in CoreBluetooth when using BLEDeviceCoreBluetooth object.
Version 0.9.0
Added
- Timeout for BlueZ backend connect call to avoid potential infinite hanging. Merged #306.
- Added Interfaces API docs again.
- Troubleshooting documentation.
- noqa flags added to
BleakBridge
imports. - Adding a timeout on OSX so that the connect cannot hang forever. Merge #336.
Changed
BleakCharacteristic.description()
on .NET now returns the same value as other platforms.- Changed all adding and removal of .NET event handler from
+=
/-=
syntax to callingadd_
andremove_
methods instead. This allows for proper removal of event handlers in .NET backend. - All code dependence on the
BleakBridge
is now removed. It is only imported to allow for access to UWP namespaces. - Removing internal method
_start_notify
in the .NET backend. GattSession
object now manages lifetime of .NETBleakClient
connection.BleakClient
in .NET backend will reuse previous device information when reconnecting so that it doesn't have to scan/discover again.
Fixed
- UUID property bug fixed in BlueZ backend. Merged #307.
- Fix for broken RTD documentation.
- Fix UUID string arguments should not be case sensitive.
- Fix
BleakGATTService.get_characteristic()
method overridden withNotImplementedError
in BlueZ backend. - Fix
AttributeError
when trying to connect using CoreBluetooth backend. Merged #323. - Fix disconnect callback called multiple times in .NET backend. Fixes #312.
- Fix
BleakClient.disconnect()
method failing when called multiple times in .NET backend. Fixes #313. - Fix
BleakClient.disconnect()
method failing when called multiple times in Core Bluetooth backend. Merge #333. - Catch RemoteError in
is_connected
in BlueZ backend. Fixes #310, - Prevent overwriting address in constructor of
BleakClient
in BlueZ backend. Merge #311. - Fix nordic uart UUID. Merge #339.
Version 0.8.0
0.8.0 (2020-09-22)
Added
- Implemented
set_disconnected_callback
in the .NET backendBleakClient
implementation. - Added
find_device_by_address
method to theBleakScanner
interface, for stopping scanning
when a desired address is found. - Implemented
find_device_by_address
in the .NET backendBleakScanner
implementation and
switched itsBleakClient
implementation to use that method inconnect
. - Implemented
find_device_by_address
in the BlueZ backendBleakScanner
implementation and
switched itsBleakClient
implementation to use that method inconnect
. - Implemented
find_device_by_address
in the Core Bluetooth backendBleakScanner
implementation
and switched itsBleakClient
implementation to use that method inconnect
. - Added text representations of Protocol Errors that are visible in the .NET backend. Added these texts to errors raised.
- Added pairing method in
BleakClient
interface. - Implemented pairing method in .NET backend.
- Implemented pairing method in the BlueZ backend.
- Added stumps and
NotImplementedError
on pairing in macOS backend. - Added the possibility to connect using
BLEDevice
instead of a string address. This
allows for skipping the discovery call when connecting.
Removed
- Support for Python 3.5.
Changed
- BREAKING CHANGE All notifications now have the characteristic's integer handle instead of its UUID as a
string as the first argumentsender
sent to notification callbacks. This provides the uniqueness of
sender in notifications as well. - Renamed
BleakClient
argumentaddress
toaddress_or_ble_device
. - Version 0.5.0 of BleakUWPBridge, with some modified methods and implementing
IDisposable
. - Merged #224. All storing and passing of event loops in bleak is removed.
- Removed Objective C delegate compliance checks. Merged #253.
- Made context managers for .NET
DataReader
andDataWriter
.
Fixed
- .NET backend loop handling bug entered by #224 fixed.
- Removed default
DEBUG
level set to bleak logger. Fixes #251. - More coherency in logger uses over all backends. Fixes #258
- Attempted fix of #255 and #133: cleanups, disposing of objects and creating new
BleakBridge
instances each disconnect. - Fixed some type hints and docstrings.
- Modified the
connected_peripheral_delegate
handling in macOS backend to fix #213 and #116. - Merged #270, fixing a critical bug in
get_services
method in Core Bluetooth backend. - Improved handling of disconnections and
is_connected
in BlueZ backend to fix #259. - Fix for
set_disconnected_callback
on Core Bluetooth. Fixes #276. - Safer
Core Bluetooth
presence check. Merged #280.
Version 0.7.1
0.7.1 (2020-07-02)
Changed
- Improved, more explantory error on BlueZ backend when
BleakClient
cannot find the desired device when trying to connect. (#238) - Better-than-nothing documentation about scanning filters added (#230).
- Ran black on code which was forgotten in 0.7.0. Large diffs due to that.
- Re-adding Python 3.8 CI "tests" on Windows again.
Fixed
Version 0.7.0
Added
- Better feedback of communication errors to user in .NET backend and implementing error details proposed in #174.
- Two devices example file to use for e.g. debugging.
- Detection/discovery callbacks in Core Bluetooth backend
Scanner
implemented. - Characteristic handle printout in
service_explorer.py
. - Added scanning filters to .NET backend's
discover
method.
Changed
- Replace
NSRunLoop
with dispatch queue in Core Bluetooth backend. This causes callbacks to be dispatched on a background thread instead of on the main dispatch queue on the main thread.call_soon_threadsafe()
is used to synchronize the events with the event loop where the central manager was created. Fixes #111. - The Central Manager is no longer global in the Core Bluetooth backend. A new one is created for each
BleakClient
andBleakScanner
. Fixes #206 and #105. - Merged #167 and reworked characteristics handling in Bleak. Implemented in all backends; bleak now uses the characteristics' handle to identify and keep track of them. Fixes #139 and #159 and allows connection for devices with multiple instances of the same characteristic UUIDs.
- In
requirements.txt
andPipfile
, the requirement onpythonnet
was bumped to version 2.5.1, which seems to solve issues described in #217 and #225. - Renamed
HISTORY.rst
toCHANGELOG.rst
and adopted the Keep a Changelog format. - Python 3.5 support from macOS is officially removed since pyobjc>6 requires 3.6+
- Pin
pyobjc
dependencies to use at least version 6.2. (PR #194) - Pin development requirement on
bump2version
to version 1.0.0 - Added
.pyup.yml
for Pyup - Using CBManagerState constants from pyobj instead of integers.
Removed
- Removed documentation note about not using new event loops in Linux. This was fixed by #143.
_central_manager_delegate_ready
was removed in macOS backend.- Removed the
bleak.backends.bluez.utils.get_gatt_service_path
method. It is not used by
bleak and possibly generates errors.
Fixed
- Improved handling of the txdbus connection to avoid hanging of disconnection clients in BlueZ backend. Fixes #216, #219 & #221.
- #150 hints at the device path not being possible to create as is done in the
get_device_object_path
method. Now, we try to get it from BlueZ first. Otherwise, use the old fallback. - Minor documentation errors corrected.
CBManagerStatePoweredOn
is now properly handled in Core Bluetooth.- Device enumeration in
discover
andScanner
corrected. Fixes #211 - Updated documentation about scanning filters.
- Handle missing
isScanning
boolean on macOS < 10.13. Fixes #234.
Version 0.6.4
Release to PyPI via Github Actions
Version 0.6.3
Release to test deployment via Github Actions.