Release Notes

This version is still in development and not considered stable yet.
For the latest stable release, please see JUnit 6.1.0!

This document contains the change log for all JUnit releases since 6.1.0.

6.2.0-M1

Date of Release:

Scope:

For a complete list of all closed issues and pull requests for this release, consult the 6.2.0-M1 milestone page in the JUnit repository on GitHub.

JUnit Platform

Bug Fixes

Deprecations and Breaking Changes

New Features and Improvements

  • When using ConsoleLauncher with the -cp/--classpath option, it now creates a custom ClassLoader that does not implement AutoCloseable to avoid accidentally closing it in test code which can lead to test failures that are hard to diagnose.

  • When using a third-party engine that uses the junit- prefix a discovery issue is emitted.

JUnit Jupiter

Bug Fixes

Deprecations and Breaking Changes

New Features and Improvements

  • Failures caused by @Timeout expirations now include a hint about enabling thread dumps.

JUnit Vintage

Bug Fixes

Deprecations and Breaking Changes

New Features and Improvements

6.1.0

Date of Release: May 19, 2026

Scope:

  • New @DefaultLocale and @DefaultTimeZone built-in extensions

  • New built-in extension for clearing/setting/restoring system properties

  • Configurable deletion strategy for @TempDir that allows ignoring failures

  • New org.junit.start module for usage in compact source files

  • Execution mode configuration support for dynamic tests and containers

  • Improved stack trace pruning for assertion failures

  • New org.junit.jupiter.api.Constants class for referencing configuration parameters

  • Improvements to legacy XML reports for parameterized test classes

  • New parallel test executor implementation

  • New experimental memory cleanup mode for large test suites

For complete details consult the 6.1.0 Release Notes online.