- Fix a panic on CoreBluetooth when parent object references become
nil
- Add
unstable
andl2cap
features - (unstable) Add minimal Android platform support
- (unstable) Add support for L2CAP connection-oriented channels (Android only)
- Fix compilation on iOS
- Fix another segmentation violation on MacOS/iOS introduced in v0.6.1
- Fix a segmentation violation on MacOS/iOS introduced in v0.6.1
- Add
ServicesChanged::was_invalidated
method to check if a particular service was invalidated by a service changed indication
- Add
Device::service_changed_indications
to get a stream of service changed indications from the device
- Fix a bug on MacOS/iOS where the event channels could be closed prematurely
Characteristic::write_without_response
now returns aResult<()>
- Added
Send + Unpin
constraints to returnedimpl Stream
values - Reduced the number and weight of dependencies
- Removed static
bluer
session on Linux. EachAdapter
now starts its own session.
- Fix Windows compilation error
- Added
Characteristic::max_write_len()
to get the maximum data that can be written to the characteristic in a single packet (this is 3 bytes less than the negotiated MTU for the connection; this is a method on theCharacteristic
instead of theDevice
because Linux only exposes this value on characteristics). - Added limited support for
device_connection_events
on MacOS - Tightened the behavior of the non-discover counterparts of discovery methods
(i.e.
Device::services()
,Service::characteristics()
,Service::included_characteristics()
,Characteristic::descriptors()
) to always perform discovery if discovery has not previously been performed. - Fix docs.rs example scraping
- Fix docs.rs build
- Add
Adapter::device_connection_events
- Add support for unpairing devices on Windows/Linux
- (MacOS/iOS) Fix FFI memory issues
- (Linux) Don't return connected devices from
Adapter::scan
- (Linux) Skip attempt to pair if the devices is already paired
- (Windows) Let the OS filter the scan results for us
Device::name
now returns aResult
Characteristic::properties
is now async- Added
_async
APIs to all platforms for methods which are sync on some platforms and async on others - Added support for pairing to devices
- Breaking change: take
id
by reference inAdapter::open_device
- Improve CoreBluetooth error handling on disconnection
- Remove dependency on the Tokio runtime on non-Linux platforms
- Bug fixes
- Add
Adapter::discover_devices
- Add reconnect example
- Reduce dependencies
- Add CI
- Add scraped examples to docs
- Fix a doctest error
- Change
AttError
from an enum to a newtype wrapper around au8
with defined constants for the known error codes
- Add Linux implementation
- Add connected example
- Add
Adapter::connected_devices
- Add
Adapter::connected_devices_with_services
- Add re-export of the
Uuid
struct - Change
Characteristic::properties
to return aCharacteristicProperties
struct - Change
SmallVec
toVec
in all APIs - Split discovery APIs into separate
discover_x()
anddiscover_x_with_uuid()
methods. - Remove
smallvec
anduuid
re-exports
Initial release