cucumber 8.0.0 → 9.0.2

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