Skip to content

Commit c0eb527

Browse files
forketyforkSergei Petunin
authored andcommitted
Clarify deprecation message for materialIconsExtended (#5520)
## Problem When using `compose.materialIconsExtended` in Compose Multiplatform 1.10+, developers see the deprecation warning: ``` 'val materialIconsExtended: String' is deprecated. Specify dependency directly. ``` This message is confusing because it implies you can simply switch to a direct dependency like other Compose artifacts. However, unlike `compose.runtime` or `compose.ui`, the `material-icons-extended` artifact is **intentionally pinned to version 1.7.3** and newer versions aren't published. When developers try to follow the deprecation guidance by adding: ```kotlin implementation("org.jetbrains.compose.material:material-icons-extended:1.10.0") ``` They get a dependency resolution failure because this artifact doesn't exist at that version. I ran into this while updating dependencies in a project and spent some time investigating before discovering that the artifact was intentionally discontinued after 1.7.3. ## Solution This PR updates the deprecation message to be more helpful: ```kotlin @deprecated( "This artifact is pinned to version 1.7.3 and will not receive updates. " + "Either use this version explicitly or migrate to Material Symbols (vector resources). " + "See https://kotlinlang.org/docs/multiplatform/whats-new-compose-180.html", replaceWith = ReplaceWith("\"org.jetbrains.compose.material:material-icons-extended:1.7.3\"") ) ``` The new message: - Explains that the artifact is pinned and won't receive updates - Offers two clear migration paths: use 1.7.3 explicitly, or migrate to Material Symbols - Links to the documentation that explains the change ## Context - PR #5462 introduced the deprecation for all dependency aliases - PRs #5151 and #5247 pinned the material-icons-extended version to 1.7.3 - The "What's new in 1.8" docs explain the removal but the deprecation message doesn't connect the dots ## Testing Built the gradle-plugins module locally and verified the deprecation message appears correctly. ## Release Notes ### Highlights - Multiple Platforms - Improved the deprecation message for `compose.materialIconsExtended` to explain that the artifact is pinned to version 1.7.3 and suggest migration to Material Symbols Co-authored-by: Sergei Petunin <Sergei.Petunin@jetbrains.com>
1 parent 924efbb commit c0eb527

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ComposePlugin.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,12 @@ abstract class ComposePlugin : Plugin<Project> {
9292
val uiUtil get() = composeDependency("org.jetbrains.compose.ui:ui-util")
9393
@Deprecated("Specify dependency directly", replaceWith = ReplaceWith("\"org.jetbrains.compose.ui:ui-tooling-preview:${ComposeBuildConfig.composeVersion}\""))
9494
val preview get() = composeDependency("org.jetbrains.compose.ui:ui-tooling-preview")
95-
@Deprecated("Specify dependency directly", replaceWith = ReplaceWith("\"org.jetbrains.compose.material:material-icons-extended:1.7.3\""))
95+
@Deprecated(
96+
"This artifact is pinned to version 1.7.3 and will not receive updates. " +
97+
"Either use this version explicitly or migrate to Material Symbols (vector resources). " +
98+
"See https://kotlinlang.org/docs/multiplatform/whats-new-compose-180.html",
99+
replaceWith = ReplaceWith("\"org.jetbrains.compose.material:material-icons-extended:1.7.3\"")
100+
)
96101
val materialIconsExtended get() = "org.jetbrains.compose.material:material-icons-extended:1.7.3"
97102
@Deprecated("Specify dependency directly")
98103
val components get() = CommonComponentsDependencies

0 commit comments

Comments
 (0)