Cucumber v2.0.0 Release Notes

    • 👻 [Java] Reduce Throwable to Exception in JavaSnippet (#1207, #1208 M.P. Korstanje)
    • ⚡️ [Core] Update the cucumber-html dependency to version 0.2.6 (Björn Rasmusson)
    • 👻 [Core] Fix PrettyFormatter exception on nested arguments (#1200 Marit van Dijk, M.P. Korstanje)
    • ✅ [Core] Added tests for diffing with empty table and list (#1194 Marit van Dijk, M.P. Korstanje)
    • ✅ [JUnit] Invoke (Before|After)Class and TestRules around Cucumber execution (#1190 M.P. Korstanje)
    • [Core] Use whole path for uri:s for file system feature files (#1189, #854 Björn Rasmusson)
    • 👍 [Java, Java8, Kotlin Java8] Support method references (#1178, #1140 M.P. Korstanje)
      • Java8 method references can be used in lambda step definitions
      • It is no longer possible to use lambda step definitions without also using cucumber-java8
      • Lambda step definitions can be used in Kotlin. Function references are not yet understood
    • 📜 [Core] Make the parsing of the rerun file more robust (#1187 M.P. Korstanje)
    • ⚡️ [Android] Update the version of the cucumber-jvm-deps dependency - to a version without Java8 bytecode (#1170, #893 Björn Rasmusson)
    • [Needle] Handle circular dependencies (#853 Lars Bilger)
    • [Core] Use "uri" instead of "path" to reference feature files in external APIs (#1179 Björn Rasmusson)
    • [Core] Separate rerun paths by a new line character (#1177, #1187 M.P. Korstanje)
    • ✅ [TestNG] Run a separate TestNG test per scenario (deprecate one TestNG test per feature, and one TestNG for the whole suite) (#1174, #1113 Luciano van der Veekens, Björn Rasmusson)
    • [Core] Close OutputStream for embedded images in HTML formatter (#1175, #1108 M.P. Korstanje)
    • [Scala] Compile cucumber-scala_2.12 against Java 8 (#1171, #1087 M.P. Korstanje, Paolo Ambrosio). This includes:
      • Update Scala Versions
      • 2.12.0-M1 to 2.12.2
      • 2.11.8 to 2.11.11
      • Use Manifest instead of Java reflection to provide type information
    • [Core] Avoid closing System.out or System.err from formatters (#1173 Björn Rasmusson)
    • [Core] Decouple UndefinedStepsTracker from Glue (#1019 #1172 Illapikov, M.P. Korstanje)
    • ✅ [Core] Add TestRunStarted event, let Stats handle the exit code (#1162 Björn Rasmusson)
    • [Core, JUnit, Android] Add the ambiguous result type (#1168 Björn Rasmusson)
    • [Core] Add the SnippetsSuggestedEvent (#1163 Björn Rasmusson)
    • [Java] Prevent MethodScanner from checking Object.class methods (#940 Łukasz Suski)
    • [Weld] Use Weld SE 2.4.4.Final (#1166 Frank Seidinger)
    • [Core] Provide a unique id of the current scenario to the hooks. (#1160 Björn Rasmusson)
    • [Gosu] Fix and re-enable Gosu for 2.0.0 (#1155, #1086, #874 Kyle Moore, M.P. Korstanje)
    • [Core] Fix issue where ComplexTypeWriter would create unbalanced tables. (#1042 Roy Jacobs, M.P. Korstanje)
    • [Guice] Use the ContextClassLoader when loading InjectorSource. (#1036, #1037 Kyle Moore)
    • [Core] Allow global registration of custom XStream converters. (#1010, #1009 Chris Rankin)
    • 👍 [Spring] Support multithreaded execution of scenarios (#1106, #1107, #1148, #1153 Ismail Bhana, M.P. Korstanje)
    • [Core] Show explicit error message when field name missed in table header (#1014 Mykola Gurov)
    • [Examples] Properly quit selenium in webbit examples (#1146 Alberto Scotto)
    • [JUnit] Use AssumptionFailed to mark scenarios/steps as skipped (#1142 Björn Rasmusson)
    • [Core] Map AssumptionViolatedException to Skipped status (#1145, #1007 Björn Rasmusson)
    • [Java] SnippetGenerator recognises parameters from Scenario Outline (#1078 Andrey Vokin)
    • [Java8] Allow lambda steps to throw checked Exceptions (#1001, #1110 Christian Hujer)
    • 0️⃣ [JUnit] Add --[no-]step-notifications option to JunitOptions (no step notifications is the default) (#1135, #1159, #263, #935, #577 M.P. Korstanje, Björn Rasmusson)
    • [JUnit] Use deterministic unique ids in Descriptions (#1134, #1120 mpkorstanje)
    • 👍 [All] Support Tag Expressions (part of #1035 Björn Rasmusson)
    • ⬆️ [All] Upgrade to Gherkin 4.1 (#1035, #1131, #1133 Björn Rasmusson, M.P. Korstanje). This also fixes:
      • JsonFormatter attach text to last step when sceneario.write is invoked from after hook (#1080)
      • CucumberOptions: Tags and name do not work well together (#976)
      • Tags at the examples block are not treated as actual tags in scenario (#849)
      • NullPointerException from @Before tag (#638, #701)
    • [All] Change the maven groupId to io.cucumber (part of #1035 Björn Rasmusson)