cucumber 4.1.0 → 9.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +134 -21
  3. data/VERSION +1 -0
  4. data/lib/cucumber/cli/configuration.rb +27 -2
  5. data/lib/cucumber/cli/main.rb +5 -4
  6. data/lib/cucumber/cli/options.rb +102 -65
  7. data/lib/cucumber/cli/profile_loader.rb +6 -10
  8. data/lib/cucumber/cli/rerun_file.rb +1 -1
  9. data/lib/cucumber/configuration.rb +26 -13
  10. data/lib/cucumber/constantize.rb +1 -1
  11. data/lib/cucumber/deprecate.rb +6 -46
  12. data/lib/cucumber/errors.rb +4 -3
  13. data/lib/cucumber/events/envelope.rb +2 -0
  14. data/lib/cucumber/events/gherkin_source_parsed.rb +2 -0
  15. data/lib/cucumber/events/gherkin_source_read.rb +2 -0
  16. data/lib/cucumber/events/hook_test_step_created.rb +1 -2
  17. data/lib/cucumber/events/step_activated.rb +0 -6
  18. data/lib/cucumber/events/step_definition_registered.rb +0 -5
  19. data/lib/cucumber/events/test_case_created.rb +1 -2
  20. data/lib/cucumber/events/test_case_finished.rb +2 -0
  21. data/lib/cucumber/events/test_case_started.rb +2 -0
  22. data/lib/cucumber/events/test_run_finished.rb +2 -1
  23. data/lib/cucumber/events/test_step_created.rb +1 -2
  24. data/lib/cucumber/events/test_step_finished.rb +2 -0
  25. data/lib/cucumber/events/test_step_started.rb +2 -0
  26. data/lib/cucumber/events/undefined_parameter_type.rb +3 -2
  27. data/lib/cucumber/events.rb +2 -2
  28. data/lib/cucumber/file_specs.rb +2 -1
  29. data/lib/cucumber/filters/activate_steps.rb +1 -0
  30. data/lib/cucumber/filters/retry.rb +20 -1
  31. data/lib/cucumber/filters/tag_limits/verifier.rb +1 -3
  32. data/lib/cucumber/filters/tag_limits.rb +1 -3
  33. data/lib/cucumber/formatter/ansicolor.rb +70 -85
  34. data/lib/cucumber/formatter/ast_lookup.rb +16 -10
  35. data/lib/cucumber/formatter/backtrace_filter.rb +3 -1
  36. data/lib/cucumber/formatter/console.rb +34 -16
  37. data/lib/cucumber/formatter/console_counts.rb +3 -1
  38. data/lib/cucumber/formatter/console_issues.rb +10 -3
  39. data/lib/cucumber/formatter/curl_option_parser.rb +49 -0
  40. data/lib/cucumber/formatter/duration_extractor.rb +1 -0
  41. data/lib/cucumber/formatter/errors.rb +3 -0
  42. data/lib/cucumber/formatter/fail_fast.rb +1 -1
  43. data/lib/cucumber/formatter/fanout.rb +1 -1
  44. data/lib/cucumber/formatter/html.rb +3 -1
  45. data/lib/cucumber/formatter/http_io.rb +10 -136
  46. data/lib/cucumber/formatter/ignore_missing_messages.rb +1 -1
  47. data/lib/cucumber/formatter/interceptor.rb +4 -3
  48. data/lib/cucumber/formatter/io.rb +50 -12
  49. data/lib/cucumber/formatter/io_http_buffer.rb +88 -0
  50. data/lib/cucumber/formatter/json.rb +36 -37
  51. data/lib/cucumber/formatter/junit.rb +29 -9
  52. data/lib/cucumber/formatter/message.rb +3 -2
  53. data/lib/cucumber/formatter/message_builder.rb +32 -16
  54. data/lib/cucumber/formatter/pretty.rb +44 -29
  55. data/lib/cucumber/formatter/progress.rb +2 -1
  56. data/lib/cucumber/formatter/publish_banner_printer.rb +75 -0
  57. data/lib/cucumber/formatter/query/hook_by_test_step.rb +3 -0
  58. data/lib/cucumber/formatter/query/pickle_by_test.rb +2 -0
  59. data/lib/cucumber/formatter/query/pickle_step_by_test_step.rb +2 -0
  60. data/lib/cucumber/formatter/query/step_definitions_by_test_step.rb +2 -0
  61. data/lib/cucumber/formatter/query/test_case_started_by_test_case.rb +4 -0
  62. data/lib/cucumber/formatter/rerun.rb +7 -5
  63. data/lib/cucumber/formatter/steps.rb +6 -3
  64. data/lib/cucumber/formatter/summary.rb +2 -1
  65. data/lib/cucumber/formatter/unicode.rb +7 -7
  66. data/lib/cucumber/formatter/url_reporter.rb +19 -0
  67. data/lib/cucumber/formatter/usage.rb +9 -7
  68. data/lib/cucumber/gherkin/data_table_parser.rb +2 -1
  69. data/lib/cucumber/gherkin/formatter/ansi_escapes.rb +25 -27
  70. data/lib/cucumber/gherkin/steps_parser.rb +1 -1
  71. data/lib/cucumber/glue/dsl.rb +30 -16
  72. data/lib/cucumber/glue/hook.rb +6 -3
  73. data/lib/cucumber/glue/invoke_in_world.rb +5 -5
  74. data/lib/cucumber/glue/proto_world.rb +37 -57
  75. data/lib/cucumber/glue/registry_and_more.rb +31 -12
  76. data/lib/cucumber/glue/registry_wrapper.rb +31 -0
  77. data/lib/cucumber/glue/snippet.rb +4 -2
  78. data/lib/cucumber/glue/step_definition.rb +9 -7
  79. data/lib/cucumber/glue/world_factory.rb +2 -0
  80. data/lib/cucumber/hooks.rb +1 -0
  81. data/lib/cucumber/multiline_argument/data_table/diff_matrices.rb +5 -2
  82. data/lib/cucumber/multiline_argument/data_table.rb +65 -79
  83. data/lib/cucumber/platform.rb +11 -16
  84. data/lib/cucumber/rake/task.rb +22 -17
  85. data/lib/cucumber/rspec/disable_option_parser.rb +6 -3
  86. data/lib/cucumber/rspec/doubles.rb +3 -5
  87. data/lib/cucumber/running_test_case.rb +2 -1
  88. data/lib/cucumber/runtime/for_programming_languages.rb +1 -2
  89. data/lib/cucumber/runtime/meta_message_builder.rb +108 -0
  90. data/lib/cucumber/runtime/support_code.rb +3 -0
  91. data/lib/cucumber/runtime/user_interface.rb +7 -6
  92. data/lib/cucumber/runtime.rb +50 -24
  93. data/lib/cucumber/step_match.rb +7 -11
  94. data/lib/cucumber/step_match_search.rb +3 -2
  95. data/lib/cucumber/term/ansicolor.rb +74 -50
  96. data/lib/cucumber/term/banner.rb +59 -0
  97. data/lib/cucumber.rb +2 -1
  98. data/lib/simplecov_setup.rb +1 -1
  99. metadata +103 -229
  100. data/CHANGELOG.md +0 -2682
  101. data/CONTRIBUTING.md +0 -71
  102. data/lib/autotest/cucumber.rb +0 -8
  103. data/lib/autotest/cucumber_mixin.rb +0 -132
  104. data/lib/autotest/cucumber_rails.rb +0 -8
  105. data/lib/autotest/cucumber_rails_rspec.rb +0 -8
  106. data/lib/autotest/cucumber_rails_rspec2.rb +0 -8
  107. data/lib/autotest/cucumber_rspec.rb +0 -8
  108. data/lib/autotest/cucumber_rspec2.rb +0 -8
  109. data/lib/autotest/discover.rb +0 -13
  110. data/lib/cucumber/core_ext/string.rb +0 -11
  111. data/lib/cucumber/version +0 -1
