All Versions
125
Latest Version
Avg Release Cycle
20 days
Latest Release
41 days ago

Changelog History
Page 9

  • v2.1.0 Changes

    ➕ Added

    • [JUnit] Print JUnit Options when unknown option is provided (#1273, Marit Van Dijk)
    • [Spring] Support BootstrapWith annotation (#1245, #1242, #1061 M.P. Korstanje)
    • [Core] Allow String parameter in plugin constructors (Aslak Hellesøy)
    • [Core] Prefer single-arg constructors over empty constructors in plugins (#1104, c6e471c2 Aslak Hellesøy)
    • [Core] Optimize MethodScanner (#1238 Łukasz Suski) ### 🔄 Changed
    • [Core] Running empty Pickles yields the result undefined (#1274 Björn Rasmusson)
    • [Core] Use gherkin 5.0.0 (#1252 M.P. Korstanje)

    🗄 Deprecated

    • [Spring] Deprecate Spring context configuration by more than one class (#1259 Björn Rasmusson)

    ✂ Removed

    • [Scala, Groovy, Clojure, Jython, JRuby, Rhino, Gosu] Moved to own repositories (M.P. Korstanje)

    🛠 Fixed

    • [Java8] Fix Java8StepDefinition.isDefinedA (#1254, #1255 tts-ll, M.P. Korstanje)
    • [Core] Fix race condition in Timeout (#1244 M.P. Korstanje)
    • [Core] Correct the name of the Json Formatter embeddings node (#1236 Haroon Sheikh)
    • [Spring] Exception is thrown complaining about multiple matching beans (#1225, #1226, M.P. Korstanje)
  • v2.0.1 Changes

    ➕ Added

    • [Core] cucumber.api.TableConverter interface (#1223 M.P. Korstanje)

    🗄 Deprecated

    • [Core] Deprecated constructors and run method of TestCase and Test Step (#1223 M.P. Korstanje)

    🛠 Fixed

    • [Core] Skip test step execution if --dry-run is specified (#1220 ,#1219 Adrian Baker)
    • [Java8] NullPointerException at Java8StepDefinition.isDefinedAt (#1222, #1217 M.P. Korstanje)
    • [Core] Scenario.isFailed always return false (#1216, #1215 Olivier Lemasle)
    • [Docs] Javadoc stylesheet issue (#1212, #796 Marit Van Dijk)
  • v2.0.0 Changes

    • 👻 [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)
  • v1.2.6 Changes

    November 09, 2019
    • [All] Maven distribution relocation (#1336 John Patrick, M.P. Korstanje)
      • After upgrading to 1.2.6 Maven will let users know that the groupId has changed from info.cukes to io.cucumber.
  • v1.2.5 Changes

    • [Java8] Fix closing over local variables (#916, #924, #929 Alexander Torstling, Aslak Hellesøy)
    • [Java8] Fix IllegalArgumentException on JDK 1.8.0_60 (#912, #914 Michael Wilkerson)
    • [Core] Double-check for directory exists in the ensureParentDirExists(File) (#978 Pavel Ordenko)
    • 👍 [picocontainer] Picocontainer lifecycle support(#994, #993, #992 Richard Bradley)
    • 🔌 [Core] Specifying plugins on the command line via --plugin clobbers settings in the code (#860 Björn Rasmusson)
    • ✅ [Core] Make test assertion OS agnostic (#897 sid)
    • 🏗 [Travis] Improve the travis build (#829 Björn Rasmusson)
    • [Core, Junit] Passthrough options for the JUnit Module (#1002, #1029. Also resolves #825 and #972. Björn Rasmusson, with bug fix by Bernd Bindreiter)
    • [Android, Core, Guice, Junit] Improve code quality ensuring Utility Classes cannot be instantiated (#945 Kirill Vlasov)
    • ✅ [Core, Guice, Testng] Improve code quality using isEmpty instead of size comparison (#942 Kirill Vlasov)
    • [Clojure] Don't depend on cucumber-core in the clojure example (#947 Joe Corneli)
    • ✅ [Spring] Some spring tests were not being run (#952 Lee Wan Geun)
    • [OSGI] Pax-exam is optional (#1000 HendrikSP)
    • [Groovy] Fix Null Pointer Exeption whe using List as parameter type in step defs (#980 Steffen Jacobs)
    • [Readme] Use SVG badges! (#941 Kevin Goslar)
    • ✅ [TestNG] Ignore the testng directory (#990 Jan Molak)
    • [Core] Use Integer.compare() in HookComparator in order to guard against possible underflow (#986, #985 Mikael Auno)
    • ✅ [Junit] Let JUnitReporter treat Pending results in hooks as failures in strict mode, and as ignored tests otherwise (Björn Rasmusson)
    • [Core] Mark scenario as skipped in JUnitFormatter if PendingException is thrown in a hook (#964, #962 Felix Martin Martin)
    • 👍 [Core] Support assume feature also with JUnit 4.12 (#961 Stefan Birkner)
    • ✅ [TestNG] Always tear down TestNG cucumber tests (#955, #956 Sven-Torben Janus)
    • ✅ [TestNG] Make TestNG to fail on unparseable feature files (#953 Björn Rasmusson)
    • 👻 [Java8] Throw better exception when lambda stepdefs use generic list arguments (unsupported) (Aslak Hellesøy)
  • v1.2.4 Changes

    July 23, 2015
    • 📄 [Core] DocString arguments can be converted to scalar types just like capture group arguments (Aslak Hellesøy)
    • [Guice] The cucumber-guice.properties file is no longer used. Use cucumber.properties instead.
    • [Guice] The guice.injector-source property can be overridden as a System property or environment variable (#881 Aslak Hellesøy)
    • [Java] ObjectFactory.addClass returns a boolean indicating whether or not stepdefs/hooks for that class should be registered. (Aslak Hellesøy)
    • ✅ [examples] Fix to allow lein test to to run successfully (#805 Chris Howe-Jones)
  • v1.2.3 Changes

    July 07, 2015
    • [Core] Make the Rerun Formatter consistent with the exit code (#871 Björn Rasmusson)
    • [OSGi] Cucumber is ready to run in OSGi containers (#873, #799 @HendrikSP)
    • 🚚 [Java] cucumber.runtime.java.ObjectFactory moved to cucumber.api.java.ObjectFactory. Custom implementation can be specified in cucumber.properties with cucumber.api.java.ObjectFactory=my.special.KindOfObjectFactory. (Closes #290 Aslak Hellesøy)
    • [Core] Properly decode jar URLs with spaces (%20) - (#866 Aslak Hellesøy)
    • [Java] Arity mismatch Java8 Step Definition error (#852, #847 David Coelho)
    • 🖨 [Java] Print Java 8 lambda snippets when cucumber-java8 is active (Aslak Hellesøy)
    • 🔌 [Core] Make the Summary Printer into a plugin (#828 Björn Rasmusson)
    • ✅ [Core] Additional unit-tests for #789 (#815 Klaus Bayrhammer)
    • [Java] Added @Documented to all step annotations (#834, #833 Peter Oxenham)
    • [Core] Set a description for Scenario Outline scenarios (#841, #837 Björn Rasmusson)
    • [Core] Call all formatters, also in case of unimplemented methods (#842, #803 Björn Rasmusson)
    • ✅ [TestNG] Run each feature as separate TestNG test (#817, #653 Dmitry Sidorenko, Björn Rasmusson)
    • ✅ [Core] Implement TestNG-compatible XML formatter (#818, #621 Dmitry Berezhony, Björn Rasmusson)
    • [Core] DataTable.diff(List) gives proper error message when the List argument is empty (Aslak Hellesøy)
    • [Core] Execute no scenarios when the rerun file is empty (#840 Björn Rasmusson)
    • [Core] Snippets for quoted arguments changed from (.*?) to ([^\"]*) (which is how it was before 1.1.6). See cucumber/cucumber#663 (Aslak Hellesøy)
    • [Core] Fix non running gradle example (#839 Ole Christian Langfjæran)
    • 📚 [Clojure] Improved documentation for the clojure module (#864 Paul Doran)
  • v1.2.2 Changes

    January 13, 2015

    🚀 (There is no 1.2.1 release)

    • [Core] Look up cucumber.options from cucumber.properties (Previously only CUCUMBER_OPTIONS was working). (Aslak Hellesøy)
    • 0️⃣ [Android] put android project into default profile (#821 Sebastian Gröbler, Björn Rasmusson)
    • [Android] made android studio example use espresso 2 (#820 Sebastian Gröbler)
    • 🚚 [Android] removed apklib generation from android project, fixed and cleaned up android examples (#819 Sebastian Gröbler, Björn Rasmusson)
    • 👍 [Groovy] Add support for execution order for Groovy hooks (#809, #807 Mohammad Shamsi)
    • [JUnit] JUnit 4.12 compatibility (#794, #792 Johann Vanackere)
    • [Java] Java 8 lambda step definitions. (#738, #767 Romain Manni-Bucau, Aslak Hellesøy with help from Dan Bodart).
    • [Core] Handles zip/jar protocols (#808, Rui Figueira)
    • [Core] Handles multiple classloaders (#814, Gerard de Leeuw)
  • v1.2.0 Changes

    October 30, 2014
    • 🏗 [Clojure] Added clojure_cukes example to the maven build (#790 Jestine Paul)
    • 👍 [Spring] Added Spring meta-annotation support (#791 Georgios Andrianakis)
    • 💻 [JUnit] Improve consistency between JUnit and Command Line Runners (#765 cliviu)
    • [Core] Clobber all filter types when override one filter type in the environment options (#748 Björn Rasmusson)
    • ♻️ [Android] Big refactoring (#766 Sebastian Gröbler)
    • 📚 [Android] Improve documentation (#772 K76154)
    • 🖨 [Core] New --i18n option for printing keywords (#785 Seb Rose)
    • [Core] Make the JUnit formatter handle empty scenarios (#774 Björn Rasmusson)
    • ✅ [Scala] Fixing randomly failing tests in the Scala module (#768, #761 Manuel Bernhardt)
    • 🏗 [JRuby] cucumber-jruby backend fails to build when RUBY_VERSION is present in environment (#718 Aslak Hellesøy)
    • [Core] DataTable.asMap() returns a LinkedHashMap, ensuring key iteration order is the same as in the gherkin table (#764 Aslak Hellesøy).
    • ✅ [Core] Spring dirty cukes test fix (#708 Mykola Gurov)
    • [Core] Improve error message for multiple formatters using STDOUT (#744 Björn Rasmusson)
    • 👍 [Core] Better error messages when loading features from rerun file (#749 Björn Rasmusson)
    • [Core] Handle "" properly in ListConverter. (#756 Clément MATHIEU)
    • ⚡️ [Guice] Update links and fix formatting in Cucumber Guice docs (#763 Jake Collins)
    • [Groovy] Clean up groovy stack traces (#758 Tom Dunstan)
    • [Gosu] New module. (Aslak Hellesøy)
    • [Gosu] Modified When Expression to use a void block. (Mark Sayewich)
    • 🏗 [Ioke] Removed this module. It slows down the build and is too esoteric.
    • 🔌 [Core] Richer plugin API. The --plugin option can specify a class that implements one or more of gherkin.formatter.Formatter,gherkin.formatter.Reporter,cucumber.api.StepDefinitionReporter (Aslak Hellesøy)
    • 🚚 [Core] Removed support for --dotcucumber and stepdefs.json. The new plugin API replaces this with cucumber.api.StepDefinitionReporter (Aslak Hellesøy)
    • 🗄 [Core] The --format option is deprecated in favour of --plugin (Aslak Hellesøy)
    • 🚚 [JUnit] @cucumber.junit.api.Cucumber.Options that was deprecated in 1.1.5 has been removed. Use @cucumber.api.CucumberOptions (Aslak Hellesøy)
    • 🏗 [Android] Fix the Android build on Travis (#750 Björn Rasmusson)
    • [Core] Handle NullPointerExceptions in MethodFormat.getCodeSource (#757, #751 bySabi)
    • [Core] Correct lookup environment variable - system property - resource bundle (#754 Björn Rasmusson)
    • 🚚 [Android,Spring,Needle,Examples] Remove commons-logging & log4j and redirect all logging to slf4j & logback (#742 Nayan Hajratwala)
    • [Spring] Fix the glue class autowiring, transaction and cucumber-glue scope issues (#711, #600, #637 Björn Rasmusson)
    • 👍 [Groovy] Support more then one World {} definition (#716 Anton)
  • v1.1.8 Changes

    June 26, 2014
    • [JUnit] Let JUnitReporter fire event(s) on the step notifier for every step (#656 Björn Rasmusson)
    • [JUnit] Correct JUnit notification for background steps. (#660, #659 Björn Rasmusson)
    • [Core] Expose Scenario id to step definitions (#673, #715 Björn Rasmusson)
    • 0️⃣ [Core] The RuntimeOptionsFactory should add default feature path, glue path and formatter once. (#636, #632, #633 Björn Rasmusson)
    • ⚡️ [Clojure] Update clojure version to 1.6.0 (#698 Jeremy Anderson)
    • [Core] Only include executed scenarios and steps from outlines in the JSON output (#704 Björn Rasmusson)
    • [JUnit] JUnitFormatter: use ascending numbering of outline scenarios (#706 Björn Rasmusson)
    • ✅ [TestNG] Let the TestNG runner handle strict mode correctly (#719 Björn Rasmusson)
    • ✅ [Core] Disregard order of JSON properties in PrettyPrint unit tests (#740 mchenryc)
    • 👍 [Core] Support reading feature paths from the rerun formatter file (#726 Björn Rasmusson)
    • [Core] Apply line filters only to the feature path that they are defined on (#725 Björn Rasmusson)
    • ✅ [Groovy] Allow tests to run multi-threaded in the same JVM (#723, #727 Bradley Hart)
    • [Core] New DataTable.unorderedDiff method (#731, #732 yoelb)
    • [Core] Dynamically constructed converter for class with constructor assignable from String (#735, #736 Mykola Gurov)
    • ✅ [Core] Disregard order of HashMap entries in unit tests (#739 mchenryc)
    • [Core] Environment variables/properties are aliased. Example: HELLO_THERE == hello.there (Aslak Hellesøy)
    • [Core] The cucumber-jvm.properties file is no longer picked up. Use cucumber.properties instead (Aslak Hellesøy)
    • [Core] Make standard out non-buffered (#721 danielhodder)
    • [Core] Allow empty doc string and data table entries after token replacement from scenario outlines (#712, #709, #713 Leon Poon, Björn Rasmusson)
    • [Guice] New scenario scope for Guice. Non-backwards compatible (#683 jakecollins)