Cucumber v7.0.0-RC1 Release Notes

Release Date: 2021-09-11 // about 1 month ago
  • โž• Added

    • [Java] Added @BeforeAll and @AfterAll hooks (cucumber/#1876 M.P. Korstanje)
    • [JUnit Platform] Optionally use long names
      • Adds cucumber.junit-platform.naming-strategy=long (#2361 M.P. Korstanje)

    ๐Ÿ”„ Changed

    • โšก๏ธ [Core] Updated cucumber-expressions to v11 (cucumber/#711 M.P. Korstanje)
      • Fixes various ambiguities and bugs in the way Cucumber expressions are parsed and transformed into regular expressions
      • May break Cucumber expressions that depend on these ambiguities
    • ๐Ÿšš [Core] Removed incorrect ISO 639-1 code for Telugu language (cucumber/#1238 Nvmkpk)
      • Change imports of io.cucumber.java.tl.* to io.cucumber.java.te.*
      • Change imports of io.cucumber.java8.Tl to io.cucumber.java.Te
      • Change # language: tl to # language: te
    • ๐Ÿ—„ [Core] Deprecated the Summary plugin interface for removal.
      • Removed the default_summary and null_summary plugins
      • The summary plugin is enabled default when using the CLI. Use --no-summary to disable.
      • 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)
      • To retain the old behaviour:
        • Replace DataTable.asList() with -> DataTable.values()
        • Replace DataTable.asLists() with -> DataTable.cells()
        • Replace DataTable.asMaps() with -> DataTable.entries()
    • โœ… [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)
      • To obtain the original <uri>:<line-number> identifier use scenario.getUri() + ":" + scenario.getLine().

    ๐Ÿ—„ Deprecated

    • ๐Ÿ—„ [JUnit Platform] Deprecated @Cucumber in favour of @Suite (#2362 M.P. Korstanje)

    โœ‚ Removed

    • ๐Ÿšš [Core] Removed --strict and --no-strict options (#1788 M.P. Korstanje)
      • Cucumber executes scenarios in strict mode by default
    • ๐Ÿšš [Core] Removed deprecated TypeRegistryConfigurer (#2356 M.P. Korstanje)
      • Use @ParameterType instead.
    • ๐Ÿšš [Weld] Removed cucumber-weld (#2276 M.P. Korstanje)
      • Consider using cucumber-jakarta-cdi or cucumber-cdi2.
    • ๐Ÿšš [Needle] Removed cucumber-needled (#2276 M.P. Korstanje)
      • Consider using cucumber-jakarta-cdi or cucumber-cdi2.

    ๐Ÿ›  Fixed

    • [Core] Emit step hook messages (#2009 Grasshopper)
    • ๐Ÿ”€ [Core] Synchronize event bus before use (#2358) M.P. Korstanje)

Previous changes from v6.11.0

  • โž• Added

    • โœ… [TestNG] Add CucumberPropertiesProvider to allow properties from testng.xml to be used (#2351 Gayan Sandaruwan)

    ๐Ÿ”„ Changed

    • โšก๏ธ [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

    ๐Ÿ›  Fixed

    • [Core] Fixed reports banner to point to new docs about environment variables
    • [Core] Remove --add-plugin alternate name from USAGE.txt (#2319 ebreck)