All notable changes to the current version this project will be documented in this file. For previous versions see the release-notes archive.
For migration instructions from previous major version and a long formF explanation of noteworthy changes see the Release Announcement.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
7.20.1 - 2024-10-09
- [Core] Lazily start IncrementingUuidGenerator sessions(#2931 M.P. Korstanje)
7.20.0 - 2024-10-04
- [JUnit Platform Engine] Enable use of custom UUID generators (#2926 M.P. Korstanje)
- [JUnit] Enable use of custom UUID generators (#2926 M.P. Korstanje)
- [TestNG] Enable use of custom UUID generators (#2926 M.P. Korstanje)
- [JUnit Platform Engine] Use JUnit Platform 1.11.2 (JUnit Jupiter 5.11.2)
- [Core] Use custom UUID generators for hooks (#2926 M.P. Korstanje)
7.19.0 - 2024-09-19
- [JUnit Platform Engine] Use JUnit Platform 1.11.0 (JUnit Jupiter 5.11.0)
- [Spring] Document
@CucumberContextConfiguration
semantics (#2887 M.P. Korstanje) - [Core] Enhanced stack trace to include step location for better debugging in case of datatable conversion errors (#2908 Thomas Deblock)
- [Archetype] Set
cucumber.junit-platform.naming-strategy
tolong
when using Surefire.
7.18.1 - 2024-07-18
- [Core] Include parameterized scenario name in JUnit and TestNG XML report
- [Archetype] Use
import static
for Assertions in archetype (#2899 Patrick Altaie) - [Core] Escape json when writing html report ([#312](https://github.com/cucumber/html-formatter/pull/312] M.P. Korstanje)
7.18.0 - 2024-05-17
- [Core] The TeamCityPlugin for IntelliJ IDEA now uses the hook's method name for the name of the hook itself. (#2798 V.V. Belov)
- [Core] Allow feature with line syntax to target rules and examples. (#2884 M.P. Korstanje)
7.17.0 - 2024-04-18
- [JUnit Platform Engine] Support for parameters
cucumber.junit-platform.naming-strategy.short.example-name
andcucumber.junit-platform.naming-strategy.long.example-name
(#2743 V.V. Belov)
- [Jakarta CDI] Update dependency jakarta.enterprise:jakarta.enterprise.cdi-api to v4.1.0
- [TestNG] Update dependency org.testng:testng to v7.10.1
- [Core] Use a message based TestNG XML Formatter (#2863 M.P. Korstanje)
7.16.1 - 2024-03-23
- [Core] Include stack traces in html report (#2862 M.P. Korstanje)
7.16.0 - 2024-03-21
- [Core] Improved support for multiple classloaders in IncrementingUuidGenerator (#2853 J. Kronegg)
- [Core] Assume numbers use either a comma or period for the thousands separator instead of non-breaking spaces. (cucumber-expressions/#290)
- [JUnit Platform Engine] Improve the cucumber.features warning (#2856 M.P. Korstanje)
- [JUnit Platform Engine] Improve Maven and Gradle compatibility (#2832 M.P. Korstanje)
- [TestNG] Update dependency org.testng:testng to v7.9.0
- [Core] Update dependency io.cucumber:tag-expressions to v6.1.0
- [Core] Update Messages and dependants (#2826)
- [Core] Update dependency io.cucumber:gherkin to v27.0.0
- [Core] Added Malayalam localization (#2826)
- [Core] Added 'ed' to Italian (gherkin/#31)
- [Core] Added Danish translation of "Rule" (#2826)
- [Core] Added Dutch translation of "Rule" (#2826)
- [Core] Added Esperanto translation of "Rule" (#2826)
- [JUnit Platform Engine] Use JUnit Platform 1.10.2 (JUnit Jupiter 5.10.2)
- [Core] Added Vietnamese translation of "Rule" (gherkin/#204)
- [Core] Added Irish translation of "Rule" (gherkin/#216)
- [Core] Missing execution steps statuses (junit-xml-formatter/#24 F. Ahadi)
- [Core] Parse negative numbers in Norwegian (and 59 other languages) (cucumber-expressions/#290)
7.15.0 - 2023-12-11
- [Core] Support nested jar file systems (i.e. Spring Boot 3.2) (#2830 M.P. Korstanje)
- [Core] Upgrade
vis-timeline
to v7.7.3
7.14.1 - 2023-11-25
- [Guice] Inject static fields prior to before all hooks (#2803 M.P. Korstanje)
7.14.0 - 2023-09-09
- [Core] Update dependency io.cucumber:html-formatter to v20.4.0
- [Core] Download attachments that are not video, image or text from the html report (react-components/#333 David J. Goss)
- [Core] Exclude Multi-Release files from Jackson while shading (#2786 M.P. Korstanje)
7.13.0 - 2023-07-02
- [TestNG] Update dependency org.testng:testng to v7.8.0
- [Pico] Fixed missing calls to start, stop and dispose handles (#2772 Julien Kronegg)
7.12.1 - 2023-06-02
- [Core] Set html report viewport width to device width (html-formatter/#238 Tim Yao )
- [Core] Fixed
cucumber.publish.enabled=false
(#2747 M.P. Korstanje) - [JUnit Platform Engine] Fixed
cucumber.publish.enabled=false
(#2747 M.P. Korstanje) - [Java] Fixed duplicate step definition for classes with interfaces (#2757 Julien Kronegg)
- [Pico] Fixed unsatisfiable dependency with disposables (#2762 Julien Kronegg)
7.12.0 - 2023-04-29
- [JUnit Platform Engine] Add constant for fixed.max-pool-size property (#2713 M.P. Korstanje)
- [Core] Support directories containing exclusively rerun files using the
@path/to/rerun
syntax (#2710 Daniel Whitney, M.P. Korstanje) - [Core] Improved event bus performance using UUID generator selectable through SPI (#2703 Julien Kronegg)
- [Core] Added source reference in parameter type messages (#2719 Julien Kronegg)
- [Core] Support for JetBrains Space (ci-environment/#205 Viktor)
- [Pico] Improve performance (#2724 Julien Kronegg)
- [JUnit 4] Fix swallowed exception (#2714 M.P. Korstanje)
- [Guice] Fix NPE in Guice when configured incorrectly (#2716 M.P. Korstanje)
7.11.2 - 2023-03-23
- [JUnit Platform Engine] Corrupted junit-xml report when using
surefire.rerunFailingTestsCount
parameter (#2709 M.P. Korstanje)
7.11.1 - 2023-01-27
- [Core] Warn when
cucumber.options
is used (#2685 M.P. Korstanje)
7.11.0 - 2023-01-12
- [Spring] Support Spring Boot 3 and Spring 6 (#2644 M.P. Korstanje)
- [JUnit Platform] Support
cucumber.execution.parallel.config.config.fixed.max-pool-size
(#2681 M.P. Korstanje)
- [Core] Use a message based JUnit XML Formatter (#2638 M.P. Korstanje)
- [Core] Throw an exception when tag expressions are incorrectly escaped (tag-expressions/#17 Aslak Hellesøy)
- [DeltaSpike] Un-Deprecated deltaspike - can be made to work on Java 17 (#2674 M.P. Korstanje)
- [Core] Improve test step creation performance (#2666, Julien Kronegg)
- [JUnit Platform] Use JUnit Platform 1.9.2 (JUnit Jupiter 5.9.2)
7.10.1 - 2022-12-16
- [Spring] Inject CucumberContextConfiguration constructor dependencies (#2664 M.P. Korstanje)
7.10.0 - 2022-12-11
- Enabled reproducible builds (#2641 Hervé Boutemy )
- [Core] Mark Allure 5 and 6 plugins as incompatible (#2652 M.P. Korstanje)
- [Spring] Invoke all
TestContextManager
methods (#2661 M.P. Korstanje)
- [TestNG] Update dependency org.testng:testng to v7.7.0
- [DeltaSpike] Deprecated Deltaspike - does not work on Java 17.
- [Core] Emit exceptions on failure to handle test run finished events (#2651 M.P. Korstanje)
- [Spring] @MockBean annotation not working with JUnit5 (#2654 Alexander Kirilov, M.P. Korstanje)
- [Core] Improve expression creation performance (cucumber-expressions/#187, cucumber-expressions/#189, Julien Kronegg)
7.9.0 - 2022-11-01
- [Spring] Support @CucumberContextConfiguration as a meta-annotation (#2491 Michael Schlatt)
- [Core] Update dependency io.cucumber:gherkin to v25.0.2. Japanese Rule translation changed from Rule to ルール.
- [Core] Update dependency io.cucumber:gherkin to v24.1
- [Core] Delegate encoding and BOM handling to gherkin (#2624 M.P. Korstanje)
- [Core] Don't swallow parse errors on the CLI (#2632 M.P. Korstanje)
- [Core] Update dependency com.fasterxml.jackson to v2.13.4.20221012
7.8.1 - 2022-10-03
- [Core] Remove Jackson services from
META-INF/services
(#2621 M.P. Korstanje) - [JUnit Platform] Use JUnit Platform 1.9.1 (JUnit Jupiter 5.9.1)
7.8.0 - 2022-09-15
- [Core] Support comparison of expected and actual values in IntelliJ IDEA (#2607 Andrey Vokin)
- [Core] Omit filtered out pickles from html report (react-components/#273 David J. Goss)
- [Datatable] Support parsing Booleans in Datatables (#2614 G. Jourdan-Weil)
7.7.0 - 2022-09-08
- [JUnit Platform] Enable parallel execution of features (#2604 Sambathkumar Sekar)
7.6.0 - 2022-08-08
- [Core] Update dependency io.cucumber:messages to v19
- [Core] Update dependency io.cucumber:gherkin to v24
- [Core] Update dependency io.cucumber:html-formatter to v20
7.5.0 - 2022-07-28
- [OpenEJB] Added new module
jakarta-openejb
, which supports the jakarta.* namespace in TomEE 9.x (#2583 R. Zowalla)
- [JUnit Platform] Use JUnit Platform 1.9.0 (JUnit Jupiter 5.9.0) (#2590 M.P. Korstanje)
- [TestNG] Update dependency org.testng:testng to v7.6.1
- [Core] Update dependency io.cucumber:ci-environment to v9.1.0
- [Java] Process glue classes distinctly (#2582 M.P. Korstanje)
- [Spring] Do not invoke after test methods if test failed to start (#2585 M.P. Korstanje)
7.4.1 - 2022-06-23
- [Core] Fix NoSuchMethodError
PrintWriter(OutputStream, boolean, Charset)
(#2578 M.P. Korstanje)
7.4.0 - 2022-06-22
- [Core] Warn when glue path is passed as file scheme instead of classpath (#2547 M.P. Korstanje)
- [Core] Flush pretty output manually (#2573 M.P. Korstanje)
- [Spring] Cleanly stop after failure to start application context (#2570 M.P. Korstanje)
- [JUnit] Scenario logging does not show up in step notifications (#2563 M.P. Korstanje)
7.3.4 - 2022-05-02
- [Core] Fix problem with PrettyFormatter printing URL encoded strings (#2545 skloessel)
7.3.3 - 2022-04-30
- [Core] Pretty print plugin performance issues; incorrect DataTable format in Gradle console (#2541 Scott Davis)
7.3.2 - 2022-04-22
- [Core] Fix cucumber report spam
Collectors.toUnmodifiableList()
(#2533 M.P. Korstanje)
7.3.1 - 2022-04-20
- [Core] Removed usage of since Java 10
Collectors.toUnmodifiableList()
method (#2531 M.P. Korstanje)
7.3.0 - 2022-04-19
- [JUnit Platform] Support
cucumber.features
property (#2498 M.P. Korstanje)
- [Core] Use null-safe messages (#2497 M.P. Korstanje)
- Update dependency io.cucumber:messages to v18 (#2497 M.P. Korstanje)
- Update dependency io.cucumber:gherkin to v23 (#2497 M.P. Korstanje)
- Update dependency io.cucumber:ci-environment to v9 (#2475 M.P. Korstanje)
- Update dependency com.google.inject:guice to v5.1.0 (#2473 M.P. Korstanje)
- Update dependency org.testng:testng to v7.5 (#2457 M.P. Korstanje)
- [OpenEJB] Remove spurious dependencies (#2477 M.P. Korstanje)
- [TestNG] Remove spurious
Optional
from test name (#2488 M.P. Korstanje) - [BOM] Add missing dependencies to bill of materials (#2496 M.P. Korstanje)
- [Spring] Start and stop test context once per scenario (#2517 M.P. Korstanje)
- [JUnit Platform] Feature files with space in filename generate Illegal Character (#2521 G. Fernandez)
7.2.3 - 2022-01-13
- [Core] Uncaught TypeError: e.git is undefined (#2466 M.P. Korstanje)
7.2.2 - 2022-01-07
- [Core] Look up docstring converter by type as fallback (#2459 M.P. Korstanje)
7.2.1 - 2022-01-04
- [Core] Fix NPE if git is not detected (#2455 Aslak Hellesøy)
7.2.0 - 2022-01-03
- [Core] Support multiple doc strings types with same content type (#2421 Postelnicu George)
- [Guice] Automatically detect
InjectorSource
(#2432 Postelnicu George) - [Core] Support proxy for publish plugin (#2452 M.P. Korstanje)
- [Core] Replaced
create-meta
dependency withci-environment
(#2438 M.P. Korstanje)
- [Guice] Deprecated
guice.injector-source
in favour of discoveringInjectorSource
(#2432 M.P. Korstanje)
- [JUnit Platform] Delay plugin creation until test execution (#2442 M.P. Korstanje)
- [Core] Display curl-like error message for more url output stream problems (#2451 M.P. Korstanje)
7.1.0 - 2021-11-28
- [Core] Include
DefaultObjectFactory
as part of the API (#2400 M.P. Korstanje)
- [Core] Update dependency io.cucumber:tag-expressions to v4.1.0
- [Core] Support escape backslashes in tag expressions (common/#1778 Yusuke Noda)
- [JUnit Platform] Use JUnit Platform 1.8.2 (JUnit Jupiter 5.8.2)
- [Core] Deprecated forgotten
TypeRegistry
.
7.0.0 - 2021-10-06
7.0.0-RC1 - 2021-09-11
- [Java] Added
@BeforeAll
and@AfterAll
hooks (cucumber/#1876 M.P. Korstanje) - [JUnit Platform] Optionally use long names
- [Core] Updated
cucumber-expressions
to v11 (cucumber/#711 M.P. Korstanje) - [Core] Removed incorrect ISO 639-1 code for Telugu language (cucumber/#1238 Nvmkpk)
- [Core] Deprecated the
Summary
plugin interface for removal. - [Core] Removed the
default_summary
andnull_summary
plugins - [Core] The
summary
plugin is enabled default when using the CLI. Use--no-summary
to disable. - [Core] The
progress
formatter is no longer enabled by default on CLI. Use--plugin progress
to enable. - [Core] Use transformer for all
DataTable.asX
methods. (#2262 cucumber/#1419 M.P. Korstanje) - [TestNG] Automatically pick up properties from
testng.xml
(#2354 M.P. Korstanje, Gayan Sandaruwan) - [Core] Pretty formatter to print step DataTables (#2330 Arty Sidorenko)
- [Core]
Scenario.getId()
returns the actual scenario id (#2366 M.P. Korstanje)
- [JUnit Platform] Deprecated
@Cucumber
in favour of@Suite
(#2362 M.P. Korstanje)
- [Core] Emit step hook messages (#2009 Grasshopper)
- [Core] Synchronize event bus before use (#2358) M.P. Korstanje)
- [Core] Removed
--strict
and--no-strict
options (#1788 M.P. Korstanje) - [Core] Cucumber executes scenarios in strict mode by default (#1788 M.P. Korstanje)
- [Core] Removed deprecated
TypeRegistryConfigurer
. Use@ParameterType
instead. (#2356 M.P. Korstanje) - [Weld] Removed
cucumber-weld
in favour ofcucumber-jakarta-cdi
orcucumber-cdi2
. (#2276 M.P. Korstanje) - [Needle] Removed
cucumber-needled
in favour ofcucumber-jakarta-cdi
orcucumber-cdi2
. (#2276 M.P. Korstanje)