1.6.0
This release reformats a bunch of Android code.
- [fix] Dart: close BufferStream listen on stopScan
- [improve] Dart: don't repropogate Mutex error
- [improve] Dart: better stacktrace on error for Characteristic Read/Write
- [improve] MacOS: use symbolic links to iOS version, to keep internal code in sync
- [improve] Android: reformat code
1.5.2
- [fix] Android: setNotification was throwing exception (regression)
1.5.1
- [fix] Dart: issue where startScan can hang forever (regression)
- [fix] Dart: some scanResults could be missed due to race condition (theoretically)
- [improve] Dart: dont export util classes & functions. they've been made library-private.
- [improve] iOS: prepend all iOS logs with '[FBP-iOS]' prefix
- [improve] iOS: log errors on failure
- [improve] iOS: logs now adhere to logLevel
1.5.0
This release closes many open issues on Github.
- [fix] Dart: writeCharacteristic (and other similar functions) exception could be missed
- [fix] Dart: setNotifyValue should check for success and throw error on failure
- [fix] Dart: race conditions in connect(), disconnect(), readRssi(), writeCharacteristic(), readCharacteristic()
- [fix] iOS: Bluetooth adapter being stuck in unknown state
- [fix] iOS: dropping packets during bulk write without response
- [fix] Example: android permissions
- [improve] Dart: add isScanningNow variable
- [improve] add support for macOS
- [improve] Android: replace deprecated bluetooth enable with 'Enable-Intent'
- [improve] Android: Removed maxSdkVersion=30 in manifest
- [improve] Android: add function: setPreferredPh
- [improve] Android: add function: removeBond
- [improve] Android: add function: requestConnectionPriority
- [improve] Android: allow for simultaneous MAC and ServiceUuid ScanFilters
- [improve] Android: request location permission on Android 12+ when scanning (needed on some phones)
- [improve] iOS: Use CBCentralManagerOptionShowPowerAlertKey for better UI popups
- [improve] Dart: Removed RxDart and other dependencies