This file documents all notable changes for v6.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
6.11.0 (2021-08-05)
- [TestNG] Add
CucumberPropertiesProvider
to allow properties fromtestng.xml
to be used (#2351 Gayan Sandaruwan)
- [JUnit Platform] Update dependency org.junit.platform:junit-platform-engine to v1.7.2
- [Core] Update dependency org.apiguardian:apiguardian-api to v1.1.2
- [Core] Fixed reports banner to point to new docs about environment variables
- [Core] Remove
--add-plugin
alternate name from USAGE.txt (#2319 ebreck)
6.10.4 (2021-05-13)
- [Core] Upgraded
vis-timeline
to v7.4.8- Fixes CVE-2020-28487
6.10.3 (2021-04-14)
- [Gherkin Messages] Rules can be tagged (cucumber/#1356 Gáspár Nagy, Seb Rose, Björn Rasmusson, Wannes Fransen)
- [Java8]
cucumber-java8
works on Java 12+ (jhalterman/typetools/#66 Nuclearfarts)
6.10.2 (2021-03-15)
- [Core] Mark pending steps as failed in teamcity plugin (#2264) M.P. Korstanje)
6.10.1 (2021-03-08)
- [Cdi2] Correctly cast the UnmanagedInstance values (#2242, #2244 Daniel Beland)
- [Cdi2] Add step definitions as beans when not discovered (#2248) Daniel Beland, M.P. Korstanje)
- [Jakarta Cdi] Correctly cast the UnmanagedInstance values (#2242, #2248 Daniel Beland)
- [Jakarta Cdi] Add step definitions as beans when not discovered (#2248) Daniel Beland, M.P. Korstanje)
6.10.0 (2021-02-14)
- Upgraded various internal dependencies
- create-meta v3.0.0
- gherkin v17.0.1
- messages v14.0.1
- html-formatter v12.0.0
- [Java] Deprecated
io.cucumber.java.tl
in favour ofio.cucumber.java.te
(cucumber/#1238 Nvmkpk) - [Java8] Deprecated
io.cucumber.java8.Tl
. in favour ofio.cucumber.java8.Te
(cucumber/#1238 Nvmkpk) - [Core] Deprecated
# language: tl
in favour of# language: te
.
- [Core] Pass class loader to ServiceLoader.load invocations (#2220 M.P. Korstanje)
- [Core] Log warnings when classes or resource could not be loaded (#2235 M.P. Korstanje)
- [Core] Improve undefined step reporting (#2208 M.P. Korstanje)
- [Core] Log warnings when resources and classes could not be loaded (#2235 M.P. Korstanje)
6.9.1 (2020-12-14)
- [JUnit Platform] Warn if feature files could not be found (#2179 M.P. Korstanje)
- [Core] SummaryPrinter outputs clickable links (#2184 M.P. Korstanje)
- [Core] Merge duplicate plugin options (#2190 M.P. Korstanje)
6.9.0 (2020-11-12)
- [Plugin] Deprecate
TestRunFinished(Instant)
(#2169 M.P. Korstanje)
- [Core] Significantly reduce the size of the html report (cucumber/#1232 M.P. Korstanje)
- [Core] Improve error message when plugin paths collide (#2168 M.P. Korstanje)
6.8.2 (2020-10-29)
- [Core] Handle null values in ci-dict cucumber/#1228
- [JUnit] Update dependency junit:junit to v4.13.1.
- See the published security advisory for details.
6.8.1 (2020-10-07)
- [Core] Do not send headers after following redirection. (#1475-cucumber-ruby #2144)
- [Core] Mention
junit-platform.properties
in--publish
banner. (#2117 M.P. Korstanje) - [Core]
--publish
uses banner provided by server. (#2117 M.P. Korstanje)
6.8.0 (2020-09-26)
- [Core] Define CLI arguments as static variables instead of hardcoded strings (#2130 Quang Lê)
- [Core] Support for
Optional<T>
in data tables (cucumber/#1182 Anton Derabin)
- [Core] Validation of
CUCUMBER_PUBLISH_TOKEN
no longer happens inside Cucumber-JVM - only on the server. (#2123 #2122 Aslak Hellesøy)
6.7.0 (2020-09-14)
- [JUnit Platform] Support discovery selectors with FilePosition (#2121 M.P. Korstanje)
- [JUnit Platform] Update dependency org.junit.platform:junit-platform-engine to v1.7.0
6.6.1 (2020-09-08)
- [Core] CucumberOptions default snippet type should not override properties (#2107 M.P. Korstanje)
- [Core] Replace parentFile.makeDirs with Files.createDirectories(parentFile) (#2104 M.P. Korstanje)
- [Core] Separate run, dry-run and skip execution modes (#2102, #2102 M.P. Korstanje)
- Fixes
--dry-run
not failing on undefined steps
- Fixes
- [Core] Update
create-meta
to 2.0.2 to avoid sharing credentials (#2110 vincent-psarga)
6.6.0 (2020-08-26)
- [Core] Boolean system properties and environment variables (
cucumber.*
andCUCUMBER_*
) are strictly parsed. The values0
,false
,no
are interpreted asfalse
. The values1
,true
,yes
are interpreted astrue
. All other values will throw an exception. (#2095 #2097 Aslak Hellesøy)
- [Core] Issue a PUT request after a GET request responding with 202 and a Location header (#2099 Aslak Hellesøy)
6.5.1 (2020-08-20)
- [Core] Publish instructions now recommend using
src/test/resources/cucumber.properties
. (#2096 Aslak Hellesøy)
6.5.0 (2020-08-17)
- [Core] Reports can now be published directly to https://reports.cucumber.io/
(#2070
Aslak Hellesøy, M.P. Korstanje).
There are several ways to enable this:
@CucumberOptions(publish = true)
CUCUMBER_PUBLISH_ENABLED=true
(Environment variable)-Dcucumber.publish.enabled=true
(System property)
6.4.0 (2020-07-31)
- [Core] Include SourceReferences in message output (#2064 M.P. Korstanje)
- [Core] Enable searching and filtering in html report (cucumber/#1111 Vincent Psarga)
- [Core] Include
file_name
inattachment
message (cucumber/#2072 M.P. Korstanje)
- [Core] Use Unicode symbols as a parameter boundary in snippets (cucumber/#1108 M.P. Korstnaje)
6.3.0 (2020-07-24)
- [Junit Platform] Support cucumber.filter.name (#2065 M.P. Korstanje)
- [OpenEJB] Compiled at source level 8.
- [Weld] Deprecate
cucumber-weld
(#1763 M.P. Korstanje)- Consider using cucumber-deltaspike instead
- [Needle] Deprecate
cucumber-needle
(#1763 M.P. Korstanje)- Consider using cucumber-deltaspike instead
- [Core] Improve error message when an unknown plugin is used (#2053 M.P. Korstanje)
- [Java8] Allow test execution context to be garbage collected (#2067 M.P. Korstanje)
6.2.2 (2020-07-09)
- [JUnit] Make duplicate pickle names unique (#2045 M.P. Korstanje)
6.2.1 (2020-07-07)
- [Core] Follow symlinks when loading feature files (#2043 Andrey Mukamolov)
6.2.0 (2020-07-02)
- [Core] Upgrade to Gherkin v14
- [Core] Render attachments in
html
formatter
6.1.2 (2020-06-25)
- [Core] Update
cucumber-expressions
to v10.2.1 - Retain position of optional groups (cucumber/#1076, cucumber/#511, cucumber/#952 M.P. Korstanje)
- [Core] Generate valid parameter names in snippets (#2029 M.P. Korstanje)
6.1.1 (2020-06-12)
- [JUnit] Warn about usage of io.cucumber.testng.CucumberOptions
- [TestNG] Warn about usage of io.cucumber.junit.CucumberOptions
- [Core] Always use UTF8 encoding (#2021 M.P. Korstanje)
6.1.0 (2020-06-11)
- [CDI Jakarta] Implement ObjectFactory using CDI Jakarta (#2009 Romain Manni-Bucau)
- [Core] Add location to tag expression exception (#1979 Christopher Yocum)
- [Core] Correct issue with usage report durations >= 1 second (#1989 Dan Woodward)
- [Core] Fix locale in DefaultSummaryPrinter (#2010 Romain Manni-Bucau, M.P. Korstanje)
6.0.0 (2020-06-07) - Release Notes
- [Spring] Add
@ScenarioScope
annotation (#1974 M.P. Korstanje)- Preferable to
@Scope(value = SCOPE_CUCUMBER_GLUE)
- Preferable to
- [Plugin] Restored
Status.isOk(boolean isStrict)
to avoid breaking existing plugins - [Core] Execute features files without pickles (#1973 M.P. Korstanje)
- [Spring] Require an active scenario before creating beans (#1974 M.P. Korstanje)
- [Core] Fix NPE in
CucumberExecutionContext.emitMeta
when in a shaded jar (M.P. Korstanje) - [Core] Fix line filter for scenario outlines (#1981 M.P. Korstanje)
- [Core] cucumber.feature preserves tags when used with a feature argument (#1986 M.P. Korstanje)
6.0.0-RC2 (2020-05-03)
- [Plugin] Add TestSourceParsed event (#1895 M.P. Korstanje)
- [Core] Default to
--strict
mode (#1960 M.P. Korstanje) - [Java] Switch
useRegexpMatchAsStrongTypeHint
default to false (#1915 M.P. Korstanje)
- [Core] Remove multiple tag arguments in
@CucumberOptions
(#1948 M.P. Korstanje) - [Core] Remove
cucumber.options
property (#1958 M.P. Korstanje) - [Spring] Remove cucumber.xml and implied context configuration (#1959 M.P. Korstanje)
- [Guice] Remove deprecated scenario scope and module constant
- [Core] Include all fields in
JsonFormatters
failure feature (#1954 M.P. Korstanje)
6.0.0-RC1 (2020-04-23)
- [Core] Support limited set of cURL commands for UrlOutputStream (#1910, #1932 M.P. Korstanje, Aslak Hellesøy)
- [Core] Use Gherkin 6+ and Cucumber messages (#1841, #1941, #1942 M.P. Korstanje, Aslak Hellesøy)
- Implements the
message
formatter which will output cucumber messages as ndjson - Implements improved
html
formatter- Change your plugin options
html:target/cucumber-html
tohtml:target/cucumber-html/index.html
- Change your plugin options
- Switches the default parser to Gherkin 6+. This will enable rule support by default.
- Adds exception to
TestRunFinished
event. - Adds error state json to
JsonFormatter
output. - Add exception handling around Cucumber execution. When execution fails, Cucumber will still emit the
TestRunFinished
event.
- Implements the
- [Java] Invoke static methods without instantiating target object (#1953 M.P. Korstanje)