Hey folks, in the latest `1.9.0-beta3` release the...
# compose-desktop
r
Hey folks, in the latest
1.9.0-beta3
release there's something odd with the material3 version. To quote the release notes:
Gradle Plugin
org.jetbrains.compose
, version
1.9.0-beta03
. Based on Jetpack Compose libraries:
Runtime 1.9.0-rc01
UI 1.9.0-rc01
Foundation 1.9.0-rc01
Material 1.9.0-rc01
Material3 1.3.2
Compose Material3 libraries
org.jetbrains.compose.material3:material3*:1.9.0-beta03
. Based on Jetpack Compose Material3 1.4.0-beta01
The version mentioned for the Gradle plugin conflicts with the version mentioned for the material3 library. And indeed, the
1.9.0-beta3
Gradle plugin dependency helper adds version
org.jetbrains.compose.material3:material3-adaptive-navigation-suite:1.8.2
of material3. Why is it adding a 1,8 version instead of say
1.9.0-beta03
? This is very counterintuitive
i
As mentioned in beta01 changelog:
Material3 versioning is decoupled for the Compose Multiplatform 1.9.* release due the upstream Jetpack Compose Material3 1.4 has not been released as stable yet
material3 1.4.* based will be released only after Compose 1.9 stable. Why previous version? Gradle plugin dependency helper should not refer library with less stability. With beta-beta case it's not obvious but previously it was beta-alpha and in future it will be stable 1.9 plugin <-> beta meterial3. However meterial3 library is still published in order to provide access to recent 1.4 based versions. Why 1.8/1.9? Historical reasons - previously, it was always released with Compose with shared version, so now 1.4 is already published and we cannot follow Google's versioning here anymore
r
Ah, I see. That's still a quite surprising experience but I see why you did it. Will the base and material3 versions be permanently decoupled in the future?
i
Well, it was always decoupled on Google side, and it seems the old approach doesn't work anymore. So in general yes, but it doesn't mean that we'll never release them in the same time
t
But the same changelog mentions it is based on material3 1.3.2 and also material3 1.4.0-beta01. I guess the second version is incorrect?
Compose Material3 libraries org.jetbrains.compose.material3:material3*:1.9.0-beta03. Based on Jetpack Compose Material3 1.4.0-beta01
i
Everything is correct. 1. Gradle Plugin ... Based on Jetpack ... 1.3.2 2. Compose Material3 libraries ... Based on Jetpack ... 1.4.0-beta01 in meaning that
compose.material3
helper alias points to material 3 based on 1.3.2 (
org.jetbrains.compose.material3:material3*:1.8.2
is based on Google's 1.3.2) Also we published
org.jetbrains.compose.material3:material3*:1.9.0-beta03
that based on 1.4.0-beta01. It's not accessible via plugin alias.
❤️ 1
And we're currently thinking how to make things more clear and reduce confusions. No final decision yet. Issues to track it: • CMP-5861 Rethink project dependencies in users' project • CMP-7613 Consider deprecating aliases
compose.material3
, etc in favour of using Gradle version catalog
o
+1 in favor of clearing up the confusion behind this dependency management; I've paused upgrading to new compose-multiplatform beta versions because it always ends up breaking something with Material or Adaptive
👍 3
plus1 2