[[release-notes-5.9.2]]
== 5.9.2

*Date of Release:* January 10, 2023

*Scope:* Bug fixes and enhancements since 5.9.1

For a complete list of all _closed_ issues and pull requests for this release, consult the
link:{junit5-repo}+/milestones/5.9.2+[5.9.2] milestone page in the JUnit repository on
GitHub.


[[release-notes-5.9.2-junit-platform]]
=== JUnit Platform

==== Bug Fixes

* The Java 7 based constructor for `ForkJoinPool` is no longer accidentally used on Java 9
  or higher when invalid `ParallelExecutionConfiguration` is provided. Instead, an
  exception is thrown for invalid configuration, thereby preventing invalid configuration
  from being silently ignored.

==== New Features and Improvements

* New `TestPlan.getTestIdentifier(UniqueId)` and `TestPlan.getChildren(UniqueId)` methods
  to avoid parsing unique IDs unnecessarily during test execution.
* Support for limiting the `max-pool-size` for parallel execution via a configuration
  parameter.
* Suite discovery now ignores cycles encountered in a test suite and logs an informational
  message at `CONFIG` level instead of throwing an exception.


[[release-notes-5.9.2-junit-jupiter]]
=== JUnit Jupiter

==== Bug Fixes

* New `@MethodSource` syntax for explicitly selecting an overloaded local factory method
  without specifying its fully qualified name.

==== Deprecations and Breaking Changes

* The `fixed` parallel execution strategy now allows the thread pool to be saturated by
  default.

==== New Features and Improvements

* `JAVA_21` has been added to the `JRE` enum for use with JRE-based execution conditions.
* New `junit.jupiter.execution.parallel.config.fixed.max-pool-size` configuration
  parameter to set the maximum pool size.
* New `junit.jupiter.execution.parallel.config.fixed.saturate` configuration parameter to
  disable pool saturation.


[[release-notes-5.9.2-junit-vintage]]
=== JUnit Vintage

==== Bug Fixes

* `Parameterized` tests are now properly reported when used in combination with the
  `Enclosed` runner.