data/CHANGELOG.md DELETED
@@ -1,2682 +0,0 @@
1
- # CHANGE LOG
2
-
3
- All notable changes to this project will be documented in this file.
4
-
5
- This project adheres to [Semantic Versioning](http://semver.org).
6
-
7
- This document is formatted according to the principles of [Keep A CHANGELOG](http://keepachangelog.com).
8
-
9
- Please visit [cucumber/CONTRIBUTING.md](https://github.com/cucumber/cucumber/blob/master/CONTRIBUTING.md) for more info on how to contribute to Cucumber.
10
-
11
- ----
12
-
13
- ## [4.1.0](https://github.com/cucumber/cucumber-ruby/compare/v4.0.1...v4.1.0)
14
-
15
- ### Changed
16
-
17
- * Use [`cucumber-create-meta`](https://rubygems.org/gems/cucumber-create-meta) to produce the `Meta` message before the run.
18
-
19
- * Updated gems:
20
- * `cucumber-wire` ~> 3.1.0
21
- * `cucumber-core` ~> 7.1.0
22
- * `cucumber-gherkin` ~> 14.0.1
23
- * Fix issue with empty feature files [#1427](https://github.com/cucumber/cucumber-ruby/issues/1427)
24
- * `cucumber-messages` ~> 12.2.0
25
- * `cucumber-html-formatter` ~> 7.0.0
26
- * Fix issue with Hook attachments [#1420](https://github.com/cucumber/cucumber-ruby/issues/1420)
27
-
28
- ### Fixed
29
-
30
- * `AfterStep` hook do not cause issue when running `message` formatter. [#1433](https://github.com/cucumber/cucumber-ruby/issues/1433) - [#1434](https://github.com/cucumber/cucumber-ruby/pull/1434)
31
-
32
-
33
- ## [4.0.1](https://github.com/cucumber/cucumber-ruby/compare/v4.0.0...v4.0.1)
34
-
35
- ### Fixed
36
-
37
- * force reference to `diff-lcs` to 1.3 as 1.4 introduced breaking changes.
38
-
39
- ## [4.0.0](https://github.com/cucumber/cucumber-ruby/compare/v4.0.0.rc.5...v4.0.0)
40
-
41
- ### Changed
42
-
43
- * `log` method can now be called with non-string objects and will run `.to_s` on them. [#1410](https://github.com/cucumber/cucumber-ruby/issues/1410)
44
-
45
- ### Improved
46
-
47
- * Display snippet when using undefined parameter type [#1411](https://github.com/cucumber/cucumber-ruby/issues/1411)
48
-
49
- ## [4.0.0.rc.6](https://github.com/cucumber/cucumber-ruby/compare/v4.0.0.rc.5...4.0.0.rc.6)
50
-
51
- ### Changed
52
-
53
- * Code snippet for an undefined step with a Doc String will ouput `doc_string` instead of `string` in block params
54
- ([#1401](https://github.com/cucumber/cucumber-ruby/issues/1401)
55
- [#1402](https://github.com/cucumber/cucumber-ruby/pull/1402)
56
- [karamosky](https://github.com/karamosky))
57
-
58
- * Updated monorepo libraries:
59
- - cucumber-gherkin ~> 13
60
- - cucumber-html-formatter ~> 6
61
- - cucumber-cucumber-expressions ~> 10
62
-
63
- * Use `cucumber-ruby-core` 7.0.0
64
-
65
- * Use `cucumber-ruby-wire` 3.0.0
66
-
67
- * Use `body` field of attachments
68
-
69
- ### Improved
70
-
71
- * `--out url` updates:
72
- * supports redirects
73
- * use `PUT` method by default
74
- * use a cURL like options (for example: `cucumber --out 'http://example.com -X POST -H Content-Type: json`)
75
-
76
- ## [4.0.0.rc.5](https://github.com/cucumber/cucumber-ruby/compare/v4.0.0.rc.4...4.0.0.rc.5)
77
-
78
- ### Added
79
-
80
- * New html formatter enabled by option `--format html --out report.html`.
81
-
82
- * Accept `--out URL` to POST results to a web server
83
- If a URL is used as output, the output will be sent with a POST request.
84
- This can be overridden by specifying e.g. `http-method=PUT` as a query parameter.
85
- Other `http-` prefixed query parameters will be converted to request headers
86
- (with the `http-` prefix stripped off).
87
-
88
-
89
- ## [4.0.0.rc.4](https://github.com/cucumber/cucumber-ruby/compare/v4.0.0.rc.3...4.0.0.rc.4)
90
-
91
- ### Added
92
-
93
- * Add `message`formatter which produces `Cucumber::Messages` ndjson output.
94
- * Comply with [`cucumber-compatibility-kit](https://github.com/cucumber/cucumber/tree/master/compatibility-kit)
95
- * Methods `log` and `attach` can be used in step definitions to attach text or images
96
-
97
- ### Deprecated
98
-
99
- * `--format=json` in favor of the `message` formatter and the stand-alone JSON formatter
100
- * `puts` in step definitions in favor of `log` ([cucumber#897](https://github.com/cucumber/cucumber/issues/897))
101
- * `embed` in step definitions in favor of `attach` ([cucumber#897](https://github.com/cucumber/cucumber/issues/897))
102
-
103
-
104
- ## [4.0.0.rc.3](https://github.com/cucumber/cucumber-ruby/compare/v4.0.0.rc.2...v4.0.0.rc.3)
105
-
106
- ### Changed
107
-
108
- * Update to cucumber-wire 1.1.
109
-
110
-
111
- ## [4.0.0.rc.2](https://github.com/cucumber/cucumber-ruby/compare/v4.0.0.rc.1...v4.0.0.rc.2)
112
-
113
- ### Added
114
- * There is a new methodology in Cucumber for how the auto-loader works
115
- * The old `load` behaviour is now replaced with a newer `require` behaviour
116
- * Cucumber will (From version 4), now auto-load files using the `require` method
117
- * If you wish to alter this, then you can set a top level config option: `Cucumber.use_legacy_autoloader`
118
- * Like most config options, setting this inside a `spec_helper.rb` or `env.rb` file is advised
119
- * For more information on this change, including why it was made. Please read this
120
- [Blog Post](https://cucumber.io/blog/open-source/tweaking-cucumber-rubys-auto-loader/)
121
- ([#1349](https://github.com/cucumber/cucumber-ruby/pull/1349),
122
- [#1043](https://github.com/cucumber/cucumber-ruby/issues/1043)
123
- [luke-hill](https://github.com/luke-hill))
124
-
125
- ### Changed
126
- * Going forward the minimum ruby version for all cucumber based gems is 2.3
127
- ([luke-hill](https://github.com/luke-hill))
128
-
129
- ### Removed
130
- * Removed Travis publish job for cucumber-pro(a.k.a. jam)
131
- ([#1350](https://github.com/cucumber/cucumber-ruby/pull/1350)
132
- [luke-hill](https://github.com/luke-hill))
133
-
134
- * Drop support for JRuby. We may add this back if new versions of protobuf for JRuby
135
- start working, or if someone can make the build pass with an older version.
136
- All this means is we're ok to make releases while the jruby CI job is failing.
137
-
138
- ([aslakhellesoy](https://github.com/aslakhellesoy))
139
-
140
- * Remove `dots-formatter introduced in `4.0.0rc1`
141
-
142
- ### Fixed
143
-
144
- * Fix the placeholder expansions in the json formatter
145
- ([#1361](https://github.com/cucumber/cucumber-ruby/pull/1361)
146
- [brasmusson](https://github.com/brasmusson))
147
- * Fix seed printed in cucumber UI to match the seed that was actually used.
148
- ([#1329](https://github.com/cucumber/cucumber-ruby/pull/1329)
149
- [deivid-rodriguez](https://github.com/deivid-rodriguez))
150
- * Make SIGINT/`Ctrl+c` behavior consistent with SIGTERM/`kill` behavior - now first invocation causes existing scenario to stop running and jump to `at_exit`, second invocation causes immediate exit. Before that first invocation only instructed Cucumber to exit after scenario and second invocation caused immediate exit skipping `at_exit`.
151
- ([#1353](https://github.com/cucumber/cucumber-ruby/pull/1353)
152
- [akostadinov](https://github.com/akostadinov))
153
-
154
- ### Improved
155
-
156
- * Filter out any lines containing `site_ruby` from stacktrace
157
-
158
- ## [4.0.0.rc.1](https://github.com/cucumber/cucumber-ruby/compare/v3.1.2...v4.0.0.rc.1) (2018-09-29)
159
-
160
- ### Added
161
-
162
- * Added support for new `Rule` keyword. [Read more here.](https://github.com/cucumber/cucumber/blob/master/gherkin/CHANGELOG.md#6013---2018-09-25)
163
- * Added new `dots` formatter. This is the first step of a larger strategy to move the formatters to a new architecture where they delegate to shared executables via messages.
164
-
165
- ### Changed
166
-
167
- * Use Gherkin v6.
168
- ([#1313](https://github.com/cucumber/cucumber-ruby/pull/1313)
169
- [brasmusson](https://github.com/brasmusson))
170
- * Do not apply Before and After Hooks to Test Cases with no Test Steps.
171
- ([#1311](https://github.com/cucumber/cucumber-ruby/pull/1311)
172
- [brasmusson](https://github.com/brasmusson))
173
- * Pass the registry to the Wire plugin.
174
- ([#1309](https://github.com/cucumber/cucumber-ruby/pull/1309)
175
- [brasmusson](https://github.com/brasmusson))
176
- * Adapt to using the Gherkin compiler and Pickles in the core.
177
- ([#1309](https://github.com/cucumber/cucumber-ruby/pull/1309)
178
- [brasmusson](https://github.com/brasmusson))
179
- * Let the Pretty Formatter use events.
180
- ([#1305](https://github.com/cucumber/cucumber-ruby/pull/1305)
181
- [brasmusson](https://github.com/brasmusson))
182
- * Use single quotes in generated template steps ([#1323](https://github.com/cucumber/cucumber-ruby/pull/1323) [acant](https://github.com/acant))
183
-
184
- ### Removed
185
-
186
- * Remove the support of old style tag expressions.
187
- ([#1314](https://github.com/cucumber/cucumber-ruby/pull/1314),
188
- [brasmusson](https://github.com/brasmusson))
189
- * Remove the Legacy API for Formatters.
190
- ([#1230](https://github.com/cucumber/cucumber-ruby/pull/1230),
191
- [#839](https://github.com/cucumber/cucumber-ruby/issues/839)
192
- [brasmusson](https://github.com/brasmusson))
193
- * Remove the JSON Pretty Formatter (which was the same as the JSON formatter).
194
- ([brasmusson](https://github.com/brasmusson))
195
- * Remove the HTML Formatter.
196
- ([#1306](https://github.com/cucumber/cucumber-ruby/pull/1306)
197
- [brasmusson](https://github.com/brasmusson))
198
-
199
- ### Fixed
200
-
201
- * Wire protocol compatibility for docstrings.
202
- ([#1183](https://github.com/cucumber/cucumber-ruby/issues/1183))
203
- * Let the Rerun Formatter handle flaky scenarios.
204
- ([#1310](https://github.com/cucumber/cucumber-ruby/pull/1310)
205
- [brasmusson](https://github.com/brasmusson))
206
-
207
- ### Improved
208
-
209
- * Code style changes completed as per backlog of Rubocop TODO file. ([#1021](https://github.com/cucumber/cucumber-ruby/issues/1021) [@jaysonesmith](https://github.com/jaysonesmith))
210
-
211
- ## [3.1.2](https://github.com/cucumber/cucumber-ruby/compare/v3.1.1...v3.1.2) (2018-07-13)
212
-
213
- ### Changed
214
-
215
- * Upgraded to `cucumber-core` 3.2.0
216
- * Change to use the gherkin step location in the Json formatter.
217
- ([#1243](https://github.com/cucumber/cucumber-ruby/pull/1243),
218
- [#1108](https://github.com/cucumber/cucumber-ruby/issues/1108)
219
- [brasmusson](https://github.com/brasmusson))
220
-
221
- ### Fixed
222
-
223
- * Support ParameterType with empty capture group.
224
- ([#404](https://github.com/cucumber/cucumber/issues/404)
225
- [aslakhellesoy](https://github.com/aslakhellesoy))
226
-
227
- ## [3.1.1](https://github.com/cucumber/cucumber-ruby/compare/v3.1.0...v3.1.1) (2018-06-03)
228
-
229
- ### Added
230
-
231
- * N/A
232
-
233
- ### Changed
234
-
235
- * Add Rubocop to default Rake task ([#1256](https://github.com/cucumber/cucumber-ruby/pull/1256) [@jaysonesmith](https://github.com/jaysonesmith))
236
- * Upgraded `cucumber-expressions` dependency to ~> 6.0.0 ([#1299](https://github.com/cucumber/cucumber-ruby/pull/1299) [@aslakhellesoy](https://github.com/aslakhellesoy))
237
- * Upgraded to `gherkin` 5.1.0 ([#1299](https://github.com/cucumber/cucumber-ruby/pull/1299) [@aslakhellesoy](https://github.com/aslakhellesoy))
238
-
239
- ### Deprecated
240
-
241
- * N/A
242
-
243
- ### Removed
244
-
245
- * N/A
246
-
247
- ### Fixed
248
-
249
- * Make `--fail-fast` play nice with `--retry` ([#1283](https://github.com/cucumber/cucumber-ruby/pull/1283) [@yrral86](https://github.com/yrral86))
250
- * Fix incompatible encodings error in JUnit formatter ([#1244](https://github.com/cucumber/cucumber-ruby/pull/1244) [@NickAb](https://github.com/NickAb)) (except on JRuby, see [#1259](https://github.com/cucumber/cucumber-ruby/pull/1259))
251
- * Fix the handling of failed hooks in the JUnit Formatter ([@brasmusson](https://github.com/brasmusson))
252
- * Fixed lengthy stacktrace when running `cucumber -f stepdefs` when steps aren't defined. ([#1286](https://github.com/cucumber/cucumber-ruby/pull/1286) [@xtrasimplicity](https://github.com/xtrasimplicity))
253
- * Fixed an error with HTML snippet generation when `frozen_string_literal` is enabled and the `Syntax` gem is not installed. ([#1287](https://github.com/cucumber/cucumber-ruby/pull/1287) [@xtrasimplicity](https://github.com/xtrasimplicity))
254
-
255
- ### Improved
256
-
257
- * N/A
258
-
259
- ## [3.1.0](https://github.com/cucumber/cucumber-ruby/compare/v3.0.2...v3.1.0) (2017-11-28)
260
-
261
- ### Added
262
-
263
- * ParameterType transformer runs in World
264
- ([#1213](https://github.com/cucumber/cucumber-ruby/pull/1213)
265
- [@aslakhellesoy](https://github.com/aslakhellesoy))
266
-
267
- ### Changed
268
-
269
- * Upgraded to `cucumber-expressions` 5.0.4
270
- * Upgraded to `cucumber-tag_expressions` 1.1.0
271
- * Upgraded to `gherkin` 5.0.0
272
-
273
- ### Fixed
274
-
275
- * Fix the handling of failed hooks in the JUnit Formatter ([@brasmusson](https://github.com/brasmusson))
276
-
277
- ## [3.0.2](https://github.com/cucumber/cucumber-ruby/compare/v3.0.1...v3.0.2) (2017-11-11)
278
-
279
- ### Removed
280
-
281
- * Cucumber is no longer tested on Ruby 2.1 and below.
282
-
283
- ### Fixed
284
-
285
- * Fix html reporter with more than one embedded screenshot ([#1216](https://github.com/cucumber/cucumber-ruby/pull/1216) [@nonkor](https://github.com/nonkor))
286
- * Change test expectation to handle Ruby's unstable sorting ([#1210](https://github.com/cucumber/cucumber-ruby/pull/1210) [@jaysonesmith](https://github.com/jaysonesmith))
287
- * Fix the printing of newlines in the rerun formatter - a problem introduced in [#1162](https://github.com/cucumber/cucumber-ruby/issues/1162) ([#1207](https://github.com/cucumber/cucumber-ruby/issues/1207) [@brasmusson](https://github.com/brasmusson))
288
- * Handle the `--retry` option in profiles ([#1050](https://github.com/cucumber/cucumber-ruby/issues/1050) [@brasmusson](https://github.com/brasmusson))
289
-
290
- ## [3.0.1](https://github.com/cucumber/cucumber-ruby/compare/v3.0.0...3.0.1) (2017-09-29)
291
-
292
- ### Fixed
293
-
294
- * `ParameterType` can now override `use_for_snippets` and `prefer_for_regexp_match` without throwing an error. ([@aslakhellesoy](https://github.com/aslakhellesoy))
295
- * Gemspec has `required_ruby_version = '>= 2.1'` ([@aslakhellesoy](https://github.com/aslakhellesoy))
296
-
297
- ## [3.0.0](https://github.com/cucumber/cucumber-ruby/compare/v3.0.0.pre.2...v3.0.0) (2017-09-27)
298
-
299
- ### Changed
300
-
301
- * Regexp capture groups with `(\d+)` are automatically converted to `Integer`
302
- * Rename `Step#name` to `#text` ([#1130](https://github.com/cucumber/cucumber-ruby/pull/1130) [@olleolleolle](https://github.com/olleolleolle))
303
- * `Transform` has been removed and replaced with `ParameterType`. See [upgrading instructions](https://cucumber.io/blog/2017/09/21/upgrading-to-cucumber-3). ([#1190](https://github.com/cucumber/cucumber-ruby/issues/1190) @aslakhellesoy)
304
- * Nested capture groups are not counted as parameters. See [upgrading instructions](https://cucumber.io/blog/2017/09/21/upgrading-to-cucumber-3). (@aslakhellesoy)
305
-
306
- ### Added
307
-
308
- * Handle selective strict options. ([#1169](https://github.com/cucumber/cucumber-ruby/pull/1169), [#1160](https://github.com/cucumber/cucumber-ruby/issues/1160) @brasmusson)
309
-
310
- ### Fixed
311
-
312
- * Use absolute path in IO formatter to prevent `chdir` issues. ([#1111](https://github.com/cucumber/cucumber-ruby/pull/1111/files) @akostadinov)
313
-
314
- * Fix bug in DataTable#symbolic_hashes ([#1200](https://github.com/cucumber/cucumber-ruby/pull/1200) @Ben-Behar)
315
-
316
- * Fix typo in JSON formatter ([#1196](https://github.com/cucumber/cucumber-ruby/pull/1196) @alb-i986)
317
-
318
- * Handle ambiguous steps as failed steps, when not using `--guess` ([#1132](https://github.com/cucumber/cucumber-ruby/pull/1132), [#1113](https://github.com/cucumber/cucumber-ruby/issues/1113) @MadameSheema, @enkessler, @brasmusson)
319
-
320
- ### Improved
321
-
322
- * Refactor: Extract HTMLBuilder#string_to_embed method to DRY up code ([#1187](https://github.com/cucumber/cucumber-ruby/pulls/1187) [@danascheider](https://github.com/danascheider))
323
- * As per [#251](https://github.com/cucumber/cucumber/issues/251): renamed History.md to CHANGELOG.md, added contributing message at beginning, and misc formatting. ([#1185](https://github.com/cucumber/cucumber-ruby/issues/1185) [jaysonesmith](https://github.com/jaysonesmith))
324
- * Use past tense in event names (`xStarting` -> `xStarted`) ([#1166](https://github.com/cucumber/cucumber-ruby/issues/1166) @brasmusson).
325
-
326
- ## [3.0.0.pre.2](https://github.com/cucumber/cucumber-ruby/compare/v2.4.0...v3.0.0.pre.2)
327
-
328
- ### Breaking changes
329
-
330
- * Remove support for Ruby 1.9.3 ([#993](https://github.com/cucumber/cucumber-ruby/pull/993) @brasmusson)
331
- * Remove support for Ruby 2.0.0 ([#1068](https://github.com/cucumber/cucumber-ruby/pull/1068) @mattwynne)
332
-
333
- ### New Features
334
-
335
- * Support for Cucumber Expressions ([#1156](https://github.com/cucumber/cucumber-ruby/pull/1156))
336
- * Use newlines in the rerun file produces by the rerun formatter ([1162](https://github.com/cucumber/cucumber-ruby/issues/1162) @brasmusson)
337
- * Detect and list flaky scenarios in the list of not ok scenarios ([#1159](https://github.com/cucumber/cucumber-ruby/pull/1159), ([1044](https://github.com/cucumber/cucumber-ruby/issues/1044)) @brasmusson)
338
- * List all not ok scenarios in the summary ([#1158](https://github.com/cucumber/cucumber-ruby/pull/1158) @brasmusson)
339
- * Emulate Cucumber-JS's new i18n CLI options ([#1140](https://github.com/cucumber/cucumber-ruby/pull/1140) @aidamanna)
340
- * Use the event bus in Cucumber-Ruby-Core ([#973](https://github.com/cucumber/cucumber-ruby/pull/973) @mattwynne)
341
- * Add --retry option to retry failed tests as part of the same run ([#920](https://github.com/cucumber/cucumber-ruby/pull/920) @DanaScheider)
342
- * Add a summary formatter ([#999](https://github.com/cucumber/cucumber-ruby/pull/999) @mattwynne)
343
- * Namespaced World modules ([#1007](https://github.com/cucumber/cucumber-ruby/pull/1007) @nodo)
344
- * Add per-formatter CLI options ([#1058](https://github.com/cucumber/cucumber-ruby/pull/1058) @nodo)
345
- * Use tag expressions for tag filtering ([#1054](https://github.com/cucumber/cucumber-ruby/pull/1054) @brasmusson)
346
- * Add a `TestRunStarting` event ([#1082](https://github.com/cucumber/cucumber-ruby/pull/1082) @mattwynne)
347
-
348
- ### Bugfixes
349
-
350
- * Fix the profile loader on Windows ([#1133](https://github.com/cucumber/cucumber-ruby/pulls/1133) @enkessler)
351
- * Fix incorrect `DataTable#diff!` results ([#1102](https://github.com/cucumber/cucumber-ruby/pulls/1102) @botandrose)
352
- * Do not apply the hooks to the test case several times when using the retry option ([#1098](https://github.com/cucumber/cucumber-ruby/issues/1098) @brasmusson)
353
- * Fix bug in comparing empty data tables ([#1097](https://github.com/cucumber/cucumber-ruby/pulls/1097), resolves [#1096](https://github.com/cucumber/cucumber-ruby/issues/1096))
354
- * Configure Gemfile to fetch cucumber-ruby-wire from git if the repo is not found locally ([#983](https://github.com/cucumber/cucumber-ruby/pulls/983), resolves [#961](https://github.com/cucumber/cucumber-ruby/issues/961))
355
- * Fix regression displaying CLI help ([#991](https://github.com/cucumber/cucumber-ruby/pull/991) @mattwynne)
356
- * with_filtered_backtrace called on Test::Result::Unknown with strange feature file ([#967](https://github.com/cucumber/cucumber-ruby/issues/967) @danascheider)
357
- * fix HTML formatter backtrace duplicate line bug ([#965](https://gthub.com/cucumber/cucumber-ruby/pull/965) @josephks)
358
- * Update env names correctly ([#1067](https://github.com/cucumber/cucumber-ruby/pull/1067) @junaruga)
359
- * Relax filter for "/usr/local/ruby-X.Y.Z/bin/bundle" ([#1079](https://github.com/cucumber/cucumber-ruby/pull/1079) @junaruga)
360
- * Avoid showing "@ rb_sysopen" noise for Ruby 2.4 ([#1080](https://github.com/cucumber/cucumber-ruby/pull/1080) @junaruga)
361
-
362
- ### Refactoring / Developer Experience
363
-
364
- * Spec: Events.registry exercised ([#1126](https://github.com/cucumber/cucumber-ruby/pulls/1126) @olleolleolle)
365
- * Remove programming language abstraction ([#1131](https://github.com/cucumber/cucumber-ruby/pulls/1131) @tooky, @mattwynne)
366
- * Update cucumber yaml to use new tag syntax ([#1147](https://github.com/cucumber/cucumber-ruby/pulls/1147) @danascheider)
367
- * Turn off Windows failures ([#1142](https://github.com/cucumber/cucumber-ruby/pulls/1142) @enkessler)
368
- * Add script to update history.md ([#1141](https://github.com/cucumber/cucumber-ruby/pulls/1141) @mattwynne)
369
- * Update Ruby 2.3 and 2.4 in .travis.yml ([#1100](https://github.com/cucumber/cucumber-ruby/pull/1100) @junaruga)
370
- * Fixes for rubocop violations ([#1095](https://github.com/cucumber/cucumber-ruby/pull/1095) @bv)
371
- * Fixes for rubocop violations ([#1042](https://github.com/cucumber/cucumber-ruby/pull/1042) @phoebeclarke)
372
- * Add frozen string literal magic comment to files and fix issues it causes ([#996](https://github.com/cucumber/cucumber-ruby/pull/996) @twalpole)
373
- * Several tests failing with rbenv ([#1017](https://github.com/cucumber/cucumber-ruby/issues/1017) @nodo)
374
- * Add rubocop to check the style of the codebase ([1014](https://github.com/cucumber/cucumber-ruby/issues/1014) @nodo)
375
- * Fix the rubocop violation 'Lint/AmbiguousRegexpLiteral' ([1025](https://github.com/cucumber/cucumber-ruby/pull/1025) @pmatsinopoulos)
376
- * Fix rubocop violations ([#1024](https://github.com/cucumber/cucumber-ruby/pull/1024) @madundead)
377
- * Fix style violations ([#1023](https://github.com/cucumber/cucumber-ruby/pull/1023) @nodo)
378
- * fix Lint/UselessAssignment ([1029](https://github.com/cucumber/cucumber-ruby/pull/1029) @hotovson)
379
- * fix Lint/EndAlignment ([#1032](https://github.com/cucumber/cucumber-ruby/pull/1032) @hotovson)
380
- * fix Lint/NonLocalExitFromIterator ([#1037](https://github.com/cucumber/cucumber-ruby/pull/1037) @hotovson)
381
- * fix Lint/UselessAccessModifier ([#1036](https://github.com/cucumber/cucumber-ruby/pull/1036) @hotovson)
382
- * Refs #1021 - Fixes the rubocop violation 'Style/StringLiterals' ([#1027](https://github.com/cucumber/cucumber-ruby/pull/1027) @pmatsinopoulos)
383
- * Fixes rubocop violation Lint/StringConversionInInterpolation ([#1038](https://github.com/cucumber/cucumber-ruby/pull/1038) @hotovson)
384
- * Fixes rubocop violation Style/FormatString ([#1040](https://github.com/cucumber/cucumber-ruby/pull/1040) @pmatsinopoulos)
385
- * Don't check temporary files by rubocop ([#1034](https://github.com/cucumber/cucumber-ruby/pull/1034) @hotovson)
386
- * fix Lint/NestedMethodDefinition ([#1035](https://github.com/cucumber/cucumber-ruby/pull/1035) @hotovson)
387
- * fix Lint/UnusedArgument ([#1033](https://github.com/cucumber/cucumber-ruby/pull/1033) @hotovson)
388
- * Fixes rubocop violation Performance/StringReplacement ([#1039](https://github.com/cucumber/cucumber-ruby/pull/1039) @pmatsinopoulos)
389
- * Fix an json compile error for "bundle install" on Ruby 2.4 ([#1069](https://github.com/cucumber/cucumber-ruby/pull/1069) @junaruga)
390
- * Add Ruby 2.4.0 as allow_failures in .travis.yml ([#1078](https://github.com/cucumber/cucumber-ruby/pull/1078) @junaruga)
391
- * Add ruby-head as a allow failures in .travis.yml ([#1087](https://github.com/cucumber/cucumber-ruby/pull/1087) @junaruga)
392
- * Refactoring for Rakefile to display cucumber task by "rake -T". ([#1088](https://github.com/cucumber/cucumber-ruby/pull/1088) @junaruga)
393
- * Fix some rubocop offenses ([#1093](https://github.com/cucumber/cucumber-ruby/pull/1093) @bv)
394
- * Add supported platforms to README.md. ([#1092](https://github.com/cucumber/cucumber-ruby/pull/1092) @junaruga)
395
- * Remove Ruby 2.4 from allow_failures in .travis.yml. ([#1099](https://github.com/cucumber/cucumber-ruby/pull/1099) @junaruga)
396
- * History: change bad character to space ([#1104](https://github.com/cucumber/cucumber-ruby/pull/1104) @olleolleolle)
397
- * Travis: jruby-9.1.8.0 in CI ([#1105](https://github.com/cucumber/cucumber-ruby/pull/1105) @olleolleolle)
398
- * Fix rubocop offenses 1021 003 ([#1107](https://github.com/cucumber/cucumber-ruby/pull/1107) @bv)
399
- * Travis: use jruby-9.1.10.0 ([#1114](https://github.com/cucumber/cucumber-ruby/pull/1114) @olleolleolle)
400
- * Change the Progress, Usage and Stepdef formatter use events ([#977](https://github.com/cucumber/cucumber-ruby/pull/977), [#1129](https://github.com/cucumber/cucumber-ruby/pull/1129) @brasmusson)
401
-
402
- ## [2.4.0](https://github.com/cucumber/cucumber-ruby/compare/v2.3.3...v2.4.0)
403
-
404
- ### New Features
405
-
406
- * Update to Gherkin v4.0 (@brasmusson)
407
-
408
- ### Bugfixes
409
-
410
- * Use HTTPS instead of Git as transport protocol ([#960](https://github.com/cucumber/cucumber-ruby/pull/960))
411
- * Make random order stable and platform independent ([#974](https://github.com/cucumber/cucumber-ruby/pull/974), closes [#971](https://github.com/cucumber/cucumber-ruby/issues/971))
412
- * Run scenarios in fully random order ([#970](https://github.com/cucumber/cucumber-ruby/pull/970) @threedaymonk)
413
- * Adding Test Step in AfterStep hook. ([#931](https://github.com/cucumber/cucumber-ruby/pull/931) @t-morgan)
414
- * Handle even more exotic rerun file formats seen in the wild ([#928](https://github.com/cucumber/cucumber-ruby/pull/928) @mcrmfc)
415
- * Allow Rake task to accept multiple profiles. ([#907](https://github.com/cucumber/cucumber-ruby/pull/907) @jasonkarns)
416
- * Let the JUnit formatter handle running test cases for different features interweaved ([#952](https://github.com/cucumber/cucumber-ruby/issues/952) @brasmusson)
417
-
418
- ## [2.3.3](https://github.com/cucumber/cucumber-ruby/compare/v2.3.2...v2.3.3)
419
-
420
- Added a message pointing users to [The Great Cucumber and BDD Census of 2016](https://cucumber.typeform.com/to/kjrSc2?audience=cucumber-ruby) to the installer message. Please take a few moments to help us all learn more about how you're using Cucumber and BDD.
421
-
422
- ### Bugfixes
423
-
424
- * Let the JSON formatter include data tables in the JSON file ([#948](https://github.com/cucumber/cucumber-ruby/issues/948) @brasmusson)
425
- * Stringifying location in the JSON formatter for more consistent json parsing ([949](https://github.com/cucumber/cucumber-ruby/pull/949), [945](https://github.com/cucumber/cucumber-ruby/issues/945) @larryprice)
426
-
427
- ## [2.3.2](https://github.com/cucumber/cucumber-ruby/compare/v2.3.1...v2.3.2)
428
-
429
- Brought the event bus code back into Cucumber to avoid https://github.com/fedux-org/event-bus/issues/6
430
-
431
- ## [2.3.1](https://github.com/cucumber/cucumber-ruby/compare/v2.3.0...v2.3.1)
432
-
433
- Better deprecation warnings to help fix https://github.com/cucumber/cucumber-ruby/issues/942
434
-
435
- ## [2.3.0](https://github.com/cucumber/cucumber-ruby/compare/v2.2.0...v2.3.0)
436
-
437
- ### New Features
438
-
439
- * Update to Gherkin v3.2.0 (@brasmusson)
440
-
441
- ### Bugfixes
442
-
443
- ### Refactoring
444
-
445
- ## [2.2.0](https://github.com/cucumber/cucumber-ruby/compare/v2.1.0...v2.2.0)
446
-
447
- Although this release is only bugfixes and refactorings, the extraction of the wire protocol is quite a significant change and
448
- could cause breaking changes for users of undocumented APIs. Hence the minor version bump.
449
-
450
- ### Bugfixes
451
-
452
- * Let the formatters output the value of printed variables at time of the call to `#puts` ([#918](https://github.com/cucumber/cucumber-ruby/pull/918) [#915](https://github.com/cucumber/cucumber-ruby/issues/915) @enkessler @brasmusson)
453
- * Fix Configuration.with_options merge direction ([#922](https://github.com/cucumber/cucumber-ruby/pull/922) @limhoff-r7)
454
- * Consistent line breaks / truncation in backtraces ([#941](https://github.com/cucumber/cucumber-ruby/pull/941) @tooky)
455
- * Fix extra arg passed to ensure_io ([#939](https://github.com/cucumber/cucumber-ruby/pull/939A @benshan)
456
-
457
- ### Refactoring
458
-
459
- * Remove wire protocol to plugin ([#878](https://github.com/cucumber/cucumber-ruby/pull/878) @mattwynne @tooky)
460
- * Remove event bus to separate gem ([#933](https://github.com/cucumber/cucumber-ruby/pull/933) @dg-ratiodata)
461
-
462
- ## [2.1.0](https://github.com/cucumber/cucumber-ruby/compare/v2.0.2...v2.1.0)
463
-
464
- ### New Features
465
-
466
- * Introduce EventBus ([903](https://github.com/cucumber/cucumber-ruby/pull/903) @mattwynne @tooky)
467
- * Fail-fast CLI switch ([906](https://github.com/cucumber/cucumber-ruby/pull/906) @danascheider)
468
-
469
- ### Bugfixes
470
-
471
- * When only an around hook is failing, let the Json Formatter include the around hook result ([909](https://github.com/cucumber/cucumber-ruby/issues/909) @brasmusson).
472
-
473
- ### Refactoring
474
-
475
- * Coveralls badge switch to SVG ([897](https://github.com/cucumber/cucumber-ruby/pull/897) @nickmerwin)
476
- * Moved simplecov_setup into lib folder ([896](https://github.com/cucumber/cucumber-ruby/pull/896) @tboerger)
477
- * Pass DocString as String ([891](https://github.com/cucumber/cucumber-ruby/pull/891) @aslakhellesoy)
478
- * Remove core_ext/proc.rb and use Proc#source_location instead ([888](https://github.com/cucumber/cucumber-ruby/pull/888) @brasmusson)
479
- * Move behaviour from `Cucumber::Cli::Configuration` to `Cucumber::Configuration` (@tooky, @mattwynne)
480
- * Integrate Gherkin3 parser ([884](https://github.com/cucumber/cucumber-ruby/pull/884) (@brasmusson)
481
-
482
- ## [2.0.2](https://github.com/cucumber/cucumber-ruby/compare/v2.0.1...v2.0.2)
483
-
484
- ### Bugfixes
485
-
486
- * Revert interface change in Cucumber::Formatter::Console (which can break custom formatters in v2.0.1) ([893](https://github.com/cucumber/cucumber-ruby/issues/893) @brasmusson).
487
- * Calculate the locations of hooks properly (so it also work between drives on Windows) ([885](https://github.com/cucumber/cucumber-ruby/issues/885) @brasmusson).
488
-
489
- ## [2.0.1](https://github.com/cucumber/cucumber-ruby/compare/v2.0.0...v2.0.1)
490
-
491
- ### New Features
492
-
493
- * Properly support symbol keys in table hashes ([840](https://github.com/cucumber/cucumber-ruby/issues/840) @dmorgan3405)
494
- * Default require path to features unless specified explicitly. ([842](https://github.com/cucumber/cucumber-ruby/issues/842) @pdswan)
495
- * Exit with different status codes when scenarios failed (1) vs when failed to run scenarios (2) ([#845](https://github.com/cucumber/cucumber-ruby/pull/845) @ciembor)
496
- * Expose #status on Cucumber::RunningTestCase ([#836](https://github.com/cucumber/cucumber-ruby/pull/846) [#836](https://github.com/cucumber/cucumber-ruby/issues/836) @pdswan)
497
- * New `--no-duration` flag on command-line ([#822](https://github.com/cucumber/cucumber-ruby/pull/822) @richarda)
498
- * Make the Rerun Formatter consistent with the exit code ([860](https://github.com/cucumber/cucumber-ruby/pull/860) @brasmusson)
499
- * Let the Json Formatter include results from all executed steps and hooks (and from Scenario Outlines also without the --expand option) ([851](https://github.com/cucumber/cucumber-ruby/pull/851) @brasmusson)
500
-
501
- ### Bugfixes
502
-
503
- * Pass tags and comments to the legacy api formatters correctly, fixes [864](https://github.com/cucumber/cucumber-ruby/pull/864) (@brasmusson).
504
- * Properly close HTML formatter pre tag for leading comment ([828](https://github.com/cucumber/cucumber-ruby/issues/828), [854](https://github.com/cucumber/cucumber-ruby/pull/854) @pdswan)
505
- * Make the HTML formatter handle failures in hooks ([835](https://github.com/cucumber/cucumber-ruby/issues/835) @brasmusson)
506
- * Fix the check for multiple formatters using stdout ([826](https://github.com/cucumber/cucumber-ruby/pull/826) @brasmusson)
507
- * Make background.feature available to formatters (backward compatibility with v1.3.x) (@brasmusson)
508
- * Cucumber::Ast::Table.diff! is broken when using no headers ([832](https://github.com/cucumber/cucumber-ruby/pull/832) @roschaefer)
509
- * `cucumber --i18n <invalid_language>` breaks ([#869](https://github.com/cucumber/cucumber-ruby/issues/869) (@danascheider)
510
-
511
- ### Refactoring
512
-
513
- * Rewrite the JUnit Formatter to the new formatter API ([855](https://github.com/cucumber/cucumber-ruby/pull/855) @brasmusson)
514
- * Rewrite the Progress, Usage, Stepdefs formatters to the new formatter API ([859](https://github.com/cucumber/cucumber-ruby/pull/859) @brasmusson)
515
-
516
- ## [2.0.0](https://github.com/cucumber/cucumber-ruby/compare/v2.0.0.rc.5...v2.0.0)
517
-
518
- ### New Features
519
-
520
- * Support ruby 2.2 in master (@mattwynne, @tooky)
521
- * Tell users to use the `--init` command ([818](https://github.com/cucumber/cucumber-ruby/pull/818) @olleolleolle)
522
-
523
- ### Bugfixes
524
-
525
- * Ensure After Hooks execute in reverse order (@tooky)
526
- * Make console output with embedded cr/lf look correct. ([820](https://github.com/cucumber/cucumber-ruby/pull/820) @SteveDonie)
527
-
528
- ## [2.0.0.rc5](https://github.com/cucumber/cucumber-ruby/compare/v2.0.0.rc.4...v2.0.0.rc.5)
529
-
530
- ### New Features
531
-
532
- * Add `--init` command ([699](https://github.com/cucumber/cucumber-ruby/pull/699) @LGordon2)
533
-
534
- ## Bugfixes
535
-
536
- * Let the JUnitFormatter handle Scenario Outlines with the --expand option ([124](https://github.com/cucumber/cucumber-ruby/issues/124), [808](https://github.com/cucumber/cucumber-ruby/pull/808) @brasmusson, @richarda)
537
- * Suggested regexes result in ambigous matches ([663](https://github.com/cucumber/cucumber-ruby/pull/663) @rwz)
538
- * Pass when using both the --dry-run and the --strict options, unless there are undefined steps ([810](https://github.com/cucumber/cucumber-ruby/issues/810) @brasmusson)
539
- * Handle step output correctly for Scenario Outlines with the --expand option ([806](https://github.com/cucumber/cucumber-ruby/issues/806) @brasmusson)
540
- * Fix GBK and UTF-8 (Encoding::CompatibilityError) ([693](https://github.com/cucumber/cucumber-ruby/issues/693) @mattwynne)
541
- * Make the scenario object available in hooks compatible with v1.3.x ([814](https://github.com/cucumber/cucumber-ruby/pull/814) @brasmusson)
542
- * JUnit expand option ([808](https://github.com/cucumber/cucumber-ruby/pull/808) @richarda @brasmusson)
543
- * Around hooks not executing in correct world context ([807](https://github.com/cucumber/cucumber-ruby/pull/807) @tooky)
544
-
545
- ## [2.0.0.rc.4](https://github.com/cucumber/cucumber-ruby/compare/v2.0.0.rc.3...2.0.0.rc.4)
546
-
547
- ### Features
548
-
549
- * [Add custom filters from Ruby configuration code](https://github.com/cucumber/cucumber-ruby/blob/master/features/docs/extending_cucumber/custom_filter.feature) (@mattwynne)
550
-
551
- ### Bugfixes
552
-
553
- * Fix missing `require Forwardable` (@tooky)
554
- * Fix snippet suggestions ([765](https://github.com/cucumber/cucumber-ruby/pull/765) @richarda), also with i18n languages (@brasmusson)
555
- * Fix transformation of regex with lookahead/lookbehind ([796](https://github.com/cucumber/cucumber-ruby/pull/796) @bolshakov)
556
- * Sort scenarios by location ([789](https://github.com/cucumber/cucumber-ruby/issues/789) @mattwynne)
557
- * Remove keyword from name property of test case object yielded to hooks ([768](https://github.com/cucumber/cucumber-ruby/issues/768) @richarda, @akostadinov)
558
-
559
- ## [2.0.0.rc.3](https://github.com/cucumber/cucumber-ruby/compare/v2.0.0.rc.2...v2.0.0.rc.3)
560
-
561
- ### Bugfixes
562
-
563
- * MultilineArgument::DataTable#diff will correctly compare to an Array (@tooky)
564
-
565
- ## [2.0.0.rc.2](https://github.com/cucumber/cucumber-ruby/compare/v2.0.0.rc.1...v2.0.0.rc.2)
566
-
567
- ### Bugfixes
568
-
569
- * World#table no longer creates invalid table objects when using an Array (@tooky, @mattwynne)
570
-
571
- ## [2.0.0.rc.1](https://github.com/cucumber/cucumber-ruby/compare/v2.0.0.beta.5...v2.0.0.rc.1)
572
-
573
- ### Removed Features
574
-
575
- * Removed support for IronRuby (@tooky @mattwynne)
576
-
577
- ### New Features
578
-
579
- * Let the HTML formatter store the relative path to files in the report ([697](https://github.com/cucumber/cucumber-ruby/pull/697) @idstein, @brasmusson)
580
- * Allow cucumber.yml to parse % erb code lines ([755](https://github.com/cucumber/cucumber-ruby/pull/755) @snowe2010)
581
- * Give each step definition a unique copy of argument objects ([760](https://github.com/cucumber/cucumber-ruby/pull/760) @tooky)
582
-
583
- ### Bugfixes
584
-
585
- * Add old Scenario#skip_invoke! method back (@mattwynne)
586
- * No links to lines in backtrace under TextMate ([548](https://github.com/cucumber/cucumber-ruby/pull/548) @bilus)
587
- * Using file:line CLI to select scenarios was running same scenario multiple times ([786](https://github.com/cucumber/cucumber-ruby/pull/786) @jdks)
588
- * Allow spaces in filenames for rerun formatter ([793](https://github.com/cucumber/cucumber-ruby/pull/793) @callahat)
589
-
590
- ## [2.0.0.beta.5](https://github.com/cucumber/cucumber-ruby/compare/v2.0.0.beta.4...v2.0.0.beta.5)
591
-
592
- * Depend on the correct version of core (@tooky)
593
-
594
- ## [2.0.0.beta.4](https://github.com/cucumber/cucumber-ruby/compare/v2.0.0.beta.3...v2.0.0.beta.4)
595
- ### New Features
596
-
597
- * Support both new and legacy formatter APIs simultaneously (@mattwynne and @tooky)
598
-
599
- ### Bugfixes
600
-
601
- * Localize the Scenario keyword with the --expand option ([766](https://github.com/cucumber/cucumber-ruby/pull/766) @brasmusson)
602
- * Handle hook output appropriately in the HTML formatter ([746](https://github.com/cucumber/cucumber-ruby/pull/746), [731](https://github.com/cucumber/cucumber-ruby/issues/731), [298](https://github.com/cucumber/cucumber-ruby/pull/298) @brasmusson)
603
- * Handle hook output appropriately in the Pretty formatter ([738](https://github.com/cucumber/cucumber-ruby/pull/738) @brasmusson)
604
-
605
- ### Internal changes
606
-
607
- * Re-write rerun formatter against new formatter API
608
-
609
- ## [2.0.0.beta.3](https://github.com/cucumber/cucumber-ruby/compare/v2.0.0.beta.2...v2.0.0.beta.3)
610
-
611
- ### Removed Features
612
-
613
- * The `--dotcucumber` option is no longer supported and `stepdefs.json` is no longer written. (Aslak Hellesøy)
614
-
615
- ### New Features
616
-
617
- * Include both outline step and expanded step in error backtrace ([730](https://github.com/cucumber/cucumber-ruby/pull/730) @brasmusson)
618
- * Add TestCase#outline? for conditionals in Before / After hooks ([728](https://github.com/cucumber/cucumber-ruby/pull/728) [Erran Carey](https://github.com/erran))
619
- * Support embedding images directly in HTML and JSON reports ([696](https://github.com/cucumber/cucumber-ruby/pull/696),[695](https://github.com/cucumber/cucumber-ruby/pull/695/files) @brasmusson)
620
-
621
- ### Bugfixes
622
-
623
- * Pass hook output to the formatters appropriately ([732](https://github.com/cucumber/cucumber-ruby/pull/732) @brasmusson)
624
- * Added tests for, and re-added behaviour to support Scenario#failed? in hooks (Matt Wynne)
625
- * Rescuing ArgumentError in HTML formatter so Cucumber won't stop tests due bad encoding ([690](https://github.com/cucumber/cucumber-ruby/pull/690) @awls99)
626
- * Add back support for the DataTable API ([729](https://github.com/cucumber/cucumber-ruby/pull/729) @mattwynne and @tooky)
627
- * Fix Windows support loading files properly ([739](https://github.com/cucumber/cucumber-ruby/issues/739) @os97673)
628
-
629
- ## [2.0.0.beta.2](https://github.com/cucumber/cucumber-ruby/compare/v2.0.0.beta.1...v2.0.0.beta.2)
630
-
631
- ### Bugfixes
632
-
633
- * Better reporting of exceptions in Before / After hooks ([723](https://github.com/cucumber/cucumber-ruby/pull/723) @mattwynne)
634
- * Add `#source_tag_names` method to `TestCase` object passed to hooks (@mattwynne)
635
-
636
- ## [2.0.0.beta.1 ](https://github.com/cucumber/cucumber-ruby/compare/v1.3.8...v2.0.0.beta.1)
637
-
638
- Version 2.0 contains a major internal redesign, extracting the core logic of
639
- parsing and executing tests into a [separate gem](https://github.com/cucumber/cucumber-ruby-ruby-core).
640
-
641
- Although we've tried to keep the API and behaviour consistent through this change,
642
- there are bound to be differences our tests haven't picked up. We're still working through
643
- a backlog of scenarios that are not yet passing. Run `cucumber -p wip` to see them
644
- all.
645
-
646
- ### New features
647
-
648
- * Better snippet comment ([579](https://github.com/cucumber/cucumber-ruby/pull/579) Jeff Nyman)
649
- * Random scenario ordering with `--order random`
650
- * Embed plain text ([712](https://github.com/cucumber/cucumber-ruby/pull/712) @bingwei)
651
- * Support the cucumber-reporting tools also when using Scenario Outlines ([700](https://github.com/cucumber/cucumber-ruby/pull/700) @brasmusson)
652
-
653
- ### Features removed
654
-
655
- * Removed deprecated StepMother and Ast::Visitor classes (Matt Wynne)
656
- * Remove support for i18n nested step methods (Matt Wynne)
657
- * Remove experimental .js and .py support (Matt Wynne)
658
- * Remove Ruby 1.8.7 support, including RCov
659
- * Spork support
660
-
661
- ### API Changes
662
-
663
- * String arguments passed to step definitions are immutable (frozen). This is
664
- to prevent garbled output in case an argument gets modified. If you need to
665
- modify an argument, `dup` it first. (Aslak Hellesøy)
666
-
667
- ### Minor changes
668
-
669
- * Greek examples added ([497](https://github.com/cucumber/cucumber-ruby/issues/497) @rousisk)
670
-
671
- ## [1.3.16](https://github.com/cucumber/cucumber-ruby/compare/v1.3.15...v1.3.16)
672
-
673
- * Pass output from the step definition on to the JSON formatter ([701](https://github.com/cucumber/cucumber-ruby/pull/701) @brasmusson)
674
- * Add RSpec 3 test double support ([689](https://github.com/cucumber/cucumber-ruby/pull/689) @cyphactor)
675
- * Fix bug with rerun formatter and `--expand` option ([710](https://github.com/cucumber/cucumber-ruby/pull/710) @brasmusson)
676
-
677
- ## [1.3.15](https://github.com/cucumber/cucumber-ruby/compare/v1.3.14...v1.3.15)
678
-
679
- * Fixed intermittent ConcurrencyError seen in JRuby
680
- ([671](https://github.com/cucumber/cucumber-ruby/issues/670) @cbusbey)
681
-
682
- ## [1.3.14](https://github.com/cucumber/cucumber-ruby/compare/v1.3.13...v1.3.14)
683
-
684
- * Rerun formatter includes all scenarios when the background fails
685
- ([660](https://github.com/cucumber/cucumber-ruby/issues/660),
686
- [661](https://github.com/cucumber/cucumber-ruby/pull/661) @brasmusson)
687
-
688
- ## [1.3.13](https://github.com/cucumber/cucumber-ruby/compare/v1.3.12...v1.3.13)
689
-
690
- * Rerun formatter includes all scenarios when the background fails
691
- ([654](https://github.com/cucumber/cucumber-ruby/pull/654) @brasmusson)
692
-
693
- ## [1.3.12](https://github.com/cucumber/cucumber-ruby/compare/v1.3.11...v1.3.12)
694
-
695
- * Use MultiTest to handle assertions library selection (@tooky)
696
- * Adds full support for rails 4.1 / Minitest
697
-
698
- ## [1.3.11](https://github.com/cucumber/cucumber-ruby/compare/v1.3.10...v1.3.11)
699
-
700
- * Add Ruby 2.1 Support ([#644](https://github.com/cucumber/cucumber-ruby/pull/644) @tooky, @chrismdp)
701
-
702
- ## [1.3.10](https://github.com/cucumber/cucumber-ruby/compare/v1.3.9...v1.3.10)
703
-
704
- * Fixed "nil:NilClass (NoMethodError)" problem for auto-formatting ([599](https://github.com/cucumber/cucumber-ruby/pull/599) @jmcaffee)
705
-
706
- ## [1.3.9](https://github.com/cucumber/cucumber-ruby/compare/v1.3.8...v1.3.9)
707
-
708
- * Disable minitest autorun after loading support files (@tooky)
709
- * Add `Ast::Table#map_column` for non-mutating column mapping (@tooky)
710
- * Remove deprecation warnings on `Ast::Table` (@tooky)
711
- * Fixed ArgumentError for NoStepMatch#format_args ([587](https://github.com/cucumber/cucumber-ruby/pull/587) @jshraibman-mdsol)
712
-
713
- ## [1.3.8](https://github.com/cucumber/cucumber-ruby/compare/v1.3.7...v1.3.8)
714
-
715
- * Make the MultiJson dependency less restrictive (@tooky)
716
-
717
- ## [1.3.7](https://github.com/cucumber/cucumber-ruby/compare/v1.3.6...v1.3.7)
718
-
719
- * Fixed incorrect html formatter behaviour when background step fails
720
- ([520](https://github.com/cucumber/cucumber-ruby/issues/520),
721
- [521](https://github.com/cucumber/cucumber-ruby/issues/521) @mlex)
722
-
723
- * Fixed problem with printing badly formatted backtrace for failed background
724
- ([522](https://github.com/cucumber/cucumber-ruby/issues/522),
725
- [523](https://github.com/cucumber/cucumber-ruby/issues/523) @mlex)
726
-
727
- * required Gherkin version bumped to 2.12.1
728
-
729
- * All mutating methods of AST::Table deprecated
730
- ([505](https://github.com/cucumber/cucumber-ruby/issues/505),
731
- [525](https://github.com/cucumber/cucumber-ruby/issues/525) @adbatista)
732
-
733
- * AST::Table#map_headers doesn't use #map_headers! anymore
734
- ([505](https://github.com/cucumber/cucumber-ruby/issues/528) @adbatista)
735
-
736
- ## [1.3.6](https://github.com/cucumber/cucumber-ruby/compare/v1.3.5...v1.3.6)
737
-
738
- * Html formatter fixed to not mark passes scenarios with tables as pending
739
- ([493](https://github.com/cucumber/cucumber-ruby/issues/493) Oleg Sukhodolsky)
740
-
741
- ## [1.3.5](https://github.com/cucumber/cucumber-ruby/compare/v1.3.4...v1.3.5)
742
-
743
- * Fix Rails 4 Minitest autorun problems. ([501](https://github.com/cucumber/cucumber-ruby/issues/501) @mattwynne)
744
-
745
- ## [1.3.4](https://github.com/cucumber/cucumber-ruby/compare/v1.3.3...v1.3.4)
746
-
747
- * JUnit formatter fixed to report skipped scenarios correctly ([496](https://github.com/cucumber/cucumber-ruby/issues/496) @ambirag)
748
-
749
- ## [1.3.3](https://github.com/cucumber/cucumber-ruby/compare/v1.3.2...v1.3.3)
750
-
751
- * Fix compatability with MiniTest 5.0 ([#456](https://github.com/cucumber/cucumber-ruby/issues/456) Matt Wynne)
752
- * Warn that Spork support is broken (Steve Tooke)
753
- * Fix error with Ruby 2.0.0 and `Cucumber::RUBY_1_8_7`
754
- ([#492](https://github.com/cucumber/cucumber-ruby/issues/492) Matt Wynne)
755
- * Use new Rubygems API to look for bundler ([#448](https://github.com/cucumber/cucumber-ruby/issues/448) Matt Wynne)
756
-
757
- ## [1.3.2](https://github.com/cucumber/cucumber-ruby/compare/v1.3.1...v1.3.2)
758
-
759
- ### Bugfixes
760
- * Fixed ugly NoMethodError when a Scenario Outline has no Examples
761
- ([#438](https://github.com/cucumber/cucumber-ruby/issues/438) Steve Tooke)
762
-
763
- ## [1.3.1](https://github.com/cucumber/cucumber-ruby/compare/v1.3.0...v1.3.1)
764
-
765
- ### Bugfixes
766
- * Fixed typo which breaks unicode.rb on Windows (Oleg Sukhodolsky)
767
-
768
- ## [1.3.0](https://github.com/cucumber/cucumber-ruby/compare/v1.2.5...v1.3.0)
769
-
770
- ### New Features
771
- * Faster features, thanks to in-process Aruba. (Aslak Hellesøy)
772
- * Add lib to default load path
773
- ([#162](https://github.com/cucumber/cucumber-ruby/issues/162) Steve Tooke)
774
- * Add snippet type to support different type of ruby snippets.
775
- ([#390](https://github.com/cucumber/cucumber-ruby/pull/390) Roel van Dijk)
776
- * Call nested steps using any language keywords ([#433](https://github.com/cucumber/cucumber-ruby/pull/433) Tomohiko Himura)
777
-
778
- ### Bugfixes
779
- * Update watir example ([#427](https://github.com/cucumber/cucumber-ruby/issues/427)) Luiz Guilherme D'Abruzzo Pereira
780
- * Ensure that cucumber.yml is only parsed once ([#416](https://github.com/cucumber/cucumber-ruby/issues/416)) Steve Tooke
781
- * Improve rake task report on failure ([#400](https://github.com/cucumber/cucumber-ruby/issues/400) Andrey Vakarev
782
- * Show details of nested steps in backtraces
783
- ([#69](https://github.com/cucumber/cucumber-ruby/issues/69)) Steve Tooke
784
- * Filter out control characters from CDATA section of JUnit formatter output.
785
- ([#383](https://github.com/cucumber/cucumber-ruby/issues/383) @teacup-on-rockingchair)
786
- * Fix problem with non-ascii characters in file path
787
- ([#150](https://github.com/cucumber/cucumber-ruby/issues/150) Oleg Sukhodolsky)
788
- * Fix problem loading ruby files in project root directory
789
- ([#269](https://github.com/cucumber/cucumber-ruby/issues/269) Steve Tooke)
790
- * Fix JsonPretty formatter problem
791
- ([#197](https://github.com/cucumber/cucumber-ruby/issues/197) Oleg Sukhodolsky)
792
- * Don't display multi-line strings when --no-multiline is passed
793
- ([#201](https://github.com/cucumber/cucumber-ruby/issues/201) David Kowis)
794
- * Moved the profile information output to a callback of the formatter
795
- ([#175](https://github.com/cucumber/cucumber-ruby/issues/175) David Kowis)
796
- * Fix html formatter to not mark skipped/unimplemented steps as failed
797
- ([#337](https://github.com/cucumber/cucumber-ruby/issues/337) Oleg Sukhodolsky)
798
- * Allow duplication for format+output pair in command line
799
- ([#434](https://github.com/cucumber/cucumber-ruby/issues/434) David Lantos)
800
- * Better delegation to IO in Cucumber::Formatter::Interceptor::Pipe
801
- ([#312](https://github.com/cucumber/cucumber-ruby/issues/312) Oleg Sukhodolsky)
802
-
803
- ## [1.2.5](https://github.com/cucumber/cucumber-ruby/compare/v1.2.3...v1.2.5)
804
-
805
- * Upgrade Gherkin version to remove warnings when running on JRuby. ([#393](https://github.com/cucumber/cucumber-ruby/issues/393) Oleg Sukhodolsky)
806
- * Do not use TagExpression.eval() which is deprecated in Gherkin 2.11.7 ([#420](https://github.com/cucumber/cucumber-ruby/issues/420) Oleg Sukhodolsky)
807
-
808
- ## 1.2.4
809
-
810
- Yanked. See ([#428](https://github.com/cucumber/cucumber-ruby/issues/428)).
811
-
812
- ## [1.2.3](https://github.com/cucumber/cucumber-ruby/compare/v1.2.2...v1.2.3)
813
-
814
- ### Bugfixes
815
- * Fix problem with rake task for jruby and ruby installed from packages on Ubuntu ([#386](https://github.com/cucumber/cucumber-ruby/issues/386), [#388](https://github.com/cucumber/cucumber-ruby/issues/388) @y-higuchi)
816
- * Fix embedding images in json ([#315](https://github.com/cucumber/cucumber-ruby/issues/315) Oleg Sukhodolsky)
817
-
818
- ## [1.2.2](https://github.com/cucumber/cucumber-ruby/compare/v1.2.1...v1.2.2)
819
-
820
- ### New Features
821
- * Ruby 2.0.0 support ([#377](https://github.com/cucumber/cucumber-ruby/issues/377) Matt Wynne & [#357](https://github.com/cucumber/cucumber-ruby/issues/357) @charliesome)
822
- * Capture duration value for json formatter ([#329](https://github.com/cucumber/cucumber-ruby/issues/329) Rick Beyer)
823
- * Added support for Hindi (hi), although some systems may need to install fonts which support the Devanagari script.
824
- * Obey program suffix when invoking bundler ([#324](https://github.com/cucumber/cucumber-ruby/issues/324) Eric Hodel)
825
-
826
- ### Bugfixes
827
- * Fix class loading problems --format option had ([#345](https://github.com/cucumber/cucumber-ruby/issues/345), [#346](https://github.com/cucumber/cucumber-ruby/issues/346) @ksylvest)
828
- * Exit with failure status when interrupted ([#299](https://github.com/cucumber/cucumber-ruby/issues/299) @aaronjensen)
829
- * Cannot map table headers after table hashes is referenced ([#275](https://github.com/cucumber/cucumber-ruby/issues/275) @chrisbloom7 / Matt Wynne)
830
- * (before|after)_step aren't called when scenario outline's table is processed ([#284](https://github.com/cucumber/cucumber-ruby/issues/284) Oleg Sukhodolsky)
831
- * Raise exception when remote socket end disconnects using wire protocol ([#348](https://github.com/cucumber/cucumber-ruby/issues/348) @rdammkoehler)
832
- * Fix --dry-run option ignored when set via profile ([#248](https://github.com/cucumber/cucumber-ruby/issues/248) / [#255](https://github.com/cucumber/cucumber-ruby/issues/255) Igor Afonov)
833
- * More clear suggested ruby code for undefined steps ([#328](https://github.com/cucumber/cucumber-ruby/issues/328) / [#331](https://github.com/cucumber/cucumber-ruby/issues/331) @martco)
834
- * Fix exception in Html formatter with --expand mode and undefined steps ([#336](https://github.com/cucumber/cucumber-ruby/issues/336) Roberto Decurnex)
835
- * Fix Table.diff! problem with :surplus_row => false and interleaved surplus rows ([#220](https://github.com/cucumber/cucumber-ruby/issues/220))
836
-
837
- ## [1.2.1](https://github.com/cucumber/cucumber-ruby/compare/v1.2.0...v1.2.1)
838
-
839
- ### New Features
840
- * Updated to gherkin 2.11.0. (Aslak Hellesøy)
841
-
842
- ## [1.2.0](https://github.com/cucumber/cucumber-ruby/compare/v1.1.9...v1.2.0)
843
-
844
- ### Bugfixes
845
- * Fix backtraces in JRuby ([#266](https://github.com/cucumber/cucumber-ruby/issues/266) Andrew Kiellor)
846
-
847
- ### New Features
848
- * Extracted the PDF formatter into a separate gem. ([#241](https://github.com/cucumber/cucumber-ruby/issues/241) Matt Wynne)
849
- * Remove dependency on term/ansicolor ([#43](https://github.com/cucumber/cucumber-ruby/issues/43) Joe Fiorini)
850
- * Methods for Step Definitions ([#168](https://github.com/cucumber/cucumber-ruby/issues/168) Giles Alexander)
851
- * Add file:line to step events in formatter API ([#181](https://github.com/cucumber/cucumber-ruby/issues/181) Roman Chernyatchik)
852
- * Collapsible backgrounds in HTML formatter ([#182](https://github.com/cucumber/cucumber-ruby/issues/182) Niklas H)
853
- * Slightly cleaner regexp suggestions ([#237](https://github.com/cucumber/cucumber-ruby/issues/237) meyering)
854
- * Allow for --no-drb command-line option ([#252](https://github.com/cucumber/cucumber-ruby/issues/252) Chase Stubblefield)
855
- * Add misplaced_col option when diffing tables ([#212](https://github.com/cucumber/cucumber-ruby/issues/212) Steve Richert)
856
- * JUnit formatter, classname contains only the feature's name ([#193](https://github.com/cucumber/cucumber-ruby/issues/193) @litvinok)
857
- * Include the output $stderr and $stdout in JUnit formatted XML ([#259](https://github.com/cucumber/cucumber-ruby/issues/259) R. Tyler Croy)
858
-
859
- ## [1.1.9](https://github.com/cucumber/cucumber-ruby/compare/v1.1.8...v1.1.9)
860
-
861
- ### Bugfixes
862
- * Removed deprecation warning for `source_tag_names`. It's not deprecated anymore. (Aslak Hellesøy)
863
-
864
- ## [1.1.8](https://github.com/cucumber/cucumber-ruby/compare/v1.1.7...v1.1.8)
865
-
866
- ### Bugfixes
867
- * Column mapping dangerously applied twice to the same cell! ([#202](https://github.com/cucumber/cucumber-ruby/issues/202), [#208](https://github.com/cucumber/cucumber-ruby/pull/208) Brian Dunn)
868
-
869
- ### New Features
870
- * Don't pollute RbWorld with the AnsiEscapes methods ([#219](https://github.com/cucumber/cucumber-ruby/issues/219), [#221](https://github.com/cucumber/cucumber-ruby/pull/221) Ben Woosley)
871
-
872
- ## [1.1.7](https://github.com/cucumber/cucumber-ruby/compare/v1.1.6...v1.1.7)
873
-
874
- ### Bugfixes
875
-
876
- * Finish off backwards compatability fix for Capybara ([#229](https://github.com/cucumber/cucumber-ruby/pull/229) Cezary Baginski)
877
-
878
- ## [1.1.6](https://github.com/cucumber/cucumber-ruby/compare/v1.1.5...v1.1.6)
879
-
880
- ### New features
881
-
882
- * Added `file_colon_line` to `stepdefs.json` (outputted by `--dotcucumber`). ([#214](https://github.com/cucumber/cucumber-ruby/pull/214) MOROHASHI Kyosuke)
883
-
884
- ### Bugfixes
885
-
886
- * Release 1.1.5 unintentionally broke backwards compatibility in some APIs we hadn't considered were used outside of cucumber.
887
- Well, it was, in the popular Capybara browser automation tool, so we added back the API we removed. See the history for details. (Aslak Hellesøy)
888
- * After some infantile bickering about a trivial bug that any hipster startup ruby programmer could have circumvented by using a fork with a fix,
889
- I finally sucked up to a horde of people and made HTML reports work again (I'm gonna rename them TPS reports). ([#203](https://github.com/cucumber/cucumber-ruby/pull/203) Jon Merrifield)
890
-
891
- ## [1.1.5](https://github.com/cucumber/cucumber-ruby/compare/v1.1.4...v1.1.5)
892
-
893
- ### New Features
894
-
895
- * Upgraded to gherkin 2.8.0 (Aslak Hellesøy)
896
-
897
- ### Bugfixes
898
-
899
- * Background fails, but build succeeds ([#205](https://github.com/cucumber/cucumber-ruby/issues/205) tcwitte)
900
-
901
- ## [1.1.4](https://github.com/cucumber/cucumber-ruby/compare/v1.1.3...v1.1.4)
902
-
903
- ### New Features
904
-
905
- * Upgrade to Gherkin 2.7.1 (Aslak Hellesøy)
906
-
907
- ## [1.1.3](https://github.com/cucumber/cucumber-ruby/compare/v1.1.2...v1.1.3)
908
-
909
- ### New Features
910
-
911
- * Generate stepdef metadata with --dotcucumber. Useful for Cukepatch. (Aslak Hellesøy)
912
- * Show class name of exceptions in the HTML formatter ([#159](https://github.com/cucumber/cucumber-ruby/pull/159) Jari Bakken)
913
- * Deferred table header and column mappings ([#163](https://github.com/cucumber/cucumber-ruby/pull/163) Richard Lawrence)
914
-
915
- ### Bugfixes
916
-
917
- * Escape exceptions in HTML formatter ([#178](https://github.com/cucumber/cucumber-ruby/pull/178) leachdaniel)
918
- * Retry when feature_element returns failed ([#172](https://github.com/cucumber/cucumber-ruby/pull/172) Charles Finkel)
919
- * Rerun formatter output does not include failing scenario outline examples ([#57](https://github.com/cucumber/cucumber-ruby/issues/57) Jan Brauer)
920
-
921
- ## [1.1.2](https://github.com/cucumber/cucumber-ruby/compare/v1.1.1...v1.1.2)
922
-
923
- ### Changed features
924
-
925
- * Break long lines in output. Only needed for better output formatting in the Cucumber Book! (Aslak Hellesøy)
926
-
927
- ### Changed features
928
-
929
- * Deprecated i18n methods in World, and added a new #step method to use instead. ([#68](https://github.com/cucumber/cucumber-ruby/issues/68) Matt Wynne)
930
- * The JSON formatter output has changed slightly. Old format:
931
-
932
- {
933
- features: [feature here]
934
- }
935
-
936
- New format:
937
-
938
- [feature here]
939
-
940
- Also see [Gherkin 2.6.0 History](https://github.com/cucumber/gherkin/blob/master/History.md) for info about new `id` and `uri` elements in the JSON.
941
-
942
- ## [1.1.0](https://github.com/cucumber/cucumber-ruby/compare/v1.0.6...v1.1.0)
943
-
944
- ### Changed features
945
- * The JSON formatter output has changed. See [Gherkin 2.5.0 History](https://github.com/cucumber/gherkin/blob/master/History.md) (Aslak Hellesøy)
946
-
947
- ## [1.0.6](https://github.com/cucumber/cucumber-ruby/compare/v1.0.5...v1.0.6)
948
-
949
- ### Bugfixes
950
- * Work around rubygems/yaml utter retardedness ([#136](https://github.com/cucumber/cucumber-ruby/issues/136) Aslak Hellesøy)
951
-
952
- ## [1.0.5](https://github.com/cucumber/cucumber-ruby/compare/v1.0.4...v1.0.5)
953
-
954
- ### Bugfixes
955
-
956
- * Gemspec corrupted in 1.0.4 (I had to upgrade my rubygems to 1.8.10 to fix it). ([#136](https://github.com/cucumber/cucumber-ruby/issues/136) Aslak Hellesøy)
957
-
958
- ## [1.0.4](https://github.com/cucumber/cucumber-ruby/compare/v1.0.3...v1.0.4)
959
-
960
- ### Bugfixes
961
-
962
- * Guard against the require succeeding, but not properly loading a module. ([#93](https://github.com/cucumber/cucumber-ruby/pull/93) Christopher Meiklejohn)
963
- * Cmdline arguments parsing error if --drb is enabled. ([#117](https://github.com/cucumber/cucumber-ruby/issues/117) Roman Chernyatchik)
964
- * Replace capturing groups with non-capturing in RbTransform#to_s ([#106](https://github.com/cucumber/cucumber-ruby/pull/106) Thomas Walpole)
965
- * Patched unmatched message in HTML formatter. (Nikita)
966
- * Overriding a method that causes a NoMethodError when a Before hook is called on a feature run that has no scenarios. (ccthiel)
967
-
968
- ## [1.0.3](https://github.com/cucumber/cucumber-ruby/compare/v1.0.2...v1.0.3)
969
-
970
- ### Bugfixes
971
- * Do not escape the replaced entity ([#126](https://github.com/cucumber/cucumber-ruby/pull/126) Jonathan Tron)
972
-
973
- ### New Features
974
- * DocStrings now have a content_type ([#132](https://github.com/cucumber/cucumber-ruby/issues/132) Matt Wynne)
975
-
976
- ## [1.0.2](https://github.com/cucumber/cucumber-ruby/compare/v1.0.1...v1.0.2)
977
-
978
- ### Bugfixes
979
- * Cucumber 1.0.1 breaks cuke4duke ([#104](https://github.com/cucumber/cucumber-ruby/issues/104) Aslak Hellesøy)
980
-
981
- ### New Features
982
- * Better line truncation if $CUCUMBER_TRUNCATE_OUTPUT has a max line length value. (Aslak Hellesøy)
983
-
984
- ### Changes Features
985
- * --no-source also excludes location from the summary. (Aslak Hellesøy)
986
-
987
- ## [1.0.1](https://github.com/cucumber/cucumber-ruby/compare/v1.0.0...v1.0.1)
988
-
989
- ### Bugfixes
990
- * Removed extra colons emitted by rerun formatter ([#99](https://github.com/cucumber/cucumber-ruby/pull/99) Juan Manuel Barreneche)
991
- * cucumber 1.0.0 wrong number of arguments error when generating json format on jruby for windows ([#97](https://github.com/cucumber/cucumber-ruby/issues/97) (Aslak Hellesøy)
992
- * Recent change to junit.rb breaks on Windows ([#81](https://github.com/cucumber/cucumber-ruby/issues/81), [#86](https://github.com/cucumber/cucumber-ruby/pull/86) Johnlon, Aslak Hellesøy)
993
- * Cucumber fails on nil and does not print out failed tests ([#95](https://github.com/cucumber/cucumber-ruby/pull/95) Nikita)
994
- * Javascript code is not being displayed in HTML output ([#58](https://github.com/cucumber/cucumber-ruby/issues/58) Aslak Hellesøy)
995
-
996
- ### New Features
997
- * If the CUCUMBER_TRUNCATE_OUTPUT environment variable is set, lines will be truncated. Used by the Cucumber book. (Aslak Hellesøy)
998
-
999
- ## [1.0.0](https://github.com/cucumber/cucumber-ruby/compare/v0.10.6...v1.0.0)
1000
-
1001
- Yipeeeeeeeee!
1002
-
1003
- ### New Features
1004
- * Use Rake 1.9.2 for development (Aslak Hellesøy)
1005
- * Rake task exits with an error if rcov is true and we're on Ruby 1.9.x (Aslak Hellesøy)
1006
- * Started implementation of cucumber-features (Mike Sassak, Julien Biezemans, Aslak Hellesøy)
1007
-
1008
- ## [0.10.6](https://github.com/cucumber/cucumber-ruby/compare/v0.10.5...v0.10.6)
1009
-
1010
- ### New Features
1011
- * API docs at http://cukes.info/cucumber/api/ruby/latest/
1012
-
1013
- ### Bugfixes
1014
- * Fixed a regression in the HTML formatter's #embed implementation (#77 Aslak Hellesøy)
1015
-
1016
- ## [0.10.5](https://github.com/cucumber/cucumber-ruby/compare/v0.10.3...v0.10.5)
1017
-
1018
- (0.10.4 was forgotten!)
1019
-
1020
- ### Changed features
1021
- * The announce method is deprecated. Use puts instead (#67 Aslak Hellesøy)
1022
- * The announce_world method is gone. Use puts(self) instead (#67 Aslak Hellesøy)
1023
-
1024
- ### New Features
1025
- * Better JUnit formatter support for sub directories and scenario outlines (#59, #61, #62 Matt Simpson, Kenny Ortmann)
1026
-
1027
- ### Bugfixes
1028
- * Fix for Gem.available? deprecation warning (#75 Jake Benilov)
1029
- * Update URLs to reflect Cucumber's new location on Github (Jake Benilov)
1030
-
1031
- ## [0.10.3](https://github.com/cucumber/cucumber-ruby/compare/v0.10.2...v0.10.3)
1032
-
1033
- ### New Features
1034
- * Better JUnit formatter support for sub directories and scenario outlines (#59 Matt Simpson)
1035
- * Coloured output that spans several lines sets colours for each line. (Aslak Hellesøy)
1036
- * New bundler attribute on the Rake task, allowing faster execution. (Aslak Hellesøy)
1037
- * Fix Table#rows cell ordering in ruby 1.8. (#47_github Brian Dunn)
1038
- * JUnit Formatter: record skipped/pending/undefined scenario results (#655 meeee)
1039
-
1040
- ## [0.10.2](https://github.com/cucumber/cucumber-ruby/compare/v0.10.1...v0.10.2)
1041
-
1042
- ### Bugfixes
1043
- * Neuter both MiniTest::Unit and Test::Unit's overzealous test runners. (Aslak Hellesøy)
1044
-
1045
- ## [0.10.1](https://github.com/cucumber/cucumber-ruby/compare/v0.10.0...v0.10.1)
1046
-
1047
- ### New Features
1048
- * The #embed method can take a 3rd optional label argument. In the HTML report that's used for the link title. (Pat Leamon)
1049
- * Render .wire files through ERB (Kevin Olbrich)
1050
- * Happy coexistence with Rake 0.9 (Cezary Baginski)
1051
- * Add -l, --lines option just like rspec's (Gabriel Horner)
1052
- * Support for named transforms. See features/transforms.feature (Matt Wynne)
1053
- * Experimental support for non-UTF-8 encoding in feature files. A "# encoding=iso-8859-1" header (or any other encoding)
1054
- in the file will read the file in with that encoding and convert it to UTF-8 before it's parsed with gherkin.
1055
- Step definition arguments will be passed in UTF-8 encoded strings regardless of the encoding in the feature file.
1056
- * Better error message if there is no features directory (David Lindes)
1057
- * Include scenario file reference in html formatter output (Brandon Faloona)
1058
- * Relax gem dependencies to use >= instead of ~> (Rob Slifka, Aslak Hellesøy)
1059
-
1060
- ### Bugfixes
1061
- * Missing methods in Runtime::ForProgrammingLanguages - make v8 example run again (Chris Mytton)
1062
- * Features files are sorted before they are executed, giving consistent results across different OSes (Guewen Baconnier)
1063
- * Remove duplicate lines in backtraces in the HTML report (Jari Bakken)
1064
-
1065
- ## [0.10.0](https://github.com/cucumber/cucumber-ruby/compare/v0.9.4...v0.10.0)
1066
-
1067
- We're bumping the minor number in this release because there are some incompatible changes in the JSON support.
1068
- This should not affect users. The major new feature in this release is ANSICON support for Windows users.
1069
-
1070
- ### New Features
1071
- * map_column! should allow a string or symbol as the column name passed in (Ed Schmalzle)
1072
- * Deprecate win32console and use ANSICON instead (Boško Ivanišević)
1073
- * Set builder dependency to >= 2.1.2, which will work with both Rails 2 and 3. (bUg., David Trasbo, Matt Wynne)
1074
-
1075
- ### Bugfixes
1076
- * Changed the HTML formatter to show Scenarios with 'Pending' steps to be yellow rather than green (Arti)
1077
-
1078
- ### Changed Features
1079
- * JSON output now contains optional "match", "result" and "embeddings" elements underneath each step. (Aslak Hellesøy)
1080
-
1081
- ## [0.9.4](https://github.com/cucumber/cucumber-ruby/compare/v0.9.3...v0.9.4)
1082
-
1083
- ### Bugfixes
1084
- * Superfluous space after step_keyword value in snippet_text message (#679 Aslak Hellesøy)
1085
- * Better Handling for "puts" in HTML formatter (#676 Stephen Kennedy)
1086
- * Too many open files - getcwd (#666 Aslak Hellesøy)
1087
- * Cucumber 0.9.3 prevents Test::Unit from running (#677 Aslak Hellesøy)
1088
- * Performance degradation when running feature files with over 1000 steps (#675 Dimitri Geshef)
1089
-
1090
- ## [0.9.3](https://github.com/cucumber/cucumber-ruby/compare/v0.9.2...v0.9.3)
1091
-
1092
- ### Bugfixes
1093
- * Better JSON representation of Regexps (Aslak Hellesøy)
1094
- * Update to work with latest spork (Matt Wynne)
1095
- * Prevent MiniTest::Unit#autorun from running in at_exit hook. (Aslak Hellesøy)
1096
- * Fixed incorect --help for --strict. It fails on both pending and undefined. (Aslak Hellesøy)
1097
-
1098
- ## [0.9.2](https://github.com/cucumber/cucumber-ruby/compare/v0.9.1...v0.9.2)
1099
-
1100
- ### Bugfixes
1101
- * Too many open files - getcwd (#666 Aslak Hellesøy)
1102
-
1103
- ## [0.9.1](https://github.com/cucumber/cucumber-ruby/compare/v0.9.0...v0.9.1)
1104
-
1105
- ### Bugfixes
1106
- * Just a minor internal change to make Cuke4Duke happy. (Aslak Hellesøy)
1107
-
1108
- ## [0.9.0](https://github.com/cucumber/cucumber-ruby/compare/v0.8.5...v0.9.0)
1109
-
1110
- Maintenance release for the new release of Gherkin 2.2.3.
1111
-
1112
- ### Bugfixes
1113
- * Compatibility with rspec-2.0.0.beta.19 mocks (Aslak Hellesøy)
1114
- * JUnit formatter now puts output in CDATA sections. (Dmitry Amelchenko)
1115
-
1116
- ### New features
1117
- * --dry-run now shows snippets (Ben Hall)
1118
- * Use Bundler for dependency management. (Aslak Hellesøy, Rob Hunter)
1119
-
1120
- ### Removed features
1121
- * No more Jeweler
1122
-
1123
- ### Internal changes
1124
- * Big refactoring of StepMother (Matt Wynne)
1125
-
1126
- ## [0.8.5](https://github.com/cucumber/cucumber-ruby/compare/v0.8.4...v0.8.5)
1127
-
1128
- ### Bugfixes
1129
- * Location of stepdefs outside the project (in gems) are reported incorrectly. (#583 Aslak Hellesøy)
1130
- * Cucumber::Rake::Task uses 'bundle exec' when using bundler (#626 John Firebaugh)
1131
-
1132
- ## [0.8.4](https://github.com/cucumber/cucumber-ruby/compare/v0.8.3...v0.8.4)
1133
-
1134
- ### Bugfixes
1135
- * Fix "Errno::EADDRNOTAVAIL" errors that may be received with spork on Snow Leopard. (Lucas Mundim)
1136
-
1137
- ### New features
1138
- * Detect limit for negative tags (#636 Aslak Hellesøy)
1139
- * Support for RSpec 2 doubles (mocks and stubs) (Aslak Hellesøy)
1140
-
1141
- ## [0.8.3](https://github.com/cucumber/cucumber-ruby/compare/v0.8.2...v0.8.3)
1142
-
1143
- Just a quick bugfix release.
1144
-
1145
- ### Bugfixes
1146
- * Scenario outlines that fail with exception exit process (Aslak Hellesøy)
1147
-
1148
- ## [0.8.2](https://github.com/cucumber/cucumber-ruby/compare/v0.8.1...v0.8.2)
1149
-
1150
- Bugfix release which most importantly fixes an issue with the gem's gemspec.
1151
-
1152
- ### Bufixes
1153
- * Fix v8 support which broke in 0.8.1 because of new gherkin API (Aslak Hellesøy)
1154
- * Call Around hooks for each example in scenario outlines. (John Firebaugh)
1155
- * Remove extraneous tmp file from the gemspec, which broke installation in some environments. (Fernando Brito, Aslak Hellesøy)
1156
- * 0.8.1 fails on JRuby (#627 Aslak Hellesøy)
1157
-
1158
- ### New Features
1159
- * JavaScript to Hide/Expand Scenarios in HTML report (#621 stkenned)
1160
-
1161
- ## [0.8.1](https://github.com/cucumber/cucumber-ruby/compare/v0.8.0...v0.8.1)
1162
-
1163
- ### Bufixes
1164
- * generate test report fails: ast/outline_table.rb fails in status() (#615 Aslak Hellesøy)
1165
-
1166
- ### New Features
1167
- * Undefined steps with integers (Given 3 cukes) will generate snippets like (Given /(\d+) cukes/). (Aslak Hellesøy)
1168
-
1169
- ## [0.8.0](https://github.com/cucumber/cucumber-ruby/compare/v0.7.3...v0.8.0)
1170
-
1171
- ### Bugfixes
1172
- * Require profile option causes a NoMethodError for Cucumber with JRuby (#601 John Firebaugh)
1173
- * Deprecations warnings with Spork + Cucumber + RSpec 2.0. (#619 Brian Cardarella)
1174
- * Fixed edge case compatibility problem with Gherkin 1.0.30. (#618 Aslak Hellesøy)
1175
-
1176
- ### New features
1177
- * Better table support in the V8 Javascript support (Joseph Wilk)
1178
- * JSON formatters (json and json_pretty). (Jari Bakken)
1179
-
1180
- ### Removed features
1181
- * The --no-diff option is removed. If you're using RSpec you will*always* get diffs. (Aslak Hellesøy)
1182
-
1183
- ### Changed Features
1184
- * Upgraded to be compatible with rspec 2.0.0.beta.10 (Aslak Hellesøy)
1185
- * Ruby snippets will use "([^"]*)" instead of "([^\"]*)"$/ - wasn't properly fixed in 0.7.1. (Aslak Hellesøy)
1186
- * Preserve the order features files are passed and use this for execution order (#617 Joseph Wilk)
1187
-
1188
- ## [0.7.3](https://github.com/cucumber/cucumber-ruby/compare/v0.7.2...v0.7.3)
1189
-
1190
- ### New Features
1191
- * Table cells can now contain escaped bars - \| and escaped backslashes - \\. (Gregory Hnatiuk, Aslak Hellesøy)
1192
- * Added support for Around hooks. (#605 John Firebaugh)
1193
-
1194
- ## [0.7.2](https://github.com/cucumber/cucumber-ruby/compare/v0.7.1...v0.7.2)
1195
-
1196
- ### Bugfixes
1197
- * REALLY add backwards compatibility fix (with deprecation warning) for legacy 0.6.4 formatters. (Aslak Hellesøy)
1198
-
1199
- ## [0.7.1](https://github.com/cucumber/cucumber-ruby/compare/v0.7.0...v0.7.1)
1200
-
1201
- ### Bugfixes
1202
- * Add backwards compatibility fix (with deprecation warning) for legacy 0.6.4 formatters. (Aslak Hellesøy)
1203
-
1204
- ### Changed Features
1205
- * Ruby and Javascript snippets will use "([^"]*)" instead of "([^\"]*)"$/ (Aslak Hellesøy)
1206
-
1207
- ## [0.7.0](https://github.com/cucumber/cucumber-ruby/compare/v0.7.0.beta.8...v0.7.0)
1208
-
1209
- This release is an important milestone for Cucumber. A new parser (the gherkin gem) parses feature
1210
- files 50-100 times faster than with 0.6.x and previous releases. Make sure you read the upgrade
1211
- instructions! http://wiki.github.com/aslakhellesoy/cucumber/upgrading
1212
-
1213
- ## [0.7.0.beta.8](https://github.com/cucumber/cucumber-ruby/compare/v0.7.0.beta.7...v0.7.0.beta.8)
1214
-
1215
- ### Bugfixes
1216
- * Inconsistent order of execution Background and Before in 0.7.0.beta.2 (#600 Mike Sassak)
1217
- * Make sure both lexing and parsing errors are captured and reported with line number (Gregory Hnatiuk)
1218
-
1219
- ## [0.7.0.beta.7](https://github.com/cucumber/cucumber-ruby/compare/v0.7.0.beta.6...v0.7.0.beta.7)
1220
-
1221
- ### Bugfixes
1222
- * Depend on gherkin-1.0.22, which should now make things work on Windows and Ruby 1.8.x-1.9.x. (Aslak Hellesøy)
1223
-
1224
- ## [0.7.0.beta.6](https://github.com/cucumber/cucumber-ruby/compare/v0.7.0.beta.5...v0.7.0.beta.6)
1225
-
1226
- ### Bugfixes
1227
- * Fixed a small regression with pystrings and calling steps from stepdefs, introduced in a previous beta. (Aslak Hellesøy)
1228
-
1229
- ## [0.7.0.beta.5](https://github.com/cucumber/cucumber-ruby/compare/v0.7.0.beta.4...v0.7.0.beta.5)
1230
-
1231
- ### New Features
1232
- * Support RSpec 2. (RSpec >= 1.2.4 is still supported). (Aslak Hellesøy, Ryan Bigg)
1233
-
1234
- ### Removed features
1235
- * No more support for RSpec <= 1.2.3. (Aslak Hellesøy)
1236
-
1237
- ## [0.7.0.beta.4](https://github.com/cucumber/cucumber-ruby/compare/v0.7.0.beta.3...v0.7.0.beta.4)
1238
-
1239
- ### New Features
1240
- * New, experimental V8 javascript support - step definitions in Javascript! (Joseph Wilk)
1241
-
1242
- ### Bugfixes
1243
- * Gherkin is loaded via rubygems if it can't be found on the $LOAD_PATH. (Aslak Hellesøy)
1244
-
1245
- ## [0.7.0.beta.3](https://github.com/cucumber/cucumber-ruby/compare/v0.7.0.beta.2...v0.7.0.beta.3)
1246
-
1247
- ### Changed Features
1248
- * Step Definitions and calling steps from step definitions can again use And and But (was removed in 0.7.0.beta.2) (Aslak Hellesøy)
1249
-
1250
- ## [0.7.0.beta.2](https://github.com/cucumber/cucumber-ruby/compare/v0.7.0.beta.1...v0.7.0.beta.2)
1251
-
1252
- ### New Features
1253
- * Depend on Gherkin 1.0.18, which has some bugfixes. (Aslak Hellesøy)
1254
-
1255
- ## [0.7.0.beta.1](https://github.com/cucumber/cucumber-ruby/compare/v0.6.4...v0.7.0.beta.1)
1256
-
1257
- Treetop is gone and replaced with Ragel. The new Ragel parser lives in the gherkin gem.
1258
- Parse times are up to 100 times faster.
1259
-
1260
- ### New Features
1261
- * Upgraded Sinatra example to use Sinatra 1.0 and Capybara. (Aslak Hellesøy)
1262
-
1263
- ### Changed Features
1264
- * New i18n translations now have to be contributed to the gherkin project.
1265
-
1266
- ## [0.6.4](https://github.com/cucumber/cucumber-ruby/compare/v0.6.3...v0.6.4)
1267
-
1268
- ### Bugfixes
1269
- * Better handling of --guess with optional capture groups (Tim Felgentreff)
1270
- * Parsing of rerun.txt can't use Shellwords on Windows (#581 David Esposito)
1271
- * \#puts can now take non-String arguments just like Kernel#puts - #to_s is done implicitly. (Aslak Hellesøy)
1272
- * Attempt to fix Cucumber::CODEPAGE error again for Windows (#561 Aslak Hellesøy)
1273
- * Tab indentation causes multiline step arguments to fail (#585 Aslak Hellesøy)
1274
- * Properly pass tags over the wire protocol (Matt Wynne)
1275
- * Profile loading should honour the --strict option (#580 Rob Holland)
1276
- * Snippets are properly printed when using '*' as step keyword. (Used to cause infinite recursion). (Aslak Hellesøy)
1277
-
1278
- ### New features
1279
- * Added #puts_world method, printing the World class and all included modules (Ruby only). (Aslak Hellesøy)
1280
- * Added #puts to the PDF formatter (Nicolas Bessi)
1281
- * Show fails for After/Before hooks in the progress formatter (#584 Joseph Wilk)
1282
-
1283
- ### Changed features
1284
- * Switced to ISO 639-1 (language) and ISO 3166 alpha-2 (region - if applicable). Applies to Catalan,
1285
- Swedish, Welsh, Romanian and Serbian. (Aslak Hellesøy)
1286
-
1287
- ## [0.6.3](https://github.com/cucumber/cucumber-ruby/compare/v0.6.2...v0.6.3)
1288
-
1289
- ### Bugfixes
1290
- * Split arguments in cucumber.yml with shellwords. Example: myprofile: --out="Features report.html" (Nathaniel Haas)
1291
- * Breakage in Rails 2-3-stable after html_safe is added to the repo. (#577 Aslak Hellesøy)
1292
- * uninitialized constant Cucumber::CODEPAGE (NameError) (#561 Aslak Hellesøy)
1293
- * HTML Formatter is broken in cucumber 0.6.2 and cuke4duke 0.2.3 (#567 Dan Fitch)
1294
- * Ensure consistent load order of support files (#564 Mike Sassak)
1295
- * Fix various places in PDF formatter where HTML entities could break prawn (Matt Wynne)
1296
- * The rerun formatter outputs failed, pending and undefined scenarios (before: only failing) (Aslak Hellesøy)
1297
-
1298
- ### New features
1299
- * Added "Angenommen" as German synonym for Given (Sven Fuchs, Aslak Hellesøy)
1300
- * New #ask(question, timeout_seconds=60) method available to stepdefs. Asks for input and #puts-s question and answer. (Aslak Hellesøy)
1301
- * Links to step definitions are now clickable in TextMate's HTML report (Rob Aldred)
1302
- * Add diff! message to wire protocol to allow for immediate diff response to invokes (Matt Wynne)
1303
- * Add tags to begin/end scenario messages on wire protocol to support tagged hooks (#571 Matt Wynne)
1304
- * Default timeouts to 120s for invoke, begin_scenario and end_scenario messages in wire protocol (#572 Matt Wynne)
1305
-
1306
- ## [0.6.2](https://github.com/cucumber/cucumber-ruby/compare/v0.6.1...v0.6.2)
1307
-
1308
- ### Bugfixes
1309
- * Update --help for --tags which was out of date. (Aslak Hellesøy)
1310
- * Explicitly use Prawn 0.6.3 for pdf formatter since 0.7.1 is broken (Aslak Hellesøy)
1311
- * PDF formatter renders tables incorrectly (#553 Andy Waite)
1312
- * Better colouring in HTML report (Rob Aldred)
1313
- * Detect output encoding properly on JRuby+Windows (Aslak Hellesøy)
1314
- * Added option to override output encoding on Windows with an CUCUMBER_OUTPUT_ENCODING env var (Aslak Hellesøy)
1315
- * PDF generation requires 'prawn-format' (#558 Aslak Hellesøy)
1316
-
1317
- ### New features
1318
- * Show profiles in error scenario summary. (#550 Joseph Wilk)
1319
-
1320
- ### Removed features
1321
- * element_at and table_at have been removed. Use tableish in cucumber-rails instead. (Aslak Hellesœy)
1322
-
1323
- ## [0.6.1](https://github.com/cucumber/cucumber-ruby/compare/v0.6.0...v0.6.1)
1324
-
1325
- ### Bugfixes
1326
- * Fixed broken console handling on Windows/JRuby that was introduced in 0.6.0. (Aslak Hellesøy)
1327
-
1328
- ## [0.6.0](https://github.com/cucumber/cucumber-ruby/compare/v0.5.3...v0.6.0)
1329
-
1330
- Bumping to 0.6.0 for this release since we're breaking backwards compatibility with tags.
1331
-
1332
- ### Changed Features
1333
- * Tag boolean logic is inverted. What was ORed before is now ANDed and vice versa. (#504 Aslak Hellesøy)
1334
- This makes it more practical in most cases to mix tags from profiles and the command line
1335
-
1336
- In previous versions the following command line:
1337
-
1338
- `--tags @foo,~@bar --tags @zap (on the command line)`
1339
-
1340
- or the following Hook:
1341
-
1342
- `Before("@foo,~@bar", "@zap") (for Hooks)`
1343
-
1344
- would be equivalent to the boolean expression: (@foo && !@bar) || @zap
1345
- Starting with this release it will be equivalent to: (@foo || !@bar) && @zap
1346
-
1347
- ### Bugfixes
1348
- * Cucumber not loading the correct settings using autospec (#496, #523 Aslak Hellesøy, Andrzej Śliwa)
1349
- * Ruby 1.9.2 fails to load features/support/env.rb (#549 Aslak Hellesøy)
1350
- * All features (except 4) pass on 1.9.2 (but not on 1.9.1) (Aslak Hellesøy)
1351
- * Add missing require statement in rerun formatter which broke RubyMine (Noah Sussman)
1352
-
1353
- ## [0.5.3](https://github.com/cucumber/cucumber-ruby/compare/v0.5.2...v0.5.3)
1354
-
1355
- Another small release today to please a sister project. This time Cuke4Nuke.
1356
-
1357
- ### New Features
1358
- * Simplified wire protocol to mostly use success / fail responses (Matt Wynne)
1359
-
1360
- ## [0.5.2](https://github.com/cucumber/cucumber-ruby/compare/v0.5.1...v0.5.2)
1361
-
1362
- ### New Features
1363
- * On JRuby/Cuke4Duke, --require DIR will put DIR on the $CLASSPATH, making it easier to load step def classes (Aslak Hellesøy)
1364
- * New --jars option that will load jar files. Only available on JRuby. Practical for Cuke4Duke. (Aslak Hellesøy)
1365
-
1366
- ### Bugfixes
1367
- * Add #embed back to html formatter (#547 Brandon Faloona)
1368
- * Refactored wire protocol code and added configurable timeout to allow for long running step definitions. (#546 Matt Wynne)
1369
-
1370
- ## [0.5.1](https://github.com/cucumber/cucumber-ruby/compare/v0.5.0...v0.5.1)
1371
-
1372
- Small bugfix release.
1373
-
1374
- ### Bugfixes
1375
- * Replaced dependency on json gem with an error message, so that the cucumber gem installs on JRuby. (Aslak Hellesøy)
1376
-
1377
- ## [0.5.0](https://github.com/cucumber/cucumber-ruby/compare/v0.4.4...v0.5.0)
1378
-
1379
- We're bumping to 0.5.0 for this release since all of the Rails code has now moved to a new gem - cucumber-rails.
1380
- Please see History.txt in cucumber-rails for details about what's new on the Rails side.
1381
-
1382
- ### New features
1383
- * "Given" in Dutch is now aliased to "Gegeven" or "Stel". (Iain Hecker)
1384
- * New --i18n option to list keywords in various languages. (Aslak Hellesøy)
1385
- * Added a Tcl example using Sam Stephenson's ruby-tcl (Aslak Hellesøy)
1386
- * Added* as a synonym for Given/When/Then/And/But (for all i18n languages). (#462 Aslak Hellesøy)
1387
- * The HTML formatter produces a much nicer report, with TextMate link integration. (Rob Aldred)
1388
- * Wire protocol now supports table arguments, step definition source & regexp, snippets, pending, table diffing (Matt Wynne)
1389
-
1390
- ### Changed Features
1391
- * Per-word trailing-space setting for step keywords using '<'. See 'fr' in languages.yml for example. (#525 Gregory Hnatiuk)
1392
- * Formatters will no longer be passed File objects. They must use ensure_io, ensure_file or ensure_dir. (Aslak Hellesøy)
1393
-
1394
- ### Bugfixes
1395
- * Exception messages are properly escaped in the HTML report. (Aslak Hellesøy)
1396
- * Improved UTF-8 support for Windows. (Aslak Hellesøy)
1397
- * Make #element_at / #table_at work on Webrat 0.6.0. This is now deprecated it in favour of #tableish from the cucumber-rails gem. (Aslak Hellesøy)
1398
- * JUnit formatter not handling multiline table steps inside Scenario Outlines (#538 Matt Wynne)
1399
- * Pending in scenario outline is red (#399 Matt Wynne)
1400
- * Allow optional step arguments to play happily with step transforms (Rob Holland)
1401
- * Regex escape the path when filtering the backtrace (Corey Donohoe & Simon Rozet)
1402
- * Add gem dependency on JSON gem, required by wire protocol (#533 Matt Wynne)
1403
-
1404
- ### Removed Features
1405
- * All Rails-related code is in a separate gem: cucumber-rails. Install that if you're working with Rails. (#483 Aslak Hellesøy)
1406
- * --language is removed: http://wiki.github.com/aslakhellesoy/cucumber/spoken-languages (Aslak Hellesøy)
1407
-
1408
- ## [0.4.4](https://github.com/cucumber/cucumber-ruby/compare/v0.4.3...v0.4.4)
1409
-
1410
- What a bad day to make a release, but here goes.
1411
-
1412
- ### New features
1413
- * Cucumber should use ActiveSupport::Callbacks for fixtures (#516 Adam Salter)
1414
- * Make 'I' optional in all webrat steps. (Gavin Hughes)
1415
- * Make generated cucumber.rake work with a vendored gem (Alex Rothenberg)
1416
- * Native support for ANSIColor on IronRuby via the iron-term-ansicolor gem (Will Green)
1417
- * Call a bunch of steps from step definitions - also with tables or pystrings. Copy-paste friendly (Bodaniel Jeanes, Jack Chen, Aslak Hellesøy)
1418
-
1419
- ### Bugfixes
1420
- * Pretty printer fails when expanding scenario outlines with -x when the background includes a table (#515 Mike Sassak)
1421
- * Ensure tags used with Before/After hooks always get parsed (#520 Joseph Wilk)
1422
- * Define IRONRUBY correctly on Ruby 1.9 (Joe Van Dyk)
1423
- * RbStepDefinition#invoke calls #backtrace_line on self rather than @proc (#503 Mike Sassak)
1424
- * Avoid duplicate cucumber entries in database.yml (Daniel Hofstetter)
1425
- * Added respond_to? when checking config.cache_classes for older Rails versions (Jeremy Durham)
1426
-
1427
- ### Changed Features
1428
- * Rails support has been moved to the cucumber-rails gem (Dennis Blöte, Aslak Hellesøy) TODO - WIKI DOCUMENTATION BEFORE RELEASE
1429
- * The code for Czech has changed from cz to cs. (deepj)
1430
- * $cucumber_interrupted is now Cucumber.wants_to_quit - avoid global variable, which gives warnings. (Aslak Hellesøy)
1431
- * Examples keyword without a colon is deprecated loudly. Gherkin will not recognize it at all. (Gherkin #30 Mike Sassak)
1432
-
1433
- ## [0.4.3](https://github.com/cucumber/cucumber-ruby/compare/v0.4.2...v0.4.3)
1434
-
1435
- The exciting thing about this release is that the wire protocol is starting to take shape. This means you can
1436
- now use Cucumber with .NET - writing step definitions in C#. And this is without having to use IronRuby at all!
1437
- See Cuke4Nuke (http://wiki.github.com/richardlawrence/Cuke4Nuke) for more information.
1438
-
1439
- As usual there are several small features and bug fixes.
1440
-
1441
- ### New Features
1442
- * Add support for ORing tags which are passed in with seperate --tag arguments. Make comma seperated tags use AND (#368 Joseph Wilk)
1443
- * New Wire Protocol - allowing out of process execution of Cucumber scenarios. (#428 Matt Wynne)
1444
- * Added an example illustrating how to get screenshots in HTML reports (examples/watir) (Aslak Hellesøy)
1445
- * Added new #embed(file, mime_type) method to visitors and Ruby Worlds to make it easier to embed screenshots (Aslak Hellesøy)
1446
- * The #puts method available from Ruby Step Definitions will print*after* the step is executed. (#487 Zoltan Penzeli)
1447
- * Add support for rolling back transaction for all open database connections. (John Ferlito)
1448
- * Show scenario and step summary in HTML formatter (#285 Joseph Wilk)
1449
- * Ast::Table can now be constructed with an Array of Hash. (Aslak Hellesøy)
1450
-
1451
- ### Changed features
1452
- * The #puts method will no longer escape HTML if the html formatter is used. Escaping must be done manually. (Aslak Hellesøy)
1453
-
1454
- ### Bugfixes
1455
- * Fixed incorrect rendering of step arguments with UTF8 characters (Aslak Hellesøy)
1456
- * "--format rerun", with a Scenario Outline, kills cucumber (#492 Aslak Hellesøy)
1457
- * Usage formatter is not reporting time correctly. (Elliot Crosby-McCullough)
1458
- * JUnit formatter raises a more helpful error when run on a feature with no name. (#493 Matt Wynne)
1459
- * Better Danish translation (Thorbjørn Ravn Andersen)
1460
-
1461
-
1462
- ## [0.4.2](https://github.com/cucumber/cucumber-ruby/compare/v0.4.1...v0.4.2)
1463
-
1464
- Bugfix release. The 0.4.1 release was hosed when switching from Hoe to Jeweler.
1465
-
1466
- ## [0.4.1](https://github.com/cucumber/cucumber-ruby/compare/v0.4.0...v0.4.1)
1467
-
1468
- This is mostly a bugfix release. Some of Cucumber's own features have been fixed so they pass on more platforms,
1469
- making it easier for people to contribute. The README.txt also describes how to get up and running with the
1470
- development environment.
1471
-
1472
- ### Bugfixes
1473
- * Cucumber's features verified passing on MRI 1.8.6 (OSX), 1.8.7 (OSX), 1.9.1 (OSX/Win) and JRuby 1.4.0RC1 (OSX). (Aslak Hellesøy)
1474
- * Ensure no errors are raised when limiting with tags which are not in the feature set (#464 Joseph Wilk)
1475
- * Missing Romanian keywords added for Examples, Scenario Outline and Background (to my best google translate knowledge) (Aslak Hellesøy)
1476
- * Make rerun and --drb work together again after formatter API changes (#485 Erik Hansson, John Ferlito)
1477
-
1478
- ### New Features
1479
- * The Rails cucumber generator will only default to RSpec if installed. And print better help. (Aslak Hellesøy)
1480
- * Added 'but' variants to Japanese. (Kakutani Shintaro)
1481
- * README.txt explains people how to run all tests. Install gems with geminstaller. (Aslak Hellesøy)
1482
- * Added support for Serbian language, both Cyrillic and Latin with usage examples. (Dejan Dimic)
1483
- * Add new 'debug' formatter for debugging and visualising the calls to listeners. (Matt Wynne)
1484
-
1485
- ### Changed features
1486
- * Use http://github.com/aslakhellesoy/wac instead of http://github.com/aslakhellesoy/ansicolor on Windows/JRuby (#456 Aslak Hellesøy)
1487
-
1488
- ### Internal changes
1489
- * Ditched Hoe for Jeweler (Aslak Hellesøy)
1490
- * Added StepMother#invoke(step_name, multiline_argument=nil) - needed by cuke4duke ticket #26 (Aslak Hellesøy)
1491
- * StepDefinitionMethods is gone.
1492
-
1493
- ## [0.4.0](https://github.com/cucumber/cucumber-ruby/compare/v0.3.104...v0.4.0)
1494
-
1495
- The back to stable release. When we went from 0.3.11 to 0.3.90 we thought we were close to a 0.4.0 release. Then the community
1496
- went nuts and a lot of great contributions came in. Some of those broke backwards compatibility, and we decided it would be
1497
- better to do this while still on 0.3.x.
1498
-
1499
- Rails users: you*must* run script/generate cucumber after installing this version.
1500
-
1501
- If something breaks for you, please please please read this file carefully. It's most likely something referenced here, and
1502
- that will give you more information so you can solve any problems. If not, just get in touch on IRC or the Google Group.
1503
-
1504
- ### New Features
1505
- * Total feature parsing time is shown when run with --verbose. Useful for benchmarking with future Ragel parser (Aslak Hellesøy)
1506
- * Tables yielded to step definitions are no longer frozen, so you can edit their data without #dup'ing (Aslak Hellesøy)
1507
- * Transform can now transform tables, using /table:col1,col2,col3/ (#478 Corey Haines)
1508
- * cucumber.yml can also end in .yaml and be located in .config/ or config/ dirs (#447 trans)
1509
- * Turkish support. (Hakan Şenol Ensari)
1510
- * Upgrade Rails generator to set a dependency to Spork 0.7.3. (Aslak Hellesøy)
1511
- * Installation via rubygems will print a message telling people to read this file. (Aslak Hellesøy)
1512
- * Files generated by the Rails cucumber generator have information about the risks of editing. (Aslak Hellesøy)
1513
- * Rotten Cucumber alert on Rails if you upgrade your gem without regenerating with script/generate cucumber. (Aslak Hellesøy)
1514
- * Stop the confusion between "homepage" and "home page" by allowing both (Ryan Bigg & Bodaniel Jeanes)
1515
- * Make script/cucumber file generated by the Rails cucumber generator look for cucumber in vendored gems as well. (Tom ten Thij)
1516
-
1517
- ### Changed Features
1518
- * Step tables now default empty table cells to empty strings and not nil (#470 Joseph Wilk)
1519
-
1520
- ### Removed Features
1521
- * The feature_list, feature_pattern, step_list and step_pattern properties are removed from the Rake task. Use profiles instead. (Aslak Hellesøy)
1522
- * The FeatureTask is removed. Use profiles instead.
1523
-
1524
- ### Bugfixes
1525
- * instance_exec get declared private (#477 Tim Galeckas)
1526
- * Transforms can return nil. (Thomas Marek)
1527
- * Generated rails rake tasks doesn't use the vendored version cucumber binary (#468 Josh Nichols)
1528
- * Incorrect diagnostics in case when Before raises in presence of Background (#465 Fedor Kocherga)
1529
- * Error on pystring in scenario outline with pretty formatter (#475 Aslak Hellesøy)
1530
- * Adding After('@allow-rescue') to set allow_rescue back to its former value. (Alf Mikula)
1531
- * Feature files are now sorted before they are executed, because different operating systems may list files differently. (Aslak Hellesøy)
1532
- * Fixed image loading for Windows in PDF formatter. Allow use of both png and jpg. (#461 Declan Whelan)
1533
- * Before('~@no-txn') is run on all scenarios without @no-txn causing Cucumber::Rails::World.use_transactional_fixtures to always be true. (#457 Aslak Hellesøy)
1534
- * JUnit formatter not handling scenario outline tables (#472 Matt Wynne)
1535
- * Language help broken (#467 Matt Wynne)
1536
- * Language help formatter aligns output better on Ruby 1.8.6 (Aslak Hellesøy)
1537
- * Better backtraces for Ruby 1.8.7. (Jakob Skov-Pedersen)
1538
- * String step definitions ( Given 'I have $number cucumbers' ) are escaped before being turned into regular expressions. (David Waite)
1539
-
1540
- ## [0.3.104](https://github.com/cucumber/cucumber-ruby/compare/v0.3.103...v0.3.104)
1541
-
1542
- This release has some minor changes to the command line and formatters. The biggest change is internally, paving
1543
- the way for more programming language support in Cuke4Duke, which now supports step definitions written in Java, Scala,
1544
- Groovy, Clojure and Javascript!
1545
-
1546
- ### New Features
1547
- * "usage" formatter should display progress (#437 Aslak Hellesøy)
1548
- * Added example for Ramaze. (Yutaka HARA)
1549
-
1550
- ### Bugfixes
1551
- * Fixed regression in profile formatter from 0.3.102. (Aslak Hellesøy)
1552
- * Raise a proper error message if someone forgets @ for tags, example: --tags ~foo or --tags bar. (Aslak Hellesøy)
1553
- * lib/cucumber/formatter/html.rb requires xml (#458 Brent Snook)
1554
- * lib/cucumber/formatter/html.rb requires ruby-debug (#455 Assaf Arkin)
1555
- * Allow for STDOUT formatters to be defined in profiles. Addresses an Autotest plugin issue. (#375 Gabriel Medina)
1556
-
1557
- ### Removed features
1558
- * The --dry-run option no longer implies --no-source and --no-snippets. It only implies --no-snippets. (Aslak Hellesøy)
1559
-
1560
- ### Changed features
1561
- * The profile and usage formatters have been combined to the usage formatter. Use it eith or without --dry-run. See --help for more. (Aslak Hellesøy)
1562
- * The steps formatter has been renamed to stepdefs formatter. (Aslak Hellesøy)
1563
- * The internal programming language API has changed, giving more power to the implementation. See #428. (Aslak Hellesøy)
1564
-
1565
- ## [0.3.103](https://github.com/cucumber/cucumber-ruby/compare/v0.3.102...v0.3.103)
1566
-
1567
- This release gives you back some of the control over the Rails environment that was accidentally taken away from you in the
1568
- previous release.
1569
-
1570
- Using this release on a Rails project requires a rerun of script/generate cucumber.
1571
-
1572
- ### New Features
1573
- * Added a new @no-txn tag to selectively turn off transactions for a particlular scenario.
1574
- * Added back a way to globally turn off transactions.
1575
- * Renamed @allow_rescue tag to @allow-rescue.
1576
-
1577
- ### Bugfixes
1578
- * Gracefully handle cases when optional regexp groups are not matched. Ex: /should( not)? be flashed '([^']*?)'$/ (Aslak Hellesøy)
1579
-
1580
- ### Changed Features
1581
- * The Formatter API has completely changed. Formatters are no longer a double-dispacth visitor - just a single-dispatch listener (#438 Matt Wynne)
1582
-
1583
- ## [0.3.102](https://github.com/cucumber/cucumber-ruby/compare/v0.3.101...v0.3.102)
1584
-
1585
- This release has some changes in the Rails support, so make sure you run "script/generate cucumber" after you upgrade.
1586
- Other noteworthy new features are improved Hook, tags and Transform support, and as always - several smaller bug fixes.
1587
-
1588
- ### New Features
1589
- * Added new internal API for Regexp and groups, allowing other programming languages to leverage native regexps. (Aslak Hellesøy)
1590
- * 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)
1591
- * 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)
1592
- * Transform has current "World" scope (Larry Diehl)
1593
- * Other Transforms can be reused by calling Transform with a string inside of another Transform definition (Larry Diehl)
1594
- * Execute "After" hooks in reverse order of declaration for better behavior with dependent blocks and to mimic the behavior of at_exit (David Waite)
1595
-
1596
- ### Bugfixes
1597
- * features/support/env.rb runs commands twice (bugfix cuts total time by almost 50% w00t) (#452 Jim Meyer)
1598
- * Problems adding custom formatters to features/support. (features/support is added to $LOAD_PATH) (#449 Aslak Hellesøy)
1599
- * Some options set in cucumber.yml profiles are ignored (#446 Leonard CHIN)
1600
- * Missing step_definition snippets not properly displayed (#433 Aslak Hellesøy)
1601
- * rspec-rails, :lib => false (#447 David Chelimsky)
1602
- * Cucumber with Spork breaks on OS X Snow Leopard (#431 David Chelimsky)
1603
-
1604
- ### Changed Features
1605
- * 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)
1606
-
1607
- ### Removed features
1608
- * The Cucumber::Rails.bypass_rescue no longer exists. Errors will always bubble up, unless you use the new @allow_rescue tag. (Aslak Hellesøy)
1609
- * The Cucumber::Rails.use_transactional_fixtures no longer exists. Transactional fixtures are always enabled for the cucumber environment. (Aslak Hellesøy)
1610
-
1611
- ## [0.3.101](https://github.com/cucumber/cucumber-ruby/compare/v0.3.100...v0.3.101)
1612
-
1613
- Two exciting things in this release. Step Argument Transforms and a PDF formatter you can use to send
1614
- your features to your customer for review!
1615
-
1616
- ### New Features
1617
- * New pdf formatter (#425 Mads Buus)
1618
- * Step Argument Transforms: These let you use the Transform method to register regular expressions
1619
- to catch and transform/coerce arguments before they are yielded to step definitions:
1620
- http://wiki.github.com/aslakhellesoy/cucumber/step-argument-transforms (Larry Diehl & Dave Astels)
1621
- * Adding webrat steps for asserting content does or does not exist within a particular element
1622
- (using webrat's within method) (Kieran Pilkington)
1623
-
1624
- ## [0.3.100](https://github.com/cucumber/cucumber-ruby/compare/v0.3.99...v0.3.100)
1625
-
1626
- The JavaZone release!
1627
-
1628
- ### New Features
1629
- * Added support for Uzbek (msarvar)
1630
- * The file argument on the cucumber command line will replace contents of file on cli if file is prefixed with @ (Tero Tilus)
1631
-
1632
- ### Bugfixes
1633
- * Backtraces on JRuby are handled in a cleaner way when the exception comes from Java (NativeException). (Aslak Hellesøy)
1634
- * When exceptions occur in a Before block the rest of the scenario is now skipped (#331 Matt Wynne)
1635
-
1636
- ## [0.3.99](https://github.com/cucumber/cucumber-ruby/compare/v0.3.98...v0.3.99)
1637
-
1638
- ### New Features
1639
- * Support for Croatian (Bkrsta)
1640
- * Make #feature available from scenario so you can do: Before{|scenario| scenario.feature}. (Aslak Hellesøy)
1641
- * cucumber.yml parsing supports ERB syntax (#427 Gregory Hnatiuk)
1642
- * New AfterConfiguration hook added; a block can be specified that takes Cucumber::Cli::Configuration (#423 Brent Snook)
1643
- * Cucumber::Cli::Configuration#feature_dirs and #out_stream exposed as public attributes so that they may be used in AfterConfiguration hook (#423 Brent Snook)
1644
-
1645
- ## [0.3.98](https://github.com/cucumber/cucumber-ruby/compare/v0.3.97...v0.3.98)
1646
-
1647
- Just a small release to help Cuke4Duke, which will be presented at Agile2009
1648
- in 2 days.
1649
-
1650
- ### New Features
1651
- * Backtrace filtering now happens in StepInvocation class, meaning other languages (Cuke4Duke) can get backtraces stripped. (Aslak Hellesøy)
1652
- * Cucumber::Ast::Table#map_headers now allows for a block that will convert all the headers. See docs for details. (Ben Mabey)
1653
-
1654
- ## [0.3.97](https://github.com/cucumber/cucumber-ruby/compare/v0.3.96...v0.3.97)
1655
-
1656
- The AA-FTT release. Creating a release for the AA-FTT meeting in Chicago so that we can play
1657
- with the new language API and maybe knock out some better .NET support.
1658
-
1659
- ### Bugfixes
1660
- * Allow comments on examples sections underneath scenario outlines (#420 Mike Sassak)
1661
- * Table.map_headers! will fail with a decent error message when 0 or 2+ headers are matched. (Aslak Hellesøy)
1662
- * Fixed an issue with comments with preceding spaces after a background causing a parse error (#401 Joseph Wilk)
1663
-
1664
- ### New Features
1665
- * The public API is documented and there is a new :sdoc task to generate nice searchable API docs.
1666
- * Add :default => :cucumber when setting up Rake tasks for Cucumber in Rails (Aslak Hellesøy)
1667
- * New When /^I fill in "([^\"]*)" for "([^\"]*)"$/ Webrat step for Rails (Aslak Hellesøy)
1668
-
1669
- ### Changed Features
1670
- * Changed the Programming Language API to support languages without "bleed through" (e.g. rubypython can't invoke ruby objs) (Aslak Hellesøy)
1671
- * The Programming Language API manages hooks on the language level instead of on the step mother level (Aslak Hellesøy)
1672
-
1673
- ## [0.3.96](https://github.com/cucumber/cucumber-ruby/compare/v0.3.95...v0.3.96)
1674
-
1675
- This release doesn't have any significant new features or bug fixes, but there are big
1676
- internal changes. This release has a new API for plugging in other programming languages.
1677
- You can read more about that here: http://groups.google.com/group/cukes/browse_thread/thread/b9db8bf1f3ec9708
1678
-
1679
- This might break other tools that are using Cucumber's internal APIs. For example Spork broke and had to
1680
- be patched. Please upgrade to Spork 0.5.9 if you are using Spork.
1681
-
1682
- ### New Features
1683
- * Ability to preload natural language in Spork's prefork. Rerun script/generate cucumber --spork to see how. (Aslak Hellesøy)
1684
- * Ability to control which DRb port is used via the --port flag or by setting CUCUMBER_DRB environment variable. (Chris Flipse)
1685
- * Upgrade Rails generator to use webrat 0.5.0. (Aslak Hellesøy)
1686
- * Upgrade Sinatra example to work with rack-test 0.4.1 and webrat 0.5.0. (Aslak Hellesøy)
1687
-
1688
- ### Changed Features
1689
- * --strict will cause an exit code 1 for missing and pending (used to be for missing only). (Mads Buus)
1690
- * junit formatter doesn't report pending steps unless --strict is used. (Mads Buus)
1691
-
1692
- ## [0.3.95](https://github.com/cucumber/cucumber-ruby/compare/v0.3.94...v0.3.95)
1693
-
1694
- This release improves Webrat support for table-like HTML markup. Now you can easily turn the HTML
1695
- elements table, dl, ol and ul elements into a 2D array. This is particularly useful for comparing
1696
- data in your HTML with a Cucumber table using Cucumber::Ast::Table#diff!
1697
-
1698
- This release also fixes several bugs related to --drb (Spork) and profiles (cucumber.yml)
1699
-
1700
- ### Bug Fixes
1701
- * --guess will always prefer the longest regexp with no groups if they exist.
1702
- * Prevent delays if a NoMethodError is raise in a step definition. Define a light #inspect in World. (#374 Aslak Hellesøy)
1703
- * Restore 'features' as the default feature running path. (#412 Ben Mabey)
1704
- * --drb degrades gracefully when no drb server is running and no formatter is provided. (#410 Ben Mabey)
1705
- * --language picked up from profiles again. (#409 Ben Mabey)
1706
- * Resolved infinite loop problem when --drb was defined in a profile. (#408 Ben Mabey)
1707
-
1708
- ### New Features
1709
- * Cucumber::World#table has been overloaded to work with 2D Array in addition to a table String to be parsed.
1710
- * New When /^I fill in the following:$/ step definition for Webrat. Useful for filling out a form with a Table. (Aslak Hellesøy)
1711
- * The object returned by element_at (Webrat::Element) has a #to_table that works for table, dl, ol and ul. (Aslak Hellesøy)
1712
- * An explanation of why failures are ok is printed when --wip is used. (Aslak Hellesøy)
1713
- * Added cucumber alias for cucumber:ok in Rails Rake tasks. (Aslak Hellesøy)
1714
-
1715
- ### Changed features
1716
- * 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)
1717
- * 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)
1718
-
1719
- ## [0.3.94](https://github.com/cucumber/cucumber-ruby/compare/v0.3.93...v0.3.94)
1720
-
1721
- Kanban take II.
1722
-
1723
- Release 0.3.6 introduced a new --wip switch that can be used to limit work in progress
1724
- (WIP). Limiting WIP is central for Kanban Software Development (http://www.infoq.com/articles/hiranabe-lean-agile-kanban).
1725
-
1726
- However, this feature went mostly unnoticed, and because we think it's so great we have decided
1727
- to make it the default for Rails projects. When you bootstrap your Rails project for Cucumber
1728
- you will now get 2 Cucumber Rake tasks for Kanban development:
1729
-
1730
- cucumber:ok : Run features that should pass. This runs your "good,old" features
1731
- cucumber:wip : Run the features you're working on that don't pass yet. Tag them with @wip. Max 2!
1732
-
1733
- So upgrade today and get into the habit of tagging new features with @wip (or invent your own tags).
1734
- You'll achieve better flow this way.
1735
-
1736
- ### New features
1737
- * Support limiting the number of feature elements with certain tags (#353 Joseph Wilk)
1738
- * script/generate cucumber sets up 'cucumber:ok' and 'cucumber:wip' tasks and deprecates 'features'. More Kanban love. (#344 Aslak Hellesøy)
1739
- * Better JUnit formatter: feature->testsuite, scenario->testcase. Better timing and support for background and scenario outline. (Mads Buus Westmark)
1740
- * Added examples/python that uses rubypython. (Aslak Hellesøy)
1741
- * Checks the number of available colors on the terminal with ruby-terminfo if ruby-terminfo is installed.
1742
- This prevents Apple's Terminal.app from stalling (Yugui - Yuki Sonoda).
1743
- * Set 'xterm-256color' to TERM if your terminal supports grey.
1744
- * ruby-terminfo is available as genki-ruby-terminfo gem from github.
1745
- * Document builtin formatters with --help. (#406 Aslak Hellesøy)
1746
- * Added support for using regular expressions when mapping table headers. (Peter Williams)
1747
-
1748
- ## [0.3.93](https://github.com/cucumber/cucumber-ruby/compare/v0.3.92...v0.3.93)
1749
-
1750
- Highlights in this release: Improved profile handling (cucumber.yml) and a fix for cucumber hanging.
1751
-
1752
- ### New features
1753
- * script/generate cucumber --spork now sets up a spork gem dependency in the cucumber.rb environment. (Aslak Hellesøy)
1754
- * Feature files defined on the command line override any that are present in profiles. (#344 Ben Mabey)
1755
- * Default (STDOUT) formatter defined in profile can be overridden from the command line. (#344 Ben Mabey)
1756
- * Displays which profile, if any, is being used. (Ben Mabey)
1757
- * click_link_within(parent, link) webrat step (Joakim Kolsjö)
1758
-
1759
- ### Bugfixes
1760
- * script/cucumber correctly loads the gem's binary if the plugin isn't installed.
1761
- * Cucumber hangs waiting for Ctrl+C if an Error is raised. (#374 Aslak Hellesøy)
1762
-
1763
- ## [0.3.92](https://github.com/cucumber/cucumber-ruby/compare/v0.3.91...v0.3.92)
1764
-
1765
- This release has some minor improvements to the new Table.diff! functionality. For example,
1766
- if you're using Webrat and you want to compare a feature table with a HTML table containing
1767
- links in one of the columns, you can do:
1768
-
1769
- actual = Cucumber::Ast::Table.new(table_at('table').to_a)
1770
- actual.map_column!('Name') { |text| text.strip.match(/>(.*)</)[1] }
1771
- table.diff!(actual)
1772
-
1773
- ### New features
1774
- * Allow Step Definitions to accept mix of required & optional args (Niels Ganser)
1775
- * table_a.diff!(table_b) now uses column conversions from both tables (Table#map_column!) (Aslak Hellesøy)
1776
-
1777
- ### Bugfixes
1778
- * Upgrade Sinatra example to work with rack-test 0.3.0 and aslakhellesoy-webrat 0.4.4.1 (Aslak Hellesøy)
1779
- * require 'cucumber/webrat/table_locator' added to Spork environment for Rails (Anders Furseth)
1780
-
1781
- ### Changed Features
1782
- * The 'default' profile is now ALWAYS used unless you specify another profile or use the -P or --no-profile flag. (#344 Ben Mabey)
1783
-
1784
- ## [0.3.91](https://github.com/cucumber/cucumber-ruby/compare/v0.3.90...v0.3.91)
1785
-
1786
- ### New Features
1787
- * CTRL-C will exit immediately instead of carrying on until all features are run. (Aslak Hellesøy)
1788
- * Run can be stopped programmatically by setting $cucumber_interrupted = true, for example in an After block. (Aslak Hellesøy)
1789
- * Support limiting the number of feature elements with certain tags (#353 Joseph Wilk)
1790
- * Table support for cuke4duke
1791
-
1792
- ## [0.3.90](https://github.com/cucumber/cucumber-ruby/compare/v0.3.11...v0.3.90)
1793
-
1794
- The Hot summer release
1795
-
1796
- This is a hot summer in Norway, and Cucumbers are growing in abundance. To celebrate this we give you
1797
- a new release with lots of new features and bugfixes. This is also one of the last releases in the 0.3 series
1798
- (hence the 0.3.90 number), so 0.4 (or maybe 1.0!) will be coming up soon. The highlights of this release are:
1799
-
1800
- ### Egality
1801
-
1802
- English is not the world's most spoken language, so why should Cucumber force non-English speakers to use the
1803
- --language flag? As of this release you're no longer forced to do that. Instead, you can add a comment header
1804
- to your .feature files:
1805
-
1806
- # language: fr
1807
- # Cucumber understands that this is French
1808
- Fonctionnalité: Trou de boulette
1809
-
1810
- If you don't have that header, Cucumber will work as before - using whatever you specified with --language,
1811
- or default to English if no --language option was specified. A nice side effect of this is that you can now
1812
- have features in several languages side by side and run them in the same cucumber. (Not recommended unless
1813
- you want to take polyglot programming to an extreme level).
1814
-
1815
- ### Table diffing (experimental)
1816
-
1817
- When you pass a table as an argument to your Then steps you often want to compare that table
1818
- to some actual values. In previous releases you had to iterate over the table's values and manually
1819
- compare each row using cell.should equal('foo') or assert_equal('foo', cell). If a discrepancy was found
1820
- you'd get an error, but it was hard to see how the entire expected data set was different from the actual one.
1821
-
1822
- With this release you have a much more powerful way to compare expected tables with actual data. An
1823
- Ast::Table object now has a new #diff!(table) method that you can invoke in your step definitions
1824
- that take table arguments. If the table you pass in is different from the expected table (from your
1825
- plain text step), Cucumber will print the difference for each of the row or column and fail your step.
1826
-
1827
- The Table#diff! method expects an Array of Array, Array of Hash (similar to what you'd get from table#hashes)
1828
- or simply another Ast::Table object. Here is a simple example:
1829
-
1830
- Then /^I should see the following cukes:$/ do |expected_cukes_table|
1831
- actual_table = ... # For example [['Latin', 'English'], ['Cucumis sativus', 'Cucumber'], ['Cucumis anguria', 'Burr Gherkin']]
1832
- expected_cukes_table.diff!(actual_table)
1833
- end
1834
-
1835
- As an extra bonus we provide Webrat users with a new #table_at(selector) method that you can use to transform
1836
- an HTML table into an Array of Array, so that you can easily compare the contents of your HTML table to
1837
- expected data passed to a step. Here is an example:
1838
-
1839
- Then /^I should see the following cukes:$/ do |expected_cukes_table|
1840
- expected_cukes_table.diff!(table_at('#cuke_table').to_a)
1841
- end
1842
-
1843
- You can do the same trick to compare data from a Rails ActiveRecord table (although this is not a
1844
- recommended practice - your Then steps should compare against what users*see*, not what's in the
1845
- database):
1846
-
1847
- # This requires that you use the column names in the header of the plain text expected table
1848
- Then /^I should have the following cukes in the database:$/ do |expected_cukes_table|
1849
- expected_cukes_table.diff!(Cuke.find(:all).map(&attributes))
1850
- end
1851
-
1852
- ### Environment variables
1853
-
1854
- Another useful new feature is the ability to define environment variables on Cucumber's command line (just
1855
- like you can with Rake). Example:
1856
-
1857
- cucumber FOO=BAR --format progress features
1858
-
1859
- You can now pick up ENV['FOO'] in ruby (for example in env.rb) and take actions according to the value,
1860
- for example enabling your super hack that validates all HTTP responses for XHTML validity.
1861
-
1862
- This release also has several bugfixes related to --format and Before/After hooks.
1863
-
1864
- ### Bugfixes
1865
- * Fix some misspellings which affect test fail for Korean example (#373 Dongju Kim)
1866
- * Make it possible to write non-localized step definitions (#377 Aslak Hellesøy)
1867
- * Table cells containing unicode are rendered incorrectly (#386 Stefan Kanev)
1868
- * Before and After hooks run after everything is finished when there are 2+ --format options (#371 Aslak Hellesøy)
1869
- * When using --out and two --format the first is not delivered inline with execution of features (#361 Aslak Hellesøy)
1870
- * Profile Formatter broken (#370 Aslak Hellesøy)
1871
- * Default profile usage with --drb flag degrades gracefully with no server. (#367 Ben Mabey)
1872
- * JUnit formatter uses original file name instead of narrative to avoid accidental duplicate XML files (Aslak Hellesøy)
1873
- * rake gems no longer lists cucumber as a [F]ramework gem (David Chelimsky)
1874
- * CLI issues correct exit code when using --drb. Requires Spork version >= 0.5.1. (#355 Ben Mabey)
1875
- * Make sure script/generate cucumber --spork uses the cucumber Rails environment (Philippe Lafoucrière)
1876
- * Fixed bug with rake task raising errors with feature files with spaces (#380 Joseph Wilk)
1877
-
1878
- ### New Features
1879
- * I should see should support regexes (#382 John Ferlito)
1880
- * Access to scenario outline name from After hook scenario parameter (#342 Aslak Hellesøy)
1881
- * Allow multiple --tags switches to be passed
1882
- * Load step definitions from vendored gems and plugins (#388 Mike Burns)
1883
- * New --format steps formatter. Variant of the usage formatter that lists available step definitions (Demetrius Nunes)
1884
- * Possibility to specify scenario language as part of the .feature file (#345 Aslak Hellesøy)
1885
- * Support specifying environment variables using foo=bar syntax on command line or in profiles (#362 Bryan Helmkamp)
1886
- * Display failing scenarios at the end of pretty format to make it easier for people to play them back (#360 Ryan Bigg)
1887
-
1888
- ### Changed Features
1889
- * When using --tags, positive tags are &&'ed while negative tags are ||'ed (John Wilger)
1890
- * The data returned from Table#hashes and similar methods are frozen. Dup if you need to modify. (Aslak Hellesøy)
1891
- * Visitor.visit_table_cell_value(value, col_width, status) is now visitor.visit_table_cell_value(value, status)
1892
-
1893
- ## [0.3.11](https://github.com/cucumber/cucumber-ruby/compare/v0.3.10...v0.3.11)
1894
-
1895
- This release just fixes a tiny bug in the formatter to fix an incompatibility
1896
- with the latest RedMine release. It should have been included in 0.3.10, but
1897
- was forgotten.
1898
-
1899
- ### Bugfixes
1900
- * Formatter API was broken in 0.3.9 (Roman Chernyatchik)
1901
-
1902
- ## [0.3.10](https://github.com/cucumber/cucumber-ruby/compare/v0.3.9...v0.3.10)
1903
-
1904
- The Spork Release!
1905
-
1906
- This release has an exciting new feature - a new --drb switch! This magic switch lets you run your
1907
- features much faster than before, because you can eliminate the startup time for your code. This is
1908
- thanks to a brand new gem called Spork by Tim Harper and Ben Mabey. (You can find out more about Spork
1909
- here: http://github.com/timcharper/spork/tree/master). You can start Spork and have it preload your
1910
- application in a separate process. Spork listens for DRb connections, and when you run cucumber with
1911
- --drb the features will run inside the Spork server instead. Spork provides two simple hooks for preloading
1912
- your application - one for framework/stable code (Spork.prefork) and one for the code that*you* write and
1913
- change often (Spork.each_run). Keep in mind that all World, Before, and other Cucumber hooks need to be
1914
- in the Spork.each_run block. Using Spork works great for Ruby on Rails, which can take a while to load,
1915
- but --drb and Spork aren't tied to Rails at all. The new --drb switch also works great alongside autotest
1916
- (just add --drb to your autotest profile in cucumber.yml), so now you can get even faster feedback.
1917
-
1918
- Cucumber's built-in cucumber generator now has a new --spork switch, so when you bootstrap your Rails
1919
- application for cucumber, you can have spork configuration set up out of the box. (It's just a
1920
- slightly different env.rb.)
1921
-
1922
- Although Spork was in mind when the --drb switch was added it is important to realize that all that was added
1923
- to Cucumber was a DRb client. Any DRb server that adheres to this protocol can be used with Cucumber's --drb
1924
- switch. While Spork is geared towards removing the load time to give you a faster feedback loop you could
1925
- just as easily use this client with a server that distributes your features to run in parallel. Someone just
1926
- needs to write such a server. ;)
1927
-
1928
- This release also has some minor bugfixes related to RSpec and Rails interop.
1929
-
1930
- ### Bugfixes
1931
- * RSpec's be_* matchers did not work in 0.3.9 and probably earlier versions. Now they do. (Aslak Hellesøy)
1932
- * The Rails cucumber environment won't declare gem dependencies if the plugin exists. (Aslak Hellesøy)
1933
- * The Rails cucumber generator will no longer declare gem dependencies on rspec if you use --testunit. (Aslak Hellesøy)
1934
-
1935
- ### New features
1936
- * Spork support via --drb. (Ben Mabey)
1937
- * Added a Ast::Feature#name method for convenience. (Aslak Hellesøy)
1938
-
1939
- ### Changed features
1940
- * The HTML formatter wraps examples in a div, and distinguishes between Scenario and Scenario Outline. (Aslak Hellesøy)
1941
-
1942
- ## [0.3.9](https://github.com/cucumber/cucumber-ruby/compare/v0.3.8...v0.3.9)
1943
-
1944
- Bugfix release for 0.3.8 released earlier today. 0.3.8 had a bug in the Rails cucumber
1945
- generator which is fixed in 0.3.9.
1946
-
1947
- ### Bugfixes
1948
- * Fix broken Rails cucumber generator (Tim Glen)
1949
- * The Cucumber Rake task in non-fork mode will properly cause Rake to exit with 1 when Cucumber fails. (Aslak Hellesøy)
1950
-
1951
- ## [0.3.8](https://github.com/cucumber/cucumber-ruby/compare/v0.3.7...v0.3.8)
1952
-
1953
- This Cucumber version fixes several bugs related to Ruby on Rails and RSpec. If you
1954
- use Cucumber with a Rails app we*strongly* recommend you bootstrap Cucumber again:
1955
-
1956
- ruby script/generate cucumber
1957
-
1958
- ### New Features
1959
- * Rails cucumber generator sets up default gem dependencies in cucumber environment.
1960
- * The duration of a run is reported by formatters - same format as the Linux time command (#228 Aslak Hellesøy)
1961
- * Scenario and ExampleRow objects (passed to Before and After hooks) have #name and #line methods (#316 Aslak Hellesøy)
1962
- * Rails generator creates a cucumber environment file to avoid potential cache_classes conflicts in test.rb (#165, Ben Mabey)
1963
- * HTML formatter renders @tags (but the CSS is still ugly)
1964
-
1965
- ### Removed/changed features
1966
- * The Cucumber Rake task will again fork by default (as 0.3.3 and earlier). Forking must be turned off explicitly. (Aslak Hellesøy)
1967
-
1968
- ### Bugfixes
1969
- * Better coexistence with RSpec - Cucumber now*neuters* the part of RSpec that tries to parse ARGV.
1970
- * The differ= exception is gone (#325, #340 Aslak Hellesøy)
1971
-
1972
- ## [0.3.7](https://github.com/cucumber/cucumber-ruby/compare/v0.3.6...v0.3.7)
1973
-
1974
- This is the "Help JetBrains RubyMine" release!
1975
-
1976
- ### New Features
1977
- * Added new Given alias for Catalan: Donat|Donada (Lleïr Borràs Metje)
1978
- * New --expand option. This will print Scenario Outlines once for each Example row - with values expanded. (#327 Aslak Hellesøy)
1979
- * You can override the formatter in Rails-generated rake tasks with the CUCUMBER_FORMAT environment variable (#335 Aslak Hellesøy)
1980
-
1981
- ### Bugfixes
1982
- * 'specs' folder needs to be renamed back to 'spec' (#339 Aslak Hellesøy)
1983
- * CUCUMBER_OPTS doesn't work for cucumber rake tasks (#336 Aslak Hellesøy)
1984
-
1985
- ## [0.3.6](https://github.com/cucumber/cucumber-ruby/compare/v0.3.5...v0.3.6)
1986
-
1987
- Kanban! With this release you can tag features or scenarios that are work in progress
1988
- with a tag and use the new --wip switch.
1989
-
1990
- Another handy feature in this release is that you can package your own formatters in RubyGems.
1991
-
1992
- ### New features
1993
- * New --wip switch. See http://www.jroller.com/perryn/entry/bdd_on_a_multi_disciplined (Perryn Fowler)
1994
- * Added a AfterStep hook (Luke Melia)
1995
- * New aliases for Vietnamese (Ngoc Dao)
1996
- * Automatic require of custom formatters. --require is no longer needed to load them, and they can be in Ruby gems. (Aslak Hellesøy)
1997
- * Lazy loading of built-in formatters. Should improve startup time a little bit.
1998
-
1999
- ### Bugfixes
2000
- * Gracefully handle exceptions in After block (#330 Matt Wynne)
2001
- * Feature with only Background doesn't run hooks (#314, #329 Aslak Hellesøy)
2002
-
2003
- ## [0.3.5](https://github.com/cucumber/cucumber-ruby/compare/v0.3.4...v0.3.5)
2004
-
2005
- Let's make a new release today because two annoying bugs are fixed.
2006
-
2007
- ### Bugfixes
2008
- * Allow feature element names to contain Gherkin keywords as long as they are not the first word on a newline (#319, #307 Joseph Wilk)
2009
-
2010
- ## [0.3.4](https://github.com/cucumber/cucumber-ruby/compare/v0.3.3...v0.3.4)
2011
-
2012
- A couple of great new features in this release. Running with Rake is faster than before,
2013
- and there is a brand new JUnit formatter - great for Continuous Integration reports!
2014
-
2015
- This release was made especially for the Oslo XP Meetup today.
2016
-
2017
- ** IMPORTANT UPGRADE NOTES FOR RAILS USERS**
2018
-
2019
- Running Cucumber features in the same Ruby interpreter as Rake doesn't seem to work,
2020
- so you have to explicitly tell the task to fork (like it was doing by default in prior
2021
- versions). In lib/tasks/cucumber.rake:
2022
-
2023
- Cucumber::Rake::Task.new(:features) do |t|
2024
- t.fork = true # Explicitly fork
2025
- t.cucumber_opts = %w{--format pretty}
2026
- end
2027
-
2028
- (If you run script/generate cucumber this will be done for you).
2029
- Alternatively you can omit forking and run features like this:
2030
-
2031
- RAILS_ENV=test rake cucumber
2032
-
2033
- However, setting the RAILS_ENV is easy to forget, so I don't recommend relying on this.
2034
-
2035
- ### Bugfixes
2036
- * Hooks (World, Before, After) are no longer executed when --dry-run (Aslak Hellesøy)
2037
- * Proper UTF8 use in HTML formatter (Herminio Torres)
2038
- * Problem with multiple terms in languages.yml (#321 Aslak Hellesøy)
2039
-
2040
- ### New features
2041
- * New JUnit formatter (Gareth Jones)
2042
- * Support for Vietnamese (Ngoc Dao)
2043
- * Added aliases for Feature and But in Japanese (Leonard Chin)
2044
- * Support for Catalan (Francesc Esplugas)
2045
-
2046
- ### Changed features
2047
- * --exclude flag now works on ruby files in addition to feature files (#312 Ben Mabey)
2048
- * The Java example under examples/java uses Ant instead of Rake - and the new JUnit formatter.
2049
- * Rake task should not shell out (#297 Aslak Hellesøy)
2050
- The Cucumber Rake task will run Cucumber in the same Ruby interpreter as Rake itself
2051
- unless explicitly told to fork a new interpreter. This is to increase speed. You can
2052
- force a new interpreter by setting fork=true or rcov=true in the task.
2053
-
2054
- ## [0.3.3](https://github.com/cucumber/cucumber-ruby/compare/v0.3.2...v0.3.3)
2055
-
2056
- Minor bugfix release, made specially for EuRuKo!
2057
-
2058
- ### Bugfixes
2059
- * Summaries are no longer printed in an empty () if there are no scenarios/steps (Aslak Hellesøy)
2060
- * Background, Scenario Outline, Before Hook interaction (#309 Aslak Hellesøy)
2061
- * Multiline String snippets no longer give misleading info. It's a String, not a PyString that's sent to step def.
2062
-
2063
- ### Removed/changed features
2064
- * New aliases: --no-source/-s, --name/-n (#317 Lonnon Foster)
2065
-
2066
- ## [0.3.2](https://github.com/cucumber/cucumber-ruby/compare/v0.3.1...v0.3.2)
2067
-
2068
- This release has some minor bug fixes and new features.
2069
- Nothing major, but we need a release for RailsConf'09 in Las Vegas!
2070
-
2071
- ### Bugfixes
2072
- * rake tasks with profiles not respecting --require flags (#311 Ben Mabey)
2073
- * Step table with blank cell fails (#308 JohnnyT)
2074
- * Fixed error where unused table cells in Examples where raising exceptions due to having no status (#302 Joseph Wilk)
2075
-
2076
- ### New features
2077
- * Support for Hebrew (Ido Kanner)
2078
- * Summary should report scenarios (#32 Aslak Hellesøy)
2079
- * Examples and the associated tables are indented one level deeper than Scenario Outline. (Aslak Hellesøy)
2080
- * Added support for Examples selection when using --name. (#295 Joseph Wilk)
2081
-
2082
- ## [0.3.1](https://github.com/cucumber/cucumber-ruby/compare/v0.3.0...v0.3.1)
2083
-
2084
- This release has several minor bug fixes and new features. With the addition of Latvian and Hungarian Cucumber
2085
- now supports 32(!!) languages.
2086
-
2087
- ### New features
2088
- * Support multiline names for Scenarios, Scenario Outlines, Backgrounds, Examples (#231 Joseph Wilk)
2089
- * Added #headers to Cucumber::Ast::Table (Ben Mabey)
2090
- * New translation for Latvian (Vitauts Stočka)
2091
- * New translation for Hungarian (#287 Bence Golda)
2092
- * Pick up failure on after hook (#272 Aslak Hellesøy)
2093
-
2094
- ### Bugfixes
2095
- * Pretty formatter not colouring Examples tables correctly (#304 Aslak Hellesøy)
2096
- * Problem using --scenario and Scenario Outline (#298 Aslak Hellesøy)
2097
- * Tag Hook gets executed always there is a background (#301 Aslak Hellesøy)
2098
- * Feature which only has a Background with steps causes an exception (#306 Aslak Hellesøy)
2099
- * Gem no longer depends on Hoe (Aslak Hellesøy)
2100
- * Span html tags appear on HTML results with 0.3.0 (#299 Aslak Hellesøy)
2101
- * Fixed incorrect colours in pretty formatter's table headers for outline tables (Aslak Hellesøy)
2102
- * Exceptions from steps called within hooks are now reraised. (#294 Ben Mabey)
2103
-
2104
- ### Removed/changed features
2105
- * --scenario handle has been removed and replaced with --name which supports partial matches, regexp special characters, running named backgrounds (#295 Joseph Wilk)
2106
-
2107
- ## [0.3.0](https://github.com/cucumber/cucumber-ruby/compare/v0.2.3...v0.3.0)
2108
-
2109
- This release has some minor changes to the APIs, but big enough that a new major release is in order.
2110
- The biggest change is the new semantics of the #World method. Previously you would call this method
2111
- several times, passing a Proc and extending the world object of the previous one with a Ruby module.
2112
- The problem was that there was no nice way to ensure the order in which these procs were called, which
2113
- led to some unexpected situations. In this release you can only register a single World proc. If you
2114
- want to extend a world with certain modules, you simply call the #World method with the module(s)
2115
- you wish to extend the World with. The Sinatra example illustrates how to do this. Also check out
2116
- the RDoc for Cucumber::StepMother#World.
2117
-
2118
- The Visitor API (which is used for formatters) has also changed slightly. However, we have tried to
2119
- do this in a backwards compatible way, so if you have custom formatters for Cucumber 0.2 they should
2120
- still work.
2121
-
2122
- One of the most significant new features is Tagged Hooks: http://wiki.github.com/aslakhellesoy/cucumber/hooks
2123
- This lets you associate Before and After blocks with specific scenarios.
2124
-
2125
- We are also deprecating the step_list, step_pattern, feature_list, and feature_pattern accessors on
2126
- Cucumber::Rake::Task. These accessors will be completely removed in version 0.4. For complex settings
2127
- please rely on cucumber profiles in your rake tasks:
2128
- http://wiki.github.com/aslakhellesoy/cucumber/using-rake#profiles
2129
-
2130
- ### New features
2131
- * Use Hooks with @tags (#229 Aslak Hellesøy)
2132
- * Rake task supports cucumber.yml profiles (#187 Ben Mabey)
2133
- * Field value steps for Webrat (Jack Chen)
2134
- * Added translation for Bulgarian (Krasimir Angelov)
2135
- * Updated translation for Polish (#273 Grzegorz Marszałek)
2136
- * Only a single World proc can be registered. World extension now happens by calling #World with ruby modules.
2137
- * Portuguese uses Funcionalidade in stead of Característica and accented words are aliased with unaccented ones (Alexandre da Silva and Felipe Coury).
2138
- * The usage formatter also prints unused step definitions (Aslak Hellesøy)
2139
- * Better exception if a World proc returns nil. (Aslak Hellesøy)
2140
- * Allow Step Definitions to use |*varargs|, but only on Ruby 1.9. (Aslak Hellesøy)
2141
- * Snippets for steps that use Step Tables or PyStrings include block param and object type hint comment (#247 Joseph Wilk)
2142
- * Support description string for Backgrounds (#271 Joseph Wilk)
2143
-
2144
- ### Bugfixes
2145
- * After methods not being executed when Background fails (#288 Luismi Cavallé)
2146
- * Fixed dependency on internal files in rspec breaks cucumber w/ rspec-1.2.4 (#291 Aslak Hellesøy)
2147
- * Fix color use when using autotest on Linux. (Hans de Graaff)
2148
- * Fixed incorrect calculation of pystring indentation (#279 Eugene Naydanov)
2149
- * Fixed --format html leads to an error (#252 Aslak Hellesøy)
2150
- * Fixed Background runs twice (#255 Aslak Hellesøy)
2151
- * Fixed Background Transactions and :xx (#270 Aslak Hellesøy)
2152
- * Fixed Autospec failing with cucumber 0.2 (#254 Aslak Hellesøy)
2153
- * Sibling file detecting not working (#278 Aslak Hellesøy)
2154
-
2155
- ### Removed/changed features
2156
- * The visitor API has changed slightly:
2157
- * \#visit_step_name, #visit_multiline_arg and \#visit_exception are no longer official API methods.
2158
- * \#visit_step_result replaces those 3 methods.
2159
- * Table and PyString no longer hold status information. Each visitor subclass should store state in @state if needed.
2160
- * \#visit_py_string no longer takes a status argument.
2161
-
2162
- ## [0.2.3](https://github.com/cucumber/cucumber-ruby/compare/v0.2.2...v0.2.3)
2163
-
2164
- This release sports 4 updated languages, slightly better help with snippets if you "quote" arguments
2165
- in your steps. Windows/JRuby users can enjoy colours and you get some more sugar with Tables.
2166
-
2167
- ### New features
2168
- * Added new Then /^I should be on (.+)$/ do |page_name| step (Grant Hollingworth)
2169
- * Use skipped_param color for examples table header (#266 Eugene Naydanov)
2170
- * Added new Cucumber::Ast::Table#rows_hash method (Torbjørn Vatn)
2171
- * Windows/JRuby users can now enjoy colourful output (via http://github.com/aslakhellesoy/ansicolor) (#166 Aslak Hellesøy)
2172
- * Ambiguous step errors hint about --guess (unless --guess already on) (Aslak Hellesøy)
2173
- * Added translation for Slovak (Ahmed Al Hafoudh)
2174
- * Updated translation for Dutch (Bart Zonneveld)
2175
- * Updated translation for Italian (Alessandro Baroni)
2176
- * Updated translation for Japanese (KAKUTANI Shintaro)
2177
-
2178
- ### Bugfixes
2179
- * Fixed step name after step keyword without space (#265 Aslak Hellesøy)
2180
- * Backtrace is back in HTML reports (Aslak Hellesøy)
2181
-
2182
- ## [0.2.2](https://github.com/cucumber/cucumber-ruby/compare/v0.2.1...v0.2.2)
2183
-
2184
- This release includes some minor changes to make Cucumber work with pure Java. Cucumber
2185
- has already worked with Java for a while (using JRuby and step definitions in Ruby),
2186
- but now you can write step definitions in pure Java!
2187
-
2188
- Check out the Cucumber Java project for more details:
2189
- http://github.com/aslakhellesoy/cucumber_java/tree/master
2190
-
2191
- ## [0.2.1](https://github.com/cucumber/cucumber-ruby/compare/v0.2.0...v0.2.1)
2192
-
2193
- This release fixes a few minor bugs and adds a couple of new features.
2194
-
2195
- ### Bugfixes
2196
- * Fixed Cucumber, and rails controller error handling (#49 Matt Patterson)
2197
- * HTML Formatter doesn't work correctly with scenario Outlines. (#260 Aslak Hellesøy)
2198
- * After blocks are run in reverse order of registration. (#113 Aslak Hellesøy)
2199
- * Snippets are showing 'Ands' (#249 Aslak Hellesøy)
2200
-
2201
- ### New features
2202
- * Snippets use a regexp and block arguments if the step name has "quoted" arguments. (Aslak Hellesøy)
2203
- * Cucumber::Ast::Feature#to_sexp includes the file name. (Aslak Hellesøy)
2204
- * support/env.rb is not loaded when --dry-run is specified. This is to increase performance. (Aslak Hellesøy)
2205
- * New usage formatter. This is the foundation for editor autocompletion and navigation between steps and step definitions. (#209 Aslak Hellesøy)
2206
-
2207
- ### Removed features
2208
- * -S/--step-definitions option introduced in 0.2.0 is removed. Use --format usage [--dry-run] [--no-color].
2209
-
2210
- ## [0.2.0](https://github.com/cucumber/cucumber-ruby/compare/v0.1.16...v0.2.0)
2211
-
2212
- This release sports a bunch of new and exciting features, as well a major rewrite of Cucumber's internals.
2213
- The rewrite was done to address technical debt and to have a code base that is easier to evolve and maintain.
2214
-
2215
- There are some changes to the Gherkin language that breaks backwards compatible with the 0.1.x series.
2216
- Most importantly, "GivenScenario" and "More Examples" no longer exist. See the "Removed features" section
2217
- below for more details on how to use alternatives.
2218
-
2219
- Since the grammar has changed, there are some new keywords. We have to rely on the community
2220
- to provide updated translations. This is much easier than before - just update languages.yml.
2221
- There is no static code generation anymore. To list all languages:
2222
-
2223
- cucumber --lang help
2224
-
2225
- And to list the keywords for a particular language:
2226
-
2227
- cucumber --lang en-lol help
2228
-
2229
- There are some really awesome new features in this release: Tagging, Autoformatting, automatic
2230
- aliasing of keywords in all languages, full Ruby 1.9 support and improved output
2231
- for multiline arguments are some of the highlights.
2232
-
2233
- ### Bugfixes
2234
- * New StepInvocation breaks console formatter for pending steps. (#241 Jacob Radford)
2235
- * Within Scenario Outlines when replacing with a nil in a step name use empty string instead. (#237 Joseph Wilk)
2236
- * Fixed bug with Scenario Outlines incorrectly replacing values in step tables with nil. (#237 Joseph Wilk)
2237
- * Within Scenario Outlines when replacing with a nil in multiline strings use empty string instead. (#238 Joseph Wilk)
2238
- * Re-structure the ast: Feature -> Background -> (Scenario|ScenarioOutline)*. Fixes bug with background being called outside transactions. (#181 Joseph Wilk)
2239
- * --strict always exits with status 1 (#230 Tim Cuthbertson)
2240
- * Fix error with nil values in tables raising an exception (#227 Joseph Wilk)
2241
- * Add support for using << in formatters to ensure the html formatter works (#210 Joseph Wilk)
2242
- * Explicitly require env.rb files first to avoid potential load order problems. (#213, Ben Mabey, Randy Harmon)
2243
- * Depend on polyglot version (0.2.4) to avoid masking require errors. (Aslak Hellesøy).
2244
- * -n option does not suppress the line info for a Scenario Outline (#175 Aslak Hellesøy)
2245
- * Errors with rspec-rails matchers in cucumber 0.1.99 (#173 David Chelimsky)
2246
- * Can't use an empty string as a table value in a scenario outline (#172 Aslak Hellesøy)
2247
- * Really skip skipped steps (#90 Aslak Hellesøy)
2248
- * No output for multi-line strings (#71 Aslak Hellesøy)
2249
- * Fix cucumber/formatter/unicode flaws on Windows (#145 Michael)
2250
- * Autotest-related Bugs: YAML missing (#136 Tobias Pape)
2251
- * Overeager "rescue LoadError" hides lots of errors (#137 Jonathan del Strother)
2252
- * Nested steps don't show mismatch (#116 Aslak Hellesøy)
2253
- * Pending steps in > steps called from steps (#65 Aslak Hellesøy)
2254
-
2255
- ### New features
2256
- * Australian translation (Josh Graham)
2257
- * Added World#puts(announcment) which lets you output text to the formatted output (#222 Rob Kaufmann)
2258
- * Added Table#transpose to to allow use of vertically aligned table keys (Torbjørn Vatn, Aslak Hellesøy)
2259
- * Added Table#map_headers to to allow use of more readable headers (Rob Holland)
2260
- * New -S/--step-definitions option. Useful (among other things) for tools that implement automcompletion. (#208 Aslak Hellesøy).
2261
- * The cucumber.rake file defines a dummy :features task if Cucumber is not installed (#225 Josh Nichols)
2262
- * Added Table#map_column! to ease casting of cell values into relevant types (#223 Rob Holland)
2263
- * New --no-diff option (#218 Bryan Ash)
2264
- * Rails generators supports testunit and rspec option, defaulting to rspec (#217 Josh Nichols)
2265
- * Sinatra Example (#204 Rob Holland)
2266
- * Keywords can be aliased in languages.yml. See English for an example (examples: Examples|Scenarios)
2267
- * Adding support for Background (#153 Joseph Wilk)
2268
- * Added Česky/Czech (Vojtech Salbaba)
2269
- * New --no-multiline option to reduce noise in output. Useful if lots of features are failing. (Aslak Hellesøy)
2270
- * Added ability to pass URIs to cucumber in addition to files and directories. Useful for troubleshooting! (Aslak Hellesøy)
2271
- * Groups of tabular scenarios (#57 Aslak Hellesøy)
2272
- * Tagging scenarios and features. Pick the ones to run with --tags (#54 Aslak Hellesøy)
2273
- * Make the current scenario available to the steps. (#44 Aslak Hellesøy)
2274
- * Step definition snippets contain a 'pending' call (#84 Aslak Hellesøy)
2275
- * Call multiline steps from other steps (#144 Aslak Hellesøy)
2276
- * Run cucumber with --autoformat DIR to reformat (pretty print) all of your feature files. (Aslak Hellesøy)
2277
- * New --strict option exits with an error code if there are undefined steps. (#52 Aslak Hellesøy)
2278
- * Given, When, Then methods (used in step definitions) are automatically aliased to current language. Use $KCODE='u' in env.rb if needed.
2279
- * Run cucumber --language help to see all supported languages. (Aslak Hellesøy)
2280
- * Run cucumber --language LANG help to see keywords for a given language. (Aslak Hellesøy)
2281
- * Multiline arguments (tables and """ strings) are printed in the output. (Aslak Hellesøy)
2282
- * It's no longer necessary to compile the Treetop grammar when adding a new language. Localised parser is generated at runtime. (Aslak Hellesøy)
2283
- * New --guess option tries to guess the best step definition match instead of raising Cucumber::Multiple. (Jake Howerton)
2284
-
2285
- ### Removed features
2286
- * "GivenScenario" is gone. Instead you can call Steps from Step Definitions, or use the new Background feature (#153)
2287
- * "More Examples" is gone. "Scenario" + "More Examples" is no longer supported. Use "Scenario Outline" + "Examples" instead.
2288
- * Pure Ruby features are no longer supported.
2289
- * Remove --color option in autotest. Can be added manually in cucumber.yml (#215 Jean-Michel Garnier)
2290
-
2291
- ## 0.1.16.4
2292
-
2293
- Bugfix release.
2294
-
2295
- IMPORTANT NOTE FOR RAILS USERS.
2296
- The template used to generate your features/support/env.rb has changed. You have to apply a minor change
2297
- manually for existing Rails projects when you upgrade to this version. Change this:
2298
-
2299
- require 'webrat/rspec-rails'
2300
-
2301
- to this:
2302
-
2303
- require 'webrat/core/matchers'
2304
-
2305
- ### New features
2306
- * Finnish translation (Tero Tilus)
2307
- * Use Webrat's #contain matcher in generated "I should (not) see" step definitions (Bryan Helmkamp)
2308
-
2309
- == Bugfixes
2310
- * Escaped quotes - \" - inside multiline strings will be unescaped.
2311
- * Flush output in HTML formatter since JRuby doesnt do it automatically (Diego Carrion)
2312
- * Better handling of ARGV (#169 David Chelimsky, Ben Mabey)
2313
- * Compatibility with ruby-debug (do ARGV.dup in bin/cucumber so it can restart ruby with same args) (Aslak Hellesøy)
2314
-
2315
- ## [0.1.16](https://github.com/cucumber/cucumber-ruby/compare/v0.1.15...v0.1.16)
2316
-
2317
- This is a small bugfix release. The most notable improvement is compatibility with Webrat 0.4. Rails/Webrat users should
2318
- upgrade both Cucumber and Webrat gems.
2319
-
2320
- ### New features
2321
- * Allow argument placeholders in step tables and multiline comments (#121 Joseph Wilk)
2322
- * Scenario Outline can be followed by several named Examples sections (#123 Aslak Hellesøy)
2323
- * Add the #binary= method back to the Rake task. It is needed by merb_cucumber for running the features of a merb app with it's bundled gems. (Thomas Marek)
2324
- * Added a /^When I go to (.+)$/ step definition to webrat_steps.rb and a simple page name to path mapping method (Bryan Helmkamp)
2325
-
2326
- ### Bugfixes
2327
- * Fix to run single scenarios when the line number specified doesn't correspond to a step (i.e. blank lines or rows) (#160 Luismi Cavallé)
2328
-
2329
- ### Removed features
2330
-
2331
- ## [0.1.15](https://github.com/cucumber/cucumber-ruby/compare/v0.1.14...v0.1.15)
2332
-
2333
- Bugfix release
2334
-
2335
- ### New features
2336
- * 한국어! (Korean!) (John Hwang)
2337
-
2338
- ### Bugfixes
2339
- * --dry-run skips running before/after/steps (#147 Ian Dees)
2340
- * Fix a minor bug in the console formatter's summary (David Chelimsky)
2341
- * Better quoting of Scenario names in Autotest (Peter Jaros)
2342
- * Added some small workarounds for unicode handling on Windows (Aslak Hellesøy)
2343
-
2344
- ## [0.1.14](https://github.com/cucumber/cucumber-ruby/compare/v0.1.13...v0.1.14)
2345
-
2346
- This is the first release of Cucumber that runs on Ruby 1.9. There are still some encoding-related issues
2347
- with Arabic (ar), Japanese (ja) and Simplified Chinese (zh-CN). Patches are welcome. Other than that -
2348
- a couple of minor bug fixes and polishing.
2349
-
2350
- ### New features
2351
- * Pretty formatter shows number of scenarios (#139 Joseph Wilk)
2352
- * Rudimentary support for Ruby 1.9. Now it's ok to file Ruby 1.9-related bugs.
2353
-
2354
- ### Bugfixes
2355
- * Fixed "No such file or directory -- cucumber (LoadError)" bug with AutoTest (Aslak Hellesøy)
2356
- * Fixed `load_missing_constant': uninitialized constant Dispatcher error with Rails (Aslak Hellesøy)
2357
-
2358
- ### Removed features
2359
- * The #binary= method is gone from the Rake task. It will always point to the binary in the current gem. (Aslak Hellesøy)
2360
-
2361
- ## [0.1.13](https://github.com/cucumber/cucumber-ruby/compare/v0.1.12...v0.1.13)
2362
-
2363
- It's time for some new features again. Output is now much better since you can use diffing, tweak
2364
- the output colours and get the full --backtrace if you want. Managing your support/* files became
2365
- a little easier since they are now always loaded before the step definitions. Life became easier
2366
- for Windows users in Norway (and other countries using unicode in the features). Plus several other
2367
- bug fixes.
2368
-
2369
- Enjoy!
2370
-
2371
- ### New features
2372
- * Console output is no longer bold, but regular. Step arguments are bold instead of blold+underlined. (Aslak Hellesøy)
2373
- * Console output can be configured with CUCUMBER_COLORS in your shell. (Aslak Hellesøy)
2374
- * Added new --backtrace option to show full backtrace (Aslak Hellesøy)
2375
- * Enable RSpec's diffing automatically if RSpec is loaded (Aslak Hellesøy)
2376
- * Files in support directories are loaded before any other file (i.e. step definitions.) (#120, Ben Mabey)
2377
- * The Rails features generator got some love and is now tested: http://github.com/aslakhellesoy/cucumber_rails (Aslak Hellesøy)
2378
- * --language is aliased to -l instead of -a (-l became available when --line was refactored) (Aslak Hellesøy)
2379
- * Scenario Outlines which through placeholders in the steps allow control of how scenario table values are used. (#57 Joseph Wilk)
2380
- * Scenario Outlines are now usable in pure ruby (Joseph Wilk)
2381
- * Add support for calling 'pending' from step definitions. (#112 Joseph Wilk)
2382
-
2383
- ### Bugfixes
2384
- * Make rails before filters work correctly (#122, #129 Guillermo Álvarez Fernández)
2385
- * Proper Unicode support for Windows command shells: Just require cucumber/formatter/unicode in env.rb (Aslak Hellesøy)
2386
- * Fixed disappearing "a" on Windows (#81 Aslak Hellesøy)
2387
- * Fixed a bug where row step outlines were loosing step tables. (#121 Joseph Wilk, Ben Mabey)
2388
- * The Cucumber Autotest plugin now launches JRuby if autotest is run with JRuby (Aslak Hellesøy)
2389
- * Provide helpful and non-confusing error message when specified profile is blank. (#118, Ben Mabey)
2390
- * Improve handling and error messages for malformed cucumber.yml files. (#117, Ben Mabey)
2391
- * document :x run option in command line help (#114, Aslak Hellesøy)
2392
- * Change 'visits' to 'visit' in features generator to comply with new Webrat API (Darius Roberts)
2393
-
2394
- ### Removed features
2395
-
2396
- ## [0.1.12](https://github.com/cucumber/cucumber-ruby/compare/v0.1.11...v0.1.12)
2397
-
2398
- This is the "getting serious with IronRuby release" - largely based on
2399
- "Patrick Gannon":http://www.patrickgannon.net/archive/2008/10/23/bdd-style-feature-tests-using-ironruby-and-rspeccucumber.aspx's
2400
- blog entry.
2401
-
2402
- ### New features
2403
- * Cucumber works with IronRuby/.NET - http://github.com/aslakhellesoy/cucumber/wikis/ironruby-and-net (Aslak Hellesøy)
2404
-
2405
- ### Bugfixes
2406
- * Fixed bug which was preventing coloring under Autotest (#111, Alan Larkin)
2407
-
2408
- ### Removed features
2409
- None
2410
-
2411
- ## [0.1.11](https://github.com/cucumber/cucumber-ruby/compare/v0.1.10...v0.1.11)
2412
-
2413
- Bugfix release with a couple of minor additional features to the command line options.
2414
-
2415
- ### New features
2416
- * Capture output from cucumber in Autotest (Alan Larkin)
2417
- * Update cucumber generator to work with latest Webrat (Bryan Helkamp)
2418
- * CUCUMBR LIKEZ 2 SPEEK WIF KATS. KTHXBAI (Aimee Daniells)
2419
- * Support for dynamically pluggable formatters (#99 Joseph Wilk)
2420
- * --verbose mode to see ruby files and feature files loaded by Cucumber (#106 Joseph Wilk)
2421
-
2422
- ### Bugfixes
2423
- * The jcode library is not loaded on JRuby/Rails. Workaround for http://tinyurl.com/55uu3u. (Aslak Hellesøy)
2424
- * Support including modules for class passed to --format (#109 Joseph Wilk)
2425
-
2426
- ### Removed features
2427
- * The cucumber gem no longer depends on the rspec gem. It must be downloaded manually if RSpec is used. (Jeff Rafter)
2428
-
2429
- ## [0.1.10](https://github.com/cucumber/cucumber-ruby/compare/v0.1.9...v0.1.10)
2430
-
2431
- This release mostly has smaller bugfixes. The most significant new feature is how
2432
- line numbers are specified. You can now run multiple features at specific lines numbers like this:
2433
-
2434
- cucumber foo.feature:15 bar.feature:6:45:111
2435
-
2436
- This will run foo.feature at line 15 and bar.feature at line 6, 45 and 111.
2437
-
2438
- ### New features
2439
- * Added example showing how to use Cucumber with Test::Unit + Matchy instead of RSpec (Aslak Hellesøy)
2440
- * Yield existing world object to World block (#87 Aslak Hellesøy)
2441
- * AUTOFEATURE=tRue works (case insensitive) (Aslak Hellesøy)
2442
- * Initial support for .NET via IronRuby. (Aslak Hellesøy)
2443
- * Lithuanian translation (sauliusgrigaitis)
2444
- * New webrat step defintions to wrap the new selects_time, selects_date, and selects_datetime methods. (Ben Mabey)
2445
- * Try to load webrat gem if it's not installed as a plugin (Aslak Hellesøy)
2446
- * Support example.feature:20 or example.feature:10:20:30 syntax for running features at specific line number(s). (#88 Joseph Wilk)
2447
-
2448
- ### Bugfixes
2449
- * Windows - all the 'a' characters in the output have gone on strike (#81 Luis Lavena, Joseph Wilk, Aslak Hellesøy)
2450
- * Raise a nice error when encountering step definition without block (#95 Aslak Hellesøy)
2451
- * Features written using Ruby where breaking due to missing a line number (#91 Joseph Wilk)
2452
- * Directly creating a Table meant the scenario table header was never set which was causing a formatter error (#91 Joseph Wilk)
2453
-
2454
- ### Removed features
2455
- * $KCODE='u' is no longer done automatically. Developers should do that explicitly when needed in step definitions or env.rb.
2456
- * Step definition without a block being treated as pending (#64 Joseph Wilk)
2457
- * The --line option has been removed. Use the new file.feature:line format instead.
2458
-
2459
- ## [0.1.9](https://github.com/cucumber/cucumber-ruby/compare/v0.1.8...v0.1.9)
2460
-
2461
- With this release Cucumber supports 19 (!) natural languages:
2462
-
2463
- * Arabic
2464
- * Chinese Simplified
2465
- * Danish
2466
- * Dutch
2467
- * Estonian
2468
- * French
2469
- * German
2470
- * Italian
2471
- * Japanese
2472
- * Malay
2473
- * Norwegian
2474
- * Polish
2475
- * Portuguese
2476
- * Romanian
2477
- * Russian
2478
- * Spanish
2479
- * Swedish
2480
- * Texan
2481
- * Welsh
2482
-
2483
- Thanks a lot to everyone who has contributed translations. If you don't see your language here, please
2484
- add it: http://github.com/aslakhellesoy/cucumber/wikis/spoken-languages
2485
-
2486
- Main functional changes in this release is "Autotest":http://github.com/aslakhellesoy/cucumber/wikis/autotest-integration
2487
- support and how multiline strings work in feature files:
2488
-
2489
- # In your .feature file
2490
- Then I should see
2491
- """
2492
- A string
2493
- that "indents"
2494
- and spans
2495
- several lines
2496
-
2497
- """
2498
-
2499
- # In your steps.rb file
2500
- Then 'I should see' do |text|
2501
- text.should == "A string\n that \"indents\"\nand spans\nseveral lines\n"
2502
- end
2503
-
2504
- The triple quotes are used to define the start and end of a string, and it also defines what gets stripped away
2505
- in the inside string. If the triple quotes are indented 4 spaces, then the text within will have the 4 first
2506
- spaces removed too.
2507
-
2508
- ### New features
2509
- * Added --[no-]color option to force color on or off (Peter Jaros)
2510
- * Step definition without a block will be treated as pending (#64 Joseph Wilk)
2511
- * Added support for Welsh (improvements welcome) (Joseph Wilk)
2512
- * Added --quiet option to hide all development aid output when using Pretty formatter (#69 Joseph Wilk)
2513
- * Added --no-snippets option to hide snippets for pending steps when using Pretty formatter (#69 Joseph Wilk)
2514
- * Added error messages concerning cucumber.yml. (#70 Ben Mabey)
2515
- * Added Autotest support - work in progress... (Peter Jaros)
2516
- * Added new --exclude option (Bryan Helkamp)
2517
- * Added new --scenario option (Peter Jaros)
2518
- * Renamed common_webrat.rb to webrat_steps.rb (Ben Mabey, Aslak Hellesøy)
2519
- * Added new feature[:feature_path] task (Roman Gonzalez)
2520
- * Added support for Polish (Joseph Wilk)
2521
- * Support specifying multiple formatters and multiple outputs (#47 Joseph Wilk)
2522
- * Added support for Japanese. (Kakutani Shintaro)
2523
- * Added support for Texan (improvements welcome). (Aslak Hellesøy)
2524
-
2525
- ### Bugfixes
2526
- * Pending step snippets should escape special Regexp characters (#82 Joseph Wilk)
2527
- * Scenario without a body shouldn't show up as complete (#63 Josh Knowles)
2528
- * Fixed bug where utf-8 strings where breaking comment alighments. (#79 Joseph Wilk)
2529
- * Fixed next_column_index not resetting after large tables (#60, Barry Mitchelson)
2530
- * The HTML formatter was rendering everything twice. Cannot invoke visit_feature on formatters in executor (#72 Joseph Wilk)
2531
- * Row Scenarios need to support pending? in order for the Profile formatter to work (Joseph Wilk)
2532
- * Snippets are not shown for steps which already have a step definition (#65 Joseph Wilk)
2533
- * Prevent feature/scenario/pending step comments from containing '//' when running features by specifying a directory with a trailing '/' (Joseph Wilk)
2534
- * Scenario tables need spacing after them (#59 Joseph Wilk)
2535
- * Support running scenario table rows when using --line argument (#55 Joseph Wilk)
2536
- * Don't load cucumber.yml unless it exists (Aslak Hellesøy)
2537
- * Fixing bug where specifying line number 1 in a feature which starts with a scenario with a scenario table was raising an error (#56 Joseph Wilk)
2538
-
2539
- ### Removed features
2540
-
2541
-
2542
- ## [0.1.8](https://github.com/cucumber/cucumber-ruby/compare/v0.1.7...v0.1.8)
2543
-
2544
- This release extends the support for tables. PLEASE NOTE THAT TABLES ARE STILL EXPERIMENTAL.
2545
- In previous releases it has been possible to use tables to define "more examples" of a scenario in
2546
- a FIT-style column fixture kind of way. Now you can also use tables as arguments to steps.
2547
-
2548
- Tables used to define more examples after a scenario must now be prefixed. In English it looks like this:
2549
-
2550
- Feature: Addition
2551
- In order to avoid silly mistakes
2552
- As a math idiot
2553
- I want to be told the sum of two numbers
2554
-
2555
- Scenario: Add two numbers
2556
- Given I have entered 50 into the calculator
2557
- And I have entered 70 into the calculator
2558
- When I press add
2559
- Then the result should be 120 on the screen
2560
-
2561
- More Examples:
2562
- | input_1 | input_2 | button | output |
2563
- | 20 | 30 | add | 50 |
2564
- | 2 | 5 | add | 7 |
2565
- | 0 | 40 | add | 40 |
2566
-
2567
- Languages that are not updated yet will have to use "More Examples" until we get the translations.
2568
-
2569
- Tables can also be used as arguments to individual steps. In fact, steps now support a single argument
2570
- that can span several lines. This can be a table or a string.
2571
-
2572
- Example:
2573
-
2574
- Given the following people exist:
2575
- | name | email | phone |
2576
- | Aslak | aslak@email.com | 123 |
2577
- | Joe | joe@email.com | 234 |
2578
- | Bryan | bryan@email.org | 456 |
2579
- When I search for email.com
2580
- Then I should see:
2581
- | name | email | phone |
2582
- | Aslak | aslak@email.com | 123 |
2583
- | Joe | joe@email.com | 234 |
2584
- And I should see:
2585
- "Some text
2586
- on several lines"
2587
-
2588
- The step definitions for such multiline steps must define an extra block argument for the argument:
2589
-
2590
- Given /the following people exist:/ do |people_table|
2591
- # people_table is of type Cucumber::Model::Table
2592
- # See RDoc for more info
2593
- end
2594
-
2595
- Then /I should see:/ do |string|
2596
- # string is a plain old ruby String with leading spaces on each line removed
2597
- end
2598
-
2599
- ### New features
2600
- * Added profile formatter. (#35, Joseph Wilk)
2601
- * Added support for Chinese Simplified. (Liming Lian)
2602
- * Added support for Dutch. (Sjoerd Tieleman)
2603
- * Multiline steps are now supported. (#4, Aslak Hellesøy)
2604
- * Tables used to define more examples for a scenario must be prefixed "More Examples" (see languages.yml for other languages)
2605
- * Show the file and line number for scenarios as a comment when displaying with the pretty formatter. (#40, Joseph Wilk)
2606
- * Show the file for the feature as a comment when displaying with the pretty formatter. (#40, Joseph Wilk)
2607
- * Show the feature file and line for pending steps as a comment when displaying with the pretty formatter. (#40, Joseph Wilk)
2608
-
2609
- ### Bugfixes
2610
-
2611
- * Fixed speling errors in Spanish (Daniel Cadenas)
2612
- * ActionMailer delivery_method should not be set to test (#41, Luke Melia)
2613
- * Reverse incorrectly ordered args in webrat select step (#43, David Chelimsky)
2614
- * Support comments above the first scenario (#31, Aslak Hellesøy)
2615
- * Fixed the HTML Formatter to use actual values for FIT table headers (#30, Joseph Wilk)
2616
-
2617
- ### Removed features
2618
-
2619
- * Removed the /^I go to (.*)$/ step from common_webrat.rb - it's not language agnostic and provides little value.
2620
-
2621
- ### New features
2622
-
2623
- * Added new --out option to make it easier to specify output from Rake and cucumber.yml
2624
-
2625
- ## [0.1.7](https://github.com/cucumber/cucumber-ruby/compare/v0.1.6...v0.1.7)
2626
-
2627
- This release fixes a few bugs and adds some new features. The most notable features are:
2628
-
2629
- ### Calling steps from steps
2630
-
2631
- Step definitions are a little bit closer to having regular method semantics.
2632
- You define them, but now you can also call them from other steps. Here is an
2633
- example:
2634
-
2635
- Given /I am logged in as an (.*) named (.*)$/ do |role, name|
2636
- Given "I am registered as #{role}, #{name}, secret"
2637
- When "I log in with #{name}, secret"
2638
- end
2639
-
2640
- Given /I am registered as (.*), (.*), (.*)/ do |role, name, password|
2641
- # (Code removed for brevity)
2642
- end
2643
-
2644
- When /I log in with (.*), (.*)/ do |name, password|
2645
- # (Code removed for brevity)
2646
- end
2647
-
2648
- This means that steps can be reused in other steps. The GivenScenario feature achieves a similar
2649
- effect (on the scenario level), but this feature is something we're not very happy with, mostly
2650
- because it's not parameterisable. Calling steps from steps is.
2651
-
2652
- GivenScenario will still be working several releases, but the plan is to remove it completely in
2653
- the 0.3.0 release.
2654
-
2655
- ### Seeing where a step is defined
2656
-
2657
- Prior to this release it could be hard to find out where the ruby step definition matching
2658
- a plain text step is defined. Not anymore! Cucumber will now output this:
2659
-
2660
- Scenario: Regular numbers
2661
- Given I have entered 3 into the calculator # features/steps/calculator_steps.rb:12
2662
- And I have entered 2 into the calculator # features/steps/calculator_steps.rb:12
2663
- When I press divide # features/steps/calculator_steps.rb:16
2664
- Then the result should be 1.5 on the screen # features/steps/calculator_steps.rb:20
2665
- And the result class should be Float # features/steps/calculator_steps.rb:24
2666
-
2667
- ### Bugfixes
2668
-
2669
- * Fixed a bug in the command line args being lost when using --profile (#27, Joseph Wilk)
2670
- * Fixed a bug in Webrat selects (Tim Glen)
2671
- * Fixed parsing of DOS line endings (#2, #28, Aslak Hellesøy)
2672
-
2673
- ### New features
2674
-
2675
- * Steps can be called from other steps (#3, Bryan Helmkamp, Aslak Hellesøy)
2676
- * Added But keyword to all languages (#21, Aslak Hellesøy)
2677
- * Added --no-source option to display step definition location next to step text (#26, Joseph Wilk, Aslak Hellesøy)
2678
- * Added more Webrat steps (#25, Tim Glen)
2679
-
2680
- ## [0.1.6](https://github.com/cucumber/cucumber-ruby/compare/f3292f4023a707099d02602b2bd6c4ca3cec6820...v0.1.6)
2681
-
2682
- First gem release!