Skip to content

Latest commit

 

History

History
516 lines (432 loc) · 59.7 KB

History.md

File metadata and controls

516 lines (432 loc) · 59.7 KB
  • [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 Also resolves #825 and #972 Björn Rasmusson)
  • [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](cucumber#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)

1.2.4 (2015-07-23)

  • [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)

1.2.3 (2015-07-07)

  • [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)

1.2.2 (2015-01-13)

(There is no 1.2.1 release)

  • [Core] Look up cucumber.options from cucumber.properties (Previously only CUCUMBER_OPTIONS was working). (Aslak Hellesøy)
  • [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)

1.2.0 (2014-10-30)

  • [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)

1.1.8 (2014-06-26)

  • [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)
  • [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)

1.1.7 (2014-05-19)

  • [Core] Custom formatters can be instantiated with java.net.URI. (Aslak Hellesøy)
  • [JRuby,Jython,Rhino,Groovy] Load scripts by absolute path rather than relative so that relative require/import from those scripts works (Aslak Hellesøy)
  • [Scala] Support Scala 2.10 and 2.11. Drop support for Scala 2.9. (Aslak Hellesøy).
  • [Core] cucumber.api.cli.Main.run no longer calls System.exit, allowing embedding in other tools (Aslak Hellesøy)

1.1.6 (2014-03-24)

  • [Guice] Add hookpoints in Cucumber and GuiceFactory (#634 Wouter Coekaerts)
  • [Core] Fixed concurrency issue (#333, #554, #591, #661 Maxime Meriouma-Caron, Limin)
  • [Groovy] Use ~/.../ syntax in Groovy snippets (#663 Harald Albers, Aslak Hellesøy)
  • [Build] Enforce minimum maven version 3.1.1, update plugin and dependency versions (#690, #691, #692 Nayan Hajratwala)
  • [Scala] Fixed scala warnings (#689 Nayan Hajratwala)
  • [Core] Cannot run cucumber test if path to jar files contains exclamation character. (#685 Ruslan, Aslak Hellesøy)
  • [Gosu] Support for Gosu (Aslak Hellesøy)
  • [Core] Ensuring features are parsed before formatters are initialised (#652 Tim Mullender)
  • [Java] Added ability to define custom annotations. (#628 slowikps)
  • [Core] Added support for SVG images in HTML output (#624 agattiker)
  • [Scala] Transforming Gherkin tables into java.util.List broken in Scala DSL (#668, #669 chriswhelan)
  • [Clojure] Add tagged Before/After hook support (#676 Jeremy Anderson)
  • [Core] POJO with nullable enum fields support in tables (#684 Mykola Gurov)
  • [Core] DataTable.flatten() is gone. Use DataTable.asList(String.class) instead (Aslak Hellesøy)
  • [Core] A DataTable of 2 columns can be turned into a Map excplicitly via DataTable.asMap() or by declaring a generic parameter type. Similar to Cucumber-Ruby's Table#rows_hash (Aslak Hellesøy)
  • [Core] Snippets for quoted arguments changed from from ([^\"]*) to (.*?) to be aligned with Cucumber-Ruby (Aslak Hellesøy)
  • [Build] JDK7 is required to build everything. Built jars should still work on JDK6 (Aslak Hellesøy)
  • [Core] Fix compilation on JDK7 on OS X. (#499, #487 Aslak Hellesøy)
  • [Andriod] Enable custom test runners to run Cucumber features (to enable usage of the Espresso framework). (#662, #667 Björn Rasmusson)
  • [Core] Expose Scenario name to step definitions. (#671 Dominic Fox)
  • [Clojure] Fixed bug in the snippet generation that caused an exception. (#650 shaolang)
  • [Core] More precise handling of the XStream errors. (#657, #658 Mykola Gurov)
  • [Core] Performance improvement: URLOutputStream can write several bytes, not just one-by-one. (#654 Aslak Hellesøy)
  • [Core] Add support for transposed tables. (#382, #635, Roberto Lo Giacco)
  • [Examples] Fixed concurrency bugs in Webbit Selenium example (Aslak Hellesøy)
  • [Core] Fixed thread leak in timeout implementation. (#639, #640, Nikolay Volnov)
  • [TestNG] Allow TestNG Cucumber runner to use composition instead of inheritance. (#622 Marty Kube)
  • [Core] New Snippet text. (#618 Jeff Nyman, Matt Wynne, Aslak Hellesøy)
  • [Android] Add command line option support for Android (#597, Frieder Bluemle)
  • [Android] Add debug support for eclipse (#613 Ian Warwick)
  • [Core] Make the RerunFormatter handle failures in background and scenario outline examples correctly (#589 Björn Rasmusson)
  • [Core] Fix stop watch thread safety (#606 Dave Bassan)
  • [Android] Fix Cucumber reports for cucumber-android (#605 Frieder Bluemle)
  • [Spring] Fix for tests annotated with @ContextHierarchy (#590 Martin Lau)
  • [Core] Add error check to scenario outline, add java snippet escaping for + and . (#596 Guy Burton)
  • [Rhino] World build and disposal support added to Rhino (#595 Rui Figueira)
  • [Jython] Fix for DataTable as parameter in Jython steps (#599, #602 lggroapa, Aslak Hellesøy)
  • [Core] Fix and improve CamelCaseFunctionNameSanitizer (#603 Frieder Bluemle)
  • [Android] improve test reports for cucumber-android (#598 Sebastian Gröbler)
  • [Core] The JSONFormatter should record before hooks in the next scenario (#570 Björn Rasmusson)
  • [Core, Java] Log a warning when more than one IoC dependency is found in the classpath (#594 Ariel Kogan)
  • [JUnit,TestNG] Report summaries and .cucumber/stepdefs.json in the same way as the CLI (Aslak Hellesøy)

1.1.5 (2013-09-14)

  • [Core] There are now three ways to override Cucumber Options. (Aslak Hellesøy)
    • cucumber.options="..." passed to the JVM with -Dcucumber.options="...".
    • The environment variable CUCUMBER_OPTIONS="...".
    • A cucumber-jvm.properties on the CLASSPATH with a cucumber.options="..." property.
  • [Core] Feature paths and --glue in cucumber.options clobber defaults rather than appending to them. (Aslak Hellesøy)
  • [JRuby] The GEM_PATH and RUBY_VERSION values will be picked up from cucumber-jvm.properties instead of cucumber-jruby.properties (Aslak Hellesøy).
  • [Core] Step Definition and Hook timeout is now a long instead of an int. (Aslak Hellesøy)
  • [Rhino] Before and After hooks support (#587 Rui Figueira)
  • [Android] Separate CI job for Android. (#581, #584 Björn Rasmusson)
  • [Android] Add support for Dependency Injection via cucumber-picocontainer, cucumber-guice, cucumber-spring etx. (Aslak Hellesøy)
  • [TestNG] Java Calculator TestNG example project (#579 Dmytro Chyzhykov)
  • [Jython] Access to scenario in Before and After hooks (#582 Aslak Hellesøy)
  • [Core] Replace placeholders in the Scenario Outline title (#580, #510 Jamie W. Astin)
  • [JUnit/Core] @cucumber.junit.api.Cucumber.Options is deprecated in favour of @cucumber.api.CucumberOptions (#549 Aslak Hellesøy)
  • [JUnit] Inherit Information of @Cucumber.Options (#568 Klaus Bayrhammer)
  • [JUnit] JUnitFormatter does not put required name attribute in testsuite root element (#480, #477 ericmaxwell2003)
  • [Core] Output embedded text in HTML report (#501 Tom Dunstan)
  • [Core] Fix for Lexing Error message not useful (#519, #523 Alpar Gal)
  • [TestNG] New TestNG integration. (#441, #526 Dmytro Chyzhykov)
  • [Core] Implemented rerun formatter. (#495, #524 Alpar Gal)
  • [Java,Needle] New DI engine: Needle. (#496, #500 Jan Galinski)
  • [Core] Bugfix: StringIndexOutOfBoundsException when optional argument not present. (#394, #558 Guy Burton)
  • [Java, Jython] New --snippet [underscore|camelcase] option for more control over snippet style. (#561, 302 Márton Mészáros, Aslak Hellesøy)
  • [Windows] Use uri instead of path in CucumberFeature (#562 Björn Rasmusson)
  • [Android] Better example for Cucumber-Android. (#547, #574 Maximilian Fellner)
  • [Android] Use @CucumberOptions instead of @RunWithCucumber. (#576 Maximilian Fellner)
  • [Android] Deploy a jar for cucumber-android. (#573 Maximilian Fellner, Aslak Hellesøy)

1.1.4 (2013-08-11)

  • [Core] Fixed a bug where @XStreamConverter annotations were ignored (Aslak Hellesøy)
  • [Android] New Cucumber-Android module (#525 Maximilian Fellner).
  • [Build] Deploy maven SNAPSHOT versions from Travis (#517, #528 Tom Dunstan)
  • [Core] JUnitFormatter to mark skipped tests as failures in strict mode (#543 Björn Rasmusson)
  • [Core] Always cancel timeout at the end of a stepdef, even when it fails. (#540 irb1s)
  • [Groovy] Updated examples to be more explanatory and groovier syntax (#537 Quantoid)
  • [PicoContainer,Groovy,JRuby,Jython] Not shading maven artifacts any longer. Gem has a shaded jar though. (#522 #518 Dmytro Chyzhykov, Aslak Hellesøy)
  • [Core] The json-pretty formatter is gone, and the json formatter is pretty!
  • [Spring] New awesome Spring port of The Cucumber Book's chapter 14. (#508, #489 Dmytro Chyzhykov, Pedro Antonio Souza Viegas)
  • [Core] Added Scenario.getSourceTagNames(), which is needed to make Capybara work with Cucumber-JRuby (#504 Aslak Hellesøy)
  • [JRuby] Tagged hooks for JRuby (#467 Aslak Hellesøy)
  • [Spring] Implementation based on SpringJunit4ClassRunner. (#448, #489 Pedro Antonio Souza Viegas)
  • [Core] Bugfix: Generated regex for ? character is incorrect. (#494 Aslak Hellesøy)
  • [Core] Improve readability with unanchored regular expressions (#485, #466 Anton)
  • [Core] Throw exception when unsupported command line options are used. (#482, #463 Klaus Bayrhammer)
  • [Scala] Release cucumber-scala for the two most recent minor releases (currently 2.10.2 and 2.9.3) (#432, #462 Chris Turner)
  • [Core] JUnitFormatter: Fix indentation, hook handling and support all-steps-first execution (#556 Björn Rasmusson)
  • [Core] Make the PrettyFormatter work by revering to all-steps-first execution (#491, #557 Björn Rasmusson)
  • [Core] Test case for the PrettyFormatter. (#544 Björn Rasmusson)
  • [Core/Junit] Print summary at the end of the run. (#195, #536 Björn Rasmusson)
  • [Core/Examples] Return exit code 0 when no features are found, add example java-no-features. (#567 Björn Rasmusson, Dmytro Chyzhykov)

1.1.3 (2013-03-10)

  • [Core] Added accessors to TableDiffException. (#384 Aslak Hellesøy)
  • [Core] Fixed use of formatter to list all step results in JSON output (#426 agattiker)
  • [Scala] Add support for DataTable and locale-aware type transformations. (#443, #455 Matthew Lucas)
  • [Groovy] Groovy should throw exception if more then one World registred (#464, #458 Luxor)
  • [Core] Diffing tables doesn't work when delta span multiple lines (#465 Gilles Philippart)
  • [JRuby] GEM_PATH and RUBY_VERSION can be set in env var, system property or cucumber-jruby.properties resource bundle. (Aslak Hellesøy)
  • [JRuby] Wrong CompatVersion passed to JRuby when 1.9 is given (#415 David Kowis)
  • [Core] Custom Formatter/Reporter's before and after hook weren't run. (Aslak Hellesøy)
  • [Clojure] Clojure backend should define HookDefinition.getLocation(boolean detail) (#461, #471 Nils Wloka)

1.1.2 (2013-01-30)

  • [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[]>) and DataTable.toTable(List<Map<String,String>>) (#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)

1.1.1 (2012-10-25)

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 cucumber.runtime.java.spring.hooks 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)

1.0.14 (2012-08-20)

(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)

1.0.12 (2012-08-19)

  • [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)

1.0.11 (2012-07-06)

  • [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)

1.0.10 (2012-06-20)

  • [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)

1.0.9 (2012-06-08)

  • [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)

1.0.8 (2012-05-17)

  • [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)

1.0.7 (2012-05-10)

  • [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)

1.0.6 (2012-05-03)

  • [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)

1.0.4 (2012-04-23)

  • [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)

1.0.3 (2012-04-19)

  • [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)

1.0.2 (2012-04-03)

  • [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)

1.0.1 (2012-03-29)

  • [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)

1.0.0 (2012-03-27)

  • [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)

1.0.0.RC24 (2012-03-22)

  • [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)

1.0.0.RC23 (2012-03-20)

  • [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)

1.0.0.RC22 (2012-03-20)

  • [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)

1.0.0.RC21 (2012-03-18)

  • [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)

1.0.0.RC20 (2012-02-29)

  • [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)

1.0.0.RC16 (2012-02-20)

  • [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)

1.0.0.RC15 (2012-02-07)

  • [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)

1.0.0.RC14 (2012-02-06)

  • [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)

1.0.0.RC13 (2012-01-26)

  • [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)

1.0.0.RC12 (2012-01-23)

  • [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)

1.0.0.RC11 (2012-01-21)

  • [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)

1.0.0.RC6 (2012-01-17)

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

1.0.0.RC5 (2012-01-17)

  • [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)

1.0.0.RC4 (2012-01-16)

  • [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.

1.0.0-RC3 (2012-01-14)

  • First proper release