Fetching contributors…
Cannot retrieve contributors at this time
404 lines (289 sloc) 18.3 KB
== 0.4.3 (2011-01-17)
This release upgrades dependencies to newer versions.
== 0.4.2 (2010-10-05)
=== Bugfixes
* error for mvn -Dcucumber.installGems=true cuke4duke:cucumber (#79 Aslak Hellesøy)
* Fixed inconsistent jar dependencies with help from dependencyManagement
== 0.4.1 (2010-10-03)
=== New Features
* Pass proxy settings to gem for bootstrapping (#36 Neale Upstone)
* Skip cucumber tests with -Dmaven.test.skip=true (#73 Neale Upstone)
=== Bugfixes
* Dependency conflict with cuke4duke 0.3.2, gherkin-2.1.4 and cucumber-0.9.0 ruby gem (#77 Aslak Hellesøy)
== 0.4.0 (2010-10-03)
=== New Features
* Completely rewrote the build system to use Bundler. (Aslak Hellesøy)
== 0.3.3 (2010-10-01)
=== Bugfixes
* Add ruby stepdefs to Java example in Ant build script. (Richard Lawrence)
=== New Features
* Upgraded to Cucumber 0.9.1 (Aslak Hellesøy)
* Upgraded to Gherkin 2.2.5 (Aslak Hellesøy)
* Upgraded to Clojure 1.2.0 (Martin Jul)
* Upgraded to Groovy 1.7.5 (Aslak Hellesøy)
* Upgraded to Spring 3.0.4.RELEASE (Aslak Hellesøy)
* Upgraded to PicoContainer 2.11.2 (Jesper Rønn-Jensen)
* Upgraded to Selenium 2.0a5 (Jesper Rønn-Jensen)
* Upgraded to Celerity to 0.8.2 (Aslak Hellesøy)
* Upgraded to Jetty 8.0.0.M1 (Aslak Hellesøy)
=== Removed Features
* Support for Rhino Javascript. This is due to conflict with V8 Javascript support in Cucumber core. May come back later. (Aslak Hellesøy)
== 0.3.2 (2010-07-15)
Various fixes to bring Cuke4Duke uptodate with latest Gherkin and Cucumber
=== New Features
* Upgraded to Scala 2.8.0.
* Upgraded to Cucumber 0.8.5.
* Upgraded to Gherkin 2.1.4.
== 0.3.1 (2010-06-16)
=== New Features
* Upgraded to Cucumber 0.8.2.
=== Bugfixes
* Keep Guice from injecting classes it can't. (Matt Mitchell)
* Fixed gem dependencies so that we don't accidentally get too new cucumber and gherkin gems in the future. (Aslak Hellesøy)
== 0.3.0 (2010-05-05)
=== Bugfixes
* Hopefully(?) fixed a memory leak bug with Guice, disposing objects after each scenario. (Aslak Hellesøy)
=== New Features
* Cucumber 0.7.2 support. (Aslak Hellesøy)
* JRuby 1.5.0.RC3 support. (Aslak Hellesøy)
=== Changed Features
* In the examples: Replaced WebDriver dependency with its successor Selenium 2 (Richard Paul)
== 0.3.0.beta.2
=== New Features
* JRuby 1.5.0.RC1 support. (Aslak Hellesøy)
== 0.3.0.beta.1
=== New Features
* Much, much faster feature parsing, thanks to dependency on Cucumber 0.7.0: (Aslak Hellesøy)
=== Changed Features
* Both Java and Scala DSLs now use undersocres for Locales. NO, EN, CH_ZN, SR_CYRL and so on. (Aslak Hellesøy)
* The Scala step definition DSL has moved from cuke4duke.scala.Dsl to cuke4duke.ScalaDsl. (Jon-Anders Teigen)
* Java step definitions are now Locale-aware. Transformed Java primitives will use the Locale identified by
the Annotation's language. For example a step definition annotated with @cuke4duke.annotation.I18n.NO.Gitt
and a method taking a double, will have the double transformed based on the NO Locale. (Aslak Hellesøy)
== 0.2.4 2010-03-01
The big news in this release is support for all of Cucumber's 40 I18n languages in Java annotations and Scala traits.
This means that you no longer need to mix English and your native language. It also means that snippets in non-English
will actually compile.
=== New Features
* I18n support for all of Cucumber's 40 i18n languages. (Java annotations only). (#28 Aslak Hellesøy)
* Added embed, ask and announce methods to the Steps class. Makes it easier to output custom info and interact with users. (Aslak Hellesøy)
* Added Table.mapColumn and Table.mapHeaders. (#60 Yves Senn, Aslak Hellesøy)
=== Changed Features
* @Given, @When, @Then annotations have moved to inner classes of cuke4duke.annotation.I18n.[EN|FR|NO etc]. (Aslak Hellesøy)
* @Before, @After, @Transform and @Order annotations have moved to the cuke4duke.annotation package (Aslak Hellesøy)
* ScalaDsl and Languages have moved to cuke4duke.scala.Dsl and cuke4duke.scala.I18n (Aslak Hellesøy)
* Scala step definitions must explicitly specify i18n language. Ex: extends ScalaDsl with EN. (Aslak Hellesøy)
* Upgraded to JUnit 4.8.1, Ant 1.8.0, PicoContainer 2.10.2, Mockito 1.8.2, Groovy 1.7.1 and Clojure 1.1.0 (Aslak Hellesøy)
=== Bugfixes
* Ensure that test classes come first on the classpath when using Maven. (Christof Koenig)
* Support Tables and PyStrings in Scala (#61 Jon-Anders Teigen)
== 0.2.3 2010-01-18
=== New Features
* Added EJB3 example using OpenEJB (Jonas Bandi)
* Added basic support for Cucumber::Ast::Table#map_columns! and Cucumber::Ast::Table#map_headers!
=== Internal changes
* Big refactoring in the default transform logic (Aslak Hellesøy)
== 0.2.2 2010-01-03
This release depends on Cucumber 0.6.1 - make sure you have read the release notes for that release before upgrading.
=== New features
* You can install your gems from a local directory. Just set the property cucumber.gemDirectory and add a --local flag to your <gem></gem> definitions. (Yves Senn)
* Added support for Spring 3.0.0 (#52 Trond Marius Øvstetun)
* Upgrade to Groovy 1.7.0 (Aslak Hellesøy)
* Upgrade to Ioke P-0.4.0 (Aslak Hellesøy)
=== Bugfixes
* Hooks not being cleared per scenario (#54 Aslak Hellesøy, Darrin Holst)
== 0.2.1 2009-12-21
Cuke4Duke gets an executable!
Many people have asked for a command line for Cuke4Duke, similar to the familiar cucumber command line.
Wait no longer! See for details.
=== New Features
* Gem with command line (#40 Aslak Hellesøy)
=== Changed Features
* All usage (Ant, Maven, Command Line) now requires the cuke4duke gem to be installed instead of the cucumber gem. (Aslak Hellesøy)
== 0.2.0 2009-12-21
This release (plus the recent Cucumber 0.5.1 release) fixes several bugs related to UTF-8 and Windows,
and there is new and improved support for Ant. As usual there are several bug fixes and new features.
In previous releases you would install gems with e.g. <gem>cuke4duke --version 0.2.1</gem>
In other words, RubyGems' "install" command was implicit. Starting with this release you have to be explicit, so to install
a gem you need to do: <gem>install cuke4duke --version 0.2.1</gem>. This allows you to more easily uninstall or execute
other gem commands from Maven.
=== Bugfixes
* Step definition snippets for Java look crazy. (#49 Aslak Hellesøy)
* Java snippets for multiline strings incorrectly suggest table. (#51 Aslak Hellesøy)
* Improved UTF-8. Make sure you compile your stepdefs with -encoding UTF-8 and save feature files in UTF-8 (Aslak Hellesøy)
=== New Features
* New Ant tasks for gem and cucumber.
* New cuke4duke.methodFormat system property for better reporting. See (#48 Aslak Hellesøy)
* Upgrade examples to Groovy 1.6.7, which removes the need for dirty hacks to get tagged hooks working. (Aslak Hellesøy)
* Upgrade examples to Ant 1.7.1. (Aslak Hellesøy)
* Cuke4Duke no longer depends on an exact version of cucumber, but rather >= (equal or greater) (Mike Gaffney)
* jvmArgs with empty values are now stripped. Comes in handy when adding empty properties in a <jvmArg>
in the pom. Makes it possible to add extra jvmArgs via pom profiles (Torbjørn Vatn)
* Added optional parameter failOnError, so Maven build can be made to look successful, even when there are
Cucumber test failures. This can be useful on a continuous integration server, if your only option to be able to
collect output files is if the project builds successfully. (Hugo Josefson)
=== Changed Features
* The <gem> element in Maven just wraps the gem command. You *must* prepend "install" (or some other gem command). (Aslak Hellesøy)
* Maven will install gems under ~/.m2/repository/.jruby instead of the old ~/.m2/repository/.gem (Aslak Hellesøy)
* (Internal) the Maven support now delegates to the new Ant tasks. (Aslak Hellesøy).
== 0.1.9 2009-11-13
This release sports much improved Before and After hooks in several areas. You can now construct more complex
boolean queries with tagged hooks. This is featured in Cucumber 0.4.4. You *must* upgrade to Cucumber 0.4.4
with this release.
For these examples this resolves to the following boolean query: (@important && @customer) || @super-important.
A comma in a String is a &&, a comma between arguments is a ||.
=== New Features
* Ability to order Java annotation hooks with @Order. (#39 Aslak Hellesøy)
* Support for boolean tag logic in Before and After hooks just like in Ruby Cucumber. (Aslak Hellesøy)
* Added Before and After hooks to Clojure. (Stu Halloway and Aslak Hellesøy)
* Simplified the WebDriverFacade in the Java WebDriver example. (Aslak Hellesøy)
=== Bugfixes
* Guice fails when trying to instantiate anonymous and non-static inner classes in step classes (#33 Martin Mauch)
* @Before("@scenario") does not work as expected (#38 Aslak Hellesøy)
* Fixed a regression from 0.1.8 where transforming Table to Object failed (now skipping transform if type is ok). (Aslak Hellesøy)
=== Changed Features
* Groovy Before and After hooks take varargs instead of an array of String. Tag logic like Ruby Cucumber. (Aslak Hellesøy
* Ioke jars are removed from Git. We're using the jars in the Maven repo instead. (Aslak Hellesøy)
== 0.1.8 2009-11-03
Several exciting news in this release - transforms, calling of steps from step definitions
and WebDriver examples.
IMPORTANT: You should upgrade to JRuby 1.4.0 and Cucumber 0.4.3.
=== New Features
* Two new examples using WebDriver (with Groovy or Java) have been added. (Aslak Hellesøy)
* Ability to call steps from step definitions in Scala. (Jon-Anders Teigen)
* Ability to call steps from step definitions in Guice. (Henning Jensen)
* A new @Transform is used to annotate methods that converts a string to specific type.
See examples/java/features/transform.feature an example of how it's done (Torbjørn Vatn)
=== Bugfixes
* Made programming language dependencies optional (Aslak Hellesøy)
== 0.1.7 2009-10-15
This is an exciting new release with several great new features. (You must upgrade to cucumber 0.4.2).
You can now call other steps by String:
@When("^I call another step$")
public void iCallAnotherStep() {
Given("it is magic");
This is currently only supported if you use PicoContainer or Spring (but not yet Guice - see below).
Your Step Definition class must inherit from cuke4duke.Steps and declare a dependency on cuke4duke.StepMother in the constructor.
Another great new feature is support for Guice. Cuke4Duke now supports three DI containers!
Ioke support is also getting better. It now supports snippets and has better error reporting.
=== New Features
* Better ANSI color support on Windows with (Aslak Hellesøy)
* Guice support (Henning Jensen)
* Enable Java step definitions to call other steps indirectly by just providing a string. (#26 Aslak Hellesøy, Trond Marius Øvstetun)
* Ioke snippets and better error reporting. (Ola Bini)
== 0.1.6 2009-10-09
IMPORTANT: You *must* upgrade to JRuby 1.4.0RC1 and Cucumber 0.4.0.
There are several steps to this:
1) rm -Rf ~/.m2/repository/.gem
3) Change your POM to use JRuby 1.4.0RC1
3) Change your POM to use Cucumber 0.4.0
2) Run mvn integration-test once with -Dcucumber.installGems=true
=== New features
* Ioke support (Ola Bini, Aslak Hellesøy, Sam Aaron, Jakob Skov-Pedersen)
* Upgraded to use Cucumber 0.4.0 (Aslak Hellesøy)
* Added a simpler way to add a new programming language. See clj_language.rb for an example. (Aslak Hellesøy)
* The cucumber usage formatter is working, reporting unused step definitions. (Aslak Hellesøy)
== 0.1.5 2009-09-27
This is a very exciting release, as it sports support for 3 (!) new programming languages for Cuke4Duke. This means you can now
use all of Cucumber's goodness and write your step definitions in the following programming languages:
* Scala
* Clojure
* Javascript
* Java
* Groovy
The Scala support was mostly Jon-Anders Teigen's effort, with a little help from Ole Christian Rynning and Aslak Hellesøy.
Thanks to Ben Mabey for making the Clojure example code work!
Important! This snapshot requires cucumber 0.3.104, so go ahead and update your POMs with <gem>cucumber --version 0.3.104</gem>
and install it once with -Dcucumber.installGems=true
=== New Features
* Scala support. (Jon-Anders Teigen)
* Javascript support (via Rhino). (Aslak Hellesøy)
* Clojure support. (Aslak Hellesøy)
=== Changed Features
* Minimum Cucumber version is now 0.3.103. (Aslak Hellesøy)
* Regular expression matching in step definitions are now native to the used programming language. (Aslak Hellesøy)
* Groovy step definitions *must* use Regexps, not Strings. Just prepend a ~ to your regexp string. (Aslak Hellesøy)
== 0.1.4 2009-09-21
This release has several small backwards incompatible changes that should for the most part only affect your build scripts.
If you're using Groovy you also have to change your step definitions to use strings instead of regexps.
Make sure you read the release notes carefully before upgrading!
=== New features
* Java snippets should now produce valid Java code (Aslak Hellesøy)
* Examples' Maven builds install aslakhellesoy-ansicolor (needed for the poor windows users) (Aslak Hellesøy)
* examples/celerity upgraded to celerity 0.0.7 and jetty (Aslak Hellesøy)
* Added -Dcucumber.extraArgs command line argument that lets us append extra cucumber arguments on the command line. E.g -Dcucmber.extraArgs="--color --tag @dev" (#14 Torbjørn Vatn)
=== Changed Features
* The Maven "feature" goal has been renamed to "cucumber" (Aslak Hellesøy)
* The Maven <gem> element has changed. You can now pass extra arguments, and there are no funny : delimiters. See examples. (#22 Aslak Hellesøy)
* Groovy step definitions must use String instead of Regexp. The regexp matching happens on the Ruby side, so Regexp was misleading (Aslak Hellesøy)
* -Dcuke4duke.objectFactory classes have changed package from to cuke4duke.internal.jvmclass (Aslak Hellesøy)
* --require **/*.java no longer supported. Use --require **/*.class instead (Aslak Hellesøy)
=== Removed features
* The Maven property configuration.args (<configuration><args>...) has been removed. Use configuration.cucumberArgs instead. (Aslak Hellesøy)
=== Bugfixes
* diffHashes method in Table not working properly (#18 Darrin Holst)
== 0.1.3 2009-09-03
This release improves Java annotations and build scripts. Nothing major, but worth an upgrade!
Make sure you upgrade the cucumber gem to 0.3.99.
=== New features
* No longer print java command on failures. If needed it can be printed by passing -X to Maven. (#16 Aslak Hellesøy, Darrin Holst)
* Added new @Pending annotation that can be used as a substitute for Ruby-Cucumber's #pending method. (Aslak Hellesøy)
=== Changed features
* Gem dependencies in Maven no longer use the form gem:version:source. rubyforge, github and gemcutter are always used. (Darrin Holst, Aslak Hellesøy)
=== Bugfixes
* undefined method `jlength' (NoMethodError) for ambiguous matches with --guess. Requires Cucumber 0.3.99. (Aslak Hellesøy)
* The @Before annotation of a superclass has no effect in a subclass. (Works now if superclass is abstract) (Aslak Hellesøy)
* @Before tag should have optional scenario parameter (#11 Aslak Hellesøy, Henning Jensen)
* Fixed broken Ant script for Groovy example. (Aslak Hellesøy)
== 0.1.2 2009-08-25
Bugfix release. This release requires Cucumber 0.3.98.
=== Bugfixes
* Backtrace filtering is working again. (Aslak Hellesøy)
* Maven plugin resolve test dependencies so test scoped jars are included on the classpath (#9 Darrin Holst)
* Allow for PyStrings by converting string type objects to strings instead of casting (#10 Darrin Holst)
== 0.1.1 2009-08-23
This release is just an update to comply with API changes in Cucumber 0.3.97
== 0.1.0 2009-08-17
This release is almost a complete rewrite of Cuke4Duke's internals. This is to take advantage
of Cucumber 0.3.96' new plugin API for language add-ons like Cuke4Duke. (The plan is to use the
same plugin API for a .NET equivalent of Cuke4Duke).
Check out the new Groovy DSL! It's almost identical to the native Ruby DSL.
This means that your existing Cuke4Duke project will probably break. If you're using Pure Java
Step Definitions, you no longer have to register them in support/env.rb. Instead you have to
use --require. Choosing between PicoContainer or Spring is done with the -Dcuke4duke.objectFactory
JVM argument.
=== New Features
* Automatically load StepDefinitions with --require (works with .java and .groovy) (Aslak Hellesøy)
* New Groovy DSL. (Aslak Hellesøy)
* Added support for After blocks (Juan Barreneche)
=== Removed features
* There are no more cuke4duke/*.rb files that you need to require in support/env.rb. You don't even need support/env.rb. (Aslak Hellesøy)
=== Changed Features
* The cuke4duke.spring.Steps annotation has been renamed to cuke4duke.spring.StepDefinitions
=== Bugfixes
* Java and Ruby step defs should be able to coexist (#4 Aslak Hellesøy)
* Downgraded JRuby from 1.4dev to 1.3.1 so people don't have to build their own JRuby (Aslak Hellesøy)
* Upgrade webtest example to jarib-celerity to (Aslak Hellesøy)
== 0.0.7 2009-07-29
This release fixes compatibility issues with the latest Cucumber release, extends the Table API
and improves the Maven plugin in several areas.
=== New features
* Added new jvmArgs property to Maven plugin. See the Spring example for sample usage. (Aslak Hellesøy)
* Cucumber gem (and optional version) must be declared in POM. -Dcucumber.installGems no longer installs it by default. (Aslak Hellesøy)
* Added several more methods to cuke4duke.Table, including the new diff methods. (Aslak Hellesøy)
* Compatibility with cucumber 0.3.92 (Aslak Hellesøy)
* Ability to specify cucumber bin with -Dcucumber.bin= or <configuration><bin> in the Maven plugin (POM). (Aslak Hellesøy)
== 0.0.5 (Never properly released)
=== Bugfixes
* Everything compiles on Java 5 (Ole Christian Rynning)
== 0.0.4 2009-06-07
This is the first release of Cuke4Duke that mostly works.
=== New features
* Spring support (Trond Marius Øvstetun)
* Maven support! (Ole Christian Rynning, Øystein Ellingbø)
* Strings are converted to int when needed (Eivind Waaler)
* Run with JUnit (Kaare Nilsen)
* Simple @Before hooks (Aslak Hellesøy)
* Use pure java step definitions (Aslak Hellesøy)