Added
- [Java] Add optional names to
@Before,@After,@BeforeStepand@AfterStephooks and emit hook names in messages (#2917, #3173) - [Java] Declare step definitions with minimal ceremony (#3200)
- [Java] Display hints when the glue is not efficiently configured (#3151, Julien Kronegg)
- [JUnit Platform] Use
ParallelHierarchicalTestExecutorServiceFactory(#3105) - [Core] Support both DocString and DataTable arguments on steps (#3213)
- [Core] Support
cucumber.execution.threadsproperty when executing from CLI (#3183) - [Core] Support registering individual glue classes via
cucumber.glue.classesproperty or the--glue-classesCLI option (#3120). - [Core] Support class filtering before class loading via the
{included,excluded}-class-name-patternproperty and the--glue-{included,excluded}-class-name-patternCLI option. (#3120). - [Core] Emit messages for
@BeforeAlland@AfterAllhooks (#3236)
Changed
- [Core] Jackson is now an opt-in dependency (#3206)
- [All] Set baseline to Java 17 (#3116)
- [TestNG] Provide scenarios during dry-run (#3234)
- [All] Adopt JSpecify to declare nullability (#3116)
- [Core] Update skipped, pending and undefined colors (cucumber/common#2302)
- [Core] Update dependency io.cucumber:ci-environment.version to v15.0.0
- [Core] Update dependency io.cucumber:cucumber-expressions.version to v20.1.0
- [Core] Update dependency io.cucumber:cucumber-json-formatter.version to v0.4.1
- [Core] Update dependency io.cucumber:gherkin.version to v42.0.1
- [Core] Update dependency io.cucumber:html-formatter.version to v24.1.0
- [Core] Update dependency io.cucumber:junit-xml-formatter.version to v0.15.0
- [Core] Update dependency io.cucumber:messages.version to v34.2.1
- [Core] Update dependency io.cucumber:messages-ndjson.version to v0.5.2
- [Core] Update dependency io.cucumber:pretty-formatter.version to v4.0.2
- [Core] Update dependency io.cucumber:query.version to v16.1.1
- [Core] Update dependency io.cucumber:tag-expressions.version to v10.0.1
- [Core] Update dependency io.cucumber:teamcity-formatter.version to v0.3.0
- [Core] Update dependency io.cucumber:testng-xml-formatter.version to v0.9.1
- [Core] Update dependency io.cucumber:usage-formatter.version to v0.2.0
- [JUnit Platform Engine] Use JUnit Platform 6.1.2 (JUnit Jupiter 6.1.2) (#3162)
- [All] Classes not designed for extension are now final. See api-changes.json for details.
- [All] Utility classes are no longer instantiatable. See api-changes.json for details.
Deprecated
- [JUnit] Deprecate
cucumber-testngfor removal in favor ofcucumber-junit-platform-engine(#3245) - [JUnit] Deprecate
cucumber-junitfor removal in favor ofcucumber-junit-platform-engine
Fixed
- [Core] Report the source location of both definitions when a parameter type is registered twice with the same name (#3144)
- [JUnit Platform Engine] Accept partial matches with
cucumber.filter.nameand align the behavior with JUnit 4 and CLI (#3174) - [JUnit Platform Engine] Don't require global read lock (#3103)
- [Core] Don't swallow exceptions thrown by
Plugin(#3236)