From 09df4b494c81fa8b6741ea14fc41435b6b3c2320 Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Fri, 23 Oct 2026 11:54:29 +0600 Subject: [PATCH] build: upgrade to Kotlin 2.4.21 and Compose Multiplatform 1.12.2 Several dependencies (coil 3.5.0, millennium, mqtt/ditchoom, composeunstyled, markdown-renderer, composewebview, kmp-zip, filekit) now ship klibs built with Kotlin 2.4, which Kotlin/Native 2.3 refuses to read, breaking the iOS build. - Bump zipline (1.28.0), mokkery (3.5.1) and ksp (2.3.12) for the new compiler - Type TOP_LEVEL_ROUTES as Set (Kotlin 2.4 inferred Set) - Import ComposeApp in iOSApp.swift, which uses ExternalUriHandler --- .../spotube/spotube/core/navigation/NavigationState.kt | 2 +- gradle/libs.versions.toml | 10 +++++----- iosApp/iosApp/iOSApp.swift | 1 + 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/composeApp/src/commonMain/kotlin/org/spotube/spotube/core/navigation/NavigationState.kt b/composeApp/src/commonMain/kotlin/org/spotube/spotube/core/navigation/NavigationState.kt index f92c91d5..3dc7461e 100644 --- a/composeApp/src/commonMain/kotlin/org/spotube/spotube/core/navigation/NavigationState.kt +++ b/composeApp/src/commonMain/kotlin/org/spotube/spotube/core/navigation/NavigationState.kt @@ -40,7 +40,7 @@ import kotlinx.serialization.modules.SerializersModule import kotlinx.serialization.modules.polymorphic import org.koin.core.component.KoinComponent -val TOP_LEVEL_ROUTES = setOf( +val TOP_LEVEL_ROUTES: Set = setOf( Routes.Home, Routes.Search, Routes.Library, diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 30e39bf7..30876263 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -28,7 +28,7 @@ appdirs = "1.5.0" cache4k = "0.14.0" carApp = "1.7.0" composeHotReload = "1.2.0" -composeMultiplatform = "1.11.1" +composeMultiplatform = "1.12.2" coil = "3.5.0" composeShimmer = "1.5.0" desugar_jdk_libs = "2.1.5" @@ -37,7 +37,7 @@ jna = "5.18.1" junit = "4.13.2" kermit = "2.1.0" kmpZip = "1.0.0" -kotlin = "2.3.21" +kotlin = "2.4.21" kotlinx-coroutines = "1.11.0" kotlinx-io = "0.9.1" kotlinx-serialization-json = "1.11.0" @@ -52,7 +52,7 @@ nucleusNucleusApplication = "2.5.18" semver = "2.1.0" vlcj = "4.12.1" vlcjNative = "4.12.0" -ziplineVersion = "1.27.0" +ziplineVersion = "1.28.0" ktor = "3.5.1" dnssdkt = "1.1.0" runner = "1.7.0" @@ -68,7 +68,7 @@ feather-icons = "1.1.1" kotlinx-datetime = "0.8.0" media3 = "1.10.1" androidx-datastore = "1.2.1" -ksp = "2.3.5" +ksp = "2.3.12" spotube-gradle = "0.1.2" cryptography = "0.6.0" reorderable = "3.1.0" @@ -76,7 +76,7 @@ vlcjBundler = "0.2.0" vanniktechMavenPublish = "0.37.0" uniffi = "0.3.7" kotlinx-atomicfu = "0.33.0" -mokkery = "3.3.0" +mokkery = "3.5.1" [libraries] appdirs = { module = "net.harawata:appdirs", version.ref = "appdirs" } diff --git a/iosApp/iosApp/iOSApp.swift b/iosApp/iosApp/iOSApp.swift index f0058387..349b4ba1 100644 --- a/iosApp/iosApp/iOSApp.swift +++ b/iosApp/iosApp/iOSApp.swift @@ -14,6 +14,7 @@ // along with this program. If not, see . import SwiftUI +import ComposeApp @main struct iOSApp: App {