- Reverted universal_ble to 0.12.0 because 0.13.0 does not seem to connect at all on iOS
- Updated universal_ble package to latest version
-
Improved BLE reliability
-
Checking device connectivity state during [connect] call to avoid re-attempting BLE connection to already connected device
-
Requests are now serialized to prevent issues caused by race conditions (they were very common for unawaited requests)
-
Added reusable
LedgerSimpleOperation
encapsulating the standard structure of ledger requests -
Added
LedgerComplexOperation
for requests that require multiple (and possibly conditional) chunks of data to be sent as part of a single transaction flow
- [ConnectionTimeoutException] is now [EstablishConnectionException] which contains a nested exception for the failure reason
It is strongly recommended to extend LedgerComplexOperation
for transactions requiring multiple chunks of data to be sent because it uses an internal
queue to serialize each chunk and make sure:
- order is maintained
- no other (differnt) operation will send any data/request to Ledger before current transaction is completed
- Improved BLE device type detection (thanks to @konstantinullrich)
- Improved error reporting
- Added support and detection for all ledger devices (thanks to @konstantinullrich)
- Removed a pointless
disconnect
call which was causing PlatformException (thanks to @konstantinullrich)
- Fix connection bug (spotted on Android)
- Added explicit BLE pair check and pair request if not paired
- Fixed
ConcurrentModificationError
thrown when trying to connect device
- Updated major universal_ble version
- Fixed BLE Manager dispose (previously not disconnecting ledger device on dispose)
- Updated universal_ble and ledger_usb_plus versions
- Fixed merging of partial BLE responses of max 20 bytes (observed on some android devices)
- Made LedgerDevice constructor public
- Improved BLE handling for scanning / stopping scanning
- Exported a few more classes
- [Fix from 1.0.8] Small internal changes to expose some classes via
ledger_flutter_plus_dart.dart
(no flutter imports)
- Small internal changes to expose some classes via
ledger_flutter_plus_dart.dart
(no flutter imports)
- Improved API for connecting to ledger and managing active connection(s)
- Removed some optional LedgerOptions that could be passed for connect/scan
- Renamed
LedgerOptions
toBluetoothOptions
- Removed possibility to pass
mtu
option
- Improved disposal management
- Some internal cleanup and changes to return correct LedgerDevice object (including name/etc)
- Changed
disconnect
do be done by deviceId instead ofLedgerDevice
object
- Added connection lost error
- Instantiate from now on using LedgerInterface.usb and LedgerInterface.ble
- Added WEB support for both usb and ble
- Changed package name
- Initial release.