Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Sep 7, 2024

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

pivovarit and others added 30 commits August 28, 2024 15:46
The current implementation of the hashCode() method for `Tuple2` has a significant flaw that can easily lead to hash collisions, particularly in data structures like `LinkedHashMap`.

```java
LinkedHashMap<String, Integer> m1 = LinkedHashMap.of("a", 1, "b", 2);
LinkedHashMap<String, Integer> m2 = LinkedHashMap.of("a", 2, "b", 1);
System.out.println(m1.hashCode() == m2.hashCode()); // true
```

In this case, _m1_ and _m2_ should ideally produce different hash codes,
but they don't. This is because the current implementation of
`Tuple#hashCode()` simply sums the hash codes of all elements, which can
result in identical hash codes for different tuples.

A potential solution is to apply the XOR (^) operator to the hash codes
of all elements. XOR is order-sensitive, so it would resolve the issue
in the example above, where the order of elements differs between
tuples.

However, XOR has its limitations and is only a suitable solution for
tuples with up to two elements. This is because XOR is a commutative and
associative operation, meaning that the XOR of multiple elements can
still result in rather bad collisions:
```java
Tuple3<Integer, Integer, Integer> t1 = Tuple.of(1, 2, 3);
Tuple3<Integer, Integer, Integer> t2 = Tuple.of(1, 3, 2);
System.out.println(t1.hashCode() == t2.hashCode()); // true
```

The new implementation is not perfect as well:
```java
HashMap<Integer, Integer> hm1 = HashMap.of(0, 1, 1, 2);
HashMap<Integer, Integer> hm2 = HashMap.of(0, 2, 1, 3);
System.out.println(hm1.hashCode() == hm2.hashCode()); // true
```

But it is imperfect in the same way as standard library:
```java
java.util.HashMap<Integer, Integer> jhm1 = new java.util.HashMap<>();
jhm1.put(0, 1);
jhm1.put(1, 2);

java.util.HashMap<Integer, Integer> jhm2 = new java.util.HashMap<>();
jhm2.put(0, 2);
jhm2.put(1, 3);

System.out.println(jhm1.hashCode() == jhm2.hashCode()); // true
```
----

Related: #2733
Upgrades JUnit 4 to JUnit 5 and adds JDK 21 as one of testing targets 

---------

