Skip to content

Comments

Clarify deprecation message for materialIconsExtended#5520

Merged
MatkovIvan merged 1 commit intoJetBrains:masterfrom
forketyfork:fix/material-icons-extended-deprecation-message
Jan 26, 2026
Merged

Clarify deprecation message for materialIconsExtended#5520
MatkovIvan merged 1 commit intoJetBrains:masterfrom
forketyfork:fix/material-icons-extended-deprecation-message

Conversation

@forketyfork
Copy link
Contributor

@forketyfork forketyfork commented Jan 26, 2026

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:

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:

@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

Testing

Built the gradle-plugins module locally and verified the deprecation message appears correctly.

Release Notes

Fixes - 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

The current deprecation message "Specify dependency directly" is
misleading because it suggests a migration path that doesn't fully
work - the material-icons-extended artifact is intentionally pinned
to version 1.7.3 and newer versions aren't published.

This change updates the message to:
- Explain that the artifact is pinned and won't receive updates
- Suggest either using version 1.7.3 explicitly or migrating to
  Material Symbols (vector resources)
- Link to the relevant documentation
@MatkovIvan MatkovIvan requested a review from kropp January 26, 2026 09:48
@MatkovIvan MatkovIvan merged commit d5061a8 into JetBrains:master Jan 26, 2026
13 checks passed
@MatkovIvan
Copy link
Member

Thanks!

Notes:

  • A section in release notes was updated to "Fixes"
  • Created YT ticket for properly tracking this: CMP-9684
  • I'll prepare a cherry-pick into 1.10.1

MatkovIvan pushed a commit that referenced this pull request Jan 26, 2026
## 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 <[email protected]>
@MatkovIvan MatkovIvan changed the title Clarify deprecation message for materialIconsExtended Clarify deprecation message for materialIconsExtended Jan 26, 2026
Kpotko added a commit that referenced this pull request Jan 26, 2026
See #5520 for details
Fixes [CMP-9684](https://youtrack.jetbrains.com/issue/CMP-9684) Clarify
deprecation message for materialIconsExtended

## Release Notes
### Fixes - 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants