Skip to content

Bump metro from 0.10.3 to 0.10.4#34

Open
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/gradle/metro-0.10.4
Open

Bump metro from 0.10.3 to 0.10.4#34
dependabot[bot] wants to merge 1 commit intomainfrom
dependabot/gradle/metro-0.10.4

Conversation

@dependabot
Copy link

@dependabot dependabot bot commented on behalf of github Feb 18, 2026

Bumps metro from 0.10.3 to 0.10.4.
Updates dev.zacsweers.metro:metrox-android from 0.10.3 to 0.10.4

Release notes

Sourced from dev.zacsweers.metro:metrox-android's releases.

0.10.4

Enhancements

  • [FIR]: Add suspicious scope diagnostics for cases where a developer might accidentally try to contribute to a concrete @Scope class or graph-like class, as that's not usually what you want!
  • [FIR]: Add a diagnostic error for function member injection parameters with default values as they are not currently supported.
  • [IR]: Extend conflicting overrides diagnostic in synthetic graphs (graph extension impls, dynamic graphs) to also validate compatible annotations. This catches scenarios where you may accidentally contribute something like a fun dependency(): Dependency accessor and @Provides fun dependency(): Dependency provider elsewhere, which previously resulted in undefined runtime behavior.
  • [IR]: When reporting conflicting override types in synthetic graphs, underline the type and include the source location (when possible) to better indicate the issue.
  • [IR]: Add a graph validation failure hint to report when a direct Map binding exists that cannot satisfy a Provider/Lazy map.
    • For example, the below snippet

      @DependencyGraph
      interface ExampleGraph {
        val mapSize: Int
      @​Provides fun provideInt(map: Map<String, Provider<String>>): Int = map.size
      @​DependencyGraph.Factory
      interface Factory {
      fun create(@​Provides map: Map<String, String>): ExampleGraph
      }
      }

      Now yields this error trace

      error: [Metro/MissingBinding] Cannot find an @Inject constructor or @Provides-annotated function/property for: kotlin.collections.Map<kotlin.String, kotlin.String>
      
      kotlin.collections.Map&lt;kotlin.String, kotlin.String&gt; is injected at
          [ExampleGraph] ExampleGraph.provideInt(…, map)
      kotlin.Int is requested at
          [ExampleGraph] ExampleGraph.mapSize
      

      (Hint) A directly-provided 'Map<String, String>' binding exists, but direct Map bindings cannot satisfy 'Map<String, Provider<String>>' requests.

      IncompatibleMapValueType.kt:15:16
          @Provides map: kotlin.collections.Map&lt;kotlin.String, kotlin.String&gt;
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      

      Provider/Lazy-wrapped map values (e.g., Map<K, Provider<V>>) only work with a Map multibinding created with @IntoMap or @Multibinds.

Fixes

  • [IR]: Gracefully handle skipping code gen for absent member-injected properties/single-arg setters.
  • [IR]: Decompose Map graph factory inputs correctly so they can properly satisfy map requests on the graph.
  • [IR]: Validate directly-provided map inputs from map-requesting injection sites.
  • [IR/Native]: Fix mirror parameter check for providers in object classes in non-jvm compilations.

... (truncated)

Changelog

Sourced from dev.zacsweers.metro:metrox-android's changelog.

0.10.4

2026-02-13

Enhancements

  • [FIR]: Add suspicious scope diagnostics for cases where a developer might accidentally try to contribute to a concrete @Scope class or graph-like class, as that's not usually what you want!
  • [FIR]: Add a diagnostic error for function member injection parameters with default values as they are not currently supported.
  • [IR]: Extend conflicting overrides diagnostic in synthetic graphs (graph extension impls, dynamic graphs) to also validate compatible annotations. This catches scenarios where you may accidentally contribute something like a fun dependency(): Dependency accessor and @Provides fun dependency(): Dependency provider elsewhere, which previously resulted in undefined runtime behavior.
  • [IR]: When reporting conflicting override types in synthetic graphs, underline the type and include the source location (when possible) to better indicate the issue.
  • [IR]: Add a graph validation failure hint to report when a direct Map binding exists that cannot satisfy a Provider/Lazy map.
    • For example, the below snippet

      @DependencyGraph
      interface ExampleGraph {
        val mapSize: Int
      @​Provides fun provideInt(map: Map<String, Provider<String>>): Int = map.size
      @​DependencyGraph.Factory
      interface Factory {
      fun create(@​Provides map: Map<String, String>): ExampleGraph
      }
      }

      Now yields this error trace

      error: [Metro/MissingBinding] Cannot find an @Inject constructor or @Provides-annotated function/property for: kotlin.collections.Map<kotlin.String, kotlin.String>
      
      kotlin.collections.Map&lt;kotlin.String, kotlin.String&gt; is injected at
          [ExampleGraph] ExampleGraph.provideInt(…, map)
      kotlin.Int is requested at
          [ExampleGraph] ExampleGraph.mapSize
      

      (Hint) A directly-provided 'Map<String, String>' binding exists, but direct Map bindings cannot satisfy 'Map<String, Provider<String>>' requests.

      IncompatibleMapValueType.kt:15:16
          @Provides map: kotlin.collections.Map&lt;kotlin.String, kotlin.String&gt;
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      

      Provider/Lazy-wrapped map values (e.g., Map<K, Provider<V>>) only work with a Map multibinding created with @IntoMap or @Multibinds.

