Skip to content

Commit

Permalink
Bump hilt from 2.52 to 2.53 (#213)
Browse files Browse the repository at this point in the history
Bumps `hilt` from 2.52 to 2.53.
Updates `com.google.dagger:hilt-android` from 2.52 to 2.53
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google/dagger/releases">com.google.dagger:hilt-android's
releases</a>.</em></p>
<blockquote>
<h2>Dagger 2.53</h2>
<h1>Potentially breaking changes:</h1>
<h3><code>@BINDS</code> methods now requires explicit nullability</h3>
<p><strong>New:</strong> <code>@BINDS</code> methods must explicitly
declare nullability (previously we tried to infer it from
the parameter). This change aligns the nullability behavior of
<code>@BINDS</code> with how nullability is
treated elsewhere in Dagger by requiring it to be explict at the request
and declaration sites.
(4941926c5)</p>
<p><strong>Suggested fix:</strong> If you get a failure due to this
change, add the proper nullability to your <code>@BINDS</code>
method/parameter. For example:</p>
<pre lang="diff"><code>@module
interface MyModule {
-    @BINDS fun bindToNullableImpl(impl: FooImpl): Foo
+    @BINDS fun bindToNullableImpl(impl: FooImpl?): Foo?
}
</code></pre>
<h3>Scopes are now banned on <code>@BINDS</code> that delegate to
production implementations.</h3>
<p><strong>New:</strong> Scoping an <code>@BINDS</code> method that
delegates to an <code>@produces</code> implementation is not
allowed. The scope was ignored anyway because production bindings are
implicitly scoped. (03b237ff2)</p>
<p><strong>Suggested fix:</strong> Remove the scope annotation (since
the scope was ignored, this should not be a functional change).</p>
<pre lang="diff"><code>@module
interface MyModule {
-    @ProductionScoped
     @BINDS fun bindToProductionImpl(impl: FooImpl): Foo
}
</code></pre>
<h3><code>@JvmSuppressWildcards</code> now required on multibound map
requests in KSP.</h3>
<p><strong>New:</strong> When requesting a multibound map, users must
include <code>@JvmSuppressWildcards</code> on the
map's value, e.g. <code>Map&lt;K, @JvmSuppressWildcards V&gt;</code>.
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
<code>@JvmSuppressWildcards</code>.</p>
<p><strong>Suggested fix:</strong> Unfortunately, this means users may
need to add back <code>@JvmSuppressWildcards</code>
for multibound map requests. At the moment, KSP doesn't provide a way to
determine the Kotlin type
is actually assignable to <code>Map&lt;K, V&gt;</code> without
<code>@JvmSuppressWildcards</code> at compile time, and without
this check users could hit runtime failures when Dagger tries to cast
the type to the users type.</p>
<pre lang="diff"><code>class MyClass
&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/google/dagger/commit/649eed51743b1b5041fb540f10bb74dbc85ced7b"><code>649eed5</code></a>
2.53 release</li>
<li><a
href="https://github.com/google/dagger/commit/369bbc666ec11acbb3fd89ad7d9dbd3a532aba05"><code>369bbc6</code></a>
[Refactor]: Move members injection optimization into its
RequestRepresentation.</li>
<li><a
href="https://github.com/google/dagger/commit/841d765b350f0e0b323fbfc68d18ed24cf7e5bc3"><code>841d765</code></a>
Internal changes</li>
<li><a
href="https://github.com/google/dagger/commit/2d75be962c201cfb59e058aa6250500d63f0c575"><code>2d75be9</code></a>
Internal changes</li>
<li><a
href="https://github.com/google/dagger/commit/4046f2c0ba258898faaae771b6e59cac1877d818"><code>4046f2c</code></a>
[Refactor]: Change <code>FrameworkField#create()</code> to better align
with the XPoet m...</li>
<li><a
href="https://github.com/google/dagger/commit/9fe4824cb45c4b3fae82822ed249d281d9a7fea6"><code>9fe4824</code></a>
Internal changes</li>
<li><a
href="https://github.com/google/dagger/commit/fdbc63e33ee7df03d1feb24d83b38e6743f7db68"><code>fdbc63e</code></a>
[Refactor]: Move
<code>ProvisionMethods#create()</code>/<code>InjectionSiteMethods#create()</code>
...</li>
<li><a
href="https://github.com/google/dagger/commit/2b84e5726ecf1dbd321c31442a1d02a65e3d93c3"><code>2b84e57</code></a>
Kotlin compiler update to 2.0.21, prework.</li>
<li><a
href="https://github.com/google/dagger/commit/fe811e17c04dc5f2d679a9e7bdc87b21e49de30e"><code>fe811e1</code></a>
Kotlin compiler update to 2.0.21, prework.</li>
<li><a
href="https://github.com/google/dagger/commit/6b183f85e50c7b0e5e524e57d2f4561786d146cf"><code>6b183f8</code></a>
Support requesting Jakarta Provider types.</li>
<li>Additional commits viewable in <a
href="https://github.com/google/dagger/compare/dagger-2.52...dagger-2.53">compare
view</a></li>
</ul>
</details>
<br />

Updates `com.google.dagger:hilt-compiler` from 2.52 to 2.53
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google/dagger/releases">com.google.dagger:hilt-compiler's
releases</a>.</em></p>
<blockquote>
<h2>Dagger 2.53</h2>
<h1>Potentially breaking changes:</h1>
<h3><code>@BINDS</code> methods now requires explicit nullability</h3>
<p><strong>New:</strong> <code>@BINDS</code> methods must explicitly
declare nullability (previously we tried to infer it from
the parameter). This change aligns the nullability behavior of
<code>@BINDS</code> with how nullability is
treated elsewhere in Dagger by requiring it to be explict at the request
and declaration sites.
(4941926c5)</p>
<p><strong>Suggested fix:</strong> If you get a failure due to this
change, add the proper nullability to your <code>@BINDS</code>
method/parameter. For example:</p>
<pre lang="diff"><code>@module
interface MyModule {
-    @BINDS fun bindToNullableImpl(impl: FooImpl): Foo
+    @BINDS fun bindToNullableImpl(impl: FooImpl?): Foo?
}
</code></pre>
<h3>Scopes are now banned on <code>@BINDS</code> that delegate to
production implementations.</h3>
<p><strong>New:</strong> Scoping an <code>@BINDS</code> method that
delegates to an <code>@produces</code> implementation is not
allowed. The scope was ignored anyway because production bindings are
implicitly scoped. (03b237ff2)</p>
<p><strong>Suggested fix:</strong> Remove the scope annotation (since
the scope was ignored, this should not be a functional change).</p>
<pre lang="diff"><code>@module
interface MyModule {
-    @ProductionScoped
     @BINDS fun bindToProductionImpl(impl: FooImpl): Foo
}
</code></pre>
<h3><code>@JvmSuppressWildcards</code> now required on multibound map
requests in KSP.</h3>
<p><strong>New:</strong> When requesting a multibound map, users must
include <code>@JvmSuppressWildcards</code> on the
map's value, e.g. <code>Map&lt;K, @JvmSuppressWildcards V&gt;</code>.
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
<code>@JvmSuppressWildcards</code>.</p>
<p><strong>Suggested fix:</strong> Unfortunately, this means users may
need to add back <code>@JvmSuppressWildcards</code>
for multibound map requests. At the moment, KSP doesn't provide a way to
determine the Kotlin type
is actually assignable to <code>Map&lt;K, V&gt;</code> without
<code>@JvmSuppressWildcards</code> at compile time, and without
this check users could hit runtime failures when Dagger tries to cast
the type to the users type.</p>
<pre lang="diff"><code>class MyClass
&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/google/dagger/commit/649eed51743b1b5041fb540f10bb74dbc85ced7b"><code>649eed5</code></a>
2.53 release</li>
<li><a
href="https://github.com/google/dagger/commit/369bbc666ec11acbb3fd89ad7d9dbd3a532aba05"><code>369bbc6</code></a>
[Refactor]: Move members injection optimization into its
RequestRepresentation.</li>
<li><a
href="https://github.com/google/dagger/commit/841d765b350f0e0b323fbfc68d18ed24cf7e5bc3"><code>841d765</code></a>
Internal changes</li>
<li><a
href="https://github.com/google/dagger/commit/2d75be962c201cfb59e058aa6250500d63f0c575"><code>2d75be9</code></a>
Internal changes</li>
<li><a
href="https://github.com/google/dagger/commit/4046f2c0ba258898faaae771b6e59cac1877d818"><code>4046f2c</code></a>
[Refactor]: Change <code>FrameworkField#create()</code> to better align
with the XPoet m...</li>
<li><a
href="https://github.com/google/dagger/commit/9fe4824cb45c4b3fae82822ed249d281d9a7fea6"><code>9fe4824</code></a>
Internal changes</li>
<li><a
href="https://github.com/google/dagger/commit/fdbc63e33ee7df03d1feb24d83b38e6743f7db68"><code>fdbc63e</code></a>
[Refactor]: Move
<code>ProvisionMethods#create()</code>/<code>InjectionSiteMethods#create()</code>
...</li>
<li><a
href="https://github.com/google/dagger/commit/2b84e5726ecf1dbd321c31442a1d02a65e3d93c3"><code>2b84e57</code></a>
Kotlin compiler update to 2.0.21, prework.</li>
<li><a
href="https://github.com/google/dagger/commit/fe811e17c04dc5f2d679a9e7bdc87b21e49de30e"><code>fe811e1</code></a>
Kotlin compiler update to 2.0.21, prework.</li>
<li><a
href="https://github.com/google/dagger/commit/6b183f85e50c7b0e5e524e57d2f4561786d146cf"><code>6b183f8</code></a>
Support requesting Jakarta Provider types.</li>
<li>Additional commits viewable in <a
href="https://github.com/google/dagger/compare/dagger-2.52...dagger-2.53">compare
view</a></li>
</ul>
</details>
<br />

Updates `com.google.dagger.hilt.android` from 2.52 to 2.53
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/google/dagger/releases">com.google.dagger.hilt.android's
releases</a>.</em></p>
<blockquote>
<h2>Dagger 2.53</h2>
<h1>Potentially breaking changes:</h1>
<h3><code>@BINDS</code> methods now requires explicit nullability</h3>
<p><strong>New:</strong> <code>@BINDS</code> methods must explicitly
declare nullability (previously we tried to infer it from
the parameter). This change aligns the nullability behavior of
<code>@BINDS</code> with how nullability is
treated elsewhere in Dagger by requiring it to be explict at the request
and declaration sites.
(4941926c5)</p>
<p><strong>Suggested fix:</strong> If you get a failure due to this
change, add the proper nullability to your <code>@BINDS</code>
method/parameter. For example:</p>
<pre lang="diff"><code>@module
interface MyModule {
-    @BINDS fun bindToNullableImpl(impl: FooImpl): Foo
+    @BINDS fun bindToNullableImpl(impl: FooImpl?): Foo?
}
</code></pre>
<h3>Scopes are now banned on <code>@BINDS</code> that delegate to
production implementations.</h3>
<p><strong>New:</strong> Scoping an <code>@BINDS</code> method that
delegates to an <code>@produces</code> implementation is not
allowed. The scope was ignored anyway because production bindings are
implicitly scoped. (03b237ff2)</p>
<p><strong>Suggested fix:</strong> Remove the scope annotation (since
the scope was ignored, this should not be a functional change).</p>
<pre lang="diff"><code>@module
interface MyModule {
-    @ProductionScoped
     @BINDS fun bindToProductionImpl(impl: FooImpl): Foo
}
</code></pre>
<h3><code>@JvmSuppressWildcards</code> now required on multibound map
requests in KSP.</h3>
<p><strong>New:</strong> When requesting a multibound map, users must
include <code>@JvmSuppressWildcards</code> on the
map's value, e.g. <code>Map&lt;K, @JvmSuppressWildcards V&gt;</code>.
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
<code>@JvmSuppressWildcards</code>.</p>
<p><strong>Suggested fix:</strong> Unfortunately, this means users may
need to add back <code>@JvmSuppressWildcards</code>
for multibound map requests. At the moment, KSP doesn't provide a way to
determine the Kotlin type
is actually assignable to <code>Map&lt;K, V&gt;</code> without
<code>@JvmSuppressWildcards</code> at compile time, and without
this check users could hit runtime failures when Dagger tries to cast
the type to the users type.</p>
<pre lang="diff"><code>class MyClass
&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/google/dagger/commit/649eed51743b1b5041fb540f10bb74dbc85ced7b"><code>649eed5</code></a>
2.53 release</li>
<li><a
href="https://github.com/google/dagger/commit/369bbc666ec11acbb3fd89ad7d9dbd3a532aba05"><code>369bbc6</code></a>
[Refactor]: Move members injection optimization into its
RequestRepresentation.</li>
<li><a
href="https://github.com/google/dagger/commit/841d765b350f0e0b323fbfc68d18ed24cf7e5bc3"><code>841d765</code></a>
Internal changes</li>
<li><a
href="https://github.com/google/dagger/commit/2d75be962c201cfb59e058aa6250500d63f0c575"><code>2d75be9</code></a>
Internal changes</li>
<li><a
href="https://github.com/google/dagger/commit/4046f2c0ba258898faaae771b6e59cac1877d818"><code>4046f2c</code></a>
[Refactor]: Change <code>FrameworkField#create()</code> to better align
with the XPoet m...</li>
<li><a
href="https://github.com/google/dagger/commit/9fe4824cb45c4b3fae82822ed249d281d9a7fea6"><code>9fe4824</code></a>
Internal changes</li>
<li><a
href="https://github.com/google/dagger/commit/fdbc63e33ee7df03d1feb24d83b38e6743f7db68"><code>fdbc63e</code></a>
[Refactor]: Move
<code>ProvisionMethods#create()</code>/<code>InjectionSiteMethods#create()</code>
...</li>
<li><a
href="https://github.com/google/dagger/commit/2b84e5726ecf1dbd321c31442a1d02a65e3d93c3"><code>2b84e57</code></a>
Kotlin compiler update to 2.0.21, prework.</li>
<li><a
href="https://github.com/google/dagger/commit/fe811e17c04dc5f2d679a9e7bdc87b21e49de30e"><code>fe811e1</code></a>
Kotlin compiler update to 2.0.21, prework.</li>
<li><a
href="https://github.com/google/dagger/commit/6b183f85e50c7b0e5e524e57d2f4561786d146cf"><code>6b183f8</code></a>
Support requesting Jakarta Provider types.</li>
<li>Additional commits viewable in <a
href="https://github.com/google/dagger/compare/dagger-2.52...dagger-2.53">compare
view</a></li>
</ul>
</details>
<br />


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)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

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 <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)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  • Loading branch information
dependabot[bot] authored Dec 7, 2024
1 parent 96d18a0 commit 90f9be8
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down

0 comments on commit 90f9be8

Please sign in to comment.