1
- [[release-notes-5.10.0]]
2
- == 5.10.0
1
+ [[release-notes-5.10.0-M1 ]]
2
+ == 5.10.0-M1
3
3
4
- *Date of Release:* ❓
4
+ *Date of Release:* May 13, 2023
5
5
6
6
*Scope:*
7
7
12
12
* Dry-run mode for test execution
13
13
* New `NamespacedHierarchicalStore` for use in third-party test engines
14
14
* Stacktrace pruning to hide internal JUnit calls
15
- * New `@SelectMethod` support in test `@Suite` classes.
16
15
* New `TempDirFactory` SPI for customizing how temporary directories are created
17
16
* Failure threshold for `@RepeatedTest`
18
17
* New convenience base classes for implementing `ArgumentsProvider` and `ArgumentConverter`
22
21
* Numerous bug fixes and minor improvements
23
22
24
23
For 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
28
25
repository on GitHub.
29
26
30
27
31
- [[release-notes-5.10.0-junit-platform]]
28
+ [[release-notes-5.10.0-M1- junit-platform]]
32
29
=== JUnit Platform
33
30
34
31
==== Deprecations and Breaking Changes
35
32
36
33
* Building native images with GraalVM now requires configuring the build arg
37
34
`--initialize-at-build-time=org.junit.platform.launcher.core.LauncherConfig` and
38
35
`--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.
41
36
42
37
==== New Features and Improvements
43
38
44
- * Various "experimental" APIs have been promoted to "stable", including
39
+ * Promote various "experimental" APIs that have matured to "stable" including
45
40
`ModuleSelector`, `EngineDiscoveryListener`, `EngineDiscoveryRequestResolver`,
46
41
`LauncherSession`, `LauncherSessionListener`, parallel execution support classes,
47
42
`@Suite` and related annotations, and others.
@@ -54,17 +49,10 @@ repository on GitHub.
54
49
`ClassLoader`. This allows parameter types to be resolved with custom `ClassLoader`
55
50
arrangements (such as OSGi). Consequently, `DiscoverySelectors.selectMethod(Class<?>,
56
51
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`.
61
52
* New overloaded constructors for `ClassSelector`, `NestedClassSelector`,
62
53
`MethodSelector`, and `NestedMethodSelector` that take an explicit `ClassLoader` as a
63
54
parameter, allowing selectors to select classes in custom `ClassLoader` arrangements
64
55
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.
68
56
* For consistency with JUnit Jupiter lifecycle callbacks, listener method pairs for
69
57
started/finished and opened/closed events are now invoked using "wrapping" semantics.
70
58
This means that finished/closed event methods are invoked in reverse order compared to
@@ -92,13 +80,12 @@ repository on GitHub.
92
80
* New dry-run mode to simulate test execution without actually running tests. Please refer
93
81
to the <<../user-guide/index.adoc#launcher-api-dry-run-mode, User Guide>> for details.
94
82
* 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
97
85
<<../user-guide/index.adoc#stacktrace-pruning, User Guide>> for details.
98
- * New `getAncestors()` method in `TestDescriptor`.
99
86
100
87
101
- [[release-notes-5.10.0-junit-jupiter]]
88
+ [[release-notes-5.10.0-M1- junit-jupiter]]
102
89
=== JUnit Jupiter
103
90
104
91
==== Bug Fixes
@@ -118,55 +105,43 @@ repository on GitHub.
118
105
default.
119
106
* Implicit type conversion of boolean values like in `@CsvSource` is now stricter, only
120
107
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.
122
109
123
110
==== New Features and Improvements
124
111
125
- * Various "experimental" APIs have been promoted to "stable", including
112
+ * Promote various "experimental" APIs that have matured to "stable" including
126
113
`MethodOrderer`, `ClassOrderer`, `InvocationInterceptor`,
127
114
`LifecycleMethodExecutionExceptionHandler`, `@TempDir`, parallel execution annotations,
128
115
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.
136
116
* `@RepeatedTest` can now be configured with a failure threshold which signifies the
137
117
number of failures after which remaining repetitions will be automatically skipped. See
138
118
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.
144
119
* New `ArgumentsAccessor.getInvocationIndex()` method that supplies the index of a
145
120
`@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.
146
125
* New `AnnotationBasedArgumentsProvider` convenience base class which implements both
147
126
`ArgumentsProvider` and `AnnotationConsumer`.
148
127
* New `AnnotationBasedArgumentConverter` convenience base class which implements both
149
128
`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.
156
133
* New `TempDirFactory` SPI for customizing how the `@TempDir` extension creates temporary
157
134
directories. See the
158
135
<<../user-guide/index.adoc#writing-tests-built-in-extensions-TempDirectory, User Guide>>
159
136
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.
167
142
168
143
169
- [[release-notes-5.10.0-junit-vintage]]
144
+ [[release-notes-5.10.0-M1- junit-vintage]]
170
145
=== JUnit Vintage
171
146
172
147
No changes.
0 commit comments