|
| 1 | +[[release-notes-5.10.0-M1]] |
| 2 | +== 5.10.0-M1 |
| 3 | + |
| 4 | +*Date of Release:* ❓ |
| 5 | + |
| 6 | +*Scope:* ❓ |
| 7 | + |
| 8 | +For a complete list of all _closed_ issues and pull requests for this release, consult the |
| 9 | +link:{junit5-repo}+/milestone/65?closed=1+[5.10.0-M1] milestone page in the JUnit |
| 10 | +repository on GitHub. |
| 11 | + |
| 12 | + |
| 13 | +[[release-notes-5.10.0-M1-junit-platform]] |
| 14 | +=== JUnit Platform |
| 15 | + |
| 16 | +==== Bug Fixes |
| 17 | + |
| 18 | +* ❓ |
| 19 | + |
| 20 | +==== Deprecations and Breaking Changes |
| 21 | + |
| 22 | +* Building native images with GraalVM now requires configuring the build arg |
| 23 | + `--initialize-at-build-time=org.junit.platform.launcher.core.LauncherConfig`. |
| 24 | + |
| 25 | +==== New Features and Improvements |
| 26 | + |
| 27 | +* Promote various "experimental" APIs that have matured to "stable" including |
| 28 | + `ModuleSelector`, `EngineDiscoveryListener`, `EngineDiscoveryRequestResolver`, |
| 29 | + `LauncherSession`, `LauncherSessionListener`, parallel execution support classes, |
| 30 | + `@Suite` and related annotations, and others. |
| 31 | +* All utility methods in `ReflectionSupport` that return a `List` now have counterparts |
| 32 | + which return a `Stream`. |
| 33 | +* For consistency with JUnit Jupiter lifecycle callbacks, listener method pairs for |
| 34 | + started/finished and opened/closed events are now invoked using "wrapping" semantics. |
| 35 | + This means that finished/closed event methods are invoked in reverse order compared to |
| 36 | + the corresponding started/opened event methods when multiple listeners are registered. |
| 37 | + This affects the following listener interfaces: |
| 38 | + `TestExecutionListener`, `EngineExecutionListener`, `LauncherDiscoveryListener`, and |
| 39 | + `LauncherSessionListener`. |
| 40 | +* New `LauncherInterceptor` SPI for intercepting the creation of instances of `Launcher` |
| 41 | + and `LauncherSessionlistener` as well as invocations of the `discover` and `execute` |
| 42 | + methods of the former. Please refer to the |
| 43 | + <<../user-guide/index.adoc#launcher-api-launcher-interceptors-custom, User Guide>> for |
| 44 | + details. |
| 45 | +* Support for limiting the `max-pool-size-factor` for parallel execution via a configuration parameter. |
| 46 | +* The new `testfeed` details mode for `ConsoleLauncher` prints test execution events as |
| 47 | + they occur in a concise format. |
| 48 | + |
| 49 | + |
| 50 | +[[release-notes-5.10.0-M1-junit-jupiter]] |
| 51 | +=== JUnit Jupiter |
| 52 | + |
| 53 | +==== Bug Fixes |
| 54 | + |
| 55 | +* The `{displayName}` placeholder of `@ParameterizedTest` is no longer parsed during the |
| 56 | + evaluation of the `MessageFormat`, now `@DisplayName` and Kotlin method names can contain |
| 57 | + single apostrophes and `MessageFormat` elements, such as `{data}`. |
| 58 | + |
| 59 | +==== Deprecations and Breaking Changes |
| 60 | + |
| 61 | +* The `dynamic` parallel execution strategy now allows the thread pool to be saturated by |
| 62 | +default. |
| 63 | + |
| 64 | +==== New Features and Improvements |
| 65 | + |
| 66 | +* Promote various "experimental" APIs that have matured to "stable" including |
| 67 | + `MethodOrderer`, `ClassOrderer`, `InvocationInterceptor`, |
| 68 | + `LifecycleMethodExecutionExceptionHandler`, `@TempDir`, parallel execution annotations, |
| 69 | + and others. |
| 70 | +* `@RepeatedTest` can now be configured with a failure threshold which signifies the |
| 71 | + number of failures after which remaining repetitions will be automatically skipped. See |
| 72 | + the <<../user-guide/index.adoc#writing-tests-repeated-tests, User Guide>> for details. |
| 73 | +* New `ArgumentsAccessor.getInvocationIndex()` method that supplies the index of a |
| 74 | + `@ParameterizedTest` invocation. |
| 75 | +* `@EmptySource` now supports additional types, including `Collection` and `Map` subtypes |
| 76 | + with a public no-arg constructor. |
| 77 | +* `DisplayNameGenerator` methods are now allowed to return `null`, in order to signal to |
| 78 | + fall back to the default display name generator. |
| 79 | +* New `AnnotationBasedArgumentsProvider` convenience base class which implements both |
| 80 | + `ArgumentsProvider` and `AnnotationConsumer`. |
| 81 | +* New `AnnotationBasedArgumentConverter` convenience base class which implements both |
| 82 | + `ArgumentConverter` and `AnnotationConsumer`. |
| 83 | +* New `junit.jupiter.execution.parallel.config.dynamic.max-pool-size-factor` configuration |
| 84 | + parameter to set the maximum pool size factor. |
| 85 | +* New `junit.jupiter.execution.parallel.config.dynamic.saturate` configuration |
| 86 | + parameter to disable pool saturation. |
| 87 | + |
| 88 | + |
| 89 | +[[release-notes-5.10.0-M1-junit-vintage]] |
| 90 | +=== JUnit Vintage |
| 91 | + |
| 92 | +==== Bug Fixes |
| 93 | + |
| 94 | +* ❓ |
| 95 | + |
| 96 | +==== Deprecations and Breaking Changes |
| 97 | + |
| 98 | +* ❓ |
| 99 | + |
| 100 | +==== New Features and Improvements |
| 101 | + |
| 102 | +* ❓ |
0 commit comments