Skip to content

Releases: JuulLabs/kable

0.24.0

08 Jun 09:02
f71e085
Compare
Choose a tag to compare
  • Expose Advertisement as interface and provide platform specific Scanner interfaces (#479), thanks to @charlee-dev for reporting

Logo Android

  • Expose AndroidPeripheral.type (#496)
  • Replace usages of deprecated getDefaultAdapter with BluetoothManager (#483), thanks to @StanislavChumarin for reporting
  • Improve location services monitoring for bluetooth availability (#467), special thanks to @mmaleiter for the contribution

Logo Apple

  • Simplify internal lifecycle of Peripheral (#491)
  • Replace Semaphore with Mutex in Connection (#490)
  • Reduce reliance on CoroutineScope within Peripheral (#489)
  • Introduce SharedRepeatableAction for handling connect (#488)
  • Drop iosArm32 target (#476)

🧰 Maintenance

  • Update coroutines to v1.7.1 (#482)
  • Update dependency androidx.core:core-ktx to v1.10.1 (#465, #481)
  • Update dependency com.benasher44:uuid to v0.7.1 (#493)
  • Update dependency gradle to v8.1.1 (#466)
  • Update dependency org.jetbrains.kotlin.multiplatform to v1.8.21 (#451, #472)
  • Update mheap/github-action-required-labels action to v4 (#471)
  • Update plugin android-library to v8.0.2 (#473, #477, #487)
  • Update plugin maven-publish to v0.25.2 (#470)
  • Update tuulbox to v6.4.1 (#478)
  • Use JDK 17 on CI (#475, #486)

0.23.0

17 Apr 05:48
ccb9b60
Compare
Choose a tag to compare
  • Introduce platform specific Peripheral interfaces (#447)
  • Fix "Subsequent reads hang after read fails with GattRequestRejectedException" (#450, #453), special thanks to @matejbart for the contribution, and thanks to @joharei and @cleveard for testing

Logo Android

  • Bump Android compile SDK to 33 (#455)
  • Add address property to AndroidPeripheral (#463)
  • Replace deprecated inline class modifier with value (#456)

🧰 Maintenance

  • Update dependency org.jetbrains.kotlinx:atomicfu-jvm to v0.20.2 (#452, #460)
  • Use Android source set layout version 2 (#457)
  • Suppress native dependency warnings to quiet AtomicFU warnings (#459)
  • Update plugin maven-publish to v0.25.1 (#449, #461)
  • Use new Kotlinter syntax for disabling rules (#448)
  • Update plugin kotlinter to v3.14.0 (#446)
  • Remove references to old memory model in documentation (#444)

0.22.0

13 Mar 20:13
f1ae9c2
Compare
Choose a tag to compare
  • Remove co.touchlab:stately-iso-collections dependency (#437), thanks to @volo-droid for identifying this issue
  • Extract exceptions module (#441)
  • Add Bluetooth.BaseUuid utility for short UUIDs (#421)
  • Escalate deprecations (#418)
  • Drop LEGACY JavaScript compiler support (#419)

Logo Android

  • Reduce reliance on CoroutineScope (#427)

🧰 Maintenance

  • Update plugin dokka to v1.8.10 (#443)
  • Define Android namespace via Gradle (#434)
  • Remove usages of deprecated targetSdk (#435)
  • Update dependency gradle to v8.0.2 (#431, #442)
  • Update plugin android-library to v7.4.2 (#425, #422, #439)
  • Update dependency com.benasher44:uuid to v0.7.0 (#440)
  • Update dependency org.jetbrains.kotlinx:atomicfu-jvm to v0.20.0 (#436)
  • Update binary-compatibility-validator to v0.13.0 (#432)
  • Remove documentation re: enabling new memory model (#428)
  • Update dependency org.jetbrains.kotlin.multiplatform to v1.8.10 (#397, #424)
  • Update plugin maven-publish to v0.24.0 (#423, #426)

0.21.0

10 Jan 19:20
468ec71
Compare
Choose a tag to compare

⚠️ Permissions change: Kable's permission configuration has changed, check Kable's Android Permissions documentation to ensure that your app's permission configuration is updated if needed.

⚠️ Behavior change: Advertisement.name has changed and now pulls the name from the backing scan record. For the previous behavior (pulling from the backing bluetooth device name, which is often cached), use Advertisement.peripheralName.

⚠️ API change: The scanner filtering support has been reworked to provide a common API across the supported platforms. New filters have also been added. Check out the updated Scanning documentation for details/examples.

🚀 Changes

  • Discard response after GATT operation cancellation (#376) — thanks to @joharei for reporting and testing the issue
  • Rework filter support to have a common API on all platforms (#408, #396, #415) — thanks to @PavlosTze for contributing to this effort
  • Add Bluetooth.availability flow (#335, #411)
  • Retrieve Advertisement.name from advertisement data (#403, #401) — thanks to @azlekov and @BluestormDNA for contributing to this effort
  • Add property to Advertisement to indicate if peripheral is connectable (#404)

Logo Android

  • Bump Android compile/target API to 31 (#409)

🧰 Maintenance

  • Simplify documentation re: Android permissions setup (#416)
  • Update plugin maven-publish to v0.23.1 (#413)
  • Update mheap/github-action-required-labels action to v3 (#414)
  • Update plugin kotlinter to v3.13.0 (#407)
  • Update dependency gradle to v7.6 (#406)
  • Update tuulbox to v6.4.0 (#402)

0.20.1

14 Nov 20:34
b0a33a9
Compare
Choose a tag to compare

Logo Android

  • Fix leak/bug in bluetoothState flow (#399), thanks to @dzgeorgy for identifying the bug

🧰 Maintenance

  • Update dependency com.benasher44:uuid to v0.6.0 (#398)

0.20.0

08 Nov 19:13
Compare
Choose a tag to compare

Logo Android

  • Use shared bluetooth state BroadcastReceiver (#369), thanks to @nverinaud for reporting the issue and verifying the fix

Logo Apple

  • Add support for scan options (#392), special thanks to @robvs for the contribution

🧰 Maintenance

  • Update dependency org.jetbrains.kotlin.multiplatform to v1.7.20 (#383)
  • Update plugin dokka to v1.7.20 (#391)
  • Update JamesIves/github-pages-deploy-action action to v4.4.1 (#389)
  • Update plugin android-library to v7.3.1 (#390)

0.19.0

11 Oct 19:18
59d8989
Compare
Choose a tag to compare
  • Surface bluetooth device name (#384)

Logo Apple

  • Fix empty NSData crash (#388), special thanks to @joharei for the contribution

Logo JavaScript

  • Enforce lowercase UUIDs for Web BLE filters (#385)

🧰 Maintenance

  • Update dependency org.jetbrains.kotlinx:atomicfu-jvm to v0.18.4 (#386)
  • Update plugin maven-publish to v0.22.0 (#381)
  • Update plugin android-library to v7.3.0 (#379)
  • Update plugin kotlinter to v3.12.0 (#345)

0.18.1

13 Sep 02:15
6464be1
Compare
Choose a tag to compare
  • Reset observation state on connect if there are no subscribers (#368), thanks to @francismariano for reporting and @ebabel for verifying the fix
  • Simplify toString representation of State (#364), special thanks to @ebabel for the contribution

🧰 Maintenance

  • Configure release drafter for auto versioning (#373)
  • Update dependency org.jetbrains.kotlinx:atomicfu-jvm to v0.18.3 (#361)
  • Update dependency gradle to v7.5.1 (#372)
  • Update plugin android-library to v7.2.2 (#370)
  • Update JamesIves/github-pages-deploy-action action to v4.4.0 (#362)
  • Update dependency gradle to v7.5 (#363)
  • Simplify CI by only running on MacOS (#360)

0.18.0

15 Jul 23:11
25069f7
Compare
Choose a tag to compare

🚀 Changes

Android

  • Add property for retrieving raw bytes of scan record (#357), special thanks to @kemalfaust for the contribution

🧰 Maintenance

  • Update plugin dokka to v1.7.10 (#353)
  • Update plugin maven-publish to v0.21.0 (#355)
  • Update coroutines to v1.6.4 (#352)
  • Update tuulbox to v6.3.0 (#350)
  • Update dependency com.benasher44:uuid to v0.5.0 (#354)
  • Update dependency org.jetbrains.kotlin.multiplatform to v1.7.10 (#351)
  • Update dependency org.jetbrains.kotlinx:atomicfu-jvm to v0.18.2 (#348)
  • Update JamesIves/github-pages-deploy-action action to v4.3.4 (#346)
  • Use Temurin 11 JDK for CI (#347)

0.17.2

29 Jun 19:12
4fd7c12
Compare
Choose a tag to compare

🚀 Changes

Apple

  • Add macosArm64 target to log-engine-tuulbox (#343)

JavaScript

  • Log characteristic write type on JavaScript (#329)

🧰 Maintenance

  • Update coroutines to v1.6.3 (#333)
  • Update plugin dokka to v1.7.0 (#344)
  • Update dependency com.benasher44:uuid to v0.4.1 (#338)
  • Update dependency org.jetbrains.kotlin.multiplatform to v1.7.0 (#340)
  • Update plugin maven-publish to v0.20.0 (#336)
  • Update dependency org.jetbrains.kotlinx:atomicfu-jvm to v0.17.3 (#330)
  • Update plugin android-library to v7.2.1 (#328, #331)