2009-09-24
This release gives you back some of the control over the Rails environment
that was accidentally taken away from you in the previous release.
Using this release on a Rails project requires a rerun of script/generate
cucumber.
New Features
- Added a new @no-txn tag to selectively turn off transactions for a
particlular scenario.
- Added back a way to globally turn off transactions.
- Renamed @allow_rescue tag to @allow-rescue.
Bugfixes
- Gracefully handle cases when optional regexp groups are not matched. Ex:
/should( not)? be flashed ’([^’]*?)’$/ (Aslak Hellesøy)
Changed Features
- The Formatter API has completely changed. Formatters are no longer a
double-dispacth visitor - just a single-dispatch listener (438 Matt Wynne)
2009-09-22
This release has some changes in the Rails support, so make sure you run
"script/generate cucumber" after you upgrade. Other noteworthy
new features are improved Hook, tags and Transform support, and as always -
several smaler bug fixes.
New Features
- Added new internal API for Regexp and groups, allowing other programming
languages to leverage native regexps. (Aslak Hellesøy)
- New @allow_rescue tag for Rails scenarios. Causes exceptions raised in
actions to be caught by rails and not bubble up to Cucumber (Aslak
Hellesøy)
- Negative tags can now be used in hooks, just like the command line‘s
—tags option: Before(’~@yarr’) - will run for all
scenarios that *don‘t* have the @yarr tag. (Aslak Hellesøy)
- Transform has current "World" scope (Larry Diehl)
- Other Transforms can be reused by calling Transform with a string inside of
another Transform definition (Larry Diehl)
- Execute "After" hooks in reverse order of declaration for better
behavior with dependent blocks and to mimic the behavior of at_exit (David
Waite)
Bugfixes
- features/support/env.rb runs commands twice (bugfix cuts total time by
almost 50% w00t) (452 Jim Meyer)
- Problems adding custom formatters to features/support. (features/support is
added to $LOAD_PATH) (449 Aslak Hellesøy)
- Some options set in cucumber.yml profiles are ignored (446 Leonard CHIN)
- Missing step_definition snippets not properly displayed (433 Aslak
Hellesøy)
- rspec-rails, :lib => false (447 David Chelimsky)
- Cucumber with Spork breaks on OS X Snow Leopard (431 David Chelimsky)
Changed Features
- Tag names passed on the command line always have to use the @ sign.
—tags foo or —tags ~bar won‘t work. Use —tags @foo
or —tags ~@bar (Aslak Hellesøy)
Removed features
- The Cucumber::Rails.bypass_rescue no longer exists. Errors will always
bubble up, unless you use the new @allow_rescue tag. (Aslak Hellesøy)
- The Cucumber::Rails.use_transactional_fixtures no longer exists.
Transactional fixtures are always enabled for the cucumber environment.
(Aslak Hellesøy)
0.3.101 2009-09-15
Two exciting things in this release. Step Argument Transforms and a PDF
formatter you can use to send your features to your customer for review!
New Features
- New pdf formatter (425 Mads Buus)
- Step Argument Transforms: These let you use the Transform method to
register regular expressions to catch and transform/coerce arguments before
they are yielded to step definitions: wiki.github.com/aslakhellesoy/cucumber/step-argument-transforms
(Larry Diehl & Dave Astels)
- Adding webrat steps for asserting content does or does not exist within a
particular element (using webrat‘s within method) (Kieran Pilkington)
0.3.100 2009-09-09
The JavaZone release!
New Features
- Added support for Uzbek (msarvar)
- The file argument on the cucumber command line will replace contents of
file on cli if file is prefixed with @ (Tero Tilus)
Bugfixes
- Backtraces on JRuby are handled in a cleaner way when the exception comes
from Java (NativeException). (Aslak Hellesøy)
- When exceptions occur in a Before block the rest of the scenario is now
skipped (331 Matt Wynne)
0.3.99 2009-09-03
New Features
- Support for Croatian (Bkrsta)
- Make feature available from scenario so you can do: Before{|scenario|
scenario.feature}. (Aslak Hellesøy)
- cucumber.yml parsing supports ERB syntax (427 Gregory Hnatiuk)
- New AfterConfiguration hook added; a block can be specified that takes Cucumber::Cli::Configuration
(423 Brent Snook)
- Cucumber::Cli::Configuration#feature_dirs and out_stream exposed as public
attributes so that they may be used in AfterConfiguration hook (423 Brent
Snook)
0.3.98 2009-08-25
Just a small release to help Cuke4Duke, which will be presented at
Agile2009 in 2 days.
New Features
- Backtrace filtering now happens in StepInvocation class, meaning other
languages (Cuke4Duke) can get backtraces stripped. (Aslak Hellesøy)
- Cucumber::Ast::Table#map_headers now allows for a block that will convert
all the headers. See docs for details. (Ben Mabey)
0.3.97 2009-08-23
The AA-FTT release. Creating a release for the AA-FTT meeting in Chicago so
that we can play with the new language API and maybe knock out some better
.NET support.
Bugfixes
- Allow comments on examples sections underneath scenario outlines (420 Mike
Sassak)
- Table.map_headers! will fail with a decent error message when 0 or 2+
headers are matched. (Aslak Hellesøy)
- Fixed an issue with comments with preceding spaces after a background
causing a parse error (401 Joseph Wilk)
New Features
- The public API is documented and there is a new :sdoc task to generate nice
searchable API docs.
- Add :default => :cucumber when setting up Rake tasks for Cucumber in
Rails (Aslak Hellesøy)
- New When /^I fill in "([^\"]*)" for
"([^\"]*)"$/ Webrat
step for Rails (Aslak Hellesøy)
Changed Features
- Changed the Programming Language API to support languages without
"bleed through" (e.g. rubypython can‘t invoke ruby objs)
(Aslak Hellesøy)
- The Programming Language API manages hooks on the language level instead of
on the step mother level (Aslak Hellesøy)
0.3.96 2009-08-15
This release doesn‘t have any significant new features or bug fixes,
but there are big internal changes. This release has a new API for plugging
in other programming languages. You can read more about that here: groups.google.com/group/cukes/browse_thread/thread/b9db8bf1f3ec9708
This might break other tools that are using Cucumber‘s internal APIs.
For example Spork broke and had to be patched. Please upgrade to Spork
0.5.9 if you are using Spork.
New Features
- Ability to preload natural language in Spork‘s prefork. Rerun
script/generate cucumber —spork to see how. (Aslak Hellesøy)
- Ability to control which DRb port is used via the —port flag or by
setting CUCUMBER_DRB environment variable. (Chris Flipse)
- Upgrade Rails generator to use webrat 0.5.0. (Aslak Hellesøy)
- Upgrade Sinatra example to work with rack-test 0.4.1 and webrat 0.5.0.
(Aslak Hellesøy)
Changed Features
- —strict will cause an exit code 1 for missing and pending (used to be
for missing only). (Mads Buus)
- junit formatter doesn‘t report pending steps unless —strict is
used. (Mads Buus)
0.3.95 2009-08-13
This release improves Webrat support
for table-like HTML markup. Now you can easily turn the HTML elements
table, dl, ol and ul elements into a 2D array. This is particularly useful
for comparing data in your HTML with a Cucumber table using
Cucumber::Ast::Table#diff!
This release also fixes several bugs related to —drb (Spork) and
profiles (cucumber.yml)
Bug Fixes
- —guess will always prefer the longest regexp with no groups if they
exist.
- Prevent delays if a NoMethodError is raise in a step definition. Define a
light inspect in World. (374 Aslak Hellesøy)
- Restore ‘features’ as the default feature running path. (412
Ben Mabey)
- —drb degrades gracefully when no drb server is running and no
formatter is provided. (410 Ben Mabey)
- —language picked up from profiles again. (409 Ben Mabey)
- Resolved infinite loop problem when —drb was defined in a profile.
(408 Ben Mabey)
New Features
- Cucumber::World#table has been overloaded to work with 2D Array in addition
to a table String to be parsed.
- New When /^I fill in the following:$/ step definition for Webrat. Useful for filling out a form
with a Table. (Aslak Hellesøy)
- The object returned by element_at (Webrat::Element) has a to_table
that works for table, dl, ol and ul. (Aslak Hellesøy)
- An explanation of why failures are ok is printed when —wip is used.
(Aslak Hellesøy)
- Added cucumber alias for cucumber:ok in Rails Rake tasks. (Aslak Hellesøy)
Changed features
- element_at(‘table’).to_table should be used instead of
table_at(‘table’).to_a. The old way is deprecated but still
works. (Aslak Hellesøy)
- element_at (and the depracated table_at) no longer takes a DOM id, only CSS
selectors. Change "my_id" to "my_id". (Aslak Hellesøy)
0.3.94 2009-08-06
Kanban take II.
Release 0.3.6 introduced a new —wip switch that can be used to limit
work in progress (WIP). Limiting WIP is central for Kanban Software
Development (www.infoq.com/articles/hiranabe-lean-agile-kanban).
However, this feature went mostly unnoticed, and because we think
it‘s so great we have decided to make it the default for Rails
projects. When you bootstrap your Rails project for Cucumber you will now
get 2 Cucumber Rake tasks for Kanban development:
cucumber:ok : Run features that should pass. This runs your "good,old" features
cucumber:wip : Run the features you're working on that don't pass yet. Tag them with @wip. Max 2!
So upgrade today and get into the habit of tagging new features with @wip
(or invent your own tags). You‘ll achieve better flow this way.
New features
- Support limiting the number of feature elements with certain tags (353
Joseph Wilk)
- script/generate cucumber sets up ‘cucumber:ok’ and
‘cucumber:wip’ tasks and deprecates ‘features’.
More Kanban love. (344 Aslak Hellesøy)
- Better JUnit formatter: feature->testsuite, scenario->testcase.
Better timing and support for background and scenario outline. (Mads Buus
Westmark)
- Added examples/python that uses rubypython. (Aslak Hellesøy)
- Checks the number of available colors on the terminal with ruby-terminfo if
ruby-terminfo is installed. This prevents Apple‘s Terminal.app from
stalling (Yugui - Yuki Sonoda).
- Set ‘xterm-256color’ to TERM if your terminal supports grey.
- ruby-terminfo is available as genki-ruby-terminfo gem from github.
- Document builtin formatters with —help. (406 Aslak Hellesøy)
- Added support for using regular expressions when mapping table headers.
(Peter Williams)
0.3.93 2009-08-03
Highlights in this release: Improved profile handling (cucumber.yml) and a
fix for cucumber hanging.
New features
- script/generate cucumber —spork now sets up a spork gem dependency in
the cucumber.rb environment. (Aslak Hellesøy)
- Feature files defined on the command line override any that are present in
profiles. (344 Ben Mabey)
- Default (STDOUT) formatter defined in profile can be overridden from the
command line. (344 Ben Mabey)
- Displays which profile, if any, is being used. (Ben Mabey)
- click_link_within(parent, link) webrat step (Joakim Kolsjö)
Bugfixes
- script/cucumber correctly loads the gem‘s binary if the plugin
isn‘t installed.
- Cucumber hangs waiting for Ctrl+C if an Error is raised. (374 Aslak
Hellesøy)
0.3.92 2009-07-29
This release has some minor improvements to the new Table.diff!
functionality. For example, if you‘re using Webrat and you want to compare a feature
table with a HTML table containing links in one of the columns, you can do:
actual = Cucumber::Ast::Table.new(table_at('table').to_a)
actual.map_column!('Name') { |text| text.strip.match(/>(.*)</)[1] }
table.diff!(actual)
New features
- Allow Step Definitions to accept mix of required & optional args (Niels
Ganser)
- table_a.diff!(table_b) now uses column conversions from both tables
(Table#map_column!) (Aslak Hellesøy)
Bugfixes
- Upgrade Sinatra example to work with rack-test 0.3.0 and
aslakhellesoy-webrat 0.4.4.1 (Aslak Hellesøy)
- require ‘cucumber/webrat/table_locator’ added to Spork
environment for Rails (Anders Furseth)
Changed Features
- The ‘default’ profile is now ALWAYS used unless you specify
another profile or use the -P or —no-profile flag. (344 Ben Mabey)
0.3.91 2009-07-27
New Features
- CTRL-C will exit immediately instead of carrying on until all features are
run. (Aslak Hellesøy)
- Run can be stopped programmatically by setting $cucumber_interrupted =
true, for example in an After block. (Aslak Hellesøy)
- Support limiting the number of feature elements with certain tags (353
Joseph Wilk)
- Table support for cuke4duke
0.3.90 2009-07-22
The Hot summer release
This is a hot summer in Norway, and Cucumbers are growing in abundance. To
celebrate this we give you a new release with lots of new features and
bugfixes. This is also one of the last releases in the 0.3 series (hence
the 0.3.90 number), so 0.4 (or maybe 1.0!) will be coming up soon. The
highlights of this release are:
Egality
English is not the world‘s most spoken language, so why should
Cucumber force non-English speakers to use the