1
- [[release-notes-5.12.0-M1 ]]
2
- == 5.12.0-M1
1
+ [[release-notes-5.12.0]]
2
+ == 5.12.0
3
3
4
- *Date of Release:* January 31 , 2025
4
+ *Date of Release:* February 21 , 2025
5
5
6
6
*Scope:*
7
7
20
20
* Parallel execution support in JUnit Vintage engine
21
21
* Numerous bug fixes and other enhancements
22
22
23
- For a complete list of all _closed_ issues and pull requests for this release, consult the
24
- link:{junit5-repo}+/milestone/75?closed=1+[5.12.0-M1] milestone page in the
25
- JUnit repository on GitHub.
23
+ For a complete list of all _closed_ issues and pull requests for this release, consult the link:{junit5-repo}+/milestone/75?closed=1+[5.12.0-M1],
24
+ link:{junit5-repo}+/milestone/88?closed=1+[5.12.0-RC1],
25
+ link:{junit5-repo}+/milestone/90?closed=1+[5.12.0-RC2], and
26
+ link:{junit5-repo}+/milestone/89?closed=1+[5.12.0] milestone pages in the JUnit repository
27
+ on GitHub.
26
28
27
29
28
- [[release-notes-5.12.0-M1- overall-improvements]]
30
+ [[release-notes-5.12.0-overall-improvements]]
29
31
=== Overall Improvements
30
32
31
- [[release-notes-5.12.0-M1- overall-new-features-and-improvements]]
33
+ [[release-notes-5.12.0-overall-new-features-and-improvements]]
32
34
==== New Features and Improvements
33
35
34
36
* All affected JAR files now include `native-image.properties` files that contain the
35
- `--initialize-at-build-time` option to avoid breakages in GraalVM projects when updating
36
- to newer versions of JUnit.
37
+ `--initialize-at-build-time` option to avoid breakages in GraalVM projects when updating
38
+ to newer versions of JUnit.
37
39
38
40
39
- [[release-notes-5.12.0-M1- junit-platform]]
41
+ [[release-notes-5.12.0-junit-platform]]
40
42
=== JUnit Platform
41
43
42
- [[release-notes-5.12.0-M1- junit-platform-deprecations-and-breaking-changes]]
44
+ [[release-notes-5.12.0-junit-platform-deprecations-and-breaking-changes]]
43
45
==== Deprecations and Breaking Changes
44
46
45
47
* `SearchOption` and `AnnotationSupport.findAnnotation(Class, Class, SearchOption)` from
46
48
`junit-platform-commons` have been deprecated.
47
49
48
- [[release-notes-5.12.0-M1- junit-platform-new-features-and-improvements]]
50
+ [[release-notes-5.12.0-junit-platform-new-features-and-improvements]]
49
51
==== New Features and Improvements
50
52
51
53
* `ConsoleLauncher` now accepts multiple values for all `--select` options.
@@ -88,12 +90,14 @@ JUnit repository on GitHub.
88
90
implementation for scanning the classpath for classes and resources.
89
91
* New `AnnotationSupport.findAnnotation(Class, Class, List)` method to support searching
90
92
for an annotation on an inner class and its runtime enclosing instance types.
93
+ * New `TestDescriptor.orderChildren(UnaryOperator<List<TestDescriptor>> orderer)`
94
+ method to order children in place
91
95
92
96
93
- [[release-notes-5.12.0-M1- junit-jupiter]]
97
+ [[release-notes-5.12.0-junit-jupiter]]
94
98
=== JUnit Jupiter
95
99
96
- [[release-notes-5.12.0-M1- junit-jupiter-bug-fixes]]
100
+ [[release-notes-5.12.0-junit-jupiter-bug-fixes]]
97
101
==== Bug Fixes
98
102
99
103
* Provide _runtime_ enclosing types of `@Nested` test classes and contained test methods
@@ -103,8 +107,10 @@ JUnit repository on GitHub.
103
107
* `@DisplayNameGeneration` annotations are now discovered on the _runtime_ enclosing types
104
108
of `@Nested` test classes instead of the compile-time enclosing class in which the
105
109
`@Nested` class was _declared_.
110
+ * Fix handling of "junctions" on Windows during `@TempDir` cleanup: junctions will no
111
+ longer be followed when deleting directories and broken junctions will be deleted.
106
112
107
- [[release-notes-5.12.0-M1- junit-jupiter-deprecations-and-breaking-changes]]
113
+ [[release-notes-5.12.0-junit-jupiter-deprecations-and-breaking-changes]]
108
114
==== Deprecations and Breaking Changes
109
115
110
116
* When injecting `TestInfo` into test class constructors, the `TestInfo` now contains data
@@ -119,7 +125,7 @@ JUnit repository on GitHub.
119
125
entries for the test class, you can implement a `@BeforeAll` lifecycle method and inject
120
126
`TestReporter` into that method.
121
127
122
- [[release-notes-5.12.0-M1- junit-jupiter-new-features-and-improvements]]
128
+ [[release-notes-5.12.0-junit-jupiter-new-features-and-improvements]]
123
129
==== New Features and Improvements
124
130
125
131
* Kotlin contracts for Kotlin-specific assertion methods in `Assertions`.
@@ -165,14 +171,21 @@ JUnit repository on GitHub.
165
171
* Auto-registered extensions can now be
166
172
<<../user-guide/index.adoc#extensions-registration-automatic-filtering, filtered>> using
167
173
include and exclude patterns that can be specified as configuration parameters.
174
+ * `JRE`-based conditions such as `@EnabledOnJre` and `@DisabledForJreRange` now support
175
+ arbitrary Java versions. See the
176
+ <<../user-guide/index.adoc#writing-tests-conditional-execution-jre, User Guide>> for
177
+ details.
178
+ * The `@TempDir` extension now warns during cleanup when deleting symlinks that target
179
+ locations outside the temporary directory to signal that the target file or directory is
180
+ _not_ deleted, only the link to it.
168
181
169
182
170
- [[release-notes-5.12.0-M1- junit-vintage]]
183
+ [[release-notes-5.12.0-junit-vintage]]
171
184
=== JUnit Vintage
172
185
173
- [[release-notes-5.12.0-M1- junit-vintage-new-features-and-improvements]]
186
+ [[release-notes-5.12.0-junit-vintage-new-features-and-improvements]]
174
187
==== New Features and Improvements
175
188
176
- * Support for executing top-level test classes in parallel. Please refer to the
189
+ * Added support for executing test classes and/or methods in parallel. Please refer to the
177
190
<<../user-guide/index.adoc#migrating-from-junit4-parallel-execution, User Guide>> for
178
191
more information.
0 commit comments