⚠️ Breaking Changes
-
Escalate deprecation of
Bluetooth.availability(#977)
If you previously relied onBluetooth.availability, you'll now need to maintain your own version in your codebase. -
Rename experimental API annotation (#1114)
Be sure to change references for Kable'sExperimentalApitoExperimentalKableApi.
🔨 Changes
- Drop usage of AtomicFu plugin (#1163)
- Expose internal/private platform specific fields (#1028, #1197), thanks to @zerodea!
🤖 Android
- Wrap Android connect permission failures (#1167), thanks to @himu-gupta!
- Update
android-compileversion to 37 (#1162)
🍎 Apple
- Add timeout for write-without-response (#1186), thanks to @LuoPeiQin!
Note
This is a behavior change, whereas writes (without response) will no longer wait indefinitely for Core Bluetooth to notify it is ready for the next write. If you were relying on the previous behavior then the timeout can be configured via the peripheral builder property writeWithoutResponseTimeout to a large timeout (e.g. Duration.INFINITE).
🧰 Maintenance
- Update plugin kotlinter to v5.6.0 (#1070, #1195)
- Update dependency androidx.lifecycle:lifecycle-common to v2.11.0 (#1175, #1190)
- Update Gradle to v9.6.1 (#1183)
- Update dependency org.jetbrains.kotlin-wrappers:kotlin-wrappers-bom to v2026.7.0 (#1164, #1169, #1179, #1184)
- Update actions/checkout action to v7 (#1178)
- Update dependency org.jetbrains.kotlinx:kotlinx-datetime to v0.8.0-0.6.x-compat (#1170)
- Update Rust crate dbus to v0.9.12 (#1194)
- Update dependency androidx.compose.ui:ui to v1.11.4 (#1172, #1189, #1193)
- Update plugin maven-publish to v0.37.0 (#1177)
- Update dependency gradle to v9.6.0 (#1176)
- Update Rust crate uniffi to v0.31.2 (#1173)
- Update dependency androidx.core:core-ktx to v1.19.0 (#1161)
- Update dependency org.jetbrains.kotlinx:kotlinx-io-core to v0.9.1 (#1187)
- Update Rust crate uuid to v1.23.4 (#1165, #1180)
- Update plugin android-library to v9 (#1124)
- Update Rust crate anyhow to v1.0.103 (#1181)
- Update jna to v5.19.1 (#1159, #1171)