Co-authored-by: Grzegorz Piwowarek <gpiwowarek@gmail.com>
Fixed an issue with not started futures running even if canceled (#2750)

Co-authored-by: Egor Tsinko <egort@innova-power.com>
Virtual threads suffer when performing a blocking operation inside a `synchronized` method/block, and it is recommended that the `synchronized` method/block be replaced with a `ReentrantLock`.

More details: https://docs.oracle.com/en/java/javase/21/core/virtual-threads.html#GUID-04C03FFC-066D-4857-85B9-E5A27A875AF9

----

related: #2760

Co-authored-by: karnsa <karnsa@vmware.com>
Bumps
[org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit5)
from 5.11.0 to 5.11.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/junit-team/junit5/releases">org.junit.jupiter:junit-jupiter's
releases</a>.</em></p>
<blockquote>
<p>JUnit 5.11.1 = Platform 1.11.1 + Jupiter 5.11.1 + Vintage 5.11.1</p>
<p>See <a
href="http://junit.org/junit5/docs/5.11.1/release-notes/">Release
Notes</a>.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/junit-team/junit5/compare/r5.11.0...r5.11.1">https://github.com/junit-team/junit5/compare/r5.11.0...r5.11.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/junit-team/junit5/commit/e4b2c0c1384dd980abbd61c11322c419cf7cd1eb"><code>e4b2c0c</code></a>
Release 5.11.1</li>
<li><a
href="https://github.com/junit-team/junit5/commit/c37b179f74e06ddaa7a86d82ff4ea2a8d04a0ea9"><code>c37b179</code></a>
Finalize 5.11.1 release notes</li>
<li><a
href="https://github.com/junit-team/junit5/commit/a7b1c49702ddf8113a7e74da2cfe6ca9e3e35521"><code>a7b1c49</code></a>
Include 5.10.4 release notes</li>
<li><a
href="https://github.com/junit-team/junit5/commit/3646b7d37e3401d9cda0106290bbf9cb36a735b2"><code>3646b7d</code></a>
Document benefits of <code>messageSupplier</code> in
<code>Assertions</code> (<a
href="https://redirect.github.com/junit-team/junit5/issues/3938">#3938</a>)</li>
<li><a
href="https://github.com/junit-team/junit5/commit/6b9f15d9d53ceef1db1a0fa1fd3e7f38f757e88e"><code>6b9f15d</code></a>
Delete unnecessary (and potentially misleading) comment in User
Guide</li>
<li><a
href="https://github.com/junit-team/junit5/commit/98dafd3746dcf141ac8b5906f26e69e9a140ff5d"><code>98dafd3</code></a>
Reduce flakiness</li>
<li><a
href="https://github.com/junit-team/junit5/commit/6529d8d4b14e0ab2b9134a9d9b0d9260ba2f6410"><code>6529d8d</code></a>
Allow for work stealing when only holding read locks (<a
href="https://redirect.github.com/junit-team/junit5/issues/4012">#4012</a>)</li>
<li><a
href="https://github.com/junit-team/junit5/commit/0d25a5a0ddab609df3d7382264b050dc61f54d2f"><code>0d25a5a</code></a>
Fix YAML syntax</li>
<li><a
href="https://github.com/junit-team/junit5/commit/28dd375d31995365ed36c40270be619b4d64be99"><code>28dd375</code></a>
Fix step label</li>
<li><a
href="https://github.com/junit-team/junit5/commit/348ef61d6b2f945cb0bf315b97eef80a41686a88"><code>348ef61</code></a>
Switch to Temurin for JDK 23 (<a
href="https://redirect.github.com/junit-team/junit5/issues/4005">#4005</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/junit-team/junit5/compare/r5.11.0...r5.11.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.junit.jupiter:junit-jupiter&package-manager=gradle&previous-version=5.11.0&new-version=5.11.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Fix remaining Java Serialization issues with JDK21

Co-authored-by: karnsa <karnsa@vmware.com>
Bumps
[org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit5)
from 5.11.1 to 5.11.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/junit-team/junit5/releases">org.junit.jupiter:junit-jupiter's
releases</a>.</em></p>
<blockquote>
<p>JUnit 5.11.2 = Platform 1.11.2 + Jupiter 5.11.2 + Vintage 5.11.2</p>
<p>See <a
href="http://junit.org/junit5/docs/5.11.2/release-notes/">Release
Notes</a>.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/junit-team/junit5/compare/r5.11.1...r5.11.2">https://github.com/junit-team/junit5/compare/r5.11.1...r5.11.2</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/junit-team/junit5/commit/5b1a6d1f2f32645449df3aae745684557aa2c524"><code>5b1a6d1</code></a>
Release 5.11.2</li>
<li><a
href="https://github.com/junit-team/junit5/commit/b7816b6e6aa1341d9ad5cb38b8eca95ac7a0cbb6"><code>b7816b6</code></a>
Finalize 5.11.2 release notes</li>
<li><a
href="https://github.com/junit-team/junit5/commit/f8e22c7a32a12ec05bba81a4e509f5138fc6ea8a"><code>f8e22c7</code></a>
Finalize 5.10.5 release notes</li>
<li><a
href="https://github.com/junit-team/junit5/commit/8e6393803f4df79023ccbeffbd756bc4cf0f9e62"><code>8e63938</code></a>
Remove reference to 5.10.4 in 5.11.2 release notes</li>
<li><a
href="https://github.com/junit-team/junit5/commit/7e9d728f8bcb27a9b8d2b330995bb217374aedc6"><code>7e9d728</code></a>
Document <a
href="https://redirect.github.com/junit-team/junit5/issues/4043">#4043</a>
in 5.10.5 release notes</li>
<li><a
href="https://github.com/junit-team/junit5/commit/c11f224f821dd50fba28eee561372d76f63480cd"><code>c11f224</code></a>
Create initial 5.10.5 release notes from template</li>
<li><a
href="https://github.com/junit-team/junit5/commit/ab941409706b7dabd578f1c87e48c484ba1b3182"><code>ab94140</code></a>
Fix global read-write lock handling when not declared on top level</li>
<li><a
href="https://github.com/junit-team/junit5/commit/9658fac066d818024939199985d49b57d6a37763"><code>9658fac</code></a>
Add initial 5.11.2 release notes from template</li>
<li><a
href="https://github.com/junit-team/junit5/commit/5f52ced83a5065db965cd6f5d30aef201356ce2f"><code>5f52ced</code></a>
Fix link to milestone page</li>
<li><a
href="https://github.com/junit-team/junit5/commit/558f480be534e0fd1e805b8d8612860bfec08b59"><code>558f480</code></a>
Back to snapshots for further development</li>
<li>See full diff in <a
href="https://github.com/junit-team/junit5/compare/r5.11.1...r5.11.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.junit.jupiter:junit-jupiter&package-manager=gradle&previous-version=5.11.1&new-version=5.11.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps
[org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit5)
from 5.11.2 to 5.11.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/junit-team/junit5/releases">org.junit.jupiter:junit-jupiter's
releases</a>.</em></p>
<blockquote>
<p>JUnit 5.11.3 = Platform 1.11.3 + Jupiter 5.11.3 + Vintage 5.11.3</p>
<p>See <a
href="http://junit.org/junit5/docs/5.11.3/release-notes/">Release
Notes</a>.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/junit-team/junit5/compare/r5.11.2...r5.11.3">https://github.com/junit-team/junit5/compare/r5.11.2...r5.11.3</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/junit-team/junit5/commit/b20991e3760b3053d5b71846ce5950de90650ab9"><code>b20991e</code></a>
Release 5.11.3</li>
<li><a
href="https://github.com/junit-team/junit5/commit/e57b508692765e0e4c869d96d889f3d82216dd5e"><code>e57b508</code></a>
Finalize 5.11.3 release notes</li>
<li><a
href="https://github.com/junit-team/junit5/commit/fb1254cb132135221852e7d048c906a6ce13ea4e"><code>fb1254c</code></a>
Allow repeating <code>ExtendWith</code> annotation on fields and
parameters</li>
<li><a
href="https://github.com/junit-team/junit5/commit/a3192bd97fa13adb6c2aa1fe9207a4de18dcc002"><code>a3192bd</code></a>
Fix package name comparison on Java 8 (<a
href="https://redirect.github.com/junit-team/junit5/issues/4077">#4077</a>)</li>
<li><a
href="https://github.com/junit-team/junit5/commit/fcb7b0197ec1569396253e257dce0b5fd2a02211"><code>fcb7b01</code></a>
Remove useless <code>Order</code> annotation</li>
<li><a
href="https://github.com/junit-team/junit5/commit/57dfcb515f98289aefe9d318ba970a3149b235dc"><code>57dfcb5</code></a>
Allow repeating <code>@…Source</code> annotations when used as meta
annotations</li>
<li><a
href="https://github.com/junit-team/junit5/commit/09cd8b35982a1890285d09cae18828f4c967fcf2"><code>09cd8b3</code></a>
Add ArchUnit test for consistency of repeatable annotations</li>
<li><a
href="https://github.com/junit-team/junit5/commit/fa46a92fc5b31139ae84660c74160eea95de4c85"><code>fa46a92</code></a>
Hard-wrap at 90 characters</li>
<li><a
href="https://github.com/junit-team/junit5/commit/8f45eeab5662706facaa327902dd02639ffe02e7"><code>8f45eea</code></a>
Find repeatable @⁠ExtendWith meta-annotations on fields again</li>
<li><a
href="https://github.com/junit-team/junit5/commit/b451122115c398b29e8d97363bf47725484a7bac"><code>b451122</code></a>
Introduce release notes for 5.11.3</li>
<li>Additional commits viewable in <a
href="https://github.com/junit-team/junit5/compare/r5.11.2...r5.11.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.junit.jupiter:junit-jupiter&package-manager=gradle&previous-version=5.11.2&new-version=5.11.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot bot and others added 12 commits November 15, 2024 08:36
Bumps
[codecov/codecov-action](https://github.com/codecov/codecov-action) from
4 to 5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/codecov/codecov-action/releases">codecov/codecov-action's
releases</a>.</em></p>
<blockquote>
<h2>v5.0.0</h2>
<h2>v5 Release</h2>
<p><code>v5</code> of the Codecov GitHub Action will use the <a
href="https://github.com/codecov/wrapper">Codecov Wrapper</a> to
encapsulate the <a
href="https://github.com/codecov/codecov-cli">CLI</a>. This will help
ensure that the Action gets updates quicker.</p>
<h3>Migration Guide</h3>
<p>The <code>v5</code> release also coincides with the opt-out feature
for tokens for public repositories. In the repository settings page in
codecov.io, you can set the ability for Codecov to receive a coverage
report from ANY souce. This will allow contributors or other members of
a repository to upload without needing access to the Codecov token.</p>
<blockquote>
<p>[!WARNING]<br />
<strong>The following arguments have been changed</strong></p>
<ul>
<li><code>file</code> (this has been deprecated in favor of
<code>files</code>)</li>
<li><code>plugin</code> (this has been deprecated in favor of
<code>plugins</code>)</li>
</ul>
</blockquote>
<p>The following arguments have been added:</p>
<ul>
<li><code>binary</code></li>
<li><code>gcov_args</code></li>
<li><code>gcov_executable</code></li>
<li><code>gcov_ignore</code></li>
<li><code>gcov_include</code></li>
<li><code>report_type</code></li>
<li><code>skip_validation</code></li>
<li><code>swift_project</code></li>
</ul>
<p>You can see their usage in the <code>action.yml</code> <a
href="https://github.com/codecov/codecov-action/blob/main/action.yml">file</a>.</p>
<h2>What's Changed</h2>
<ul>
<li>chore(deps): bump to eslint9+ and remove eslint-config-google by <a
href="https://github.com/thomasrockhu-codecov"><code>@​thomasrockhu-codecov</code></a>
in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1591">codecov/codecov-action#1591</a></li>
<li>build(deps-dev): bump <code>@​octokit/webhooks-types</code> from
7.5.1 to 7.6.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1595">codecov/codecov-action#1595</a></li>
<li>build(deps-dev): bump typescript from 5.6.2 to 5.6.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1604">codecov/codecov-action#1604</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/parser</code> from
8.8.0 to 8.8.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1601">codecov/codecov-action#1601</a></li>
<li>build(deps): bump <code>@​actions/core</code> from 1.11.0 to 1.11.1
by <a href="https://github.com/dependabot"><code>@​dependabot</code></a>
in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1597">codecov/codecov-action#1597</a></li>
<li>build(deps): bump github/codeql-action from 3.26.9 to 3.26.11 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1596">codecov/codecov-action#1596</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code>
from 8.8.0 to 8.8.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1600">codecov/codecov-action#1600</a></li>
<li>build(deps-dev): bump eslint from 9.11.1 to 9.12.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1598">codecov/codecov-action#1598</a></li>
<li>build(deps): bump github/codeql-action from 3.26.11 to 3.26.12 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1609">codecov/codecov-action#1609</a></li>
<li>build(deps): bump actions/checkout from 4.2.0 to 4.2.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1608">codecov/codecov-action#1608</a></li>
<li>build(deps): bump actions/upload-artifact from 4.4.0 to 4.4.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1607">codecov/codecov-action#1607</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/parser</code> from
8.8.1 to 8.9.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1612">codecov/codecov-action#1612</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code>
from 8.8.1 to 8.9.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1611">codecov/codecov-action#1611</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code>
from 8.9.0 to 8.10.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1615">codecov/codecov-action#1615</a></li>
<li>build(deps-dev): bump eslint from 9.12.0 to 9.13.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1618">codecov/codecov-action#1618</a></li>
<li>build(deps): bump github/codeql-action from 3.26.12 to 3.26.13 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1617">codecov/codecov-action#1617</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/parser</code> from
8.9.0 to 8.10.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1614">codecov/codecov-action#1614</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code>
from 8.10.0 to 8.11.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1620">codecov/codecov-action#1620</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/parser</code> from
8.10.0 to 8.11.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1619">codecov/codecov-action#1619</a></li>
<li>build(deps-dev): bump <code>@​types/jest</code> from 29.5.13 to
29.5.14 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1622">codecov/codecov-action#1622</a></li>
<li>build(deps): bump actions/checkout from 4.2.1 to 4.2.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1625">codecov/codecov-action#1625</a></li>
<li>build(deps): bump github/codeql-action from 3.26.13 to 3.27.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1624">codecov/codecov-action#1624</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code>
from 8.11.0 to 8.12.1 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1626">codecov/codecov-action#1626</a></li>
<li>build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code>
from 8.12.1 to 8.12.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/codecov/codecov-action/pull/1629">codecov/codecov-action#1629</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md">codecov/codecov-action's
changelog</a>.</em></p>
<blockquote>
<h2>4.0.0-beta.2</h2>
<h3>Fixes</h3>
<ul>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/1085">#1085</a>
not adding -n if empty to do-upload command</li>
</ul>
<h2>4.0.0-beta.1</h2>
<p><code>v4</code> represents a move from the <a
href="https://github.com/codecov/uploader">universal uploader</a> to the
<a href="https://github.com/codecov/codecov-cli">Codecov CLI</a>.
Although this will unlock new features for our users, the CLI is not yet
at feature parity with the universal uploader.</p>
<h3>Breaking Changes</h3>
<ul>
<li>No current support for <code>aarch64</code> and <code>alpine</code>
architectures.</li>
<li>Tokenless uploading is unsuported</li>
<li>Various arguments to the Action have been removed</li>
</ul>
<h2>3.1.4</h2>
<h3>Fixes</h3>
<ul>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/967">#967</a>
Fix typo in README.md</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/971">#971</a>
fix: add back in working dir</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/969">#969</a>
fix: CLI option names for uploader</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/970">#970</a>
build(deps-dev): bump <code>@​types/node</code> from 18.15.12 to
18.16.3</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/979">#979</a>
build(deps-dev): bump <code>@​types/node</code> from 20.1.0 to
20.1.2</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/981">#981</a>
build(deps-dev): bump <code>@​types/node</code> from 20.1.2 to
20.1.4</li>
</ul>
<h2>3.1.3</h2>
<h3>Fixes</h3>
<ul>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/960">#960</a>
fix: allow for aarch64 build</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/957">#957</a>
build(deps-dev): bump jest-junit from 15.0.0 to 16.0.0</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/958">#958</a>
build(deps): bump openpgp from 5.7.0 to 5.8.0</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/959">#959</a>
build(deps-dev): bump <code>@​types/node</code> from 18.15.10 to
18.15.12</li>
</ul>
<h2>3.1.2</h2>
<h3>Fixes</h3>
<ul>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/718">#718</a>
Update README.md</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/851">#851</a>
Remove unsupported path_to_write_report argument</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/898">#898</a>
codeql-analysis.yml</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/901">#901</a>
Update README to contain correct information - inputs and negate
feature</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/955">#955</a>
fix: add in all the extra arguments for uploader</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/819">#819</a>
build(deps): bump openpgp from 5.4.0 to 5.5.0</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/835">#835</a>
build(deps): bump node-fetch from 3.2.4 to 3.2.10</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/840">#840</a>
build(deps): bump ossf/scorecard-action from 1.1.1 to 2.0.4</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/841">#841</a>
build(deps): bump <code>@​actions/core</code> from 1.9.1 to 1.10.0</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/843">#843</a>
build(deps): bump <code>@​actions/github</code> from 5.0.3 to 5.1.1</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/869">#869</a>
build(deps): bump node-fetch from 3.2.10 to 3.3.0</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/872">#872</a>
build(deps-dev): bump jest-junit from 13.2.0 to 15.0.0</li>
<li><a
href="https://redirect.github.com/codecov/codecov-action/issues/879">#879</a>
build(deps): bump decode-uri-component from 0.2.0 to 0.2.2</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/codecov/codecov-action/commit/968872560f81e7bdde9272853e65f2507c0eca7c"><code>9688725</code></a>
Update README.md</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/2112eaec1bedbdabc7e93d5312449d0d62b07c60"><code>2112eae</code></a>
chore(deps): bump wrapper to 0.0.23 (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1644">#1644</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/193421c5b3d1aca4209c9754f224ca0d85729414"><code>193421c</code></a>
fixL use the correct source (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1642">#1642</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/6018df70b05b191502ce08196e76e30ea3578615"><code>6018df7</code></a>
fix: update container builds (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1640">#1640</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/eff1a643d6887ee5935d4ca343e9076dc377d416"><code>eff1a64</code></a>
fix: add missing vars (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1638">#1638</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/4582d54fd3d27d9130327cdb51361c32016fa400"><code>4582d54</code></a>
Update README.md (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1639">#1639</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/bb7467c2bce05781760a0964d48e35e96ee59505"><code>bb7467c</code></a>
feat: use wrapper (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1621">#1621</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/1d6059880cab9176d33e31e0f1ab076b20495f5e"><code>1d60598</code></a>
build(deps-dev): bump <code>@​typescript-eslint/eslint-plugin</code>
from 8.12.2 to 8.13.0 ...</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/e587ce276eb45f1fcd960de3c01c83119213efca"><code>e587ce2</code></a>
build(deps-dev): bump <code>@​typescript-eslint/parser</code> from
8.12.2 to 8.13.0 (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1635">#1635</a>)</li>
<li><a
href="https://github.com/codecov/codecov-action/commit/e43f28e103e52bb26d252b5a97fcdfa06175321e"><code>e43f28e</code></a>
build(deps-dev): bump <code>@​typescript-eslint/parser</code> from
8.11.0 to 8.12.2 (<a
href="https://redirect.github.com/codecov/codecov-action/issues/1628">#1628</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/codecov/codecov-action/compare/v4...v5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=codecov/codecov-action&package-manager=github_actions&previous-version=4&new-version=5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps
[org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit5)
from 5.11.3 to 5.11.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/junit-team/junit5/releases">org.junit.jupiter:junit-jupiter's
releases</a>.</em></p>
<blockquote>
<p>JUnit 5.11.4 = Platform 1.11.4 + Jupiter 5.11.4 + Vintage 5.11.4</p>
<p>See <a
href="http://junit.org/junit5/docs/5.11.4/release-notes/">Release
Notes</a>.</p>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/junit-team/junit5/compare/r5.11.3...r5.11.4">https://github.com/junit-team/junit5/compare/r5.11.3...r5.11.4</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/junit-team/junit5/commit/6430ba4f653f6ae42f326cd0731b259ee699c719"><code>6430ba4</code></a>
Release 5.11.4</li>
<li><a
href="https://github.com/junit-team/junit5/commit/d09312174e38e36ec7ac9b35f7033d6a2b693125"><code>d093121</code></a>
Finalize 5.11.4 release notes</li>
<li><a
href="https://github.com/junit-team/junit5/commit/0444353084f7c47bb29e785b10cf3e835454c2da"><code>0444353</code></a>
Fix Maven integration tests on JDK 24</li>
<li><a
href="https://github.com/junit-team/junit5/commit/b5c7f4eeaff5b8a654e9ea6b78227cf90345b0ae"><code>b5c7f4e</code></a>
Move <a
href="https://redirect.github.com/junit-team/junit5/issues/4153">#4153</a>
to 5.11.4 release notes</li>
<li><a
href="https://github.com/junit-team/junit5/commit/b20c4e2eaed8a97536d48f7bb084a4bd828a56a9"><code>b20c4e2</code></a>
Ensure the XMLStreamWriter is closed after use</li>
<li><a
href="https://github.com/junit-team/junit5/commit/6376f0ab367f1ac17ce75b5410e68090b03b9d9b"><code>6376f0a</code></a>
Configure Git username and email</li>
<li><a
href="https://github.com/junit-team/junit5/commit/2b485c4286531fe7f3aa70367a27cf141c669a12"><code>2b485c4</code></a>
Set reference repo URI</li>
<li><a
href="https://github.com/junit-team/junit5/commit/500b5a06b5964a477e65719877653bae0e2496fc"><code>500b5a0</code></a>
Inject username and password via new DSL</li>
<li><a
href="https://github.com/junit-team/junit5/commit/d67196188fb63fa5a35f63caf168dc42cecfaca8"><code>d671961</code></a>
Update plugin gitPublish to v5</li>
<li><a
href="https://github.com/junit-team/junit5/commit/3d11279dbaae5aac0ab5f28d8283272bdbca924f"><code>3d11279</code></a>
Add <code>JAVA_25</code> to <code>JRE</code> enum</li>
<li>Additional commits viewable in <a
href="https://github.com/junit-team/junit5/compare/r5.11.3...r5.11.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.junit.jupiter:junit-jupiter&package-manager=gradle&previous-version=5.11.3&new-version=5.11.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [org.assertj:assertj-core](https://github.com/assertj/assertj)
from 3.26.3 to 3.27.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/assertj/assertj/releases">org.assertj:assertj-core's
releases</a>.</em></p>
<blockquote>
<h2>v3.27.0</h2>
<h2>:no_entry_sign: Deprecated</h2>
<h3>Core</h3>
<ul>
<li>Deprecate <code>ClassBasedNavigableIterableAssert</code> and
<code>ClassBasedNavigableListAssert</code> <a
href="https://redirect.github.com/assertj/assertj/issues/3529">#3529</a></li>
</ul>
<h2>:sparkles: New Features</h2>
<h3>Core</h3>
<ul>
<li>Add <code>actual()</code> to access the object under test <a
href="https://redirect.github.com/assertj/assertj/issues/3489">#3489</a></li>
<li>Add <code>isCompletedWithValueMatchingWithin</code> to
<code>CompletableFuture</code> assertions <a
href="https://redirect.github.com/assertj/assertj/issues/3506">#3506</a></li>
<li>Add <code>completesExceptionallyWithin</code> to
<code>CompletableFuture</code> assertions <a
href="https://redirect.github.com/assertj/assertj/issues/3597">#3597</a></li>
<li>Add <code>inBinary</code> to <code>CharSequence</code> assertions <a
href="https://redirect.github.com/assertj/assertj/issues/3600">#3600</a></li>
<li>Support for <code>Assertions.byLessThan(Duration)</code> and
<code>Assertions.within(Duration)</code> <a
href="https://redirect.github.com/assertj/assertj/issues/3486">#3486</a></li>
<li>Add standard representation for <code>CharSequence</code> <a
href="https://redirect.github.com/assertj/assertj/issues/3617">#3617</a></li>
<li>Add predicate descriptions overloads to <code>anyMatch</code> and
<code>noneMatch</code> <a
href="https://redirect.github.com/assertj/assertj/issues/3639">#3639</a></li>
<li>Add <code>doesNotMatch(Predicate)</code> <a
href="https://redirect.github.com/assertj/assertj/issues/3684">#3684</a></li>
<li>Add <code>usingEquals</code> accepting a <code>BiPredicate</code>
and an optional description to provide a custom comparison in assertions
<a
href="https://redirect.github.com/assertj/assertj/issues/3678">#3678</a></li>
</ul>
<h3>Guava</h3>
<ul>
<li>Add <code>isNotEmpty</code> to <code>Table</code> assertions <a
href="https://redirect.github.com/assertj/assertj/issues/3559">#3559</a></li>
</ul>
<h2>:bug: Bug Fixes</h2>
<h3>Core</h3>
<ul>
<li>Recursive assertion <code>hasNoNullFields</code> throws NPE with
fields of anonymous and local types <a
href="https://redirect.github.com/assertj/assertj/issues/3534">#3534</a></li>
<li>Fix incorrect mutation of
<code>actualElementsGroupedByHashCode</code> in recursive
comparison</li>
<li>Recursive comparison <code>ignoringFields</code> not working
properly with maps <a
href="https://redirect.github.com/assertj/assertj/issues/2988">#2988</a></li>
<li>Custom representation ignored when describing expected items not in
the actual list <a
href="https://redirect.github.com/assertj/assertj/issues/3646">#3646</a></li>
<li><code>hasFieldOrPropertyWithValue</code> swallows exceptions thrown
by getters, and reports non-existent property instead <a
href="https://redirect.github.com/assertj/assertj/issues/3563">#3563</a></li>
<li><code>satisfies()</code> with nested assertions obscures stack trace
<a
href="https://redirect.github.com/assertj/assertj/issues/2542">#2542</a></li>
</ul>
<h2>:zap: Improvements</h2>
<h3>Core</h3>
<ul>
<li>Report all failing conditions when using
<code>satisfies(allOf(Condition...))</code> <a
href="https://redirect.github.com/assertj/assertj/issues/3537">#3537</a></li>
<li>Fix Unicode escapes in <code>inUnicode()</code> Javadoc</li>
<li>Show error differences if values were compared with
<code>equals</code> in recursive comparison <a
href="https://redirect.github.com/assertj/assertj/issues/3209">#3209</a></li>
<li>Propagate common basetype for extracting(Function...) <a
href="https://redirect.github.com/assertj/assertj/issues/3673">#3673</a></li>
<li>Add throwable stacktrace to
<code>ShouldNotContainCharSequence</code></li>
<li>Remove unused code and other minor cleanup <a
href="https://redirect.github.com/assertj/assertj/issues/3683">#3683</a></li>
<li>Simplify comparison strategy <code>isLessThan</code> and
<code>isLessThanOrEqualTo</code> in
<code>AbstractComparisonStrategy</code> <a
href="https://redirect.github.com/assertj/assertj/issues/3694">#3694</a></li>
<li>Update <code>AbstractCharSequenceAssert.java</code> reference <a
href="https://redirect.github.com/assertj/assertj/issues/3700">#3700</a></li>
<li>Include stack trace of internal errors in all/any satisfy
assertions</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/assertj/assertj/commit/74a8a44fdb5b1bb4b3020c31cebba59fafcc7aec"><code>74a8a44</code></a>
[maven-release-plugin] prepare release assertj-build-3.27.0</li>
<li><a
href="https://github.com/assertj/assertj/commit/ba362288917230d1476a2950b99e666e690a0552"><code>ba36228</code></a>
Bump version to prepare 3.27.0 version</li>
<li><a
href="https://github.com/assertj/assertj/commit/f4d9c8f40dc8d1cc012c0ca42b24c62c469b3183"><code>f4d9c8f</code></a>
Bump version to prepare 3.27.0 version</li>
<li><a
href="https://github.com/assertj/assertj/commit/6d15943b55fb04a1eb9a3351a318ba59ad7c7d37"><code>6d15943</code></a>
chore(deps-dev): bump org.hibernate.orm:hibernate-core from 6.6.3.Final
to 6....</li>
<li><a
href="https://github.com/assertj/assertj/commit/e1b0a4e39c6ffb923f12b95d03ff4075686f406e"><code>e1b0a4e</code></a>
Custom Equality (BiPredicate) Comparator - resolves <a
href="https://redirect.github.com/assertj/assertj/issues/3678">#3678</a></li>
<li><a
href="https://github.com/assertj/assertj/commit/d92ba37948c7c979f04e17f232c66ac90e7b8a96"><code>d92ba37</code></a>
Quality Improvements (<a
href="https://redirect.github.com/assertj/assertj/issues/3697">#3697</a>)</li>
<li><a
href="https://github.com/assertj/assertj/commit/36e63c3bf423461d7afd500f2d43ffe98e1f5282"><code>36e63c3</code></a>
Add <code>isNotEmpty</code> to <code>Table</code> assertions (<a
href="https://redirect.github.com/assertj/assertj/issues/3559">#3559</a>)</li>
<li><a
href="https://github.com/assertj/assertj/commit/de48db62289556fb7452366adbbe60d47f7fff2f"><code>de48db6</code></a>
chore(deps): bump com.google.guava:guava from 33.3.1-jre to 33.4.0-jre
(<a
href="https://redirect.github.com/assertj/assertj/issues/3705">#3705</a>)</li>
<li><a
href="https://github.com/assertj/assertj/commit/b04f8a385dce2710e316d956937cf7b85de48d74"><code>b04f8a3</code></a>
chore(deps): bump byte-buddy.version from 1.15.10 to 1.15.11 (<a
href="https://redirect.github.com/assertj/assertj/issues/3703">#3703</a>)</li>
<li><a
href="https://github.com/assertj/assertj/commit/6500d22206d4716b825772f1f6d372eb5723fefd"><code>6500d22</code></a>
chore(deps): bump junit-jupiter.version from 5.11.3 to 5.11.4 (<a
href="https://redirect.github.com/assertj/assertj/issues/3702">#3702</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/assertj/assertj/compare/assertj-build-3.26.3...assertj-build-3.27.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.assertj:assertj-core&package-manager=gradle&previous-version=3.26.3&new-version=3.27.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps net.researchgate.release from 3.0.2 to 3.1.0.


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=net.researchgate.release&package-manager=gradle&previous-version=3.0.2&new-version=3.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- Enforce package depth using ArchUnit test

CONTRIBUTING.md mentions:
> The maximum package depth is two

Violation results in a unit test failure:
> Architecture Violation [Priority: MEDIUM] - Rule 'classes should have
a package depth of 3 or less' was violated (1 times):
Class io.vavr.too.deep.SomeClass has a package depth of 4, which exceeds
the allowed maximum of 3

Small step in fixing issue #2924
* `shouldApplyAnUncheckedFunctionThatThrows` always passed, when
removing the `throw new Error()` because the failed asserting was
immediately caught.

```java
        final Runnable runnable = CheckedRunnable.of(() -> { /*throw new Error();*/ }).unchecked(); // Test would still pass
```

Fixed by using `assertThrows` from JUnit
Bumps [org.assertj:assertj-core](https://github.com/assertj/assertj)
from 3.27.0 to 3.27.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/assertj/assertj/releases">org.assertj:assertj-core's
releases</a>.</em></p>
<blockquote>
<h2>v3.27.1</h2>
<h2>:no_entry_sign: Deprecated</h2>
<h3>Core</h3>
<ul>
<li>Deprecate <code>usingComparatorForFields</code> and remove
deprecated assertions from <code>usingComparatorForType</code>
documentation <a
href="https://redirect.github.com/assertj/assertj/issues/3711">#3711</a></li>
<li>Deprecate <code>hasCauseReference(Throwable)</code> from
<code>Throwable</code> assertions <a
href="https://redirect.github.com/assertj/assertj/issues/3715">#3715</a></li>
</ul>
<h2>:bug: Bug Fixes</h2>
<h3>Core</h3>
<ul>
<li>Fix missing introspection for record accessors <a
href="https://redirect.github.com/assertj/assertj/issues/3710">#3710</a></li>
<li>Honor assertion description in <code>asString()</code></li>
<li>Avoid <code>InputStream</code> manipulation when <code>mark</code> /
<code>reset</code> are supported <a
href="https://redirect.github.com/assertj/assertj/issues/3713">#3713</a></li>
<li>NPE with custom <code>RecursiveComparisonConfiguration</code> on
<code>usingRecursiveFieldByFieldElementComparator</code> <a
href="https://redirect.github.com/assertj/assertj/issues/3719">#3719</a></li>
<li>Recursive comparison fails if ignored fieds are not found in
<code>expected</code> <a
href="https://redirect.github.com/assertj/assertj/issues/3226">#3226</a></li>
</ul>
<h2>:zap: Improvements</h2>
<ul>
<li>Declare license using SPDX identifier <a
href="https://redirect.github.com/assertj/assertj/issues/3718">#3718</a></li>
</ul>
<h2>:heart: Contributors</h2>
<p>Thanks to all the contributors who worked on this release:</p>
<p><a
href="https://github.com/Bananeweizen"><code>@​Bananeweizen</code></a>
<a href="https://github.com/jessicant"><code>@​jessicant</code></a> <a
href="https://github.com/nith2001"><code>@​nith2001</code></a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/assertj/assertj/commit/8cd0c63f0cc307835325ababc801d9e60805c8e4"><code>8cd0c63</code></a>
[maven-release-plugin] prepare release assertj-build-3.27.1</li>
<li><a
href="https://github.com/assertj/assertj/commit/6ea4d4f5ffef74626efd972d8363c361084b76c2"><code>6ea4d4f</code></a>
Recursive comparison: add test with ignored fields in nested map</li>
<li><a
href="https://github.com/assertj/assertj/commit/75954abe17c145068015c9439d42c5e9ec153243"><code>75954ab</code></a>
Update license header year to 2025</li>
<li><a
href="https://github.com/assertj/assertj/commit/8030727c20a8f060fd2d739b3bece52cdb4f0c55"><code>8030727</code></a>
RecursiveComparisonConfiguration.Builder: set the standard
representation if ...</li>
<li><a
href="https://github.com/assertj/assertj/commit/4207e83e83b0971f755161ee47c6194ca6472a09"><code>4207e83</code></a>
Avoid <code>InputStream</code> manipulation when <code>mark</code> /
<code>reset</code> are supported (<a
href="https://redirect.github.com/assertj/assertj/issues/3713">#3713</a>)</li>
<li><a
href="https://github.com/assertj/assertj/commit/d692186de6870111abbbac448d76c39be06ff86b"><code>d692186</code></a>
Deprecate hasCauseReference(throwable) in favor of
cause().isSameAs(throwable)</li>
<li><a
href="https://github.com/assertj/assertj/commit/ae98ebdc91a6f9e5496e2abad5de7919b5830739"><code>ae98ebd</code></a>
Declare license using SPDX identifier (<a
href="https://redirect.github.com/assertj/assertj/issues/3718">#3718</a>)</li>
<li><a
href="https://github.com/assertj/assertj/commit/5c58e3623a331fd19806c92643757fed3dbc1702"><code>5c58e36</code></a>
Add missing <code>@SInCE</code></li>
<li><a
href="https://github.com/assertj/assertj/commit/65258641b62f928e51ed03d85df7b9f438037874"><code>6525864</code></a>
Deprecate usingComparatorForFields and remove deprecated assertions from
usin...</li>
<li><a
href="https://github.com/assertj/assertj/commit/8b0eedc18f99132203a7542e93fcb3402d12ad76"><code>8b0eedc</code></a>
chore(deps): bump nl.jqno.equalsverifier:equalsverifier from 3.17.5 to
3.18 (...</li>
<li>Additional commits viewable in <a
href="https://github.com/assertj/assertj/compare/assertj-build-3.27.0...assertj-build-3.27.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.assertj:assertj-core&package-manager=gradle&previous-version=3.27.0&new-version=3.27.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- Add test coverage for `Option#peek(Runnable, Consumer)`
- Add test coverage for `Either#peek(Consumer, Consumer)`
- [x] Use parallel execution for test
- Used basic implementation from [Gradle
Docs](https://docs.gradle.org/current/userguide/performance.html#execute_tests_in_parallel)
as a start
    - Tests seem already properly independent and hence parallelizable

CI effect: 
- before: `+/- 3m 30s` per action (total usage for 5 actions: `15m 31s`)
- after: `2m 58s` per action (total usage for 5 actions: `13m 36s`)

Local effect: On my device (Apple M1 Max, 64GB Memory) running `gradle
clean test`:
- before: ` 1m 42s`
- after: `55s`
@pivovarit pivovarit deleted the branch Mu-L:master January 5, 2025 11:40
@pivovarit pivovarit deleted the master branch January 5, 2025 11:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants