1- [[release-notes-5.10.0]]
2- == 5.10.0
1+ [[release-notes-5.10.0-M1 ]]
2+ == 5.10.0-M1
33
4- *Date of Release:* ❓
4+ *Date of Release:* May 13, 2023
55
66*Scope:*
77
1212* Dry-run mode for test execution
1313* New `NamespacedHierarchicalStore` for use in third-party test engines
1414* Stacktrace pruning to hide internal JUnit calls
15- * New `@SelectMethod` support in test `@Suite` classes.
1615* New `TempDirFactory` SPI for customizing how temporary directories are created
1716* Failure threshold for `@RepeatedTest`
1817* New convenience base classes for implementing `ArgumentsProvider` and `ArgumentConverter`
2221* Numerous bug fixes and minor improvements
2322
2423For a complete list of all _closed_ issues and pull requests for this release, consult the
25- link:{junit5-repo}+/milestone/65?closed=1+[5.10.0-M1],
26- link:{junit5-repo}+/milestone/69?closed=1+[5.10.0-RC1], and
27- link:{junit5-repo}+/milestone/70?closed=1+[5.10.0 GA] milestone pages in the JUnit
24+ link:{junit5-repo}+/milestone/65?closed=1+[5.10.0-M1] milestone page in the JUnit
2825repository on GitHub.
2926
3027
31- [[release-notes-5.10.0-junit-platform]]
28+ [[release-notes-5.10.0-M1- junit-platform]]
3229=== JUnit Platform
3330
3431==== Deprecations and Breaking Changes
3532
3633* Building native images with GraalVM now requires configuring the build arg
3734 `--initialize-at-build-time=org.junit.platform.launcher.core.LauncherConfig` and
3835 `--initialize-at-build-time=org.junit.jupiter.engine.config.InstantiatingConfigurationParameterConverter`.
39- * The `getMethodParameterTypes()` methods in `MethodSelector` and `NestedMethodSelector`
40- have been deprecated and replaced by `getParameterTypeNames()` for greater clarity.
4136
4237==== New Features and Improvements
4338
44- * Various "experimental" APIs have been promoted to "stable", including
39+ * Promote various "experimental" APIs that have matured to "stable" including
4540 `ModuleSelector`, `EngineDiscoveryListener`, `EngineDiscoveryRequestResolver`,
4641 `LauncherSession`, `LauncherSessionListener`, parallel execution support classes,
4742 `@Suite` and related annotations, and others.
@@ -54,17 +49,10 @@ repository on GitHub.
5449 `ClassLoader`. This allows parameter types to be resolved with custom `ClassLoader`
5550 arrangements (such as OSGi). Consequently, `DiscoverySelectors.selectMethod(Class<?>,
5651 String, String)` also now works properly with custom `ClassLoader` arrangements.
57-
58- * New `@SelectMethod` selector support in the `@Suite` test engine.
59- * Classes may now be selected by fully-qualified name via the `names` attribute in
60- `@SelectClasses`.
6152* New overloaded constructors for `ClassSelector`, `NestedClassSelector`,
6253 `MethodSelector`, and `NestedMethodSelector` that take an explicit `ClassLoader` as a
6354 parameter, allowing selectors to select classes in custom `ClassLoader` arrangements
6455 like in OSGi.
65- * New `selectMethod()` and `selectNestedMethod()` variants in `DiscoverySelectors` that
66- accept a `Class<?>...` argument of parameter types as a type-safe alternative to
67- providing the names of parameter types as a comma-delimited string.
6856* For consistency with JUnit Jupiter lifecycle callbacks, listener method pairs for
6957 started/finished and opened/closed events are now invoked using "wrapping" semantics.
7058 This means that finished/closed event methods are invoked in reverse order compared to
@@ -92,13 +80,12 @@ repository on GitHub.
9280* New dry-run mode to simulate test execution without actually running tests. Please refer
9381 to the <<../user-guide/index.adoc#launcher-api-dry-run-mode, User Guide>> for details.
9482* Stack traces produced by failing tests are now pruned of calls from the `org.junit`,
95- `jdk.internal.reflect `, and `sun.reflect ` packages. This feature can be disabled via a
96- configuration parameter . Please refer to the
83+ `java `, and `jdk ` packages by default . This feature can be disabled or configured to
84+ prune other calls via configurations parameters . Please refer to the
9785 <<../user-guide/index.adoc#stacktrace-pruning, User Guide>> for details.
98- * New `getAncestors()` method in `TestDescriptor`.
9986
10087
101- [[release-notes-5.10.0-junit-jupiter]]
88+ [[release-notes-5.10.0-M1- junit-jupiter]]
10289=== JUnit Jupiter
10390
10491==== Bug Fixes
@@ -118,55 +105,43 @@ repository on GitHub.
118105 default.
119106* Implicit type conversion of boolean values like in `@CsvSource` is now stricter, only
120107 allowing values `"true"` or `"false"` (case-insensitive), in order to make accidental
121- mistakes apparent and to avoid potential confusion.
108+ mistakes apparent, avoiding potential confusion.
122109
123110==== New Features and Improvements
124111
125- * Various "experimental" APIs have been promoted to "stable", including
112+ * Promote various "experimental" APIs that have matured to "stable" including
126113 `MethodOrderer`, `ClassOrderer`, `InvocationInterceptor`,
127114 `LifecycleMethodExecutionExceptionHandler`, `@TempDir`, parallel execution annotations,
128115 and others.
129- * `JAVA_22` has been added to the `JRE` enum for use with JRE-based execution conditions.
130- * New `reason` attribute in `@Execution` which can be used to document the reason for
131- using the selected execution mode.
132- * New `junit.jupiter.execution.parallel.config.dynamic.max-pool-size-factor` configuration
133- parameter to set the maximum pool size factor.
134- * New `junit.jupiter.execution.parallel.config.dynamic.saturate` configuration
135- parameter to disable pool saturation.
136116* `@RepeatedTest` can now be configured with a failure threshold which signifies the
137117 number of failures after which remaining repetitions will be automatically skipped. See
138118 the <<../user-guide/index.adoc#writing-tests-repeated-tests, User Guide>> for details.
139- * If `@MethodSource` is used with a non-static factory method that should be `static`, the
140- exception thrown now provides the user a meaningful explanation of how to address the
141- problem.
142- * `@EmptySource` now supports additional types, including `Collection` and `Map` subtypes
143- with a public no-arg constructor.
144119* New `ArgumentsAccessor.getInvocationIndex()` method that supplies the index of a
145120 `@ParameterizedTest` invocation.
121+ * `@EmptySource` now supports additional types, including `Collection` and `Map` subtypes
122+ with a public no-arg constructor.
123+ * `DisplayNameGenerator` methods are now allowed to return `null`, in order to signal to
124+ fall back to the default display name generator.
146125* New `AnnotationBasedArgumentsProvider` convenience base class which implements both
147126 `ArgumentsProvider` and `AnnotationConsumer`.
148127* New `AnnotationBasedArgumentConverter` convenience base class which implements both
149128 `ArgumentConverter` and `AnnotationConsumer`.
150- * `@TempDir` can now be used as a meta-annotation in order to create custom _composed
151- annotations_. See the `@JimfsTempDir` example in the
152- <<../user-guide/index.adoc#writing-tests-built-in-extensions-TempDirectory, User Guide>>
153- for details.
154- * `@TempDir` now successfully cleans up files and directories on Windows that are set to
155- read-only.
129+ * New `junit.jupiter.execution.parallel.config.dynamic.max-pool-size-factor` configuration
130+ parameter to set the maximum pool size factor.
131+ * New `junit.jupiter.execution.parallel.config.dynamic.saturate` configuration
132+ parameter to disable pool saturation.
156133* New `TempDirFactory` SPI for customizing how the `@TempDir` extension creates temporary
157134 directories. See the
158135 <<../user-guide/index.adoc#writing-tests-built-in-extensions-TempDirectory, User Guide>>
159136 for details.
160- * The <<../user-guide/index.adoc#extensions-RandomNumberExtension, User Guide>> now
161- includes an example implementation of the `RandomNumberExtension` in order to improve
162- the documentation for extension registration via `@ExtendWith` on fields.
163- * The scope of applicability for `TestWatcher` implementations is now more extensively
164- documented in the User Guide and Javadoc.
165- * `DisplayNameGenerator` methods are now allowed to return `null`, in order to signal to
166- fall back to the default display name generator.
137+ * New `junit.jupiter.tempdir.factory.default` configuration parameter to set the default
138+ `TempDirFactory` for temporary directories.
139+ * If `@MethodSource` is used with a non-static factory method that should be `static`, the
140+ exception thrown now provides the user a meaningful explanation of how to address the
141+ problem.
167142
168143
169- [[release-notes-5.10.0-junit-vintage]]
144+ [[release-notes-5.10.0-M1- junit-vintage]]
170145=== JUnit Vintage
171146
172147No changes.
0 commit comments