1.4.4
Enhancements
- [IR] Reduce repeated work when reporting dependency cycles.
- [Gradle] Redesign the graph viewer feature.
Fixes
- [IR] Avoid redundant class factories for contributed implementations when
generateContributionProvidersandgenerateClassesInIrare enabled. - [IR] Support
-Xwarning-leveloverrides in fallback diagnostic reporting across all supported Kotlin versions. - [compat] Fix compiler compatibility selection for Beta, RC, and stable Kotlin builds when only dev support exists for their base version. For example,
2.5.0-Beta1now selects the latest2.5.0-dev-*implementation if there is no2.5.0-*non-dev build.
Changes
- [compat] Update the latest Kotlin
2.5.0compat to2.5.0-dev-7307. - [compat] Raise
2.5.0-dev-4967compat to2.5.0-dev-6460(pacing with IntelliJ 2026.3 EAPs).
Contributors
Special thanks to the following contributors for contributing to this release!
Consider sponsoring Metro's development
What's Changed
- Fix various test warnings by @ZacSweers in #2800
- Update dependency zensical to v0.0.60 by @renovate[bot] in #2803
- Update Metro bootstrap to v1.4.3 by @renovate[bot] in #2801
- Avoid duplicate BindsMirror constructor generation across FIR generators by @kevinguitar in #2802
- Fresh paint on benchmark dashboards by @ZacSweers in #2804
- Update dependency io.insert-koin.compiler.plugin to v1.2.1 by @renovate[bot] in #2812
- Update plugin metalava to v0.5.1 by @renovate[bot] in #2811
- Update plugin com.gradle.develocity to v4.5.1 by @renovate[bot] in #2807
- Update ksp monorepo to v2.3.12 by @renovate[bot] in #2806
- Update dependency androidx.benchmark:benchmark-junit4 to v1.5.0 by @renovate[bot] in #2809
- Update plugin benchmark to v1.5.0 by @renovate[bot] in #2813
- Update tracing to v2.0.2 by @renovate[bot] in #2808
- Update wire to v7 by @renovate[bot] in #2814
- Update dependency androidx.benchmark:benchmark-macro-junit4 to v1.5.0 by @renovate[bot] in #2816
- Fix false errors in IDE graph validation by @ZacSweers in #2815
- Support warning-level overrides in fallback diagnostics by @ZacSweers in #2817
- Update IDE version mappings by @ZacSweers in #2819
- Update dependency zensical to v0.0.61 by @renovate[bot] in #2820
- Update dependency org.robolectric:robolectric to v4.17 by @renovate[bot] in #2818
- Doc fix: Remove duplicated build input mentions in debugging.md by @kevinguitar in #2810
- Graph visualization V2 by @ZacSweers in #2821
- Allow compat to fall back to dev from release by @ZacSweers in #2822
- Update dependency zensical to v0.0.62 by @renovate[bot] in #2825
- Update plugin buildConfig to v6.1.0 by @renovate[bot] in #2823
- Add static graph viewer to site by @ZacSweers in #2824
- Update dependency tornado to v6.5.9 by @renovate[bot] in #2828
- Update dependency mkdocs-git-revision-date-localized-plugin to v1.6.0 by @renovate[bot] in #2826
- Update plugin intellijPlatform to v2.19.0 by @renovate[bot] in #2827
- Find dependency cycles for errors in one pass by @ZacSweers in #2833
- Reject hard dependency cycles earlier by @ZacSweers in #2832
- Update circuit to v0.39.0 by @renovate[bot] in #2834
- Update dependency tornado to v6.5.10 by @renovate[bot] in #2831
- Update dependency pymdown-extensions to v12 by @renovate[bot] in #2830
- Support 2.5.0-dev-7307 by @ZacSweers in #2829
- Update dependency dev.zacsweers.kctfork:ksp to v0.14.0 by @renovate[bot] in #2836
- Update dependency pymdown-extensions to v12.0.1 by @renovate[bot] in #2837
- Update IDE version mappings by @ZacSweers in #2838
- Add cycle benchmarks + cache neighbors by @ZacSweers in #2842
- Update dependency com.android.tools:r8 to v9.4.24 by @renovate[bot] in #2840
- Update wire to v7.0.3 by @renovate[bot] in #2841
- Fix duplicate class factories w/ IR class gen + contrib provivders by @ZacSweers in #2843
- Update ktor monorepo to v3.6.0 by @renovate[bot] in #2839
- Raise IJ 2026.3 compat to 2.5.0-dev-6460 by @ZacSweers in #2844
Full Changelog: 1.4.3...1.4.4