Skip to content

Releases: JuulLabs/kable

0.17.1

06 May 18:12
5402585
Compare
Choose a tag to compare

🚀 Changes

JavaScript

  • Fix connect exception propagation (#327)

🧰 Maintenance

  • Update plugin dokka to v1.6.21 (#325)

0.17.0

27 Apr 07:16
2e013c0
Compare
Choose a tag to compare

🚀 Changes

Android

  • Throw BluetoothDisabledException instead of IllegalStateException on scan (#323)

🧰 Maintenance

  • Update JamesIves/github-pages-deploy-action action to v4.3.3 (#321, #324)
  • Update dependency co.touchlab:stately-iso-collections to v1.2.3 (#317, #322)
  • Update plugin kotlin-multiplatform to v1.6.21 (#318)
  • Update plugin dokka to v1.6.20 (#316)

0.16.1

13 Apr 08:36
e15368d
Compare
Choose a tag to compare

🚀 Changes

Android

  • Retry service discovery if no services are discovered (#304)

Apple

  • Fix write "without response" support (#312), thanks to @renatosmf for reporting the issue
  • Fix Peripheral state not updating upon connection (#300), special thanks to @burnhamd for the contribution
  • Check bluetooth state prior to connecting (#291, #310), special thanks to @burnhamd for the contribution

🧰 Maintenance

  • Update plugin kotlinter to v3.10.0 (#306)
  • Remove SNAPSHOT publication (#309)
  • Update plugin kotlin-multiplatform to v1.6.20 (#296)
  • Update org.jetbrains.kotlinx to v1.6.1 (#301)
  • Update plugin android-library to v7.1.3 (#305)
  • Update JamesIves/github-pages-deploy-action action to v4.3.0 (#302)
  • Update dependency gradle to v7.4.2 (#294)

0.16.0

30 Mar 17:53
8576251
Compare
Choose a tag to compare

🚀 Changes

  • Escalate deprecations (#289)
  • Propagate observation rewire failures during connection as reconnection failures (#285)

⚠️ Behavior change: A failure to spin-up observations on connect will no longer propagate failures to the corresponding observation flows. Instead, the failure will propagate through the Peripheral.connect function and cancel the underlying connection — leaving observation flows in an active state. See Peripheral.kt KDoc documentation for more details.

Android & Apple

  • Add ability to create peripheral from identifier (#280), special thanks to @burnhamd for the contribution

Android

  • Update Android Gradle configuration and set target API to 30 (#284)

Apple

  • Add disconnect to Apple peripheral when CBCentralManager turns off (#287), special thanks to @burnhamd for the contribution

🧰 Maintenance

  • Update com.juul.tuulbox to v6.2.0 (#292)
  • Update actions/cache action to v3 (#283)

0.15.0

17 Mar 21:47
b43e3a7
Compare
Choose a tag to compare

🚀 Changes

  • Add Apple Silicon support (#209), special thanks to @lammertw for the contribution
    • iOS was already supported but this version adds support for arm64 (e.g. Apple silicon such as M1) for the following targets:
      • JavaScript
      • MacOS
      • iOS simulators

0.14.2

14 Mar 22:41
a68a3a8
Compare
Choose a tag to compare

🚀 Changes

Javascript

  • Wrap DOMException (#274)
  • Refactor Javascript Connect/Disconnect (#255)

🧰 Maintenance

  • Update com.juul.tuulbox to v6.0.1 (#271, #279)
  • Update dependency gradle to v7.4.1 (#276)
  • Automatically close/release on publication to Sonatype (#275)
  • Update actions/checkout action to v3 (#273)
  • Update plugin maven-publish to v0.19.0 (#272)
  • Drop Kotlin/JS extensions and use internal jso instead (#269)
  • Update actions/setup-java action to v3 (#270)
  • Update plugin android-library to v7.1.2 (#268)

0.14.1

22 Feb 17:58
13aea06
Compare
Choose a tag to compare

🚀 Changes

Apple

  • Remove explicit freezes on Native (#265)

🐛 Bug Fixes

  • Properly propagate observation cancellations (#266)

Fixes regression in 0.14.0 that caused cancellations of observe flows to be routed through the observation exception handler (rather than allowing the flow to cancel normally).

🧰 Maintenance

  • Update plugin kotlinter to v3.9.0 (#267)
  • Update JamesIves/github-pages-deploy-action action to v4.2.5 (#263)

0.14.0

17 Feb 03:01
260f0cd
Compare
Choose a tag to compare

🚀 Changes

🧰 Maintenance

  • Update dependency org.jetbrains.kotlin-wrappers:kotlin-extensions to v1.0.1-pre.299-kotlin-1.6.10 (#257, #261, #262)
  • Update plugin android-library to v7.1.1 (#248)
  • Update dependency androidx.startup:startup-runtime to v1.1.1 (#260)
  • Update dependency gradle to v7.4 (#259)
  • Update dependency org.jetbrains.kotlinx:atomicfu-jvm to v0.17.1 (#258)

0.13.0

04 Feb 21:57
941c8ad
Compare
Choose a tag to compare

🚀 Changes

  • Make services direct references and match properties for I/O (#238), special thanks to @solvek for reporting the issue and providing inspiration for the implementation

ℹ️ Note: This is a potentially breaking change for users of peripherals that have incorrect (or missing) characteristic properties:
characteristicOf will now only match characteristics with the expected property; in other words, when performing characteristic I/O, the following properties must be on the characteristic:

Characteristic action Required property
read(..) read
write(.., WithResponse) write
write(.., WithoutReponse) writeWithoutResponse
observe(..) notify or indicate

If a sought after characteristic does not have the required property, then NoSuchElementException will be thrown at the time of the I/O operation. If you're communicating with a peripheral that has incorrect (or missing) characteristic properties, then you'll need to manually traverse the Peripheral.services to locate the desired Characteristic to perform I/O against.

See I/O documentation for more details.

🧰 Maintenance

  • Update dependency org.jetbrains.kotlin-wrappers:kotlin-extensions to v1.0.1-pre.293-kotlin-1.6.10 (#247, #249, #253)
  • Update JamesIves/github-pages-deploy-action action to v4.2.3 (#252)

0.12.0

18 Jan 22:02
99d7170
Compare
Choose a tag to compare

🚀 Changes

  • Optimize observation handling (#193)
    • Should fix intermittent GattRequestRejectedExceptions on connection loss
    • Peripheral.state is now exposed as a StateFlow (was previously a Flow)

🐛 Bug Fixes

Apple

🧰 Maintenance

  • Update dependency com.juul.tuulbox:logging to v5.1.0 (#244)
  • Update dependency com.benasher44:uuid to v0.4.0 (#245)