diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml index 56c25ee01f..5877ff2fad 100644 --- a/.idea/kotlinc.xml +++ b/.idea/kotlinc.xml @@ -8,6 +8,6 @@ \ No newline at end of file diff --git a/commons/build.gradle.kts b/commons/build.gradle.kts index 0cec8f4877..8def899ef0 100644 --- a/commons/build.gradle.kts +++ b/commons/build.gradle.kts @@ -1,23 +1,5 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget -import org.jetbrains.kotlin.gradle.plugin.mpp.DisableCacheInKotlinVersion -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeCacheApi -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget -import org.jetbrains.kotlin.gradle.plugin.mpp.TestExecutable - -// Disables the Kotlin/Native compiler cache for an iOS test binary so the -// Compose ui-uikit klib recompiles fresh instead of linking the broken prebuilt -// cache (see the call site in the `kotlin {}` block). The version guard makes -// Kotlin re-surface this workaround once we move past 2.3.21, so it can be -// dropped when a newer Compose/Kotlin pairing fixes the cache. Wrapped in a -// helper because @OptIn only applies to declarations, not bare statements. -@OptIn(KotlinNativeCacheApi::class) -fun TestExecutable.disableUiKitPrebuiltCache() = - disableNativeCache( - DisableCacheInKotlinVersion.`2_3_21`, - "Compose ui-uikit prebuilt cache references UIViewLayoutRegion (iOS 17+); " + - "linking the iOS test binary fails under Xcode 16.4.", - ) plugins { alias(libs.plugins.kotlinMultiplatform) @@ -68,22 +50,6 @@ kotlin { iosArm64() iosSimulatorArm64() - // Compose Multiplatform 1.11.0 ships an `org.jetbrains.compose.ui:ui-uikit` - // prebuilt Kotlin/Native cache whose CMPLayoutRegion object hard-references - // the UIKit class `UIViewLayoutRegion` (introduced in iOS 17). Linking the - // iOS *test* executable against that cache under Xcode 16.4 fails with - // ld: Undefined symbols: _OBJC_CLASS_$_UIViewLayoutRegion - // because the cached object was built for a newer simulator SDK (18.5) than - // the test binary is being linked for (14.0). Disabling the native cache for - // the iOS test binaries makes ui-uikit recompile against the active SDK, - // where the symbol resolves. See disableUiKitPrebuiltCache() below and - // https://kotl.in/disable-native-cache - targets.withType().configureEach { - binaries.withType().configureEach { - disableUiKitPrebuiltCache() - } - } - sourceSets { commonMain { dependencies { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ea4bcc99a7..2841552c22 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,7 +5,7 @@ app = "1.11.0" accompanistAdaptive = "0.37.3" cachemapVersion = "0.2.4" -composeMultiplatform = "1.11.0" +composeMultiplatform = "1.11.1" activityCompose = "1.13.0" agp = "9.2.1" android-compileSdk = "37" @@ -16,24 +16,24 @@ appcompat = "1.7.1" audiowaveform = "1.1.2" benchmark = "1.5.0-alpha06" biometricKtx = "1.2.0-alpha05" -coil = "3.4.0" +coil = "3.5.0" composeBom = "2026.05.01" composeRuntimeAnnotation = "1.11.2" -coreKtx = "1.18.0" +coreKtx = "1.19.0" datastore = "1.2.1" devWhyolegCryptography = "0.6.0" espressoCore = "3.7.0" -firebaseBom = "34.14.0" +firebaseBom = "34.14.1" fragmentKtx = "1.8.9" gms = "4.4.4" -jacksonModuleKotlin = "2.21.4" +jacksonModuleKotlin = "2.22.0" javaKeyring = "1.0.4" kmpTorRuntime = "2.6.0" kmpTorResource = "409.5.0" junit = "4.13.2" kchesslib = "1.0.5" -kotlin = "2.3.21" -kotlinxCollectionsImmutable = "0.4.0" +kotlin = "2.4.0" +kotlinxCollectionsImmutable = "0.5.0" kotlinxCoroutinesCore = "1.11.0" kotlinxSerialization = "1.11.0" genaiProofreading = "1.0.0-beta1" @@ -52,7 +52,7 @@ kotlinx-coroutines-test = "1.11.0" negentropyKmp = "v1.0.2" netUrlencoderLibVersion = "1.6.0" navigationCompose = "2.9.8" -okhttp = "5.3.2" +okhttp = "5.4.0" runner = "1.7.0" secp256k1KmpJniAndroid = "0.23.0" schnorr256k1Kmp = "1.0.5" @@ -61,10 +61,10 @@ slf4j = "2.0.18" spotless = "8.6.0" streamWebrtcAndroid = "1.3.10" translate = "17.0.3" -jetbrainsCompose = "1.11.0" +jetbrainsCompose = "1.11.1" unifiedpush = "3.0.10" playServicesCast = "22.3.1" -vico-charts-compose = "3.1.0" +vico-charts-compose = "3.2.2" zelory = "3.0.1" zoomable = "2.12.0" composemediaplayer = "0.10.0"