5
5
6
6
*Scope:*
7
7
8
- * XML reports in new https://github.com/ota4j-team/open-test-reporting[Open Test Reporting]
9
- format
8
+ * XML reports in the new https://github.com/ota4j-team/open-test-reporting[Open Test Reporting]
9
+ format
10
10
* Configurable cleanup mode for `@TempDir`
11
11
* Configurable thread mode for `@Timeout`
12
12
* Conditional execution based on OS architectures
@@ -15,134 +15,7 @@ format
15
15
* Parameter injection for `@MethodSource` methods
16
16
* New `IterationSelector`
17
17
* Various improvements to `ConsoleLauncher`
18
+ * Numerous bug fixes and minor improvements
18
19
19
- For a complete list of all _closed_ issues and pull requests for this release, consult the
20
- link:{junit5-repo}+/milestone/58?closed=1+[5.9 M1],
21
- link:{junit5-repo}+/milestone/61?closed=1+[5.9 RC1], and
22
- link:{junit5-repo}+/milestone/62?closed=1+[5.9 GA] milestone pages in the JUnit repository
23
- on GitHub.
24
-
25
-
26
- [[release-notes-5.9.0-junit-platform]]
27
- === JUnit Platform
28
-
29
- ==== Bug Fixes
30
-
31
- * Fixed handling of global post-discovery filters that apply to `@Suite` classes.
32
- * Since the Turkish language has special characters such as 'ı' and 'İ', the uppercase
33
- conversion in `DefaultParallelExecutionConfigurationStrategy#getStrategy` previously
34
- caused all tests to finish with exit code -1. This has been fixed by using the root
35
- locale instead of the default one.
36
- * Absolute path entries are now supported in JUnit's Platform Console Launcher on Windows.
37
- * Attempts to load a `Class` for an invalid class name representing an extremely large
38
- multidimensional array now fail within a reasonable amount of time.
39
- * Fix concurrency issue in classpath scanning.
40
-
41
- ==== Deprecations and Breaking Changes
42
-
43
- * `ConfigurationParameters.size()` has been deprecated in favor of the new `keySet()`
44
- method.
45
-
46
- ==== New Features and Improvements
47
-
48
- * Support for the https://github.com/ota4j-team/open-test-reporting[Open Test Reporting]
49
- format which supports all features of the JUnit Platform such as hierarchical test
50
- structures, display names, tags, etc. Please refer to the
51
- <<../user-guide/index.adoc#junit-platform-reporting-open-test-reporting, User Guide>>
52
- for instructions on how to enable such reports in your build.
53
- * `ConfigurationParameters` has a new `keySet()` method which allows you to retrieve all
54
- configuration parameter keys.
55
- * New `IterationSelector` for selecting a subset of a test's or container's iterations.
56
- * `ParallelExecutionConfiguration` allows configuring the `saturate` predicate of the
57
- `ForkJoinPool` used for parallel test execution.
58
- * JUnit OSGi bundles now contain `engine` and `launcher` requirements ensuring that at
59
- resolution time a fully running set of dependencies is calculated, avoiding the need for
60
- these to be manually specified.
61
- * JUnit Platform Standalone Console JAR now also includes the JUnit Platform Suite Engine.
62
- * New `failIfNoTests` attribute added to `@Suite`. This will fail the suite if no tests
63
- are discovered.
64
- * The output color for the `ConsoleLauncher` can now be customized. The option
65
- `--single-color` will apply a built-in monochrome style, while `--color-palette` will
66
- accept a properties file. See the
67
- <<../user-guide/index.adoc#running-tests-console-launcher-color-customization,
68
- User Guide>> for details.
69
- * The default theme for the `ConsoleLauncher` is now determined by the charset reported by
70
- the system console on Java 17 and later.
71
- * New `--list-engines` option added to the `ConsoleLauncher` which displays all registered
72
- test engine implementations.
73
- * Configuring included `EngineFilters` that do not match any registered `TestEngine`
74
- results in an error to avoid misconfiguration – for example, due to typos.
75
- * New public factory method to instantiate an `ExecutionRequest`.
76
- * Documentation for overriding the JUnit version used in Spring Boot applications. See the
77
- <<../user-guide/index.adoc#running-tests-build-spring-boot, User Guide>> for details.
78
-
79
-
80
- [[release-notes-5.9.0-junit-jupiter]]
81
- === JUnit Jupiter
82
-
83
- ==== Bug Fixes
84
-
85
- * When cleaning up a `@TempDir`, only one retry attempt will be made to delete directories.
86
- * Since the Turkish language has special characters such as 'ı' and 'İ', the uppercase
87
- conversion in `DefaultParallelExecutionConfigurationStrategy#getStrategy` previously
88
- caused all tests to finish with exit code -1. This has been fixed by using the root
89
- locale instead of the default one.
90
-
91
- ==== Deprecations and Breaking Changes
92
-
93
- * `@TempDir` fields are no longer allowed to be declared as `final`.
94
- - This improves diagnostics for failures resulting from a user-declared `static final`
95
- `@TempDir` field by throwing an exception with an informative error message.
96
- * Private lifecycle methods (annotated with `@BeforeAll`, `@AfterAll`, `@BeforeEach`, or
97
- `@AfterEach`) now correctly lead to an exception. Although this is a bug fix, it is
98
- technically also a breaking change since there might be existing user code with
99
- `private` lifecycle methods which will now start to fail.
100
-
101
- ==== New Features and Improvements
102
-
103
- * `@TempDir` now includes a `cleanup` mode attribute for preventing a temporary directory
104
- from being deleted after a test. The default cleanup mode can be configured via a
105
- configuration parameter.
106
- * Support for FreeBSD and OpenBSD operating systems in `@EnabledOnOs` and `@DisabledOnOs`.
107
- * New `MATCH_NONE` mode for `@EnumSource` that selects only those enum constants whose
108
- names match none of the supplied patterns.
109
- * The `@Order` annotation is now a `STABLE` API.
110
- * New `TestInstancePreConstructCallback` extension API that is called prior to test
111
- instance construction – symmetric to the existing `TestInstancePreDestroyCallback`
112
- extension API.
113
- * Extensions can now leverage registered `ParameterResolver` extensions when invoking
114
- methods and constructors via the new `ExecutableInvoker` API available in the
115
- `ExtensionContext`.
116
- * A subset of the invocations of parameterized or dynamic tests can now be selected via
117
- the new `IterationSelector` discovery selector when launching the JUnit Platform.
118
- * `JAVA_19` and `JAVA_20` have been added to the `JRE` enum for use with JRE-based
119
- execution conditions.
120
- * `@MethodSource` factory methods can now accept arguments resolved by registered
121
- `ParameterResolver` extensions.
122
- * `AssertionFailureBuilder` allows reusing Jupiter's logic for creating failure messages
123
- to assist in writing custom assertion methods.
124
- * Three new `abort` methods have been added to the `Assumptions` class. These are
125
- analogous to the `fail` methods in the `Assertions` class, but instead of failing they
126
- abort the test or container.
127
- * Support for enabling/disabling tests based on the system's hardware architecture via new
128
- `architectures` attributes in `@EnabledOnOs` and `@DisabledOnOs`.
129
- * Default `@MethodSource` factory methods can now accept arguments. A _default_ factory
130
- method is a method declared in the test class with the same name as the
131
- `@ParameterizedTest` method that is inferred as the factory method when no explicit
132
- factory method is specified in the `@MethodSource` annotation.
133
- * Thread mode can be set on `@Timeout` annotation. It allows to configure whether test
134
- code is executed in the thread of the calling code or in a separate thread. The three
135
- modes are: `INFERRED` (default) which resolves the thread mode configured via the
136
- property `junit.jupiter.execution.timeout.thread.mode.default`, `SAME_THREAD` that
137
- executes the test code in the same thread as the calling code, and `SEPARATE_THREAD`
138
- which executes it in a separate thread.
139
-
140
-
141
- [[release-notes-5.9.0-junit-vintage]]
142
- === JUnit Vintage
143
-
144
- ==== New Features and Improvements
145
-
146
- * More accurate reporting of intermediate start/finish events, e.g. iterations of the
147
- `Parameterized` runner and classes executed indirectly via the `Suite` runner, when
148
- running with JUnit 4.13 or later.
20
+ For complete details consult the
21
+ https://junit.org/junit5/docs/5.9.0/release-notes/index.html[5.9.0 Release Notes] online.
0 commit comments