Skip to content

Build(deps): Bump com.google.dagger:hilt-compiler from 2.51.1 to 2.54

Bumps com.google.dagger:hilt-compiler from 2.51.1 to 2.54.

Release notes

Sourced from com.google.dagger:hilt-compiler's releases.

Dagger 2.54

Bug fixes

  • Fixed #4303: Upgrade Hilt Gradle Plugin to support KSP2 configuration. (76b581999)
  • Fixed #4544: Removes private from InstanceHolder field to avoid unnecessary accessor method. (07d8f883f)
  • Fixed #4533: Fixes path separator for Windows when creating LazyClassKey proguard file. (efa421a3f)

Notable changes

  • In preparation for jakarta support, Dagger’s generated factories now include a create() method that uses dagger.internal.Provider rather than javax.inject.Provider. For now, the javax.inject.Provider create() method is also kept for compatibility, but it will be removed in a future release. When that happens, libraries built with the newer version of Dagger may break downstream users of @Component that are built with an older version of Dagger. (d60729d20)

Dagger 2.53.1

Bug fixes

  • Fixes #4525: Update kotlin-jvm-metadata to 2.0.21 to remove dependency on Beta version. (84d3aa5f1)
  • Fixes #4526: Add the originating element in LazyMapKeyProxyGenerator. (5fd8ec1a3)

Dagger 2.53

Potentially breaking changes:

@Binds methods now requires explicit nullability

New: @Binds methods must explicitly declare nullability (previously we tried to infer it from the parameter). This change aligns the nullability behavior of @Binds with how nullability is treated elsewhere in Dagger by requiring it to be explict at the request and declaration sites. (4941926c5)

Suggested fix: If you get a failure due to this change, add the proper nullability to your @Binds method/parameter. For example:

@Module
interface MyModule {
-    @Binds fun bindToNullableImpl(impl: FooImpl): Foo
+    @Binds fun bindToNullableImpl(impl: FooImpl?): Foo?
}

Scopes are now banned on @Binds that delegate to production implementations.

New: Scoping an @Binds method that delegates to an @Produces implementation is not allowed. The scope was ignored anyway because production bindings are implicitly scoped. (03b237ff2)

Suggested fix: Remove the scope annotation (since the scope was ignored, this should not be a functional change).

@Module
interface MyModule {
-    @ProductionScoped
     @Binds fun bindToProductionImpl(impl: FooImpl): Foo
</tr></table> 

... (truncated)

Commits
  • bf4b96e 2.54 release
  • 76b5819 Update Hilt Gradle Plugin KSP configuration to support KSP2
  • 013a9a4 Add Nullmarking to Components
  • 07d8f88 Remove private from generated Factory's INSTANCE field.
  • efa421a Update Dagger's XProcessing jars.
  • fe9a2f9 Update Dagger to use Android SDK 34.
  • 5e50a92 Internal changes
  • d60729d Change Dagger-genenerated factories to have an additional create method that ...
  • 6ee6092 Migrate FrameworkType and FrameworkField to XPoet.
  • 972c8d3 Fix warnings about instantiating new boxed primitives.
  • Additional commits viewable in compare view


Dependabot commands
You can trigger Dependabot actions by commenting on this MR
  • $dependabot recreate will recreate this MR rewriting all the manual changes and resolving conflicts

Merge request reports

Loading