Fixes

  • [IR]: Gracefully handle skipping code gen for absent member-injected properties/single-arg setters.

... (truncated)

Commits
  • 1685eeb Prepare for release 0.10.4.
  • 4d7ab8f Fix mapping graph map inputs (#1818)
  • 364de14 Update alias refreshing (#1820)
  • be8d56c Update IDE version mappings (#1819)
  • a12a0ed Add PAT to ide mappings
  • 37f0ba4 Tweak clashing declarations message (#1817)
  • 3c9f21a Clean up member injections with default values (#1814)
  • c8f5626 Fix mirror parameter check for providers in object classes in non-jvm compi...
  • 7a5d1f9 Validate compatible annotations in synthetic graph overrides (#1810)
  • c4f3f3b Add more compiler-test debugging tips
  • Additional commits viewable in compare view

Updates dev.zacsweers.metro:dev.zacsweers.metro.gradle.plugin from 0.10.3 to 0.10.4

Release notes

Sourced from dev.zacsweers.metro:dev.zacsweers.metro.gradle.plugin's releases.

0.10.4

Enhancements

  • [FIR]: Add suspicious scope diagnostics for cases where a developer might accidentally try to contribute to a concrete @Scope class or graph-like class, as that's not usually what you want!
  • [FIR]: Add a diagnostic error for function member injection parameters with default values as they are not currently supported.
  • [IR]: Extend conflicting overrides diagnostic in synthetic graphs (graph extension impls, dynamic graphs) to also validate compatible annotations. This catches scenarios where you may accidentally contribute something like a fun dependency(): Dependency accessor and @Provides fun dependency(): Dependency provider elsewhere, which previously resulted in undefined runtime behavior.
  • [IR]: When reporting conflicting override types in synthetic graphs, underline the type and include the source location (when possible) to better indicate the issue.
  • [IR]: Add a graph validation failure hint to report when a direct Map binding exists that cannot satisfy a Provider/Lazy map.
    • For example, the below snippet

      @DependencyGraph
      interface ExampleGraph {
        val mapSize: Int
      @​Provides fun provideInt(map: Map<String, Provider<String>>): Int = map.size
      @​DependencyGraph.Factory
      interface Factory {
      fun create(@​Provides map: Map<String, String>): ExampleGraph
      }
      }

      Now yields this error trace

      error: [Metro/MissingBinding] Cannot find an @Inject constructor or @Provides-annotated function/property for: kotlin.collections.Map<kotlin.String, kotlin.String>
      
      kotlin.collections.Map&lt;kotlin.String, kotlin.String&gt; is injected at
          [ExampleGraph] ExampleGraph.provideInt(…, map)
      kotlin.Int is requested at
          [ExampleGraph] ExampleGraph.mapSize
      

      (Hint) A directly-provided 'Map<String, String>' binding exists, but direct Map bindings cannot satisfy 'Map<String, Provider<String>>' requests.

      IncompatibleMapValueType.kt:15:16
          @Provides map: kotlin.collections.Map&lt;kotlin.String, kotlin.String&gt;
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      

      Provider/Lazy-wrapped map values (e.g., Map<K, Provider<V>>) only work with a Map multibinding created with @IntoMap or @Multibinds.

Fixes

  • [IR]: Gracefully handle skipping code gen for absent member-injected properties/single-arg setters.
  • [IR]: Decompose Map graph factory inputs correctly so they can properly satisfy map requests on the graph.
  • [IR]: Validate directly-provided map inputs from map-requesting injection sites.
  • [IR/Native]: Fix mirror parameter check for providers in object classes in non-jvm compilations.

... (truncated)

Changelog

Sourced from dev.zacsweers.metro:dev.zacsweers.metro.gradle.plugin's changelog.

0.10.4

2026-02-13

Enhancements

  • [FIR]: Add suspicious scope diagnostics for cases where a developer might accidentally try to contribute to a concrete @Scope class or graph-like class, as that's not usually what you want!
  • [FIR]: Add a diagnostic error for function member injection parameters with default values as they are not currently supported.
  • [IR]: Extend conflicting overrides diagnostic in synthetic graphs (graph extension impls, dynamic graphs) to also validate compatible annotations. This catches scenarios where you may accidentally contribute something like a fun dependency(): Dependency accessor and @Provides fun dependency(): Dependency provider elsewhere, which previously resulted in undefined runtime behavior.
  • [IR]: When reporting conflicting override types in synthetic graphs, underline the type and include the source location (when possible) to better indicate the issue.
  • [IR]: Add a graph validation failure hint to report when a direct Map binding exists that cannot satisfy a Provider/Lazy map.
    • For example, the below snippet

      @DependencyGraph
      interface ExampleGraph {
        val mapSize: Int
      @​Provides fun provideInt(map: Map<String, Provider<String>>): Int = map.size
      @​DependencyGraph.Factory
      interface Factory {
      fun create(@​Provides map: Map<String, String>): ExampleGraph
      }
      }

      Now yields this error trace

      error: [Metro/MissingBinding] Cannot find an @Inject constructor or @Provides-annotated function/property for: kotlin.collections.Map<kotlin.String, kotlin.String>
      
      kotlin.collections.Map&lt;kotlin.String, kotlin.String&gt; is injected at
          [ExampleGraph] ExampleGraph.provideInt(…, map)
      kotlin.Int is requested at
          [ExampleGraph] ExampleGraph.mapSize
      

      (Hint) A directly-provided 'Map<String, String>' binding exists, but direct Map bindings cannot satisfy 'Map<String, Provider<String>>' requests.

      IncompatibleMapValueType.kt:15:16
          @Provides map: kotlin.collections.Map&lt;kotlin.String, kotlin.String&gt;
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      

      Provider/Lazy-wrapped map values (e.g., Map<K, Provider<V>>) only work with a Map multibinding created with @IntoMap or @Multibinds.

Fixes

  • [IR]: Gracefully handle skipping code gen for absent member-injected properties/single-arg setters.

... (truncated)

Commits
  • 1685eeb Prepare for release 0.10.4.
  • 4d7ab8f Fix mapping graph map inputs (#1818)
  • 364de14 Update alias refreshing (#1820)
  • be8d56c Update IDE version mappings (#1819)
  • a12a0ed Add PAT to ide mappings
  • 37f0ba4 Tweak clashing declarations message (#1817)
  • 3c9f21a Clean up member injections with default values (#1814)
  • c8f5626 Fix mirror parameter check for providers in object classes in non-jvm compi...
  • 7a5d1f9 Validate compatible annotations in synthetic graph overrides (#1810)
  • c4f3f3b Add more compiler-test debugging tips
  • Additional commits viewable in compare view

Updates dev.zacsweers.metro from 0.10.3 to 0.10.4

Release notes

Sourced from dev.zacsweers.metro's releases.

0.10.4

Enhancements

  • [FIR]: Add suspicious scope diagnostics for cases where a developer might accidentally try to contribute to a concrete @Scope class or graph-like class, as that's not usually what you want!
  • [FIR]: Add a diagnostic error for function member injection parameters with default values as they are not currently supported.
  • [IR]: Extend conflicting overrides diagnostic in synthetic graphs (graph extension impls, dynamic graphs) to also validate compatible annotations. This catches scenarios where you may accidentally contribute something like a fun dependency(): Dependency accessor and @Provides fun dependency(): Dependency provider elsewhere, which previously resulted in undefined runtime behavior.
  • [IR]: When reporting conflicting override types in synthetic graphs, underline the type and include the source location (when possible) to better indicate the issue.
  • [IR]: Add a graph validation failure hint to report when a direct Map binding exists that cannot satisfy a Provider/Lazy map.
    • For example, the below snippet

      @DependencyGraph
      interface ExampleGraph {
        val mapSize: Int
      @​Provides fun provideInt(map: Map<String, Provider<String>>): Int = map.size
      @​DependencyGraph.Factory
      interface Factory {
      fun create(@​Provides map: Map<String, String>): ExampleGraph
      }
      }

      Now yields this error trace

      error: [Metro/MissingBinding] Cannot find an @Inject constructor or @Provides-annotated function/property for: kotlin.collections.Map<kotlin.String, kotlin.String>
      
      kotlin.collections.Map&lt;kotlin.String, kotlin.String&gt; is injected at
          [ExampleGraph] ExampleGraph.provideInt(…, map)
      kotlin.Int is requested at
          [ExampleGraph] ExampleGraph.mapSize
      

      (Hint) A directly-provided 'Map<String, String>' binding exists, but direct Map bindings cannot satisfy 'Map<String, Provider<String>>' requests.

      IncompatibleMapValueType.kt:15:16
          @Provides map: kotlin.collections.Map&lt;kotlin.String, kotlin.String&gt;
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      

      Provider/Lazy-wrapped map values (e.g., Map<K, Provider<V>>) only work with a Map multibinding created with @IntoMap or @Multibinds.

Fixes

  • [IR]: Gracefully handle skipping code gen for absent member-injected properties/single-arg setters.
  • [IR]: Decompose Map graph factory inputs correctly so they can properly satisfy map requests on the graph.
  • [IR]: Validate directly-provided map inputs from map-requesting injection sites.
  • [IR/Native]: Fix mirror parameter check for providers in object classes in non-jvm compilations.

... (truncated)

Changelog

Sourced from dev.zacsweers.metro's changelog.

0.10.4

2026-02-13

Enhancements

  • [FIR]: Add suspicious scope diagnostics for cases where a developer might accidentally try to contribute to a concrete @Scope class or graph-like class, as that's not usually what you want!
  • [FIR]: Add a diagnostic error for function member injection parameters with default values as they are not currently supported.
  • [IR]: Extend conflicting overrides diagnostic in synthetic graphs (graph extension impls, dynamic graphs) to also validate compatible annotations. This catches scenarios where you may accidentally contribute something like a fun dependency(): Dependency accessor and @Provides fun dependency(): Dependency provider elsewhere, which previously resulted in undefined runtime behavior.
  • [IR]: When reporting conflicting override types in synthetic graphs, underline the type and include the source location (when possible) to better indicate the issue.
  • [IR]: Add a graph validation failure hint to report when a direct Map binding exists that cannot satisfy a Provider/Lazy map.
    • For example, the below snippet

      @DependencyGraph
      interface ExampleGraph {
        val mapSize: Int
      @​Provides fun provideInt(map: Map<String, Provider<String>>): Int = map.size
      @​DependencyGraph.Factory
      interface Factory {
      fun create(@​Provides map: Map<String, String>): ExampleGraph
      }
      }

      Now yields this error trace

      error: [Metro/MissingBinding] Cannot find an @Inject constructor or @Provides-annotated function/property for: kotlin.collections.Map<kotlin.String, kotlin.String>
      
      kotlin.collections.Map&lt;kotlin.String, kotlin.String&gt; is injected at
          [ExampleGraph] ExampleGraph.provideInt(…, map)
      kotlin.Int is requested at
          [ExampleGraph] ExampleGraph.mapSize
      

      (Hint) A directly-provided 'Map<String, String>' binding exists, but direct Map bindings cannot satisfy 'Map<String, Provider<String>>' requests.

      IncompatibleMapValueType.kt:15:16
          @Provides map: kotlin.collections.Map&lt;kotlin.String, kotlin.String&gt;
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      

      Provider/Lazy-wrapped map values (e.g., Map<K, Provider<V>>) only work with a Map multibinding created with @IntoMap or @Multibinds.

Fixes

  • [IR]: Gracefully handle skipping code gen for absent member-injected properties/single-arg setters.

... (truncated)

Commits
  • 1685eeb Prepare for release 0.10.4.
  • 4d7ab8f Fix mapping graph map inputs (#1818)
  • 364de14 Update alias refreshing (#1820)
  • be8d56c Update IDE version mappings (#1819)
  • a12a0ed Add PAT to ide mappings
  • 37f0ba4 Tweak clashing declarations message (#1817)
  • 3c9f21a Clean up member injections with default values (#1814)
  • c8f5626 Fix mirror parameter check for providers in object classes in non-jvm compi...
  • 7a5d1f9 Validate compatible annotations in synthetic graph overrides (#1810)
  • c4f3f3b Add more compiler-test debugging tips
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps `metro` from 0.10.3 to 0.10.4.

Updates `dev.zacsweers.metro:metrox-android` from 0.10.3 to 0.10.4
- [Release notes](https://github.com/ZacSweers/metro/releases)
- [Changelog](https://github.com/ZacSweers/metro/blob/main/CHANGELOG.md)
- [Commits](ZacSweers/metro@0.10.3...0.10.4)

Updates `dev.zacsweers.metro:dev.zacsweers.metro.gradle.plugin` from 0.10.3 to 0.10.4
- [Release notes](https://github.com/ZacSweers/metro/releases)
- [Changelog](https://github.com/ZacSweers/metro/blob/main/CHANGELOG.md)
- [Commits](ZacSweers/metro@0.10.3...0.10.4)

Updates `dev.zacsweers.metro` from 0.10.3 to 0.10.4
- [Release notes](https://github.com/ZacSweers/metro/releases)
- [Changelog](https://github.com/ZacSweers/metro/blob/main/CHANGELOG.md)
- [Commits](ZacSweers/metro@0.10.3...0.10.4)

---
updated-dependencies:
- dependency-name: dev.zacsweers.metro:metrox-android
  dependency-version: 0.10.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: dev.zacsweers.metro:dev.zacsweers.metro.gradle.plugin
  dependency-version: 0.10.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: dev.zacsweers.metro
  dependency-version: 0.10.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file java Pull requests that update java code labels Feb 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants