Supported versions
Supported versions
Covered groups
The plugin redirects these org.jetbrains.* groups to their dev.sajidali.* tvOS-fork twin
whenever a tvOS Kotlin target requests them (“covered” means: the plugin will look for a tvOS
klib for any artifact under these groups, official-first, falling back to the fork):
org.jetbrains.compose.uiorg.jetbrains.compose.foundationorg.jetbrains.compose.runtimeorg.jetbrains.compose.materialorg.jetbrains.compose.material3org.jetbrains.compose.animationorg.jetbrains.compose.componentsorg.jetbrains.compose.annotation-internalorg.jetbrains.compose.collection-internalorg.jetbrains.compose.material3.adaptive(adaptive,adaptive-layout,adaptive-navigation,adaptive-navigation3) andmaterial3-adaptive-navigation-suite— published by the fork, includingandroidx.window:window-core, which the fork now builds a real tvOS Kotlin/Native target for. No extra configuration needed: the same-version convention coversadaptive, andwindow-corearrives transitively through the fork’s own module metadata.org.jetbrains.androidx.navigation(including thenavigation-composeartifact)org.jetbrains.androidx.lifecycle(includinglifecycle-viewmodel-compose)org.jetbrains.androidx.savedstate(includingsavedstate-compose)org.jetbrains.androidx.navigationeventorg.jetbrains.androidx.navigation3(includingnavigation3-ui)
Three third-party groups are redirected by default as well (a consumer’s
own additionalGroups can still override them):
androidx.tv(tv-material) →dev.sajidali.androidx.tv— the fork’s Compose Multiplatform port of Android TV’stv-materialio.insert-koin→dev.sajidali.koin— only the modules upstream Koin does not ship tvOS klibs for (koin-compose,koin-compose-viewmodel);koin-core/koin-core-viewmodelare official-first and stay on the stock artifactio.coil-kt.coil3→dev.sajidali.coil3— Coil 3 (coil,coil-core,coil-compose,coil-compose-core,coil-network-core,coil-network-ktor3,coil-network-cache-control,coil-svg)
That’s 15 JetBrains groups plus the three third-party groups. Add further groups/artifacts of your own with
composeTvos.additionalGroups/additionalArtifacts (see the
configuration reference) — useful for third-party KMP
libraries that publish their own tvOS-less umbrella artifacts the same way JetBrains does. See
Library authors if you maintain one of those libraries yourself.
Version matrix
The fork republishes upstream Compose Multiplatform/AndroidX libraries under dev.sajidali.*
with tvOS klibs added. Versions currently published (verify against the
manifest
). Every version below is the version JetBrains published; the fork mirrors it exactly:
| Component | Published dev.sajidali version |
|---|---|
compose.{ui,foundation,runtime,animation,material,components} |
1.12.0 |
compose.material3 (JetBrains’ pairing for the 1.12.0 Compose line) |
1.12.0-alpha03 |
androidx.lifecycle.* |
2.11.0 |
androidx.navigation.* (incl. navigation-compose) |
2.10.0-alpha02 |
androidx.navigation3.* (navigation3-ui) |
1.2.0-alpha02 |
androidx.navigationevent.* (navigationevent-compose) |
1.1.1 |
androidx.savedstate.* (incl. savedstate-compose) |
1.5.0-alpha01 |
compose-gradle-plugin (the org.jetbrains.compose fork used by plugin-marker interception) |
1.12.0 |
compose.material3.adaptive (adaptive, adaptive-layout, adaptive-navigation, adaptive-navigation3) |
1.3.0-beta02 |
material3-adaptive-navigation-suite |
1.12.0-alpha03 |
androidx.window.window-core (transitive dependency of material3.adaptive) |
1.6.0-alpha02 |
androidx.tv (tv-material) |
1.1.0-alpha01 |
koin (koin-compose, koin-compose-viewmodel) |
4.2.2 |
coil3 (see Requirements — needs Kotlin 2.4.x) |
3.6.1 |
Version policy: exact JetBrains versions, no mappings
The fork mirrors JetBrains coordinates one-to-one. For every org.jetbrains.X:Y:V it publishes
dev.sajidali.X:Y:V at the identical version, differing only by the added tvOS klibs. The
version you request is the version you get.
There are no version mappings, and there will not be any. A request for 1.12 resolves to 1.12
and a request for 1.11 resolves to 1.11 or fails. Cross-version substitution is forbidden,
because your tvOS target would then compile against a different API surface than every other
target in the same source set, and a stable-to-alpha substitution is worse still. If the fork has
not published the version you asked for, the plugin fails and names the coordinate rather than
quietly serving you something else.
Compose 1.12.0 is the supported floor. Older Compose lines are not back-published. If you want tvOS, move to Compose 1.12.0 or newer; every library in the community-verified table did exactly that.
The manifest still exists for one non-version reason: gradlePlugin pins which
dev.sajidali.compose:compose-gradle-plugin the org.jetbrains.compose plugin-marker
interception substitutes. It is single-valued because only one Compose line is supported.
Not (yet) supported
tvosX64(the legacy Intel tvOS simulator target) is not built by the fork and not redirected by this plugin — onlytvosArm64andtvosSimulatorArm64are covered.- Everything else under the covered groups above is currently supported, including
compose.material3.adaptiveandandroidx.window:window-core— there are no outstanding exclusions in the covered set as of this writing.