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 usesdagger.internal.Provider
rather thanjavax.inject.Provider
. For now, thejavax.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 nullabilityNew:
@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