From 90f9be8438e44739a91b5959e190aa88fd59b6bd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 7 Dec 2024 11:18:21 +0100 Subject: [PATCH] Bump hilt from 2.52 to 2.53 (#213) Bumps `hilt` from 2.52 to 2.53. Updates `com.google.dagger:hilt-android` from 2.52 to 2.53
Release notes

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

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
}

@JvmSuppressWildcards now required on multibound map requests in KSP.

New: When requesting a multibound map, users must include @JvmSuppressWildcards on the map's value, e.g. Map<K, @JvmSuppressWildcards V>. Note that this has always been the behavior in KAPT, but due to a bug in the KSP implementation we accidentally matched the request without @JvmSuppressWildcards.

Suggested fix: Unfortunately, this means users may need to add back @JvmSuppressWildcards for multibound map requests. At the moment, KSP doesn't provide a way to determine the Kotlin type is actually assignable to Map<K, V> without @JvmSuppressWildcards at compile time, and without this check users could hit runtime failures when Dagger tries to cast the type to the users type.

class MyClass
</tr></table>

... (truncated)

Commits

Updates `com.google.dagger:hilt-compiler` from 2.52 to 2.53
Release notes

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

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
}

@JvmSuppressWildcards now required on multibound map requests in KSP.

New: When requesting a multibound map, users must include @JvmSuppressWildcards on the map's value, e.g. Map<K, @JvmSuppressWildcards V>. Note that this has always been the behavior in KAPT, but due to a bug in the KSP implementation we accidentally matched the request without @JvmSuppressWildcards.

Suggested fix: Unfortunately, this means users may need to add back @JvmSuppressWildcards for multibound map requests. At the moment, KSP doesn't provide a way to determine the Kotlin type is actually assignable to Map<K, V> without @JvmSuppressWildcards at compile time, and without this check users could hit runtime failures when Dagger tries to cast the type to the users type.

class MyClass
</tr></table>

... (truncated)

Commits

Updates `com.google.dagger.hilt.android` from 2.52 to 2.53
Release notes

Sourced from com.google.dagger.hilt.android's releases.

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
}

@JvmSuppressWildcards now required on multibound map requests in KSP.

New: When requesting a multibound map, users must include @JvmSuppressWildcards on the map's value, e.g. Map<K, @JvmSuppressWildcards V>. Note that this has always been the behavior in KAPT, but due to a bug in the KSP implementation we accidentally matched the request without @JvmSuppressWildcards.

Suggested fix: Unfortunately, this means users may need to add back @JvmSuppressWildcards for multibound map requests. At the moment, KSP doesn't provide a way to determine the Kotlin type is actually assignable to Map<K, V> without @JvmSuppressWildcards at compile time, and without this check users could hit runtime failures when Dagger tries to cast the type to the users type.

class MyClass
</tr></table>

... (truncated)

Commits

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-automerge-start) [//]: # (dependabot-automerge-end) ---
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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show 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)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 746af6b..7a9a5fa 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -6,7 +6,7 @@ appcompat = "1.7.0" compose-bom = "2024.11.00" core-ktx = "1.15.0" espresso-core = "3.6.1" -hilt = "2.52" +hilt = "2.53" junit = "4.13.2" kotlin = "2.1.0" ksp = "2.1.0-1.0.29"