Skip to content

BleGattCoroutines v0.4.0

Compare
Choose a tag to compare
@LouisCAD LouisCAD released this 05 May 21:24

Publication of this version is broken, use 0.4.1 or newer instead.

Compiled with Kotlin 1.3.31 (and kotlinx.coroutines 1.2.1).

This is an important release for BleGattCoroutines that includes fixes, improvements & new features.

Fixes

  • Fix rare hard to track uncaught exceptions caused by offer called on closed channels. (744e862)
  • Automatically request disconnect on close by default. Avoids issue where connection is not stopped by close on Android's side and prevents subsequent connections.

New features

  • Add a public bluetoothDevice property to the GattConnection interface, thanks to Brian Parma contribution.
  • Add requestMtu function on GattConnection, thanks to Bill Cauchois contribution.
  • Add first-class notifications enabling on remote device with setCharacteristicNotificationsEnabledOnRemoteDevice. This was the most requested feature.
  • Add openNotificationSubscription function to receive notifications only for a specific characteristic. This can replace usage of the notifyChannel property.

Changes

  • The notifyChannel property now returns a new subscription each time, so it is possible to have multiple consumers.
  • Exceptions to catch are now mentioned in GattConnection KDoc. (b85c9be)
  • Add workaround for Dispatchers.Main initialization doing blocking I/O (8783db9).
  • Drop main thread usage requirement. You can now use the dispatcher you want.
  • Samples and @RequiresApi annotations migrated to AndroidX.
  • Samples now properly request runtime permissions, with a single suspending function call thanks to Splitties permissions.
  • Minor doc improvements.