This document contains the change log for all JUnit 5 releases since 5.11 GA.
Please refer to the User Guide for comprehensive reference documentation for programmers writing tests, extension authors, and engine authors as well as build tool and IDE vendors.
5.13.0-M1
Date of Release: ❓
Scope: ❓
For a complete list of all closed issues and pull requests for this release, consult the 5.13.0-M1 milestone page in the JUnit repository on GitHub.
JUnit Jupiter
Bug Fixes
-
If
@ParameterizedTest(autoCloseArguments = true)
, all arguments returned by the usedArgumentsProvider
implementations are now closed even if the test method declares fewer parameters. -
AutoCloseable
arguments returned by anArgumentsProvider
are now closed even if they are wrapped withNamed
. -
AutoCloseable
arguments returned by anArgumentsProvider
are now closed even if a failure happens prior to invoking the parameterized method.
New Features and Improvements
-
Introduce
@ContainerTemplate
andContainerTemplateInvocationContextProvider
that allow declaring a top-level or@Nested
test class as a template to be invoked multiple times. This may be used, for example, to inject different parameters to be used by all tests in the container template class or to set up each invocation of the container template differently. -
New
TestTemplateInvocationContext.prepareInvocation(ExtensionContext)
callback method allows preparing theExtensionContext
before the test template method is invoked. This may be used, for example, to store entries in itsStore
to benefit from its cleanup support or for retrieval by other extensions.
5.12.0
Date of Release: February 21, 2025
Scope:
-
Output file attachments for tests and containers
-
Improvements to the Open Test Reporting XML output
-
Resource lock definition improvements
-
Thread dumps on test timeouts
-
Parameterized test validation improvements
-
Filtering support for auto-registered extensions
-
Kotlin contracts for assertions
-
Configurable Jupiter extension context scope
-
Enhancements to the
ConsoleLauncher
-
Better support for GraalVM native image usage
-
Improved discovery support for file-based test engines
-
Customizable classpath scanning
-
Parallel execution support in JUnit Vintage engine
-
Numerous bug fixes and other enhancements
For complete details consult the 5.12.0 Release Notes online.