Skip to content

0.33.0

Compare
Choose a tag to compare
@github-actions github-actions released this 18 Jun 20:27
· 47 commits to refs/heads/main since this release
f19edf0

Important

Kable's Maven artifact IDs have changed (prefixed with kable-):

kotlin {
  sourceSets {
    commonMain.dependencies {
      implementation("com.juul.kable:kable-core:${kableVersion}")
      implementation("com.juul.kable:kable-exceptions:${kableVersion}")
      implementation("com.juul.kable:kable-log-engine-khronicle:${kableVersion}")
    }
  }
}

Kable's package names were not changed, only the Maven coordinates; you should only need to update your Gradle configuration (e.g. libs.versions.toml).

Kotlin 2.0.0 (K2) Upgrade

Kable is now built against Kotlin 2.0.0 (K2). 🎉

Note

With this upgrade, the Kotlin compiler became more restrictive with expect/actual declarations, as a result, some Kable APIs have changed:

  • Advertisement interfaces (e.g. AndroidAdvertisement, CoreBluetoothAdvertisement, etc) have been consolidated to a common PlatformAdvertisement
  • Scanner interface now defines a generic type for advertisements it will emit: Scanner<PlatformAdvertisement>

For most users, these changes should not impact your code. Some notable instances where you'll need to make code changes:

If you hold a reference to a Scanner in a variable or property, you'll need to change Scanner to use the PlatformScanner type alias, or specify the generic type explicitly, for example:

val scanner: PlatformScanner // or...
val scanner: Scanner<PlatformAdvertisement>

If you have any classes that implement the Scanner interface, you'll need to change the interface to PlatformScanner (or Scanner<PlatformAdvertisement>) and change the overridden type of the advertisements property to PlatformAdvertisement, for example:

class ExampleScanner(..) : PlatformScanner {
    override val advertisements: Flow<PlatformAdvertisement> = ..
}

🚀 Changes

  • Update dependency org.jetbrains.kotlin.multiplatform to v2 (#683)
  • Replace Tuulbox logging w/ Khronicle (#690)
  • Prefix Maven artifacts with kable- (#692)
  • Remove log-engine-tuulbox module (#689)

🧰 Maintenance

  • Update plugin android-library to v8.5.0 (#693)
  • Update tuulbox to v8 (major) (#687)
  • Update dependency gradle to v8.8 (#691)
  • Update tuulbox to v7.3.0 (#686)
  • Update Gradle documentation w/ new Maven coordinate (#694)