Visitar URL original
Happy birthday Java 26! by Godin · Pull Request #2076 · jacoco/jacoco · GitHub
Skip to content

Happy birthday Java 26! - #2076

Merged
Godin merged 3 commits into
jacoco:masterfrom
Godin:java26
Mar 23, 2026
Merged

Godin merged 3 commits into
jacoco:masterfrom
Godin:java26

Conversation

@Godin

@Godin Godin commented Mar 13, 2026

Copy link
Copy Markdown
Member

No description provided.

@Godin
Godin marked this pull request as ready for review March 18, 2026 12:45
@Godin
Godin requested a review from marchof March 18, 2026 12:45
@Godin
Godin enabled auto-merge (squash) March 18, 2026 12:46
@Godin
Godin merged commit f2f85c2 into jacoco:master Mar 23, 2026
56 checks passed
@Godin
Godin deleted the java26 branch March 23, 2026 20:28
dongjoon-hyun added a commit to apache/spark-kubernetes-operator that referenced this pull request Nov 2, 2026
### What changes were proposed in this pull request?

This PR aims to upgrade `JaCoCo` to 0.8.16.

- `gradle/libs.versions.toml`: `jacoco` 0.8.14 -> 0.8.16
- `gradle/verification-metadata.xml`: regenerated from scratch. Only the JaCoCo artifacts and their ASM dependencies (`asm`, `asm-bom`, `asm-commons`, and `asm-tree`, 9.9 -> 9.11.1) changed.

### Why are the changes needed?

To support the JDK 27 test toolchain officially and remove the JaCoCo agent exceptions from the unit test output.

JaCoCo 0.8.14 cannot read class files of major version 71, so it logs `IllegalClassFormatException` caused by `Unsupported class file major version 71` while instrumenting JDK classes (e.g. `java.net.http`, `jdk.httpserver`, and `sun.security.pkcs11`) and classes generated by Mockito. The tests still pass, but the output contains hundreds of stack traces.

- [JaCoCo 0.8.16](https://github.com/jacoco/jacoco/releases/tag/v0.8.16) (2026-10-26)
  - Official support for Java 27 ([#2287](jacoco/jacoco#2287))
  - Experimental support for Java 28 class files ([#2170](jacoco/jacoco#2170), [#2189](jacoco/jacoco#2189))
  - Classes loaded by the platform class loader are instrumented only with the agent option `inclbootstrapclasses=true` ([#2155](jacoco/jacoco#2155))
  - ASM 9.11.1 ([#2299](jacoco/jacoco#2299), [#2304](jacoco/jacoco#2304))
- [JaCoCo 0.8.15](https://github.com/jacoco/jacoco/releases/tag/v0.8.15) (2026-06-05)
  - Official support for Java 26 ([#2076](jacoco/jacoco#2076))
  - Experimental support for Java 27 class files ([#2004](jacoco/jacoco#2004))
  - ASM 9.10.1 ([#2134](jacoco/jacoco#2134))

### Does this PR introduce _any_ user-facing change?

No. JaCoCo is used only for the unit tests and is not included in the operator distribution.

### How was this patch tested?

Pass the CIs. In addition, the following passed locally on the JDK 27 test toolchain.

```bash
gradle cleanTest build jacocoTestReport spotlessCheck --refresh-dependencies
```

The number of `Unsupported class file major version 71` occurrences in `<module>/build/test-results/test/*.xml` was measured before and after this PR.

| Module | Before (0.8.14) | After (0.8.16) | Tests |
|---|---|---|---|
| `spark-operator-api` | 0 | 0 | 66 |
| `spark-submission-worker` | 1 | 0 | 40 |
| `spark-operator` | 359 | 0 | 692 |

All 798 tests passed, and the coverage totals of `jacocoTestReport` are identical before and after this PR in all three modules.

### Was this patch authored or co-authored using generative AI tooling?

Generated-by: Claude Opus 5.5

Closes #992 from dongjoon-hyun/SPARK-60815.

Authored-by: Dongjoon Hyun <dongjoon@apache.org>
Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants