Releases: JuulLabs/kable
Release list
0.25.0
- Add
identifierproperty to Advertisement object (#518), special thanks to @francismariano for the contribution - Promote
identifierto property onPeripheralinterface (#509), thanks to @rsicarelli for reporting the issue
Android
- Remove
flowOn(Main.immediate)fromadvertisements(#537), thanks to @miwright2 for reporting the issue
flowOn(Dispatchers.Main.immediate) to your Scanner.advertisements operator chain(s), for example:
Scanner { /* .. */ }
.advertisements
.flowOn(Dispatchers.Main.immediate)
.collect {
// ..
}
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
BluetoothDeviceAndroidPeripheralto its own file (#514) - (Apple) Move
CBPeripheralCoreBluetoothPeripheralto its own file (#512) - (JavaScript) Move peripheral creation functions to their own file (#513)
- Add a unit test that validates that
SharedRepeatableActionremains 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@v2to simplify CI scripts (#498) - Use
latestversion of GitHub virtual environments (#531) - Use major-only version for
github-pages-deploy-action(#495)
0.24.0
- Expose
Advertisementas interface and provide platform specificScannerinterfaces (#479), thanks to @charlee-dev for reporting
Android
- Expose
AndroidPeripheral.type(#496) - Replace usages of deprecated
getDefaultAdapterwithBluetoothManager(#483), thanks to @StanislavChumarin for reporting - Improve location services monitoring for bluetooth availability (#467), special thanks to @mmaleiter for the contribution
Apple
- Simplify internal lifecycle of
Peripheral(#491) - Replace
SemaphorewithMutexinConnection(#490) - Reduce reliance on
CoroutineScopewithinPeripheral(#489) - Introduce
SharedRepeatableActionfor handling connect (#488)- Fixes #339, thanks to @ln-12 for reporting and @rafaelfrancisco-dev for testing
- Fixes #458, thanks to @azlekov for reporting
- Drop
iosArm32target (#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
- Introduce platform specific
Peripheralinterfaces (#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
Android
- Bump Android compile SDK to 33 (#455)
- Add
addressproperty toAndroidPeripheral(#463) - Replace deprecated
inlineclass modifier withvalue(#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
- Remove
co.touchlab:stately-iso-collectionsdependency (#437), thanks to @volo-droid for identifying this issue - Extract exceptions module (#441)
- Add
Bluetooth.BaseUuidutility for short UUIDs (#421) - Escalate deprecations (#418)
- Drop
LEGACYJavaScript compiler support (#419)
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
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.
🚀 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.availabilityflow (#335, #411) - Retrieve
Advertisement.namefrom advertisement data (#403, #401) — thanks to @azlekov and @BluestormDNA for contributing to this effort - Add property to
Advertisementto indicate if peripheral is connectable (#404)
Android
- Bump Android compile/target API to 31 (#409)
🧰 Maintenance
0.20.1
0.20.0
Android
- Use shared bluetooth state
BroadcastReceiver(#369), thanks to @nverinaud for reporting the issue and verifying the fix
Apple
🧰 Maintenance
0.19.0
0.18.1
- Reset observation state on connect if there are no subscribers (#368), thanks to @francismariano for reporting and @ebabel for verifying the fix
- Simplify
toStringrepresentation ofState(#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
🚀 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)
