0.9.0
Breaking changes:
- Use
error.errorCode == BleErrorCode.OperationCancelledinstead oferror.message == 'Cancelled' - Use
error.errorCode == BleErrorCode.BluetoothManagerDestroyedinstead oferror.message == 'Destroyed'
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- 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.
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.