Skip to content

Commit 1b0b290

Browse files
committed
Abbreviate 5.13.0 release notes
1 parent 2a1195f commit 1b0b290

File tree

1 file changed

+2
-171
lines changed

1 file changed

+2
-171
lines changed

documentation/src/docs/asciidoc/release-notes/release-notes-5.13.0.adoc

Lines changed: 2 additions & 171 deletions
Original file line numberDiff line numberDiff line change
@@ -15,174 +15,5 @@
1515
* GraalVM: removal of `native-image.properties` files from JARs
1616
* Bug fixes and other minor improvements
1717

18-
For a complete list of all _closed_ issues and pull requests for this release, consult the
19-
link:{junit-framework-repo}+/milestone/85?closed=1+[5.13.0-M1],
20-
link:{junit-framework-repo}+/milestone/92?closed=1+[5.13.0-M2],
21-
link:{junit-framework-repo}+/milestone/93?closed=1+[5.13.0-M3],
22-
link:{junit-framework-repo}+/milestone/96?closed=1+[5.13.0-RC1],
23-
and link:{junit-framework-repo}+/milestone/94?closed=1+[5.13.0] milestone pages in the
24-
JUnit repository on GitHub.
25-
26-
27-
[[release-notes-5.13.0-overall-improvements]]
28-
=== Overall Changes
29-
30-
[[release-notes-5.13.0-overall-new-features-and-improvements]]
31-
==== Deprecations and Breaking Changes
32-
33-
* The JUnit feature in GraalVM Native Build Tools (NBT) has been rewritten to no longer
34-
require JUnit classes to be initialized at build time when running on JDK 22 and later.
35-
Therefore, JUnit's JARs no longer ship with `native-image.properties` files that contain
36-
`--initialize-at-build-time` options (introduced in 5.12.0). Please update to the most
37-
recent version of GraalVM Native Build Tools prior to upgrading to this version of
38-
JUnit. Please refer to the
39-
https://github.com/junit-team/junit-framework/wiki/Upgrading-to-JUnit-5.13[Upgrade Instructions]
40-
in the wiki for details if you're on NBT 0.10.x or earlier.
41-
42-
43-
[[release-notes-5.13.0-junit-platform]]
44-
=== JUnit Platform
45-
46-
[[release-notes-5.13.0-junit-platform-bug-fixes]]
47-
==== Bug Fixes
48-
49-
* Notify `LauncherDiscoveryListener` implementation registered via `LaucherConfig` or on
50-
the `Launcher` of `selectorProcessed` events.
51-
* Reintroduce support for JVM shutdown hooks when using the `-cp`/`--classpath` option of
52-
the `ConsoleLauncher`. Prior to this release, the created class loader was closed prior
53-
to JVM shutdown hooks being invoked, which caused hooks to fail with a
54-
`ClassNotFoundException` when loading classes during shutdown.
55-
* Fix support of `--uid` and `--select-unique-id` options in the console launcher.
56-
57-
[[release-notes-5.13.0-junit-platform-new-features-and-improvements]]
58-
==== New Features and Improvements
59-
60-
* Introduce a mechanism for `TestEngine` implementations to report issues encountered
61-
during test discovery. If an engine reports a `DiscoveryIssue` with a `Severity` equal
62-
to or higher than a configurable critical severity, its tests will not be executed.
63-
Instead, the engine will be reported as failed during execution with a failure message
64-
listing all critical issues. Non-critical issues will be logged but will not prevent the
65-
engine from executing its tests. The critical severity can be configured via a new
66-
configuration parameter and, currently, defaults to `ERROR`. Please refer to the
67-
<<../user-guide/index.adoc#running-tests-discovery-issues, User Guide>> for details.
68-
+
69-
If you're a test engine maintainer, please see the
70-
<<../user-guide/index.adoc#test-engines-discovery-issues, User Guide>> for details on how
71-
to start reporting discovery issues.
72-
* Start reporting discovery issues for problematic `@Suite` classes:
73-
- Invalid `@Suite` class declarations (for example, when `private`)
74-
- Invalid `@BeforeSuite`/`@AfterSuite` method declarations (for example, when not
75-
`static`)
76-
- Cyclic dependencies between `@Suite` classes
77-
* Introduce resource management mechanism that allows preparing and sharing state across
78-
executions or test engines via stores that are scoped to a `LauncherSession` or
79-
`ExecutionRequest`. The Jupiter API uses these stores as ancestors to the `Store`
80-
instances accessible via `ExtensionContext` and provides a new method to access them
81-
directly. Please refer to the User Guide for examples of managing
82-
<<../user-guide/index.adoc#launcher-api-launcher-session-listeners-tool-example-usage, session-scoped>>
83-
and
84-
<<../user-guide/index.adoc#launcher-api-managing-state-across-test-engines, request-scoped>>
85-
resources.
86-
* New `ConsoleLauncher` options `--redirect-stdout` and `--redirect-stderr` for
87-
redirecting `stdout` and `stderr` output streams to files.
88-
* Add `TestDescriptor.Visitor.composite(List)` factory method for creating a composite
89-
visitor that delegates to the given visitors in order.
90-
* Introduce test _discovery_ support in `EngineTestKit` to ease testing for discovery
91-
issues produced by a `TestEngine`. Please refer to the
92-
<<../user-guide/index.adoc#testkit-engine, User Guide>> for details.
93-
* Make validation of including `EngineFilters` more strict to avoid misconfiguration, for
94-
example, due to typos. Prior to this release, an exception was only thrown when _none_
95-
of a filter's included IDs matched any engine. Now, an exception is thrown if at least
96-
one included ID across all filters did not match any engine.
97-
98-
99-
[[release-notes-5.13.0-junit-jupiter]]
100-
=== JUnit Jupiter
101-
102-
[[release-notes-5.13.0-junit-jupiter-bug-fixes]]
103-
==== Bug Fixes
104-
105-
* If the `autoCloseArguments` attribute in `@ParameterizedTest` is set to `true`, all
106-
arguments returned by registered `ArgumentsProvider` implementations are now closed even
107-
if the test method declares fewer parameters.
108-
* `AutoCloseable` arguments returned by an `ArgumentsProvider` are now closed even if they
109-
are wrapped with `Named`.
110-
* `AutoCloseable` arguments returned by an `ArgumentsProvider` are now closed even if a
111-
failure happens prior to invoking the parameterized method.
112-
* Validate _all_ versions specified in `@EnabledOnJre` and `@DisabledOnJre` annotations.
113-
114-
[[release-notes-5.13.0-junit-jupiter-new-features-and-improvements]]
115-
==== New Features and Improvements
116-
117-
* New `@ClassTemplate` annotation and `ClassTemplateInvocationContextProvider` API that
118-
allow declaring a top-level or `@Nested` test class as a template to be invoked multiple
119-
times. This may be used, for example, to inject different parameters to be used by all
120-
tests in the class template or to set up each invocation of the class template
121-
differently. Please refer to the
122-
<<../user-guide/index.adoc#writing-tests-class-templates, User Guide>> for details.
123-
* New `BeforeClassTemplateInvocationCallback` and `AfterClassTemplateInvocationCallback`
124-
extension callback interfaces allow implementing extensions that are invoked before and
125-
after each invocation of a class template.
126-
* New `@ParameterizedClass` support that builds on `@ClassTemplate` and allows declaring a
127-
top-level or `@Nested` test class as a parameterized test class to be invoked multiple
128-
times with different arguments. The same `@...Source` annotations supported with
129-
`@ParameterizedTest` may be used to provide arguments via constructor or field
130-
injection. Please refer to the
131-
<<../user-guide/index.adoc#writing-tests-parameterized-tests, User Guide>> for details.
132-
* New `@ParameterizedClass`-specific
133-
`@BeforeParameterizedClassInvocation`/`@AfterParameterizedClassInvocation` lifecycle
134-
methods that are invoked once before/after each invocation of the parameterized class.
135-
* Provide access to the parameters and resolved arguments of a `@ParameterizedTest` or
136-
`@ParameterizedClass` by storing `ParameterInfo` in the `ExtensionContext.Store` for
137-
retrieval by other extensions. Please refer to the
138-
link:../api/org.junit.jupiter.params/org/junit/jupiter/params/support/ParameterInfo.html[Javadoc]
139-
for details.
140-
* New `@SentenceFragment` annotation which allows one to supply custom text for individual
141-
sentence fragments when using the `IndicativeSentences` `DisplayNameGenerator`. See the
142-
updated documentation in the
143-
<<../user-guide/index.adoc#writing-tests-display-name-generator, User Guide>> for an
144-
example.
145-
* New `TestTemplateInvocationContext.prepareInvocation(ExtensionContext)` callback method
146-
which allows extensions to prepare the `ExtensionContext` before the test template
147-
method is invoked. This may be used, for example, to store entries in the
148-
`ExtensionContext.Store` to benefit from its cleanup support or for retrieval by other
149-
extensions.
150-
* Start reporting discovery issues for potentially problematic test classes:
151-
- Invalid `@Test` and `@TestTemplate` method declarations (for example, when return
152-
type is not `void`)
153-
- Invalid `@TestFactory` methods (for example, when return type is invalid)
154-
- Multiple method-level annotations (for example, `@Test` and `@TestTemplate`)
155-
- Invalid test class and `@Nested` class declarations (for example, `static` `@Nested`
156-
classes)
157-
- Potentially missing `@Nested` annotations (for example, non-abstract inner classes
158-
that contain test methods)
159-
- Invalid lifecycle method declarations (for example, when `private`)
160-
- Invalid `@Tag` syntax
161-
- Blank `@DisplayName` declarations
162-
- Blank `@SentenceFragment` declarations
163-
- `@BeforeParameterizedClassInvocation` and `@AfterParameterizedClassInvocation`
164-
methods declared in non-parameterized test classes
165-
* By default, `AutoCloseable` objects put into `ExtensionContext.Store` are now treated
166-
like instances of `CloseableResource` (which has been deprecated) and are closed
167-
automatically when the store is closed at the end of the test lifecycle. It's possible
168-
to <<../user-guide/index.adoc#extensions-keeping-state-autocloseable-support, revert to the old behavior>>
169-
via a configuration parameter. Please also see the
170-
<<../user-guide/index.adoc#extensions-keeping-state-autocloseable-migration, migration note>>
171-
for third-party extensions wanting to support both JUnit 5.13 and earlier versions.
172-
* `java.util.Locale` arguments are now converted according to the IETF BCP 47 language tag
173-
format. See the
174-
<<../user-guide/index.adoc#writing-tests-parameterized-tests-argument-conversion-implicit, User Guide>>
175-
for details.
176-
* Avoid reporting potentially misleading validation exception for `@ParameterizedClass`
177-
test classes and `@ParameterizedTest` methods as suppressed exception for earlier
178-
failures.
179-
* Add support for Kotlin `Sequence` to `@MethodSource`, `@FieldSource`, and
180-
`@TestFactory`.
181-
* Allow publishing files to an existing directory via `TestReporter` and
182-
`ExtensionContext`, for example, when re-running a test class.
183-
184-
185-
[[release-notes-5.13.0-junit-vintage]]
186-
=== JUnit Vintage
187-
188-
No changes.
18+
For complete details consult the
19+
https://docs.junit.org/5.13.0/release-notes/index.html[5.13.0 Release Notes] online.

0 commit comments

Comments
 (0)