Skip to content

Releases: JuulLabs/kable

0.10.0

10 Sep 06:23
6b4ca38

Choose a tag to compare

🏗️ New Features

0.9.2

30 Aug 04:51
5da13db

Choose a tag to compare

See 0.9.0 release notes for details on the new connection state behavior.

🐛 Bug Fixes

  • Fix characteristic observations on Apple and JavaScript targets (#155)
Platform Peripheral.observe status
Android ✅  Works
Apple ✅  Works
JavaScript ✅  Works

0.9.1

29 Aug 01:13
00047d9

Choose a tag to compare

🐛 Bug Fixes

  • Android observe should suspend until Connecting.Observes OR Connected (#154)
Platform Peripheral.observe status
Android ✅  Works
Apple ⚠️  Broken
JavaScript ⚠️  Broken

0.9.0 (Do Not Use)

28 Aug 18:55
82e2581

Choose a tag to compare

⚠️ observe bug

0.9.0 introduced a bug in observations on all platforms, preventing them from being created except during the Connecting.Observes state. This bug is fixed on Android in 0.9.1, and all platforms in 0.9.2.

Platform Peripheral.observe status
Android ⚠️  Broken
Apple ⚠️  Broken
JavaScript ⚠️  Broken

Changes

  • Add Connecting sub-states; delay Connected state until ready (#153), thanks to @francismariano for reporting the issue

Peripheral connection states have been updated, the Connecting State is now split into the following sub-states:

  • Connecting.Bluetooth
  • Connecting.Sevices
  • Connecting.Observes

See State.kt for additional info on these states. Note that Connected is now emitted after Peripheral has gone through these 3 steps. (Connecting.Services is the timeline-equivalent of pre-0.9.0's Connected).

0.8.0

26 Aug 23:00
52c5d56

Choose a tag to compare

🏗️ New Features

  • Add logging support (#131)

0.7.2

10 Aug 10:34
d23b498

Choose a tag to compare

🐛 Bug Fixes

  • Fix subsequent observations stalling on JavaScript (#149)

0.7.1

22 Jul 21:58
97069df

Choose a tag to compare

🏗️ New Features

  • Add iosArm32 support (#113), special thanks to @Jahor for the contribution

🐛 Bug Fixes

  • Fix requestPeripheral when using Kotlin/JS IR compiler (#146)
  • Only attempt to stop observation if previously observed (#145), thanks to @solvek for reporting/testing

0.7.0

12 Jul 22:01
3d6ca41

Choose a tag to compare

  • Remove dependency on native-mt version of Coroutines (#134, #140)
  • Replace usages of deprecated sendBlocking with trySendBlocking (#138)

🏗️ New Features

  • JavaScript IR Support (#126), special thanks to @KVelasco for contributing and testing

🐛 Bug Fixes

  • Handle peripheral initiated MTU changes (#135), thanks to @mediaController for reporting the issue
  • Handle bluetooth adapter state changes (#133, #137), special thanks to @cedrickcooke for contributing and @wrsx for reporting/testing

Note: -native-mt Coroutines is no longer configured as a transitive dependency. If you are using Kable on Native (e.g. Apple) targets, please update your Gradle configuration accordingly; refer to updated example configuration in README for guidance.

0.6.0

25 Jun 05:54
c58d57a

Choose a tag to compare

  • Route observation re-wiring exceptions through observe Flows (#120)
  • Bump dependency versions (#100)
    • Kotlin 1.5.10
    • Coroutines 1.5.0

🏗️ New Features

  • Add support for service filtering during scanning (#117), special thanks to @burnhamd for the contribution
  • Support requesting connection priority on Android (#125), thanks to @mtrewartha for testing
  • Support constructing Peripherals using builder lambda (#108)

🐛 Bug Fixes

  • Only write indicate or notify to CCCD on Android (#121), thanks to @nspeeD for reporting and debugging
  • Propagate early characteristic changes (#110), thanks to @Devinete for reporting and debugging

0.5.1

25 May 19:19
57edad1

Choose a tag to compare

🐛 Bug Fixes

  • Prevent concurrent I/O operations on JavaScript (#98)
  • Ignore NotReadyException when stopping observations on Apple (#101) — thanks to @francismariano for reporting the issue