Skip to content

Releases: JuulLabs/kable

0.30.0

21 Mar 18:29
ff220fc
Compare
Choose a tag to compare
  • Log engine for Khronicle logging (#644)

Logo Android

  • Provide write failure as property of exception (#648), thanks to @ArtemBurmistrov for reporting the issue
  • Make AndroidAdvertisement parcelable (#652), thanks to @eddieSullivan for reporting the issue

🧰 Maintenance

  • Explicitly pull in AtomicFU dependency (#656)
  • Disable AndroidGradlePluginVersion lint check (#657)
  • Update plugin maven-publish to v0.28.0 (#655)
  • Simplify binary-compatibility-validator setup (#651)
  • Replace deprecated Gradle buildDir (#650)
  • Update AtomicFU configuration (#649)
  • Remove explicit POM_ARTIFACT_ID configuration (#645)
  • Update dependency org.jetbrains.kotlin.multiplatform to v1.9.23 (#646)
  • Update plugin dokka to v1.9.20 (#647)
  • Update plugin android-library to v8.3.0 (#640)
  • Update binary-compatibility-validator to v0.14.0 (#639)
  • Remove workaround for jvmToolchain not being honored pre AGP 8.1.0-alpha09 (#636)
  • Update plugin kotlinter to v4.2.0 (#623)

0.29.1

26 Feb 18:31
75b058b
Compare
Choose a tag to compare

Logo Android

  • Defensive copying in Android legacy, deprecated BluetoothGattCallback functions (#635)

🧰 Maintenance

  • Update tuulbox to v7.2.0 (#628)
  • Update coroutines to v1.8.0 (#633)
  • Update release-drafter/release-drafter action to v6 (#631)
  • Update dependency gradle to v8.6 (#630)
  • Update gradle/wrapper-validation-action action to v2 (#629)

0.29.0

12 Feb 07:13
c3c8adc
Compare
Choose a tag to compare
  • Add no-op JVM target (#626), special thanks to @konpach for the contribution

🧰 Maintenance

  • Update plugin android-library to v8.2.2 (#619, #625)
  • Update dependency org.jetbrains.kotlinx:atomicfu to v0.23.2 (#624)
  • Update dependency org.jetbrains.kotlin.multiplatform to v1.9.22 (#615)
  • Update plugin maven-publish to v0.27.0 (#616, #621)
  • Update tuulbox to v7.0.1 (#620)
  • Update plugin kotlinter to v4.1.1 (#618)

0.28.0

03 Jan 19:04
5c2e544
Compare
Choose a tag to compare
  • Make LoggingBuilder public (#608), special thanks to @degill for the contribution
  • Fix IOException to not drop cause (#598)

Logo Android

  • Android 14 (compile SDK 34) and BroadcastReceiver changes (#582)
  • Deprecate broadcastReceiverFlow for future removal from public API (#583)

🧰 Maintenance

  • Add kotlin-js-store to version control (#584)
  • Remove explicit enabling of inline classes (#600)
  • Update actions/setup-java action to v4 (#609)
  • Update dependency com.benasher44:uuid to v0.8.2 (#596)
  • Update dependency gradle to v8.5 (#585, #605)
  • Update dependency org.jetbrains.kotlin.multiplatform to v1.9.21 (#593, #601)
  • Update dependency org.jetbrains.kotlinx:atomicfu to v0.23.1 (#602)
  • Update plugin android-library to v8.2.0 (#581, #594, #597, #606)
  • Update plugin dokka to v1.9.10 (#589)
  • Update plugin kotlinter to v4.1.0 (#587, #603)
  • Use default hierarchy template (#599)

0.28.0-rc

27 Sep 16:41
499ad9d
Compare
Choose a tag to compare

⚠️ Release candidate

This release is considered a release candidate because it contains a major internal refactor and should be tested thoroughly before being used in production.

Please report any issues.

🚀 Changes

The error propagation for Peripheral.connect() has been improved: previously, during some edge-cases, connect() would throw CancellationException on failure rather than the underlying cause of the failure. connect() should now only throw CancellationException when explicitly cancelled by the calling code.

  • Propagate failures from connect as failures rather than cancellation (#573, #572, #578, #579, #580)
  • Provide additional details to data processor (#538)

Logo Android

  • Throw LocationManagerUnavailableException when LocationManager is unavailable (#576)
  • Throw GattRequestRejectedException when setCharacteristicNotification fails (#575)
  • Add support for autoConnect (#563, #574), thanks to @ToysoftInc, @matsch82, and @JonatanPlesko for reporting/nudging this effort along
  • Use SharedRepeatableAction for managing connect process (#516), this is a step in fixing #378 — thanks to @tomnovotny7 for reporting #378 and @solvek for reporting related issue #567

🧰 Maintenance

  • Update actions/checkout action to v4 (#570)
  • Update plugin kotlinter to v3.16.0 (#565)
  • Update tuulbox to v6.5.0 (#569)
  • Update dependency androidx.core:core-ktx to v1.12.0 (#564)

0.27.0

08 Sep 20:05
89b9b03
Compare
Choose a tag to compare

Logo Android

  • Fix Android's scanner behavior when bluetooth is off (#558)

Logo Apple

  • Workaround for CBATTErrorDomain Code=14 "Peer removed pairing information" (#553), special thanks to @francismariano for the contribution
  • Make CentralManager state restoration opt-in (#561), thanks to @mtrewartha for reporting the issue

🧰 Maintenance

  • Disable GradleDependency Android lint check (#562)
  • Update dependency com.benasher44:uuid to v0.8.1 (#559)
  • Update plugin dokka to v1.9.0 (#560)
  • Update plugin android-library to v8.1.1 (#556)
  • Update dependency org.jetbrains.kotlin.multiplatform to v1.9.10 (#555)

0.26.0

21 Aug 18:41
3a043a0
Compare
Choose a tag to compare

Logo Apple

  • CA-2351: Support iOS Backgrounding (#551, #552)

🧰 Maintenance

  • Update dependency gradle to v8.3 (#549)
  • Update dependency org.jetbrains.kotlinx:atomicfu to v0.22.0 (#550)

0.25.2

15 Aug 23:42
ddc9e4f
Compare
Choose a tag to compare

Logo Apple

  • Fix iOS hanging by using dispatch_async in dispatcher (#548), thanks to @burnhamd for reporting the issue

🧰 Maintenance

  • Update plugin android-library to v8.1.0 (#546)
  • Update dependency com.benasher44:uuid to v0.8.0 (#545)

0.25.1

01 Aug 07:49
6664b2e
Compare
Choose a tag to compare

Logo Android

  • Properly handle nulls in deprecated Android BLE callbacks (#541), thanks to @miwright2 for reporting the issue

🧰 Maintenance

  • Update coroutines to v1.7.3 (#543)
  • Use new androidTarget Gradle DSL (#542)

0.25.0

27 Jul 07:33
0a09c98
Compare
Choose a tag to compare
  • Add identifier property to Advertisement object (#518), special thanks to @francismariano for the contribution
  • Promote identifier to property on Peripheral interface (#509), thanks to @rsicarelli for reporting the issue

Logo Android

  • Remove flowOn(Main.immediate) from advertisements (#537), thanks to @miwright2 for reporting the issue

⚠️ To retain the previous behavior, add flowOn(Dispatchers.Main.immediate) to your Scanner.advertisements operator chain(s), for example:

Scanner { /* .. */ }
  .advertisements
  .flowOn(Dispatchers.Main.immediate)
  .collect {
    // ..
  }

Logo Apple

  • Remove redundant logging of peripheral identifier (#502)

🧰 Maintenance

  • Update README with explicit note about peripheral scope (#527, #536), special thanks to @rocketraman for the contribution
  • Fix typo in Android permission documentation (#528), special thanks to @juliusmh for the contribution
  • (Android) Move BluetoothDeviceAndroidPeripheral to its own file (#514)
  • (Apple) Move CBPeripheralCoreBluetoothPeripheral to its own file (#512)
  • (JavaScript) Move peripheral creation functions to their own file (#513)
  • Add a unit test that validates that SharedRepeatableAction remains active (#501)
  • Only sign local Maven publication on merges to main (#530)
  • Update coroutines to v1.7.2 (#515)
  • Update dependency gradle to v8.2 (#526, #533)
  • Update dependency org.jetbrains.kotlin.multiplatform to v1.8.22 (#499, #534)
  • Update dependency org.jetbrains.kotlinx:atomicfu to v0.21.0 (#511, #520)
  • Update mheap/github-action-required-labels action to v5 (#510)
  • Update plugin dokka to v1.8.20 (#505)
  • Update plugin kotlinter to v3.15.0 (#506)
  • Update plugin maven-publish to v0.25.3 (#525)
  • Use gradle/gradle-build-action@v2 to simplify CI scripts (#498)
  • Use latest version of GitHub virtual environments (#531)
  • Use major-only version for github-pages-deploy-action (#495)