0.9.0
Breaking changes:
- Use
error.errorCode == BleErrorCode.OperationCancelledinstead oferror.message == 'Cancelled' - Use
error.errorCode == BleErrorCode.BluetoothManagerDestroyedinstead oferror.message == 'Destroyed' - Reverted implementation of
monitorCharacteristicForDeviceto properly write to descriptor when last listener is unsubscribed on Android. If you expect to get new notifications as soon as you subscribe for them please use version0.8for the time being, as regression is expected.
Other:
- All API calls return
BleErrorinstance in case of errors which contains additional fields:errorCode- returns API independent and stable error code (defined inBleErrorCode).attErrorCode(optional) - platform independent ATT error code.iosErrorCode(optional) - iOS specific error code.androidErrorCode(optional) - Android specific error code.reason(optional) - platform specific message.
- Updated
BleModuleInterfacetype to fix flow errors related to usage. - Added
refreshGattoption toconnectToDevicefunction. - Parse short
localNameadvertisement data type on Android. - Don't emit state changes when BLE is not supported.
- Added
devicesandconnectedDevicesfunctions. - Fixed iOS issue related to
requiresMainQueueSetup. - Added
timeoutoption toconnectToDevice.
Docs:
- Updated dev dependencies to the latest ones.
- Added Expo section to README file.
- Added About this library section to README file.
- Updated Wiki pages
0.8.0
- Fix regression of Base64 encoding on Android platform. When large chunk of Base64 data was sent from Android it contained new lines characters.
- Updated RxAndroidBle to version 1.4.3.
- Fixed colissions in Characteristic and Service id generation on Android. The collisions had place if multiple devices with the same characteristic/service UUIDs were connected at the same time.
- Fixed dropped notifications right after setup on Android. Before there was small window when notification was monitored and listener for it wasn't mounted.
- Minor documentation updates.
0.7.0
Breaking changes:
- Migrate to Swift 4 (now requires XCode 9 or higher)
- Fixed spelling mistake
characteristic.isIndictableis nowcharacteristic.isIndicatable.
Other:
- Fixed potential memory leaks in iOS native module.
- Fixed an issue when successive scans could stop emitting scanned devices.
- Removed
bashdependency in postinstall script. - Use
--cache-buildsoption only when specific version of carthage is available. - Remove
--no-buildoption to be able to reuse prepackages frameworks. - Added option to disable building dynamic frameworks with carthage
by setting option in your app's package.json:
... "react-native-ble-plx": { "carthage": false } ...
0.6.5
- Fixed Null Pointer Exception when called
cancelDeviceConnectionon Android. - Updated gradle version to be able to use latest Android Studio.
- Added Nullable and Nonnull annotations to Android implementation.
0.6.4
- Fail explicitly when carthage fails on postinstall.
- Added
mtuproperty forDeviceobject which allows you to get current BLE MTU of device. - Added function
requestMTUForDevicewhich allows to negotiate BLE MTU of device if it is possible.
0.6.3
- Updated RxBluetoothKit library to version 3.1.1
- Updated RxAndroidBle library to version 1.4.1
- Fixed NullPointerException when calling BLE operations without previous discovery.
- iOS emits values in
monitorCharacteristicForDeviceonly when no reads are pending for specific characteristic. Previously when characteristic was notified and read operation was completed, characteristic value was received both inreadCharacteristicForDeviceandmonitorCharacteristicForDevice. Now it will only be received inreadCharacteristicForDevicepromise.
0.6.2
- Updated RxBluetoothKit library to version 3.0.14 to allow building library on XCode 9.
- Added new
localNameproperty toDeviceobject, which is set when localName is available in device's advertisement data. - Fixed build process on Windows.
- Fixed compatibility with RN 0.47
- Fixed bug when
onDeviceDisconnectedcallback was not called on iOS when Bluetooth was turned off on device. - Updated library setup instructions.
- Added option to cache native libraries built by Carthage.
0.6.1
- Updated RxAndroidBle library to version 1.3.3 which fixes internal issues which may block execution of operation queue.
- Updated dev dependencies to fix latest Flowtype issues.
- Fixed bug when
restoreStateFunctionfunction could be called multiple times on iOS.
0.6.0
- Added basic API to support background mode. When BleManager is constructed you can pass
restoreStateIdentifierandrestoreStateFunctiontoBleManagerOptionsobject to enable support for background mode. More info about usage can be found in documentation. - All subscriptions and promises are properly "Destroyed" when
destory()function is called. - Fixed bug on Android where notification messages could be duplicated or skipped.
- Updated RxAndroidBle to version 1.3
- Updated README file.
- Updated library logo
0.5.0
- Added new API for supporting unique Services and Characteristics:
Characteristic.id,Service.idfields which uniquely identify BLE objects.- All utility functions which don't require UUIDs as arguments are using
internally
idfields and therefore work faster and properly handle services/characteristics with same UUIDs. For example:characteristic.read().
- New option to enable native modules' logging system via
bleManager.setLogLevel()function. - New function to read RSSI for connected devices:
bleManager.readRSSIForDevice(). - Updated RxBluetoothKit dependency to version 3.0.12
- Updated RxAndroidBle dependency to 1.2.2
- Added tests for JS API.
- Better Flow type checking and coverage.
- Documentation was moved to
./docsfolder and now is generated by documentation.js. - Small fixes in examples.
- Updated installation steps.
0.4.0
- Device ID properties were renamed as they are not UUIDs on Android (breaking change):
Device.uuid->Device.idService.deviceUUID->Service.deviceID,Characteristic.deviceUUID->Characteristic.deviceID
- Changed signature of
onDeviceDisconnected, as Device object is always available. - Updated to Swift 3.0
- Updated to RxAndroidBle 1.1.0 and RxBluetoothKit 3.0.6
- Documentation was moved to
./docfolder and now is generated by ESDoc. - Fixed
state()invalid return type. Implementedstate()andonStateChange()for Android. - Added optional parameter to
onStateChange()function. - Fixed
monitorCharacteristicForDevice()for Android when characteristic accepts indications only. - Updated
AndroidManifest.xmlconfiguration.