Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…
Cannot retrieve contributors at this time
276 lines (214 sloc) 27.3 KB


  • [Core] Restore ability to diff with another DataTable (#413 Gilles Philippart)
  • [Core] Executing a test with the --dry-run option does not skip the @Before or @After annotations (#424, #444 William Powell)
  • [Clojure] Updated lein-cucumber version to 1.0.1 (#414 Nils Wloka)
  • [JUnit] Upgrade to 4.11 (#322 #445 Petter Måhlén, Aslak Hellesøy)
  • [Spring] Upgrade to 3.2.1.RELEASE (Aslak Hellesøy)
  • [Core] Strip command line arguments in case people accidentally invoke cucumber.api.cli.Main with arguments that have spaces left and right. (Aslak Hellesøy)
  • [Core] Implemented DataTable.equals() and DataTable.hashCode(). (Aslak Hellesøy)
  • [Core] Support DataTable.toTable(List<String[]>) andDataTable.toTable(List>)` (#433, #434 Nicholas Albion, Aslak Hellesøy)
  • [Core] Formatters and --dotcucumber can now write to a file or an URL (via HTTP PUT). This allows easier distribution of reports. (Aslak Hellesøy)
  • [JUnit] Added @Cucumber.Options.dotcucumber, allowing metadata to be written from JUnit. Useful for code completion. (#418 Aslak Hellesøy)
  • [Core] Embedded data fails to display in HTML reports due to invalid string passed from HTMLFormatter (#412 Aslak Hellesøy)
  • [Scala] Upgrade to scala 2.10.0. (Aslak Hellesøy)
  • [Scala] Passing Scenario reference in Before and After hooks (#431 Anshul Bajpai)
  • [Core] RunCukesTest prevents the execution of other tests (#304, #430 Mishail)
  • [Core] Deprecated cucumber.runtime.PendingException in favour of cucumber.api.PendingException. (Aslak Hellesøy)
  • [Core] New @cucumber.api.Pending annotation for custom Exception classes that will cause a scenario to be pending instead of failed. (#427 agattiker)
  • [Core] --name 'name with spaces in single quotes' is working (#379, #429 William Powell)
  • [Examples/Spring] Spring Data JPA based repositories. (#422 Dmytro Chyzhykov)
  • [Examples/Gradle] Added a Gradle example. (#446 Ivan Yatskevich, David Kowis)


This release bumps the minor version number from 1.0 to 1.1. This is because there are backwards-incompatible changes. There shouldn't be anything else that breaks than package renames and a few class renames. The reason for these breaking changes is to make it more obvious what parts of the API are public and what parts are not. From now on, anything in the cucumber.api package and below is public. If you're importing any cucumber.* packages that don't start with cucumber.api you're using an internal API, and that might still change in future releases. The goal is to have anything in cucumber.api stable from now on, with proper deprecation warnings in case some APIs still need to change.

  • [Scala] Up the cucumber-scala Scala dependencies to 2.10.0-RC1 (#409 Chris Turner)
  • [JRuby] Upgraded to JRuby 1.7.0 (Aslak Hellesøy)
  • [JRuby] I18n stepdefs. require 'cucumber/api/jruby/en' or other language. (#177 Aslak Hellesøy)
  • [JRuby] Calling steps from stepefs now uses the step method (Aslak Hellesøy)
  • [JRuby] World(module) works (Aslak Hellesøy)
  • [JRuby] The DSL no longer leaks into global scope (Aslak Hellesøy)
  • [Spring] The @txn hooks in the package have order 100. (398 Aslak Hellesøy)
  • [Java] The @Order annotation is replaced with an order property on @Before and @After (Aslak Hellesøy)
  • [Core] Make sure all report files are written with UTF-8 encoding (402 MIC, Aslak Hellesøy)
  • [Core] HTMLFormatter improvements (375, 404, 283 Aslak Hellesøy)
  • [All] Package reorganisation. Only classes under cucumber.api are part of the public (stable) API. Classes in other classes are not part of the API and can change. (Aslak Hellesøy)
  • [Core] Improved Transformer API (Aslak Hellesøy)
  • [Java] Renamed @DateFormat to @Format (Aslak Hellesøy)
  • [Core] Fixed a bug where -Dcucumber.options="--format pretty" would fail with the JUnit runner. (Aslak Hellesøy).
  • [Core] Scenario Transform header being treated like an object (no bugfix, but added explanation) (#396 Aslak Hellesøy)
  • [Core] TableDiff with list of pojos: camelcase convert of column names to field names (#385 mbusik)
  • [Core] Added video/ogg mimetype to embedd videos in the HTMLReport (#390 Klaus Bayrhammer)
  • [Groovy] Generated Groovy step definitions need backslashes to be escaped (#391, #400, Martin Hauner)
  • [Java] The java module (and all other modules) finally compile on JDK 7 and OS X. (David Kowis, Sébastien Le Callonnec, Aslak Hellesøy)
  • [Core] The cucumber.options System property will no longer completely override all arguments set in @Cucumber.Options or on the command line. Instead, it will keep those and only override those that are specified in cucumber.options. Special cases are --tags, --name and path:line, which will override previous tags/names/lines. To override a boolean option (options that don't take arguments like --monochrome), use the --no- counterpart (--no-monochrome). (#388 Sébastien Le Callonnec, Aslak Hellesøy)


(The 1.0.13 release failed half way through)

  • [Core] gherkin.jar, gherkin-jvm-deps.jar and cucumber-jvm-deps.jar are embedded inside cucumber-core.jar (to simplify installation) (Aslak Hellesøy)


  • [Core] No img data in embeddings using both json and html reports (#339 Aslak Hellesøy)
  • [Core] JUnit assume failures (AssumptionViolatedException) behaves in the same way as pending (cucumber.runtime.PendingException) (#359 Aslak Hellesøy, Kim Saabye Pedersen)
  • [Core] Extend url protocols. This makes it possible to load features and glue from within a container such as Arquilian. (#360, #361 Logan McGrath)
  • [Jython] Jython Before/After Annotations (#362 Stephen Abrams)
  • [Java] Support for delimited lists in step parameters (#364, #371 Marquis Wang)
  • [Groovy] Load env.groovy before other glue code files. (#374 Tomas Bezdek)
  • [Clojure] Add utilities for reading tables (#376 rplevy-draker)


  • [Core] Added a new @Transform annotation and an abstract Transformer class giving full control over argument transforms.
  • [OpenEJB] Remove log4j need for openejb module (#355 rmannibucau)
  • [JUnit] JUnit report doesn't correctly report errors (#315, #356 Kevin Cunningham)


  • [Core] Automatically convert data tables to lists of enums just as is done with classes #346
  • [Core] DataTable.create() and TableConverter.toTable() will omit columns for object fields that are null, unless columns are explicitly listed. See #320 (Aslak Hellesøy)
  • [Core] Table conversion to List<Map> converts to a List of Map of String to String. (Aslak Hellesøy)
  • [Core] Table conversion to List<Map<KeyType,ValueType>> works for enums, dates, strings and primitives. (Aslak Hellesøy)
  • [Core] Formatters should report feature paths as relative paths. (#337, #342 mattharr)
  • [Java/Groovy] Step definitions and hooks can now specify a timeout (milliseconds) after which a TimeoutException is thrown if the stepdef/hook has not completed. Please note that for Groovy, sleep(int) is not interruptible, so in order for sleeps to work your code must use Thread.sleep(int) (#343 Aslak Hellesøy)
  • [Java] More explanatary exception if a hook is declared with bad parameter types. (Aslak Hellesøy)
  • [Core/JUnit] JUnit report has time reported as seconds instead of millis. (#347 Aslak Hellesøy)
  • [Core] List legal enum values if conversion fails (#344 Aslak Hellesøy)
  • [Weld] Added workaround for WELD-1119 when running on single core machines. (Aslak Hellesøy)


  • [Core] Exceptions thrown from a step definition are no longer wrapped in CucumberException. (Aslak Hellesøy)
  • [Core] Fixed regression: PendingException was causing steps to fail instead of pending. (#328 Aslak Hellesøy)
  • [Java] Missing String.format parameters in DefaultJavaObjectFactory (#336 paulkrause88, Aslak Hellesøy)
  • [Core] Exceptions being swallowed if reported in a Hook (#133 David Kowis, Aslak Hellesøy)
  • [Core] Added DataTable.asMaps() and made all returned lists immutable. (Aslak Hellesøy).
  • [Java] The java-helloworld example has a simple example illustrating data tables and doc strings. (Aslak Hellesøy).
  • [Core] Run scenarios/features by name (#233, #323 Klaus Bayrhammer)
  • [Jython] Added missing self argument in Jython snippets. (#324 Aslak Hellesøy)
  • [Scala] Fixed regression from v1.0.6 in Scala module - glue code wasn't loaded at all. (#321 Aslak Hellesøy)


  • [Core] Ability to create DataTable objects from a List of objects while specifying what header columns (fields) to use (Aslak Hellesøy)
  • [Core] table.diff(listOfPojos) no longer spuriously fails because of pseudo-random column/field ordering (Aslak Hellesøy)
  • [Core] Tables with empty cells make the column disappear (#320 Aslak Hellesøy, Gilles Philippart)
  • [Java] Add 'throws Throwable' to generated Java stepdef snippets (#318, #319 Petter Måhlén)
  • [Core] Remove forced UTC timezone. (#317 Gilles Philippart)
  • [Core] Options (Command line or @Cucumber.Options) can be overriden with the cucumber.options system property. (Aslak Hellesøy)


  • [Java] cucumber-java lazily creates instances, just like the other DI containers. (Aslak Hellesøy)
  • [Core] Throw an exception if a glue or feature path doesn't exist (i.e. neither file nor directory) (Aslak Hellesøy)


  • [JUnit] Scenarios with skipped, pending or undefined steps show up as yellow in IDEA and Eclipse (They used to be green while the steps were yellow). (Aslak Hellesøy)
  • [Core] Loading features and glue code from the CLASSPATH can be done with classpath:my/path (#312 Aslak Hellesøy)
  • [Clojure] Clojure example can't find cuke_steps.clj (#291, #309 Nils Wloka)


  • [Core] Ability to specify line numbers: @Cucumber.Options(features = "my/nice.feature:2:10") (#234 Aslak Hellesøy)
  • [WebDriver] Improved example that shows how to reuse a driver for the entire JVM. (Aslak Hellesøy)
  • [Core] Allow custom @XStreamConverter to be used on regular arguments - not just table arguments. (Aslak Hellesøy)
  • [Groovy] fixed & simplified groovy step snippets (#303 Martin Hauner)
  • [Java] Detect subclassing in glue code and report to the user that it's illegal. (#301 Aslak Hellesøy)
  • [Core] Friendlier error message when XStream fails to assign null to primitive fields (#296 Aslak Hellesøy)


  • [Core] Friendlier error message when XStream fails conversion (#296 Aslak Hellesøy)
  • [Core] Empty strings from matched steps and table cells are converted to null. This means boxed types must be used if you intend to have empty strings. (Aslak Hellesøy)
  • [Core] Implement --strict (#196, #284 Klaus Bayrhammer)
  • [Clojure] Cucumber-clojure adding after hook to before (#294 Daniel E. Renfer)
  • [Java] Show code source for Java step definitions in case of duplicates or ambiguous stepdefs. (Aslak Hellesøy).
  • [Groovy] Arity mismatch can be avoided by explicitly declaring an empty list of closure parameters. (#297 Aslak Hellesøy)
  • [Core] Added DataTable.toTable(List<?> other) for creating a new table. Handy for printing a table when diffing isn't helpful. (Aslak Hellesøy)


  • [Java] Snippets using a table have a hint about how to use List. (Aslak Hellesøy)
  • [Java] Don't convert paths to package names - instead throw an exception. This helps people avoid mistakes. (Aslak Hellesøy)
  • [Scala] Fixed generated Scala snippets (#282 pawel-s)
  • [JUnit] Automatically turn off ANSI colours when launched from IDEA. (Aslak Hellesøy)


  • [Clojure] Fix quoting of generated Clojure snippets (#277 Michael van Acken)
  • [Guice] Guice in multi module/class loader setup (#278 Matt Nathan)
  • [JUnit] Background steps show up correctly in IntelliJ (#276 Aslak Hellesøy)


  • [Docs] Added Cuke4Duke migration notes to README (#239 coldbloodedtx)
  • [Core] Added --monochrome flag, allowing monochrome output for certain formatters (#221 Aslak Hellesøy)
  • [Core] Added a usage formatter (#207, #214 Klaus Bayrhammer)
  • [Core] JavaScript-Error in HTML-Report when using ScenarioResult.write (#254 Aslak Hellesøy)
  • [Java] Add support for enums in stepdefs (#217, #240 Gilles Philippart)
  • [Core] Help text for CLI. (#142 Aslak Hellesøy)
  • [JUnit] Eclipse JUnit reports inaccurate run count (#263, #274 dgradl)


  • [Core] Understandable error message if a formatter needs output location. (#148, #232, #269 Aslak Hellesøy)
  • [JUnit] Running with JUnit uses a null formatter by default (instead of a progress formatter). (Aslak Hellesøy)
  • [Clojure] Fix release artifacts so cucumber-clojure can be released. (#270 Aslak Hellesøy)
  • [Java] The @Pending annotation no longer exists. Throw a PendingException instead (#271 Aslak Hellesøy)


  • [JUnit] CucumberException when running Cucumber with Jacoco code coverage (#258 Jan Stamer, Aslak Hellesøy)
  • [Scala] Scala Javadoc problems with build (#231 Aslak Hellesøy)


  • [Java] Snippets for DataTable include a hint about using List, so people discover this neat technique (Aslak Hellesøy)
  • [Core] Support DocString and DataTable in generated snippets (#227 Aslak Hellesøy)
  • [Core] Fix broken --tags option (and get rid of JCommander for CLI parsing). (#266 Aslak Hellesøy)
  • [Clojure] Make Clojure DSL syntax cleaner (#244 #267 rplevy-draker)
  • [Clojure] Native Clojure backend (#138 #265 Kevin Downey, Nils Wloka)
  • [JUnit] Added format attribute to @Cucumber.Options (Aslak Hellesøy)


  • [Core] Ignore duplicate features instead of throwing exception. (#259 Aslak Hellesøy)
  • [Core] Wrong message when runner on a non existing tag on feature (#245 Aslak Hellesøy, Jérémy Goupil)
  • [Groovy, JRuby, Rhino] Make sure UTF-8 encoding is used everywhere (#251 Aslak Hellesøy)
  • [Core, Cloure] Fixed StepDefinitionMatch to work with StepDefinitions that return null for getParameterTypes (#250, #255 Nils Wloka)
  • [Java] Open up the JavaBackend API to ease integration from other tools (#257 Aslak Hellesøy).
  • [Java] Inheritance in glue classes (stepdefs and hooks) is no longer supported - it causes too many problems. (Aslak Hellesøy).
  • [JUnit] @Cucumber.Options annotation replaces @Feature annotation (#160 Aslak Hellesøy)
  • [Spring] Slow Spring context performance (#241, #242 Vladimir Klyushnikov)
  • [Core] Support for java.util.Calendar arguments in stepdefs. (Aslak Hellesøy)


  • [JUnit] Improved JUnit runner. (#107, #211, #216 Giso Deutschmann)
  • [Core] Stacktrace filtering filters away too much. (#228 Aslak Hellesøy)
  • [Groovy] Fix native Groovy cucumber CLI (#212 Martin Hauner)
  • [Core] Indeterministic feature ordering on Unix (#224 hutchy2570)
  • [JUnit] New JUnitFormatter (--format junit) that outputs Ant-style JUnit XML. (#226, #171 Vladimir Miguro)


  • [Core] Embed text and images in reports. (#205 Aslak Hellesøy)
  • [Core] Detect duplicate step definitions. (Aslak Hellesøy)
  • [Java] Auto-generated step definitions should escape dollar signs / other regex chars (#204, #215 Ian Dees)
  • [Core] Scenario Outlines work with tagged hooks. (#209, #210 Aslak Hellesøy)
  • [Spring] Allowed customization of Spring step definitions context (#203 Vladimir Klyushnikov)
  • [Core] Ambiguous step definitions don't cause Cucumber to blow up, they just fail the step. (Aslak Hellesøy)
  • [Java] Fixed NullPointerException in ClasspathMethodScanner (#201 Vladimir Klyushnikov)
  • [Groovy] Compiled Groovy stepdef scripts are found as well as source ones (Aslak Hellesøy)
  • [Jython] I18n translations for most languages. Languages that can't be transformed to ASCII are excluded. (#176, #197 Stephen Abrams)


  • [Java] You must use cucumber.runtime.xstream instead of com.thoughtworks.xstream for custom converters.
  • [Core] XStream and Diffutils are now packaged inside the cucumber-core jar under new package names. (#179 Aslak Hellesøy)
  • [Core] Fail if no features are found (#163 Aslak Hellesøy)
  • [Core] Fail if duplicate features are detected (#165 Aslak Hellesøy)


  • [Core] HTML formatter produces invalid page if no features (#191 Paolo Ambrosio)
  • [Core] i18n java snippets for undefined steps are always generated with @Given annotation (#184 Vladimir Klyushnikov)
  • [JUnit] Enhanced JUnit Exception Reporting (#185 Klaus Bayrhammer)
  • [Guice] Constructor dependency resolution causes errors in GuiceFactory (#189 Matt Nathan)


  • [Clojure] Fixed hooks (#175 Ronaldo M. Ferraz)
  • [Core] Properly flush and close formatters (#173 Aslak Hellesøy, David Kowis)
  • [Core] Use Gherkin's internal Gson (Aslak Hellesøy)
  • [JUnit] Better reporting of Before and After blocks (Aslak Hellesøy)
  • [Core] Bugfix: Scenario Outlines failing (#170 David Kowis, Aslak Hellesøy)
  • [OpenEJB] It's back (was excluded from previous releases because it depended on unreleased libs). (Aslak Hellesøy)


  • [JUnit] Tagged hooks are executed properly (Aslak Hellesøy)
  • [JRuby] Better support for World blocks (#166 David Kowis)
  • [Java] GluePath can be a package name (#164 Aslak Hellesøy)
  • [Build] Fixed subtle path issues on Windows
  • [Build] Fixed Build Failure: Cucumber-JVM: Scala (FAILURE) (#167 Aslak Hellesøy)


  • [Build] The build is Maven-based again. It turned out to be the best choice.
  • [Scala] The Scala module is back to life. (#154 Jon-Anders Teigen)
  • [Build] The build should work on Windows again. (#154 Aslak Hellesøy)


  • [Build] Maven pom.xml files are back (generated from ivy.xml). Ant+Ivy still needed for bootstrapping.


  • [Clojure] Snippets use single quote instead of double quote for comments.
  • [All] Stepdefs in jars were not loaded correctly on Windows. (#139)
  • [Build] Fixed repeated Ant builds. (#141)
  • [Build] Push to local maven repo. (#143)


  • [Build] Fixed transitive dependencies in POM files. (#140)
  • [Build] Use a dot (not a hyphen) in RC version names. Required for JRuby gem.
  • [Build] Started tagging repo after release.


  • First proper release
Jump to Line
Something went wrong with that request. Please try again.