Skip to content

Move the JDK variant's JUnit console launcher to 1.14.4, the last JUnit 5 release (#194) - #246

Merged
larsvikb merged 1 commit into
mainfrom
junit-1-14
Nov 1, 2026
Merged

larsvikb merged 1 commit into
mainfrom
junit-1-14

Conversation

@larsvikb

@larsvikb larsvikb commented Nov 1, 2026

Copy link
Copy Markdown
Owner

What

JUNIT_CONSOLE_VERSION goes from 1.13.4 to 1.14.4, with its sha256. It is the last
1.x entry in Maven Central's maven-metadata.xml; 6.x, the JUnit 6 line, stays out of
scope. The new ARG values invalidate the guarded RUN's cache, so the next variant
build fetches the new jar and runs its self-test. The default image is unaffected.

The jar's META-INF/shadowed-artifacts differs from 1.13.4's only in the twelve
JUnit versions: Jupiter and Vintage are now 5.14.4, Platform 1.14.4. It still bundles
JUnit 4.13.2, hamcrest-core 1.3, opentest4j, apiguardian-api and
open-test-reporting-tooling-spi, and still not testkit. The README's Maven
exclusion list therefore stays correct, and NOTES.md says the list holds for both
versions. Its size and memory figures stay labelled 1.13.4. The Dockerfile's bump
comment now asks for the .asc check as well as the .sha256, which shares the
jar's host.

Checked

  • make lint, make consistency and make test pass.
  • The sha256 equals the published .sha256, and the jar also matches the published
    .sha512 and .sha1. The .asc verifies as a good signature from
    FF6E2C001948C5F2F38B0CC385911F425EC61B51 (Marc Philipp), the same key that verifies
    1.13.4, whose published sha256 equals the pin being replaced. The key was fetched
    in the container; that the fingerprint is JUnit's release key was not checked
    against a second source.
  • The bundled list comes from the downloaded jar's META-INF/shadowed-artifacts.
  • The console options the image and the README use are unchanged: execute,
    --scan-class-path, --class-path, --fail-if-no-tests and --disable-banner.
    The version line's format, JUnit Platform Console Launcher %s, is unchanged.
    The class-file levels equal 1.13.4's, so Java 8 is still the minimum.
  • The 5.14.0–5.14.4 release notes name two console changes: a warning for a classpath root that
    does not exist (5.14.0), and JDK 26 compatibility (5.14.2). Neither affects the
    commands used here.
  • On the maintainer's host, from a temporary worktree at this commit:
    SANDBOX_JDK=21 ./run-claude-sandbox.sh --build-only rebuilt the variant. That
    build fetched the jar, checked its digest and ran the self-test. The built image's
    /etc/claude-code/jdk-version reads javac 21.0.13 and
    JUnit Platform Console Launcher 1.14.4; main's build read 1.13.4.

Generated with Claude Code

…it 5 release (#194)

## What

`JUNIT_CONSOLE_VERSION` goes from 1.13.4 to 1.14.4, with its sha256. It is the last
1.x entry in Maven Central's maven-metadata.xml; 6.x, the JUnit 6 line, stays out of
scope. The new ARG values invalidate the guarded RUN's cache, so the next variant
build fetches the new jar and runs its self-test. The default image is unaffected.

The jar's `META-INF/shadowed-artifacts` differs from 1.13.4's only in the twelve
JUnit versions: Jupiter and Vintage are now 5.14.4, Platform 1.14.4. It still bundles
JUnit 4.13.2, hamcrest-core 1.3, opentest4j, apiguardian-api and
open-test-reporting-tooling-spi, and still not testkit. The README's Maven
exclusion list therefore stays correct, and NOTES.md says the list holds for both
versions. Its size and memory figures stay labelled 1.13.4. The Dockerfile's bump
comment now asks for the `.asc` check as well as the `.sha256`, which shares the
jar's host.

## Checked

- `make lint`, `make consistency` and `make test` pass.
- The sha256 equals the published `.sha256`, and the jar also matches the published
  `.sha512` and `.sha1`. The `.asc` verifies as a good signature from
  FF6E2C001948C5F2F38B0CC385911F425EC61B51 (Marc Philipp), the same key that verifies
  1.13.4, whose published sha256 equals the pin being replaced. The key was fetched
  in the container; that the fingerprint is JUnit's release key was not checked
  against a second source.
- The bundled list comes from the downloaded jar's `META-INF/shadowed-artifacts`.
- The console options the image and the README use are unchanged: `execute`,
  `--scan-class-path`, `--class-path`, `--fail-if-no-tests` and `--disable-banner`.
  The version line's format, `JUnit Platform Console Launcher %s`, is unchanged.
  The class-file levels equal 1.13.4's, so Java 8 is still the minimum.
- The 5.14.0–5.14.4 release notes name two console changes: a warning for a classpath root that
  does not exist (5.14.0), and JDK 26 compatibility (5.14.2). Neither affects the
  commands used here.
- On the maintainer's host, from a temporary worktree at this commit:
  `SANDBOX_JDK=21 ./run-claude-sandbox.sh --build-only` rebuilt the variant. That
  build fetched the jar, checked its digest and ran the self-test. The built image's
  `/etc/claude-code/jdk-version` reads `javac 21.0.13` and
  `JUnit Platform Console Launcher 1.14.4`; main's build read 1.13.4.

Co-Authored-By: Claude <noreply@anthropic.com>
@larsvikb
larsvikb merged commit e60cf98 into main Nov 1, 2026
6 checks passed
@larsvikb
larsvikb deleted the junit-1-14 branch November 1, 2026 16:54
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.

1 participant