Version 1.3.1
- Fixed unsubscribing from operations before
onComplete()
/onError()
causing the library to hang. (dariuszseweryn#218)
Version 1.3.0
- Changed Behaviour of
RxBleConnection
- connection is no longer closed on individual operation errors. (dariuszseweryn#26) - Added partial support for API 21 BLE scan in a backwards compatible manner. (dariuszseweryn#16)
- Added support for filtering by Manufacturer Data (dariuszseweryn#127)
- Added RxBleClient State observing for determining what functionality of the library may work (dariuszseweryn#55)
- Added
ValueInterpreter
for interpreting standardized (Bluetooth Specification) int/float/String values from byte[] (dariuszseweryn#199) - Added support for requesting connection priority on API 21+ (dariuszseweryn#111)
Version 1.2.4
- Lowered memory pressure caused by
RxBleLog
when logs are disabled (dariuszseweryn#212)
Version 1.2.3
- Fixed scan when filter with 32-bit UUID was specified (dariuszseweryn#207)
- Fixed memory leak of scan operation (and potentially any other that would emit an infinite stream of events) (dariuszseweryn#194)
- Lowered memory pressure when using functions that accept
UUID
. - Changed
RxBleConnectionState
from a class to an enum for convenience. - Minor optimisations to
RxBleRadio
queue processing time. - Updated
RxJava
to 1.3.0
Version 1.2.2
- Fixed visibility of
UUIDUtil
. Deprecated it. IntroducedAdvertisedServiceUUIDExtractor
helper, thanks marciogranzotto! (dariuszseweryn#184)
Version 1.2.1
- Added
ByteArrayBatchObservable
helper for splitting long byte arrays - Fixed behaviour in non-Bluetooth environments. (dariuszseweryn#158)
- Fixed
RxBleConnectionMock
overwritingBluetoothCharacteristic
value on setting notification. (dariuszseweryn#160) - Fixed default payload size of Long Write operation when non-standard MTU was negotiated (dariuszseweryn#161)
- Added possibility to get the current MTU value of
RxBleConnection
(dariuszseweryn#166) - Fixed retrying of
RxBleClient.scanBleDevices(UUID...)
, thanks BharathMG! (dariuszseweryn#174) - Fixed connection not being noticed as established due to a race condition (dariuszseweryn#178)
- Fixed
BleBluetoothGattCallbackTimeout
macAddress being null on connection (dariuszseweryn#178) - Fixed disconnect operation behaviour in an edge case situation (dariuszseweryn#178)
Version 1.2.0
- Added Proguard rules for the library. (dariuszseweryn#104)
- Added support for MTU negotiation, thanks pregno!
- Fixed connecting with autoConnect = true on Android 7.0.0+, thanks JIUgia!
- Fixed notifications for characteristics with the same UUID
- Adjusted scan location services check for various scenarios (dariuszseweryn#106)
- Fixed occasional out-of-order emissions from notifications (dariuszseweryn#75)
- Fixed stalled operations by adding timeouts (dariuszseweryn#118)
- Added
LocationServicesOkObservable
helper for observing if scan can be successfully started - Added Jack compatibility (dariuszseweryn#123)
- Added compatibility mode for notifications on characteristic that do not contain a Client Characteristic Config descriptor
- Fixed logic of UUID filtering during scan
- Added long write support (dariuszseweryn#68)
- Fixed issue with a stalled library when write operations were too quick (dariuszseweryn#135)
- Optimised logging
- Added support for custom
BluetoothGatt
operations (dariuszseweryn#137) - Updated
RxJava
to 1.2.9 - Added support for scanning on Android Wear
- Internal refactoring introducing Dagger2 support
Version 1.1.0
- Fixed issue that sometimes happened where
RxBleRadioOperationConnect
was not yet subscribed while running. (dariuszseweryn#94) - Fixed issue with descriptor writing using parent characteristic write type. (dariuszseweryn#93)
- Added
BleScanException.toString()
for a more descriptive stacktrace. - Added a workaround for a bug while discovering services. (dariuszseweryn#86)
- Added a timeout for discovering services. (dariuszseweryn#86)
- Fixed calling
BluetoothGatt.disconnect()
on a correct thread. (dariuszseweryn#84) - Fixed library stuck if disconnection happened during operation execution. (dariuszseweryn#81)
- Removed reflection call to
BluetoothGatt.connect()
on Android 7.0.0+. (dariuszseweryn#83) - Removed android.support.v4 dependency.
- Added cancelling of connection establishing process.
- Reduced method count.
- Fixed
RejectedExecutionException
when processingBluetoothGattCallback
. (dariuszseweryn#25) (dariuszseweryn#75)
Version 1.0.2
- Added Mock RxAndroidBle to the repository
- Added indications handling on RxBleConnection
- Fixed scan operation concurrency issue (dariuszseweryn#17)
- Exposed android.bluetooth.BluetoothDevice in RxBleDevice (dariuszseweryn#23)
- Fixed stale RxBleRadio on RxBleOperation unhandled throw (dariuszseweryn#18)
- Fixed possible BluetoothCharacteristic value overwrites with multiple writes (dariuszseweryn#27)
- Updated
RxJava
(1.1.0 -> 1.1.7) andRxAndroid
(1.1.0 -> 1.2.1) libraries dependency - Added interface methods for usage with BluetoothCharacteristic object (dariuszseweryn#38)
- Fixed lost connection when BluetoothAdapter disabled before the connection established (dariuszseweryn#45)
- Added RxBleClient.getBondedDevices() method, thanks fracturedpsyche! (dariuszseweryn#46)
Version 1.0.1
- Fixed scan operation concurrency issue, thanks artem-zinnatullin! (dariuszseweryn#5)
- Fixed location permission requirement check (Android >=6.0)
Version 1.0.0
- Changed RxBleClient factory method name.
- After this version the public API will be maintained to avoid conflicts.
Version 0.0.4
- Removed duplicated API for connection state from RxBleConnection
- Renamed API for connection state observation in RxBleDevice
- Renamed API for notification setup, not it is RxBleConnection#setupNotification(UUID)
- Added convenience method to check current connection state
- Added ability to filter scan results with one service more easily
- Reject establishConnection calls if connection is already established
- Added adapter for sharing connections
Version 0.0.3
- Added location permission for APIs >=23
- Check if location permission is granted and location services are enabled on Android 6.0
- Fixed error callback notifying about disconnects
Version 0.0.2
- Bugfixes
- Changed API for instantiation of the client
- Added caches in sensitive places
Version 0.0.1
Initial release
- Support for main bluetooth operations (discovery, connection, read, write, notifications)