@cucumber/cucumber 7.2.1 → 8.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/README.md +11 -4
  2. package/lib/cli/argv_parser.d.ts +1 -2
  3. package/lib/cli/argv_parser.js +8 -12
  4. package/lib/cli/argv_parser.js.map +1 -1
  5. package/lib/cli/configuration_builder.d.ts +0 -1
  6. package/lib/cli/configuration_builder.js +20 -21
  7. package/lib/cli/configuration_builder.js.map +1 -1
  8. package/lib/cli/helpers.d.ts +1 -0
  9. package/lib/cli/helpers.js +49 -22
  10. package/lib/cli/helpers.js.map +1 -1
  11. package/lib/cli/i18n.js +6 -6
  12. package/lib/cli/i18n.js.map +1 -1
  13. package/lib/cli/index.d.ts +1 -1
  14. package/lib/cli/index.js +35 -29
  15. package/lib/cli/index.js.map +1 -1
  16. package/lib/cli/profile_loader.d.ts +3 -3
  17. package/lib/cli/profile_loader.js +17 -10
  18. package/lib/cli/profile_loader.js.map +1 -1
  19. package/lib/cli/publish_banner.js +1 -1
  20. package/lib/cli/publish_banner.js.map +1 -1
  21. package/lib/formatter/builder.d.ts +5 -4
  22. package/lib/formatter/builder.js +38 -52
  23. package/lib/formatter/builder.js.map +1 -1
  24. package/lib/formatter/get_color_fns.d.ts +6 -2
  25. package/lib/formatter/get_color_fns.js +18 -12
  26. package/lib/formatter/get_color_fns.js.map +1 -1
  27. package/lib/formatter/helpers/event_data_collector.d.ts +15 -17
  28. package/lib/formatter/helpers/event_data_collector.js +19 -12
  29. package/lib/formatter/helpers/event_data_collector.js.map +1 -1
  30. package/lib/formatter/helpers/formatters.d.ts +6 -0
  31. package/lib/formatter/helpers/formatters.js +41 -0
  32. package/lib/formatter/helpers/formatters.js.map +1 -0
  33. package/lib/formatter/helpers/gherkin_document_parser.d.ts +5 -6
  34. package/lib/formatter/helpers/gherkin_document_parser.js +24 -40
  35. package/lib/formatter/helpers/gherkin_document_parser.js.map +1 -1
  36. package/lib/formatter/helpers/issue_helpers.d.ts +6 -6
  37. package/lib/formatter/helpers/issue_helpers.js +6 -8
  38. package/lib/formatter/helpers/issue_helpers.js.map +1 -1
  39. package/lib/formatter/helpers/keyword_type.js +1 -5
  40. package/lib/formatter/helpers/keyword_type.js.map +1 -1
  41. package/lib/formatter/helpers/pickle_parser.d.ts +9 -10
  42. package/lib/formatter/helpers/pickle_parser.js +8 -17
  43. package/lib/formatter/helpers/pickle_parser.js.map +1 -1
  44. package/lib/formatter/helpers/step_argument_formatter.d.ts +2 -2
  45. package/lib/formatter/helpers/step_argument_formatter.js.map +1 -1
  46. package/lib/formatter/helpers/summary_helpers.d.ts +2 -2
  47. package/lib/formatter/helpers/summary_helpers.js +39 -20
  48. package/lib/formatter/helpers/summary_helpers.js.map +1 -1
  49. package/lib/formatter/helpers/test_case_attempt_formatter.js +34 -15
  50. package/lib/formatter/helpers/test_case_attempt_formatter.js.map +1 -1
  51. package/lib/formatter/helpers/test_case_attempt_parser.d.ts +5 -5
  52. package/lib/formatter/helpers/test_case_attempt_parser.js +30 -15
  53. package/lib/formatter/helpers/test_case_attempt_parser.js.map +1 -1
  54. package/lib/formatter/helpers/usage_helpers/index.d.ts +3 -3
  55. package/lib/formatter/helpers/usage_helpers/index.js +48 -45
  56. package/lib/formatter/helpers/usage_helpers/index.js.map +1 -1
  57. package/lib/formatter/html_formatter.d.ts +1 -0
  58. package/lib/formatter/html_formatter.js +2 -1
  59. package/lib/formatter/html_formatter.js.map +1 -1
  60. package/lib/formatter/http_stream.js +1 -1
  61. package/lib/formatter/http_stream.js.map +1 -1
  62. package/lib/formatter/index.d.ts +1 -0
  63. package/lib/formatter/index.js.map +1 -1
  64. package/lib/formatter/json_formatter.d.ts +22 -27
  65. package/lib/formatter/json_formatter.js +62 -30
  66. package/lib/formatter/json_formatter.js.map +1 -1
  67. package/lib/formatter/message_formatter.d.ts +1 -0
  68. package/lib/formatter/message_formatter.js +2 -1
  69. package/lib/formatter/message_formatter.js.map +1 -1
  70. package/lib/formatter/progress_bar_formatter.d.ts +7 -6
  71. package/lib/formatter/progress_bar_formatter.js +5 -4
  72. package/lib/formatter/progress_bar_formatter.js.map +1 -1
  73. package/lib/formatter/progress_formatter.d.ts +3 -2
  74. package/lib/formatter/progress_formatter.js +30 -10
  75. package/lib/formatter/progress_formatter.js.map +1 -1
  76. package/lib/formatter/rerun_formatter.d.ts +1 -0
  77. package/lib/formatter/rerun_formatter.js +33 -11
  78. package/lib/formatter/rerun_formatter.js.map +1 -1
  79. package/lib/formatter/snippets_formatter.d.ts +1 -0
  80. package/lib/formatter/snippets_formatter.js +22 -2
  81. package/lib/formatter/snippets_formatter.js.map +1 -1
  82. package/lib/formatter/step_definition_snippet_builder/index.d.ts +3 -3
  83. package/lib/formatter/step_definition_snippet_builder/index.js.map +1 -1
  84. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js +3 -0
  85. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js.map +1 -1
  86. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.d.ts +1 -1
  87. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js.map +1 -1
  88. package/lib/formatter/summary_formatter.d.ts +3 -2
  89. package/lib/formatter/summary_formatter.js +4 -4
  90. package/lib/formatter/summary_formatter.js.map +1 -1
  91. package/lib/formatter/usage_formatter.d.ts +1 -0
  92. package/lib/formatter/usage_formatter.js +24 -5
  93. package/lib/formatter/usage_formatter.js.map +1 -1
  94. package/lib/formatter/usage_json_formatter.d.ts +1 -0
  95. package/lib/formatter/usage_json_formatter.js +1 -0
  96. package/lib/formatter/usage_json_formatter.js.map +1 -1
  97. package/lib/importer.js +13 -0
  98. package/lib/index.d.ts +15 -12
  99. package/lib/index.js +6 -3
  100. package/lib/index.js.map +1 -1
  101. package/lib/models/data_table.d.ts +3 -4
  102. package/lib/models/data_table.js +9 -7
  103. package/lib/models/data_table.js.map +1 -1
  104. package/lib/models/definition.d.ts +2 -2
  105. package/lib/models/definition.js.map +1 -1
  106. package/lib/models/step_definition.js +1 -2
  107. package/lib/models/step_definition.js.map +1 -1
  108. package/lib/models/test_case_hook_definition.d.ts +2 -2
  109. package/lib/models/test_case_hook_definition.js.map +1 -1
  110. package/lib/models/test_step_hook_definition.d.ts +2 -2
  111. package/lib/models/test_step_hook_definition.js.map +1 -1
  112. package/lib/pickle_filter.d.ts +9 -11
  113. package/lib/pickle_filter.js +9 -9
  114. package/lib/pickle_filter.js.map +1 -1
  115. package/lib/runtime/assemble_test_cases.d.ts +13 -0
  116. package/lib/runtime/assemble_test_cases.js +88 -0
  117. package/lib/runtime/assemble_test_cases.js.map +1 -0
  118. package/lib/runtime/attachment_manager/index.d.ts +2 -2
  119. package/lib/runtime/attachment_manager/index.js +23 -4
  120. package/lib/runtime/attachment_manager/index.js.map +1 -1
  121. package/lib/runtime/helpers.d.ts +3 -2
  122. package/lib/runtime/helpers.js +36 -1
  123. package/lib/runtime/helpers.js.map +1 -1
  124. package/lib/runtime/index.d.ts +3 -4
  125. package/lib/runtime/index.js +27 -43
  126. package/lib/runtime/index.js.map +1 -1
  127. package/lib/runtime/parallel/command_types.d.ts +10 -9
  128. package/lib/runtime/parallel/command_types.js.map +1 -1
  129. package/lib/runtime/parallel/coordinator.d.ts +9 -9
  130. package/lib/runtime/parallel/coordinator.js +62 -55
  131. package/lib/runtime/parallel/coordinator.js.map +1 -1
  132. package/lib/runtime/parallel/worker.d.ts +2 -2
  133. package/lib/runtime/parallel/worker.js +23 -21
  134. package/lib/runtime/parallel/worker.js.map +1 -1
  135. package/lib/runtime/step_runner.d.ts +3 -3
  136. package/lib/runtime/step_runner.js +16 -14
  137. package/lib/runtime/step_runner.js.map +1 -1
  138. package/lib/runtime/stopwatch.d.ts +4 -4
  139. package/lib/runtime/stopwatch.js +21 -2
  140. package/lib/runtime/stopwatch.js.map +1 -1
  141. package/lib/runtime/test_case_runner.d.ts +51 -0
  142. package/lib/runtime/test_case_runner.js +253 -0
  143. package/lib/runtime/test_case_runner.js.map +1 -0
  144. package/lib/stack_trace_filter.js +4 -5
  145. package/lib/stack_trace_filter.js.map +1 -1
  146. package/lib/step_arguments.d.ts +4 -4
  147. package/lib/step_arguments.js.map +1 -1
  148. package/lib/support_code_library_builder/build_helpers.js +14 -10
  149. package/lib/support_code_library_builder/build_helpers.js.map +1 -1
  150. package/lib/support_code_library_builder/index.d.ts +9 -7
  151. package/lib/support_code_library_builder/index.js +10 -24
  152. package/lib/support_code_library_builder/index.js.map +1 -1
  153. package/lib/support_code_library_builder/types.d.ts +22 -23
  154. package/lib/support_code_library_builder/types.js.map +1 -1
  155. package/lib/support_code_library_builder/validate_arguments.js +14 -19
  156. package/lib/support_code_library_builder/validate_arguments.js.map +1 -1
  157. package/lib/support_code_library_builder/world.d.ts +7 -1
  158. package/lib/support_code_library_builder/world.js.map +1 -1
  159. package/lib/time.d.ts +3 -10
  160. package/lib/time.js +39 -48
  161. package/lib/time.js.map +1 -1
  162. package/lib/user_code_runner.js +7 -14
  163. package/lib/user_code_runner.js.map +1 -1
  164. package/lib/value_checker.d.ts +2 -2
  165. package/lib/value_checker.js.map +1 -1
  166. package/lib/wrapper.mjs +38 -0
  167. package/package.json +73 -64
  168. package/CHANGELOG.md +0 -1881
  169. package/lib/runtime/pickle_runner.d.ts +0 -67
  170. package/lib/runtime/pickle_runner.js +0 -305
  171. package/lib/runtime/pickle_runner.js.map +0 -1
  172. package/lib/status.d.ts +0 -3
  173. package/lib/status.js +0 -5
  174. package/lib/status.js.map +0 -1
  175. package/lib/support_code_library_builder/finalize_helpers.d.ts +0 -10
  176. package/lib/support_code_library_builder/finalize_helpers.js +0 -26
  177. package/lib/support_code_library_builder/finalize_helpers.js.map +0 -1
package/CHANGELOG.md DELETED
@@ -1,1881 +0,0 @@
1
- # Changelog
2
- All notable changes to this project will be documented in this file.
3
-
4
- The format is based on [Keep a Changelog](http://keepachangelog.com/)
5
- and this project adheres to [Semantic Versioning](http://semver.org/).
6
-
7
- Please see [CONTRIBUTING.md](https://github.com/cucumber/cucumber/blob/master/CONTRIBUTING.md) on how to contribute to Cucumber.
8
-
9
- ----
10
- ## [Unreleased] (In Git)
11
-
12
- ### Added
13
-
14
- ### Changed
15
-
16
- ### Deprecated
17
-
18
- ### Removed
19
-
20
- ### Fixed
21
-
22
- ## [7.2.1] (2021-04-21)
23
-
24
- ### Fixed
25
-
26
- * Temporarily remove ESM changes due to impact on formatters
27
-
28
- ## [7.2.0] (2021-04-20)
29
-
30
- ### Added
31
-
32
- * Experimental support for native ES modules via the [`--esm` flag](./docs/cli.md#es-modules-experimental-nodejs-12) ([#1589](https://github.com/cucumber/cucumber-js/pull/1589))
33
-
34
- ## [7.1.0] (2021-04-06)
35
-
36
- ### Added
37
-
38
- - Support attachments that are already base64-encoded via a prefix on the MIME type e.g. `this.attach(base64String, 'base64:image/png')` ([#1552](https://github.com/cucumber/cucumber-js/pull/1552))
39
- - Support tagged rules ([cucumber#1123](https://github.com/cucumber/cucumber/issues/1123))
40
-
41
- ### Fixed
42
-
43
- * Fix types for hook functions so they can return e.g. `'skipped'` ([#1542](https://github.com/cucumber/cucumber-js/pull/1542))
44
- * Display the response of the reports server when an error is returned before failing. ([#1608](https://github.com/cucumber/cucumber-js/pull/1608))
45
- * Remove unnecessary implicit dependency on `long` package ([cucumber#1313](https://github.com/cucumber/cucumber/pull/1313))
46
- * Remove unnecessary transitive dependencies on `react` etc ([cucumber#1308](https://github.com/cucumber/cucumber/pull/1308))
47
-
48
- ## [7.0.0] (2020-12-21)
49
-
50
- ### Added
51
-
52
- * Add a built in `html` formatter for rich HTML reports output as a standalone page ([#1432](https://github.com/cucumber/cucumber-js/pull/1432))
53
- * Add support for `BeforeStep` and `AfterStep` hooks ([#1416](https://github.com/cucumber/cucumber-js/pull/1416))
54
- * Custom formatters can now be resolved by a module name (as well as by a relative path), enabling use of Yarn PnP ([#1413](https://github.com/cucumber/cucumber-js/pull/1413))
55
-
56
- ### Removed
57
-
58
- * Support for running Cucumber in web browsers has been removed ([#1508](https://github.com/cucumber/cucumber-js/pull/1508)). This feature was increasingly difficult to support and seldom used. Node.js will now be the only support runtime for Cucumber itself; of course as before you can still use tools like WebDriver and Puppeteer to instrument testing of browser-based software. See [the discussion in #1437](https://github.com/cucumber/cucumber-js/issues/1437) for more about why this change is happening.
59
-
60
- ### Fixed
61
-
62
- * Wrong version in meta message [#1439](https://github.com/cucumber/cucumber-js/issues/1439) [#1442](https://github.com/cucumber/cucumber-js/pull/1442)
63
-
64
- ## [7.0.0-rc.0] (2020-09-14)
65
-
66
- See the [migration guide](./docs/migration.md) for details of how to migrate from 6.x.x.
67
-
68
- ### New Features
69
-
70
- * Add `--publish` option to publish reports to [reports.cucumber.io](https://reports.cucumber.io) [#1423](https://github.com/cucumber/cucumber-js/issues/1423), [#1424](https://github.com/cucumber/cucumber-js/pull/1424)
71
- * Add support for Gherkin's [Rule/Example syntax](https://cucumber.io/docs/gherkin/reference/#rule)
72
- * Add `transpose` method to [data table interface](docs/support_files/data_table_interface.md)
73
- * Add `log` function to world, providing a shorthand to log plain text as [attachment(s)](docs/support_files/attachments.md)
74
- * Now includes [TypeScript](https://www.typescriptlang.org/) type definitions, deprecating the need for `@types/cucumber` in TypeScript projects
75
-
76
- ### Breaking changes
77
-
78
- * The npm module has changed name from `cucumber` to `@cucumber/cucumber` - `require`/`import` statements must be changed from `cucumber` to `@cucumber/cucumber`
79
- * TypeScript users must rename `TableDefinition` to `DataTable`
80
- * Drop support for Node.js 8, add support for Node.js 14
81
- * Formatters
82
- * Events are now based on [cucumber-messages](https://github.com/cucumber/cucumber/tree/master/messages)
83
- * `event-protocol` formatter has been removed and replaced with `message`
84
- * Remove long-deprecated `typeName` from options object for `defineParameterType` in favour of `name`
85
- * Parallel runtime environment variables renamed for inclusivity:
86
- * `CUCUMBER_TOTAL_SLAVES` is now `CUCUMBER_TOTAL_WORKERS`
87
- * `CUCUMBER_SLAVE_ID` is now `CUCUMBER_WORKER_ID`
88
- * Custom formatters are now loaded via the regular require paths relative to the current directory, unless it begins with a dot (e.g. `--format=./relpath/to/formatter`). Previously this was always loaded as a file relative to the current directory.
89
-
90
- ### Deprecations
91
-
92
- * `json` formatter is deprecated and will be removed in next major release. Custom formatters should migrate to use the `message` formatter, or the [standalone JSON formatter](https://github.com/cucumber/cucumber/tree/master/json-formatter) as a stopgap.
93
-
94
- ### Bug fixes
95
-
96
- * don't execute BeforeAll and AfterAll hooks when in dry-run
97
- * support correct case for `--retry-tag-filter` CLI argument
98
-
99
- ## [6.0.5] (2019-11-13)
100
-
101
- ### Bug fixes
102
-
103
- * json formatter: fix duration to be nanoseconds (was femtoseconds)
104
-
105
- ## [6.0.4] (2019-11-10)
106
-
107
- ### Bug fixes
108
-
109
- * retry: create a new World instance for every attempt
110
-
111
- ## [6.0.3] (2019-10-27)
112
-
113
- * Revert JSON formatter changes to be backward compatible
114
-
115
- ## [6.0.2] (2019-10-07)
116
-
117
- * Upgrade to cucumber-expressions 8.0.1 to fix failure on multiple installs
118
-
119
- ## [6.0.1] (2019-10-06)
120
-
121
- * Release to fix missing lib
122
-
123
- ## [6.0.0] (2019-10-06)
124
-
125
- ### BREAKING CHANGES
126
-
127
- * Drop support for Node.js 6
128
- * JSON formatter has major breaking changes. View some sample outputs [here](/features/fixtures/formatters/). The `*.json.js` files contain the js objects the json parses to. (UPDATE - reverted in 6.0.3)
129
- * Duration is now in nanoseconds in event-protocol formatter and in events sent to custom formatters
130
- * Custom formatters: Formatter helpers and EventDataCollector had breaking changes to support retry
131
-
132
- ### Bug fixes
133
-
134
- * Prevent after hooks from updating skipped scenarios to passed
135
- * Parallel: beforeAll / afterAll errors fail the suite
136
- * Fix CLI help link
137
-
138
- ### New features
139
-
140
- * Add ability to retry flaky tests
141
- * Use `--retry <NUMBER>` and limit what tests will be retried with `--retryTagFilter <EXPRESSION>`
142
- * Event-protocol added an `attemptNumber` to test case started, test case finished, and all test step events and a `retried` boolean to the test case result to signify if the test case was retried
143
- * usage-json formatter: add code and patternType
144
- * Add support for Node.js 12
145
-
146
- ## [5.1.0] (2018-12-28)
147
-
148
- ### Internals
149
-
150
- * Upgrade to babel 7
151
-
152
- ## [5.0.3] (2018-12-03)
153
-
154
- ### Speed Improvements
155
-
156
- * Only create Cucumber Expressions once
157
-
158
- ## [5.0.2] (2018-10-06)
159
-
160
- ### Bug Fixes
161
-
162
- * Update default of formatters' colors enabled to be true only if the stream is a TTY
163
- * Allow writing to stdout when running in parallel
164
- * Skip other before hooks if one returns skipped
165
-
166
- ## [5.0.1] (2018-04-09)
167
-
168
- ### Bug Fixes
169
-
170
- * Update dependencies to avoid licensing problems
171
-
172
- ## [5.0.0] (2018-04-09)
173
-
174
- ### BREAKING CHANGES
175
-
176
- * Drop support for Node.js 4
177
-
178
- ### Bug Fixes
179
-
180
- * Update dependencies to avoid licensing problems
181
- * Provide better error message when trying to attach data after the scenario has finished. This is possible if not waiting for the attach to finish.
182
-
183
- ### New features
184
-
185
- * Add support for Node.js 10
186
-
187
- ## [4.2.1] (2018-04-09)
188
-
189
- ### Bug Fixes
190
-
191
- * improve the error message for gherkin parse errors
192
-
193
- ## [4.2.0] (2018-04-03)
194
-
195
- * add cli option `--order <TYPE[:SEED]>` to run scenarios in the specified order. Type should be `defined` or `random`
196
-
197
- ## [4.1.0] (2018-03-27)
198
-
199
- ### New Features
200
-
201
- * update step timeout error message for each interface ([#1028](https://github.com/cucumber/cucumber-js/pull/1028), Bruce Lindsay)
202
- * default to synchronous snippets
203
- * print text step attachments ([#1041](https://github.com/cucumber/cucumber-js/pull/1041), DevSide)
204
-
205
- ### Bug Fixes
206
-
207
- * cucumber-expressions: Upgrade from 5.0.7 to [5.0.13](https://github.com/cucumber/cucumber/blob/master/cucumber-expressions/CHANGELOG.md#5013---2018-01-21)
208
- * fix error serialization in parallel mode
209
-
210
- ## [4.0.0] (2018-01-24)
211
-
212
- ### BREAKING CHANGES
213
-
214
- * cucumber now waits for the event loop to drain before exiting. To exit immediately when the tests finish running use `--exit`. Use of this flag is discouraged. See [here](/docs/cli.md#exiting) for more information
215
- * remove `--compiler` option. See [here](/docs/cli.md#transpilers) for the new way to use transpilers
216
- * remove binaries `cucumber.js` and `cucumberjs`. Use `cucumber-js`
217
-
218
- ### New Features
219
-
220
- * can now use glob patterns for selecting what features to run
221
- * update `--require` to support glob patterns
222
- * add `--require-module <NODE_MODULE>` to require node modules before support code is loaded
223
- * add snippet interface "async-await"
224
- * add `--parallel <NUMBER_OF_SLAVES>` option to run tests in parallel. Note this is an experimental feature. See [here](/docs/cli.md#parallel-experimental) for more information
225
-
226
- ### Bug Fixes
227
-
228
- * revert json formatter duration to nanoseconds
229
-
230
- ### Deprecations
231
-
232
- * `defineSupportCode` is deprecated. Require/import the individual methods instead
233
- ```js
234
- var {defineSupportCode} = require('cucumber');
235
-
236
- defineSupportCode(function({Given}) {
237
- Given(/^a step$/, function() {});
238
- });
239
-
240
- // Should be updated to
241
-
242
- var {Given} = require('cucumber');
243
-
244
- Given(/^a step$/, function() {});
245
- ```
246
-
247
- ## [3.2.1] (2018-01-03)
248
-
249
- ### Bug Fixes
250
- * revert json formatter mime type ([#995](https://github.com/cucumber/cucumber-js/pull/995)
251
-
252
- ## [3.2.0] (2017-12-08)
253
-
254
- ### New Features
255
- * add exception to `test-case-finished` event ([#952](https://github.com/cucumber/cucumber-js/pull/952) Giuseppe DiBella)
256
- * compiler option - allow `:` in module name to support specifying an absolute path on Windows ([#958](https://github.com/cucumber/cucumber-js/pull/958) Darrin Holst)
257
- * json formatter: format step result exception ([#973](https://github.com/cucumber/cucumber-js/pull/973) Valerio Innocenti Sedili)
258
-
259
- ### Bug Fixes
260
- * cucumber-expressions: Upgrade from 5.0.3 to [5.0.6](https://github.com/cucumber/cucumber/blob/master/cucumber-expressions/CHANGELOG.md#506---2017-11-28)
261
- * tag-expressions: Upgrade from 1.0.1 to [1.1.1](https://github.com/cucumber/cucumber/blob/master/tag-expressions/CHANGELOG.md#111---2017-12-01)
262
-
263
- ## [3.1.0] (2017-10-25)
264
-
265
- ### New Features
266
- * add `--language` cli option to provide the default language for feature files
267
-
268
- ### Bug Fixes
269
- * pickle filter: support relative paths ([#962](https://github.com/cucumber/cucumber-js/pull/962) Marco Muller)
270
-
271
- ## [3.0.6] (2017-10-18)
272
-
273
- * cli: fix `--format` option parsing on Windows ([#954](https://github.com/cucumber/cucumber-js/pull/954) Darrin Holst)
274
-
275
- ## [3.0.5] (2017-10-14)
276
-
277
- ### New Features
278
-
279
- * `defineParameterType`: The `transformer` function's `this` object is now the current World (as long as it's not an arrow function). ([#948](https://github.com/cucumber/cucumber-js/pull/948) Aslak Hellesøy)
280
- * `Before` / `After`: The first argument now includes a `pickle` property which can
281
- be used to get the name / tags of the running scenario. ([#947](https://github.com/cucumber/cucumber-js/pull/947) Giuseppe DiBella)
282
-
283
- ## [3.0.4] (2017-10-04)
284
-
285
- ### New Features
286
-
287
- * cli: make `--tags` option repeatable (joined with `and`) ([#940](https://github.com/cucumber/cucumber-js/issues/940), Ilya Kozhevnikov)
288
- * rerun formatter: make separator configurable. See docs [here](https://github.com/cucumber/cucumber-js/blob/fb9e8fc2e68d4395b9b0a124d18e036d00a8c69f/docs/cli.md) ([#930](https://github.com/cucumber/cucumber-js/issues/930), Máté Karácsony)
289
-
290
- ## [3.0.3] (2017-09-23)
291
-
292
- ### New Features
293
-
294
- * support to imperatively skip steps. See documentation [here](/docs/support_files/step_definitions.md#skipped-steps) ([#912](https://github.com/cucumber/cucumber-js/issues/912), jshifflet)
295
-
296
- ## [3.0.2] (2017-09-13)
297
-
298
- ### New Features
299
-
300
- * `defineParameterType`: new options `useForSnippets` and `preferForRegexpMatch`. Please see documentation for usage.
301
-
302
- ### Bug Fixes
303
-
304
- * fix `usage` and `usage-json` formatters when there are undefined steps
305
-
306
- ### Deprecations
307
-
308
- * `defineParameterType`: `typeName` option is deprecated in favor of `name`
309
-
310
- ## [3.0.1] (2017-08-28)
311
-
312
- ### Bug Fixes
313
-
314
- * JSON formatter: add type to scenario ([#893](https://github.com/cucumber/cucumber-js/issues/893), szymonprz)
315
- * BeforeAll/AfterAll hooks: fix timeout support ([#899](https://github.com/cucumber/cucumber-js/issues/899))
316
- * format output paths: allow absolute paths ([#906](https://github.com/cucumber/cucumber-js/issues/906), Darrin Holst)
317
- * Before/After: fix undefined hook parameter ([#919](https://github.com/cucumber/cucumber-js/issues/919))
318
-
319
- ### Documentation
320
-
321
- * update nodejs example
322
- ([#898](https://github.com/cucumber/cucumber-js/issues/898), João Guilherme Farias Duda)
323
- * fix typo and make punctuation consistent
324
- ([#909](https://github.com/cucumber/cucumber-js/issues/909), Dmitry Shirokov)
325
- * normalize CHANGELOG
326
- ([#915](https://github.com/cucumber/cucumber-js/issues/915), Jayson Smith)
327
-
328
- ## [3.0.0] (2017-08-08)
329
-
330
- ### BREAKING CHANGES
331
-
332
- * `pretty` formatter has been removed. All errors are now reported in a `pretty` format instead. The `progress` formatter is now the default.
333
- * Major changes to [custom formatter](/docs/custom_formatters.md) and [custom snippet syntax](/docs/custom_snippet_syntaxes.md) APIs due to rewrite in support of the event protocol. Please see the updated documentation.
334
- * Remove `registerHandler` and `registerListener`. Use `BeforeAll` / `AfterAll` for setup code. Use the event protocol formatter if used for reporting. Please open an issue if you have another use case.
335
- * Remove deprecated `addTransform`. Use `defineParameterType` instead.
336
- * `cucumber-expressions`:
337
- * using an undefined parameter type now results in an error
338
- * `{stringInDoubleQuotes}` is now `{string}` which works for strings in single or double quotes
339
- * Undefined steps fail the build in non-strict mode. Non-strict mode only allows pending steps now.
340
-
341
- ### New Features
342
-
343
- * Add `--i18n-languages` and `--i18n-keywords <ISO 639-1>` CLI options
344
- * Add `BeforeAll` / `AfterAll` hooks for suite level setup / teardown
345
- * Add event protocol formatter
346
- * `cucumber-expressions`:
347
- * Add built in `{word}` parameter type which is equivalent to `[A-Za-z0-9_]+`
348
- * Allow multiple parameter types to use the same regular expression
349
- * Improve error message when using multiple asynchronous interfaces
350
-
351
- ### Bug Fixes
352
-
353
- * Fix support code line and uri references when using direct imports
354
-
355
- ## [2.3.1] (2017-06-09)
356
-
357
- ### New Features
358
-
359
- * pass step specific options to definition function wrapper ([#838](https://github.com/cucumber/cucumber-js/issues/838), Łukasz Gandecki)
360
-
361
- ## [2.3.0] (2017-06-01)
362
-
363
- ### New Features
364
-
365
- * Add support code aliases for every method in the [support code API](./docs/support_files/api_reference.md). The following are now equivalent:
366
- ```javascript
367
- // Using defineSupportCode
368
- var {defineSupportCode} = require('cucumber');
369
-
370
- defineSupportCode(function({Given}) {
371
- Given(/^a step$/, function() {});
372
- });
373
-
374
- // Using aliases
375
- var {Given} = require('cucumber');
376
-
377
- Given(/^a step$/, function() {});
378
- ```
379
- (Nico Jansen and Łukasz Gandecki)
380
-
381
- ## [2.2.0] (2017-05-20)
382
-
383
- ### New Features
384
-
385
- * Add `progress-bar` formatter inspired by [fuubar-cucumber]( https://github.com/martinciu/fuubar-cucumber) and [fuubar](https://github.com/thekompanee/fuubar) which outputs a progress bar and errors as they happen
386
-
387
- ## [2.1.0](https://github.com/cucumber/cucumber-js/compare/v2.0.0-rc.9...v2.1.0) (2017-05-12)
388
-
389
- ### Bug Fixes
390
-
391
- * throw descriptive error message when running a global install
392
-
393
- ## [1.3.3] (2016-04-26)
394
-
395
- ### Bug Fixes
396
-
397
- * fix unhandled rejections in handlers ([#792](https://github.com/cucumber/cucumber-js/issues/792), yaronassa)
398
-
399
- ## [1.3.2] (2016-03-20)
400
-
401
- ### Bug Fixes
402
-
403
- * dependency: fix use of gherkin to not rely on removed field
404
-
405
- ## [2.0.0-rc.9](https://github.com/cucumber/cucumber-js/compare/v2.0.0-rc.8...v2.0.0-rc.9) (2017-03-16)
406
-
407
- ### Bug Fixes
408
-
409
- * dependency: fix use of gherkin to not rely on removed field
410
-
411
- ## [2.0.0-rc.8](https://github.com/cucumber/cucumber-js/compare/v2.0.0-rc.7...v2.0.0-rc.8) (2017-03-10)
412
-
413
- ### Bug Fixes
414
-
415
- * generated step definition snippets are not found ([#732](https://github.com/cucumber/cucumber-js/issues/732), Aslak Hellesøy)
416
- * catch attempt to define duplicate parameter type regular expression ([#780](https://github.com/cucumber/cucumber-js/issues/780), Aslak Hellesøy)
417
- * catch errors in parameter type transform functions (Aslak Hellesøy)
418
-
419
- ### New Features
420
-
421
- * all async parameter type transform functions (Aslak Hellesøy)
422
- * make all formatters available when requiring
423
-
424
- ### Deprecations
425
-
426
- * `addTransform` was deprecated in favor of `defineParameterType`
427
-
428
- ### Documentation
429
-
430
- * normalize syntax highlighting ([#726](https://github.com/cucumber/cucumber-js/issues/726), Martin Delille)
431
- * fix setWorldConstructor example
432
-
433
- ## [2.0.0-rc.7](https://github.com/cucumber/cucumber-js/compare/v2.0.0-rc.6...v2.0.0-rc.7) (2017-01-30)
434
-
435
- ### Bug Fixes
436
-
437
- * fix after hook run order ([#743](https://github.com/cucumber/cucumber-js/issues/743))
438
-
439
- ### Documentation
440
-
441
- * normalize syntax highlighting ([#726](https://github.com/cucumber/cucumber-js/issues/726), (Martin Delille)
442
- * fix addTransform parameter name ([#738](https://github.com/cucumber/cucumber-js/issues/738))
443
-
444
- ## [2.0.0-rc.6](https://github.com/cucumber/cucumber-js/compare/v2.0.0-rc.5...v2.0.0-rc.6) (2017-01-06)
445
-
446
- ### New Features
447
-
448
- * usage and usage-json formatters
449
- * update error reporting for `registerHandler` errors
450
- * add ability to disable timeout
451
-
452
- ### Bug Fixes
453
-
454
- * update snippets to new support code interface
455
-
456
- ## [2.0.0-rc.5](https://github.com/cucumber/cucumber-js/compare/v2.0.0-rc.4...v2.0.0-rc.5) (2016-12-22)
457
-
458
- ### Breaking Changes
459
-
460
- * Drop support for Node 0.12
461
- * format assertion errors to display diffs
462
-
463
- ### Documentation
464
-
465
- * fix CLI format-options name ([#703](https://github.com/cucumber/cucumber-js/issues/703), Florian Ribon)
466
- * add link on README.md to custom formatters documentation
467
-
468
- ## [2.0.0-rc.4](https://github.com/cucumber/cucumber-js/compare/v2.0.0-rc.3...v2.0.0-rc.4) (2016-12-19)
469
-
470
- ### Breaking Changes
471
-
472
- * update support code library interface - instead of exporting a function and calling methods on `this`, require the `cucumber` module and call `defineSupportCode` which passes an object as the first argument whch exposes the methods. Overriding the world constructor has changed from overriding the World property to calling `setWorldConstructor`.
473
-
474
- ```javascript
475
- // 1.3.1
476
- module.exports = function () {
477
- this.Given(/^a step$/, function() {});
478
- this.World = CustomWorld
479
- });
480
-
481
- // 2.0.0
482
- var {defineSupportCode} = require('cucumber');
483
-
484
- defineSupportCode(function({Given, setWorldConstructor}) {
485
- Given(/^a step$/, function() {});
486
- setWorldConstructor(CustomWorld);
487
- });
488
- ```
489
-
490
- ## [2.0.0-rc.3](https://github.com/cucumber/cucumber-js/compare/v2.0.0-rc.2...v2.0.0-rc.3) (2016-12-19)
491
-
492
- ### Breaking Changes
493
-
494
- * make strict the default
495
- * previously pending and undefined steps did not cause an exit code of 1. This could be overridden with `--strict`. Strict is now the default and you can use `--no-strict` to return to the previous behavior.
496
- * update automatically required files
497
- * if the features live in a `features` directory at any level, all support files in the `features` directory are loaded.
498
-
499
- ### Bug Fixes
500
-
501
- * prevent crash on empty feature file
502
-
503
- ### New Features
504
-
505
- * validate argument types
506
-
507
- ### Documentation
508
-
509
- * docs: fix tag expression migration guide ([#691](https://github.com/cucumber/cucumber-js/issues/691), Aslak Hellesøy)
510
-
511
- ## [2.0.0-rc.2](https://github.com/cucumber/cucumber-js/compare/v2.0.0-rc.1...v2.0.0-rc.2) (2016-12-04)
512
-
513
- ### Breaking Changes
514
-
515
- * pass `attach` to world constructor instead of assigning it to world
516
- * the world constructor now receives `{attach, parameters}` as the first argument instead of `parameters`
517
-
518
- ### New Features
519
-
520
- * json formatter: add `isBackground` to steps
521
-
522
- ### Bug Fixes
523
-
524
- * clear timeouts of asynchronous hooks/steps
525
- * stop running features with no scenarios
526
-
527
- ### Documentation
528
-
529
- * update node js example
530
-
531
- ## [2.0.0-rc.1](https://github.com/cucumber/cucumber-js/compare/v2.0.0-rc.0...v2.0.0-rc.1) (2016-11-25)
532
-
533
- ### Bug Fixes
534
-
535
- * fix browser version
536
-
537
- ## [2.0.0-rc.0](https://github.com/cucumber/cucumber-js/compare/v1.3.1...v2.0.0-rc.0) (2016-11-25)
538
-
539
- ### Breaking Changes
540
-
541
- * Dropped support for Node 0.10
542
- * CLI
543
- * `--colors / --no-colors` has moved to `--format-options '{"colorsEnabled": <BOOLEAN>}'`
544
- * `--require <DIR|FILE>`: the required files are no longer reordered to require anything in a `support` directory first
545
- * `--snippet-interface <INTERFACE>` has moved to `--format-options '{"snippetInterface": "<INTERFACE>"}'`
546
- * `--snippet-syntax <SYNTAX>` has moved to `--format-options '{"snippetSyntax": "<SYNTAX>"}'`
547
- * `--tags <EXPRESSION>` now uses [cucumber-tag-expressions](https://docs.cucumber.io/tag-expressions/). It is no longer repeatable and new values will override previous
548
- * `--tags @dev` stays the same
549
- * `--tags ~@dev` becomes `--tags 'not @dev'`
550
- * `--tags @foo,@bar` becomes `--tags '@foo or @bar'`
551
- * `--tags @foo --tags @bar` becomes `--tags '@foo and @bar'`
552
- * Internals
553
- * complete rewrite using ES2015 and promises
554
- * JSON Formatter
555
- * String attachments are no longer base64 encoded. Buffer and Stream attachments are still base64 encoded.
556
- * Support Files
557
- * Attachments
558
- * The `attach` function used for adding attachments moved from the API scenario object to world. It is thus now available in step definitions without saving a reference to the scenario.
559
-
560
- ```javascript
561
- // 1.3.0
562
- this.After(function(scenario, callback) {
563
- scenario.attach(new Buffer([137, 80, 78, 71]), 'image/png')
564
- });
565
-
566
- // 2.0.0
567
- this.After(function() {
568
- this.attach(new Buffer([137, 80, 78, 71]), 'image/png');
569
- });
570
- ```
571
-
572
- * When attaching buffers or strings, the callback argument is ignored.
573
- * Hooks
574
- * Hooks now receive a [ScenarioResult](/src/models/scenario_result.js) instead of the Scenario
575
-
576
- ```javascript
577
- // 1.3.0
578
- this.After(function(scenario) {});
579
-
580
- // 2.0.0
581
- this.After(function(scenarioResult) {});
582
- ```
583
-
584
- * The `tags` option for hook should now be a string instead of an array and uses [cucumber-tag-expressions](https://docs.cucumber.io/tag-expressions/)
585
-
586
- ```javascript
587
- // 1.3.0
588
- this.Before({tags: ["@foo"]}, function (scenario) {})
589
- this.Before({tags: ["@foo,@bar"]}, function (scenario) {})
590
- this.Before({tags: ["@foo", "@bar"]}, function (scenario) {})
591
-
592
- // 2.0.0
593
- this.Before({tags: "@foo"}, function (scenario) {})
594
- this.Before({tags: "@foo and @bar"}, function (scenario) {})
595
- this.Before({tags: "@foo or @bar"}, function (scenario) {})
596
- ```
597
-
598
- * Step Definitions
599
- * String patterns were removed in favor [cucumber-expressions](https://docs.cucumber.io/cucumber-expressions/)
600
- * Regular Expressions
601
- * capture groups matching `(-?\d+)` will be automatically converted to an integer using `parseInt`
602
- * capture groups matching `(-?\d*\.?\d+)` will be automatically converted to a float using `parseFloat`
603
- * Generator functions are no longer automatically run with `co`. To retain the previous functionality, use [this.setDefinitionFunctionWrapper](/docs/support_files/step_definitions.md#definition-function-wrapper)
604
- * Event Handlers
605
- * Objects no longer have `get*` methods and instead have exposed properties
606
- * For example: `scenario.getName()` is now just `scenario.name`
607
- * `StepResult` duration is now in milliseconds instead of nanoseconds
608
-
609
- ### Bug Fixes
610
-
611
- * remove empty lines from `@rerun` files ([#660](https://github.com/cucumber/cucumber-js/issues/660), Cody Ray Hoeft)
612
- * catch uncaught errors in the browser (Charlie Rudolph)
613
-
614
- ### New Features
615
-
616
- * Support Files
617
- * Attachments:
618
- * When attaching a stream, the interface can either accept a callback as a third argument or will return a promise if not passed a callback
619
- * Step Definitions
620
- * Ability to add custom argument transformations
621
- * Fail fast / rerun formatter
622
- * When used together rerun formatter will output all skipped scenarios that didn't run due to a failure
623
-
624
- ### Documentation
625
-
626
- * fix typo ([#659](https://github.com/cucumber/cucumber-js/issues/659), gforceg)
627
- * update support files api reference ([#661](https://github.com/cucumber/cucumber-js/issues/661), Zearin)
628
-
629
- ## [1.3.1] (2016-09-30)
630
-
631
- ### Bug Fixes
632
-
633
- * pass formatter options to listener ([#641](https://github.com/cucumber/cucumber-js/issues/641), Charlie Rudolph)
634
- * rerun formatter: output any scenario that doesn't pass (Charlie Rudolph)
635
- * populate scenario definition ([#647](https://github.com/cucumber/cucumber-js/issues/647), Charlie Rudolph)
636
- * handle empty stacktraces ([#605](https://github.com/cucumber/cucumber-js/issues/605), Hugues Malphettes)
637
- * use cross-platform symbols ([#635](https://github.com/cucumber/cucumber-js/issues/635), Kevin Goslar)
638
-
639
- ### Documentation
640
-
641
- * fix node.js example ([#637](https://github.com/cucumber/cucumber-js/issues/637), Jonathan Gomez)
642
- * fix links in event_handlers.md ([#638](https://github.com/cucumber/cucumber-js/issues/638), Oliver Rogers)
643
- * fix hooks example ([#644](https://github.com/cucumber/cucumber-js/issues/644), John McLaughlin)
644
-
645
- ## [1.3.0] (2016-09-08)
646
-
647
- ### New Features
648
-
649
- * add `--snippet-interface <INTERFACE>` CLI option (Charlie Rudolph)
650
- * add `--world-parameters <JSON>` CLI option (Charlie Rudolph)
651
- * add snippets formatter (Charlie Rudolph)
652
- * add support for ES6 default module syntax (dbillingham)
653
- * pretty formatter: add symbols (Charlie Rudolph)
654
- * add simplified hook parameters (Charlie Rudolph)
655
-
656
- ### Bug Fixes
657
-
658
- * step definition snippets internationalization (Charlie Rudolph)
659
-
660
- ### Documentation
661
-
662
- * document order of execution for multiple hooks (John McLaughlin)
663
- * breakup README.md, organize docs (Charlie Rudolph)
664
-
665
- ## [1.2.2] (2016-08-05)
666
-
667
- ### Bug Fixes
668
-
669
- * Fix error when stack trace has no frames ([#610](https://github.com/cucumber/cucumber-js/issues/610), Jan Molak)
670
-
671
- ## [1.2.1] (2016-07-01)
672
-
673
- ### Bug Fixes
674
-
675
- * Fix hook / step definition location and stacktraces in the browser ([#567](https://github.com/cucumber/cucumber-js/issues/567), [#538](https://github.com/cucumber/cucumber-js/issues/538), Charlie Rudolph)
676
-
677
- ## [1.2.0] (2016-06-24)
678
-
679
- ### Bug Fixes
680
-
681
- * Attachments
682
- * Remove intermediate conversion to string (Charlie Rudolph)
683
- * Use native base64 encoding which can encode binary ([#589](https://github.com/cucumber/cucumber-js/issues/589), Benjamín Eidelman)
684
-
685
- ## [1.1.0] (2016-06-23)
686
-
687
- ### New Features
688
-
689
- * Add full support to `registerHandler` (Charlie Rudolph)
690
- * Can now use all supported functions interfaces (synchronous, callback, promise, generators)
691
- * Will throw any error received and immediately kill the test suite
692
- * Supports handler specific timeouts
693
- * Updated documentation
694
-
695
- ### Bug Fixes
696
-
697
- * CLI format: support absolute path on windows (Charlie Rudolph)
698
- * Fix typo in event name. ([#590](https://github.com/cucumber/cucumber-js/issues/590), Artur Pomadowski)
699
- * Don't run hooks in dry run mode (Charlie Rudolph)
700
-
701
- ## [1.0.0] (2016-05-30)
702
-
703
- ### Bug Fixes
704
-
705
- * Escape all instances of special characters in example / data table (Charlie Rudolph)
706
-
707
- ## [0.10.4] (2016-05-30)
708
-
709
- ### New Features
710
-
711
- * Allow time to be faked by utilities such as `sinon.useFakeTimers` (John McLaughlin)
712
-
713
- ## [0.10.3] (2016-05-19)
714
-
715
- ### Bug Fixes
716
-
717
- * Escape newlines in table cells in pretty formatter (Julien Biezemans)
718
- * Fix handling of unusual error objects (efokschaner)
719
-
720
- ## [0.10.2] (2016-04-07)
721
-
722
- ### New Features
723
-
724
- * Add match location to JSON formatter output (Charlie Rudolph)
725
-
726
- ### Bug Fixes
727
-
728
- * Undefined background step (Scott Deakin)
729
-
730
- ## [0.10.1] (2016-04-01)
731
-
732
- ### New Features
733
-
734
- * Support generators for hooks/step definitions (Ádám Gólya)
735
-
736
- ## [0.10.0] (2016-04-01)
737
-
738
- ### Breaking changes
739
-
740
- * removed around hooks (Charlie Rudolph)
741
- * how to update: use separate before and after hooks. If this is not sufficient, please create an issue.
742
-
743
- * updated pending step interface (Charlie Rudolph)
744
- * how to update: change `callback.pending()` to `callback(null, 'pending')` or use one of the new pending step interfaces
745
-
746
- * updated tagged hook interface (Charlie Rudolph)
747
- * how to update:
748
-
749
- ```javascript
750
- this.Before('@tagA', function() { ... })
751
- // becomes
752
- this.Before({tags: ['@tagA']}, function() { ... })
753
-
754
- this.Before('@tagA', '@tagB,@tagC', function() { ... })
755
- // becomes
756
- this.Before({tags: ['@tagA', '@tagB,@tagC']}, function() { ... })
757
- ```
758
-
759
-
760
- ### New Features
761
-
762
- * support hook specific timeouts (Charlie Rudolph)
763
- * reworked formatter error reporting (Charlie Rudolph)
764
-
765
- ## [0.9.5] (2016-02-16)
766
-
767
- ### Bug Fixes
768
-
769
- * Fix rerun formatter output (Charlie Rudolph)
770
-
771
- ### New Features
772
-
773
- * Allow rerun file to be in subfolder (Charlie Rudolph)
774
-
775
- ## [0.9.4] (2016-01-28)
776
-
777
- ### Bug Fixes
778
-
779
- * Publish release folder to npm (Charlie Rudolph)
780
-
781
- ## [0.9.3] (2016-01-27)
782
-
783
- ### New Features
784
-
785
- * Run scenario by name (Charlie Rudolph)
786
-
787
- ### Bug Fixes
788
-
789
- * Prevent maximum call stack from being exceeded (John Krull)
790
-
791
- ### Documentation
792
-
793
- * Add documentation of profiles (Charlie Rudolph)
794
- * README improvements (Miika Hänninen, Kevin Goslar, Maxim Koretskiy)
795
-
796
- ## [0.9.2]
797
-
798
- ### New Features
799
-
800
- * Bump stack-chain (Rick Lee-Morlang)
801
-
802
- ## [0.9.1]
803
-
804
- ### New Features
805
-
806
- * Add rerun formatter (Charlie Rudolph)
807
-
808
- ### Fixes
809
-
810
- * Add ability to execute scenario outline example (Charlie Rudolph)
811
- * Support tags on scenario outline examples (Charlie Rudolph)
812
-
813
- ### Documentation
814
-
815
- * Fix invalid hook documentation (Charlie Rudolph)
816
-
817
- ## [0.9.0]
818
-
819
- ### Breaking changes
820
-
821
- * catch ambiguous step definitions (Charlie Rudolph)
822
- * remove use of domain (Charlie Rudolph)
823
-
824
- ### New Features
825
-
826
- * pretty formatter: source shows step definition location (Charlie Rudolph)
827
- * support node 5 (Charlie Rudolph)
828
-
829
- ### Fixes
830
-
831
- * Fix `Api.Scenario#attach` callback handling (Julien Biezemans)
832
-
833
- ### Documentation
834
-
835
- * Add async example to README (Artem Bronitsky)
836
- * Document hooks sync/async protocols (Julien Biezemans)
837
- * Remove useless callbacks in documentation (Julien Biezemans)
838
- * Fix browser example (Karine Pires)
839
-
840
- ## [v0.8.1]
841
-
842
- ### Documentation, internals and tests
843
-
844
- * Update World constructor documentation (Charlie Rudolph)
845
- * Remove badges from README.md (Charlie Rudolph)
846
-
847
- ## [v0.8.0]
848
-
849
- ### Breaking changes
850
-
851
- * Add strict function length checking to hooks and step definitions (Charlie Rudolph)
852
- * Make World constructors strictly synchronous (Julien Biezemans)
853
-
854
- ### New features
855
-
856
- * Add cli option to fail fast (Charlie Rudolph)
857
- * Add cli for specifying multiple formatters (Charlie Rudolph)
858
- * Add support for passing multiple line numbers (Charlie Rudolph)
859
- * Add ability to disable colors (Charlie Rudolph)
860
- * Add support for custom snippet syntaxes (Charlie Rudolph)
861
-
862
- ### Changed features
863
-
864
- * Hide errors in pretty formatter summary (Charlie Rudolph)
865
- * Remove unnecessary whitespaces in pretty formatter output (Charlie Rudolph)
866
-
867
- ### Fixes
868
-
869
- * Properly ask configurations for strict mode (Julien Biezemans)
870
-
871
- ### Documentation, internals and tests
872
-
873
- * Document data table interface (Charlie Rudolph)
874
- * Refactor: statuses (Charlie Rudolph)
875
- * Refactor: cleanup step definitions (Charlie Rudolph)
876
- * Cleanup: remove log to console from listeners (Charlie Rudolph)
877
- * Use svg badges (Charlie Rudolph)
878
- * Rename CONTRIBUTE.md to CONTRIBUTING.md (Julien Biezemans)
879
- * Require maintainers to document API changes in release tag descriptions (Julien Biezemans)
880
- * Add build-release NPM script (Julien Biezemans)
881
-
882
- ## [v0.7.0]
883
-
884
- ### New features
885
-
886
- * Time out steps that take too long (Charles Rudolph)
887
- * Print execution time (Charles Rudolph)
888
-
889
- ### Changed features
890
-
891
- * Remove callback.fail() (Charles Rudolph)
892
- * Update hooks interface (Charles Rudolph)
893
-
894
- ### Fixes
895
-
896
- * Don't try to handle empty features (Julien Biezemans)
897
- * Fix unpredictable nopt behavior (Charles Rudolph)
898
- * Fix pretty formatter step indentation after doc string (Charles Rudolph)
899
-
900
- ### Documentation, internals and tests
901
-
902
- * Rename Collection functions: forEach/syncForEach -> asyncForEach/forEach (Charles Rudolph)
903
- * Simplify installation instructions (Charles Rudolph)
904
- * Fix spec on Windows (Marcel Hoyer)
905
- * Simplify World examples in README (Charles Rudolph)
906
- * Update license in package.json (Charles Rudolph)
907
- * Convert test framework from jasmine-node to jasmine (Charles Rudolph)
908
- * Separate test output (Charles Rudolph)
909
- * Remove ruby, legacy features, cucumber-tck (Charles Rudolph)
910
-
911
- ## [v0.6.0]
912
-
913
- ### New features
914
-
915
- * Add --no-source to hide uris (Eddie Loeffen)
916
- * Add dry run capability (Karthik Viswanath)
917
- * Introduce --compiler CLI option (Charles Rudolph)
918
-
919
- ### Documentation, internals and tests
920
-
921
- * Stop IRC and email notifications from Travis (Julien Biezemans)
922
- * Remove Node.js 0.11 explicit support (Julien Biezemans)
923
- * Use basic for loop for array iterations (Charles Rudolph)
924
- * Bump browserify (Charles Rudolph)
925
- * Add CLI help for --profile (Charles Rudolph)
926
- * Use colors library (Charles Rudolph)
927
- * Improve --compiler help (Julien Biezemans)
928
- * Fix loading of external compiler modules (Julien Biezemans)
929
- * Document a few common compiler usages (Julien Biezemans)
930
-
931
- ## [v0.5.3]
932
-
933
- ### New features
934
-
935
- * Add support for profiles (Charles Rudolph)
936
-
937
- ### Changed features
938
-
939
- * Allow for multiple instances of placeholder (Charles Rudolph)
940
- * Print relative paths in summary output (Charles Rudolph)
941
-
942
- ### Fixes
943
-
944
- * Remove duplicate line number from output (Charles Rudolph)
945
- * Return clone of array from DataTable.Row.raw() (Julien Biezemans)
946
-
947
- ### Documentation, internals and tests
948
-
949
- * Update various urls (Dale Gardner)
950
- * Bump CoffeeScript (Julien Biezemans)
951
- * Bump PogoScript (Julien Biezemans)
952
- * Bump underscore (Julien Biezemans)
953
- * Bump underscore.string (Julien Biezemans)
954
- * Bump stack-chain (Julien Biezemans)
955
- * Bump nopt (Julien Biezemans)
956
- * Bump connect (Julien Biezemans)
957
- * Bump exorcist (Julien Biezemans)
958
- * Bump uglifyify (Julien Biezemans)
959
- * Bump through (Julien Biezemans)
960
- * Bump serve-static (Julien Biezemans)
961
- * Bump rimraf (Julien Biezemans)
962
- * Bump mkdirp (Julien Biezemans)
963
- * Bump jshint (Julien Biezemans)
964
- * Remove extra bracket in README example (Julien Biezemans)
965
- * Officially support Node.js 4.x (Julien Biezemans)
966
- * Use a profile for own build (Julien Biezemans)
967
-
968
- ## [v0.5.2]
969
-
970
- ### New features
971
-
972
- * Add rowsHash method to data tables (Mark Amery)
973
-
974
- ### Documentation, internals and tests
975
-
976
- * Remove CLI resource leak timeout (Julien Biezemans)
977
- * Point to cucumber.io instead of cukes.info (Julien Biezemans)
978
- * Fix mixed tabs and spaces (Mark Amery)
979
- * Use hexadecimal values for console colours (Julien Biezemans)
980
- * Update walkdir module to 0.0.10 (Artem Repko)
981
- * Fix ruby tests on Windows (zs-zs)
982
- * Fix npm test to run on Windows (zs-zs)
983
- * Normalize OS-specific path separators in output assertions (zs-zs)
984
- * Relax check for promises in step definitions (zs-zs)
985
- * Add Ast.Feature.getFeatureElements() (Mark Derbecker)
986
- * Add Util.Collection.sort() (Mark Derbecker)
987
- * Add waffle.io badge (Julien Biezemans)
988
-
989
- ## [v0.5.1]
990
-
991
- ### New features
992
-
993
- * Support placeholders in scenario outlines (chrismilleruk)
994
- * Add failure exception to scenario object (Mateusz Derks)
995
-
996
- ### Documentation, internals and tests
997
-
998
- * Fix World example in README (Julien Biezemans)
999
- * Remove moot `version` property from bower.json (Kevin Kirsche)
1000
- * Remove obsolete release instruction for bower (Julien Biezemans)
1001
- * Add Gitter badge (Julien Biezemans)
1002
- * Rephrase spec example (Julien Biezemans)
1003
- * Add documentation for attachments (Simon Dean)
1004
- * Fix name of Cucumber.Api.Scenario in README (Simon Dean)
1005
-
1006
- ## [v0.5.0]
1007
-
1008
- ### New features
1009
-
1010
- * Support promises from step definitions (Will Farrell)
1011
- * Support synchronous step definitions (Julien Biezemans)
1012
-
1013
- ### Documentation, internals and tests
1014
-
1015
- * Remove irrelevant feature file (Julien Biezemans)
1016
- * Reorganise callback feature (Julien Biezemans)
1017
- * Remove unused dependency (Julien Biezemans)
1018
- * Document new step definition styles (Julien Biezemans)
1019
- * Make step definitions synchronous in example app (Julien Biezemans)
1020
-
1021
- ## [v0.4.9]
1022
-
1023
- ### New features
1024
-
1025
- * Make pretty formatter the default (Julien Biezemans)
1026
- * Filter stack traces (close [#157](https://github.com/cucumber/cucumber-js/issues/157), Julien Biezemans)
1027
-
1028
- ### Documentation, internals and tests
1029
-
1030
- * Separate source map from bundle (Julien Biezemans)
1031
- * Hint (Julien Biezemans)
1032
- * Fix misspelling io.js (Sonny Piers)
1033
- * Add 0.12 to supported engines in NPM manifest (Julien Biezemans)
1034
- * Fix test script to be more portable (Sam Saccone)
1035
- * Force Cucumber <2 for now (Julien Biezemans)
1036
- * Bump Cucumber gem to 2.0.0 (Julien Biezemans)
1037
- * Explicitly require json module in Ruby stepdefs (Julien Biezemans)
1038
- * Add CLI help section for --backtrace (Julien Biezemans)
1039
-
1040
- ## [v0.4.8]
1041
-
1042
- ### New features
1043
-
1044
- * Support IO.js (Sam Saccone)
1045
- * Support Node.js 0.12 (Julien Biezemans)
1046
-
1047
- ### Fixes
1048
-
1049
- * Handle BOM and fix regexp for hyphenated languages ([#144](https://github.com/cucumber/cucumber-js/issues/144), Aslak Hellesøy)
1050
- * Fix attachment clean up in hooks ([#282](https://github.com/cucumber/cucumber-js/issues/282), nebehr)
1051
-
1052
- ### Documentation, internals and tests
1053
-
1054
- * More thorough specs for GherkinLexer. Fix build? (Aslak Hellesøy)
1055
- * Add jshintrc (Jesse Harlin)
1056
- * Hint lib/ (Julien Biezemans)
1057
- * Hint bundler and bin (Julien Biezemans)
1058
- * Hint spec/ (Julien Biezemans)
1059
- * Be consistent in anonymous function syntax (Julien Biezemans)
1060
- * Use named functions for all constructors (Julien Biezemans)
1061
- * Indent (Julien Biezemans)
1062
- * Add more diagnostics to build (Julien Biezemans)
1063
- * Remove unnecessary spaces in shell commands (Julien Biezemans)
1064
-
1065
- ## [v0.4.7]
1066
-
1067
- ### Documentation, internals and tests
1068
-
1069
- * Do not dispose of step domains (Julien Biezemans)
1070
- * Refactor and add debug code (Julien Biezemans)
1071
- * Create a single domain per run (Julien Biezemans)
1072
- * Add missing AstTreeWalker specs (Julien Biezemans)
1073
- * Indent (Julien Biezemans)
1074
- * Spec domain enter/exit in AstTreeWalker (Julien Biezemans)
1075
-
1076
- ## [v0.4.6]
1077
-
1078
- ### New features
1079
-
1080
- * Add --no-snippets flag to CLI (close [#207](https://github.com/cucumber/cucumber-js/issues/207), Krispin Schulz)
1081
- * Add strict mode (close [#211](https://github.com/cucumber/cucumber-js/issues/211), Elwyn)
1082
- * Add strict mode to volatile configuration (close [#258](https://github.com/cucumber/cucumber-js/issues/258), Jan-Eric Duden)
1083
-
1084
- ### Fixes
1085
-
1086
- * Fix code loader on windows (close [#226](https://github.com/cucumber/cucumber-js/issues/226), Gary Taylor)
1087
-
1088
- ### Documentation, internals and tests
1089
-
1090
- * Connect to Rubygems through SSL (Julien Biezemans)
1091
- * Use Node domain's enter/exit in stepdefs (Julien Biezemans)
1092
- * Do not display snippets in build (Julien Biezemans)
1093
- * Asynchronously dispose of step domains (Julien Biezemans)
1094
- * Change order of tests in build (Julien Biezemans)
1095
- * Fix tests to run on Windows (close [#216](https://github.com/cucumber/cucumber-js/issues/216), kostya.misura)
1096
- * Fix registerHandler() example in README (Julien Biezemans)
1097
- * Fix typo in variable name (Julien Biezemans)
1098
- * Fix World property assignment in README example (Julian)
1099
- * Unix EOLs (Julien Biezemans)
1100
- * Ignore .ruby-* (Julien Biezemans)
1101
-
1102
- ## [v0.4.5]
1103
-
1104
- ### Documentation, internals and tests
1105
-
1106
- * Fix issue with npm upgrade on node.js v0.8 (Simon Dean)
1107
- * Use Node domain to handle asynchronous exceptions (Julien Biezemans)
1108
-
1109
- ## [v0.4.4]
1110
-
1111
- ### Fixes
1112
-
1113
- * Allow >1 parameter in string step definitions (Craig Morris)
1114
- * Don't skip scenario outlines (close [#245](https://github.com/cucumber/cucumber-js/issues/245), Julien Biezemans)
1115
-
1116
- ### Documentation, internals and tests
1117
-
1118
- * Bump nopt (Julien Biezemans)
1119
- * Bump coffee-script (Julien Biezemans)
1120
- * Bump pogo (Julien Biezemans)
1121
- * Bump underscore (Julien Biezemans)
1122
- * Bump rimraf (Julien Biezemans)
1123
- * Bump jasmine-node (Julien Biezemans)
1124
- * Bump connect (Julien Biezemans)
1125
- * Rewrite bundling system (close [#186](https://github.com/cucumber/cucumber-js/issues/186), Julien Biezemans)
1126
- * Rename release script (Julien Biezemans)
1127
- * Upgrade NPM on Travis (Julien Biezemans)
1128
- * Drop Node 0.6 support (Julien Biezemans)
1129
- * Drop Node 0.6 support (manifest) (Julien Biezemans)
1130
-
1131
- ## [v0.4.3]
1132
-
1133
- ### Fixes
1134
-
1135
- * Scenario outline fixes (Simon Dean)
1136
- * Correct the embeddings JSON to match other ports of Cucumber (Simon Dean)
1137
-
1138
- ## [v0.4.2]
1139
-
1140
- ### New features
1141
-
1142
- * Support attachments (close [#189](https://github.com/cucumber/cucumber-js/issues/189), Julien Biezemans)
1143
-
1144
- ### Documentation, internals and tests
1145
-
1146
- * Fix world example in main readme (Sam Saccone)
1147
- * Update instructings for running tests (Sam Saccone)
1148
-
1149
- ## [v0.4.1]
1150
-
1151
- ### New features
1152
-
1153
- * Target scenario by line number on CLI (close [#168](https://github.com/cucumber/cucumber-js/issues/168), Simon Lampen)
1154
-
1155
- ### Fixes
1156
-
1157
- * Ensure no stdout output is lost (Simon Dean)
1158
- * Properly tag scenario outlines (close [#195](https://github.com/cucumber/cucumber-js/issues/195), [#197](https://github.com/cucumber/cucumber-js/issues/197), Artur Kania)
1159
-
1160
- ### Documentation, internals and tests
1161
-
1162
- * Align snippet comment with Cucumber-Ruby/JVM (close [#150](https://github.com/cucumber/cucumber-js/issues/150), Julien Biezemans)
1163
- * Update build badge URL on README (Julien Biezemans)
1164
- * Add line number pattern to --help on CLI (Julien Biezemans)
1165
- * Document AfterFeatures event (close [#171](https://github.com/cucumber/cucumber-js/issues/171), Eddie Loeffen)
1166
- * Include 'features' in *Features events payload (Stanley Shyiko)
1167
- * Try to fix build on Travis (Julien Biezemans)
1168
- * Remove bower as a dev dependency (close [#191](https://github.com/cucumber/cucumber-js/issues/191), Simon Dean)
1169
- * Remove obsolete Travis trick for Node 0.8 (Julien Biezemans)
1170
- * Remove development status table from README (Julien Biezemans)
1171
- * Help the guy produce changelogs (Julien Biezemans)
1172
-
1173
- ## [v0.4.0]
1174
-
1175
- ### New features
1176
-
1177
- * Add support for scenario outlines and examples (close [#155](https://github.com/cucumber/cucumber-js/issues/155), Ben Van Treese)
1178
- * Add i18n support (close [#156](https://github.com/cucumber/cucumber-js/issues/156), Lukas Degener)
1179
-
1180
- ### Changed features
1181
-
1182
- * Pass scenario to hooks (Marat Dyatko)
1183
- * Minor change to stepdef snippets (JS) (Julien Biezemans)
1184
- * Make feature id in JSON output replace all spaces (close #[127](https://github.com/cucumber/cucumber-js/issues/127), Tim Perry)
1185
- * Bump CoffeeScript (close [#154](https://github.com/cucumber/cucumber-js/issues/154), Gabe Hayes)
1186
-
1187
- ### Documentation, internals and tests
1188
-
1189
- * Add Hook spec example for single-arg function (close [#143](https://github.com/cucumber/cucumber-js/issues/143), Julien Biezemans)
1190
- * Update README with Hook scenario object doc (Julien Biezemans)
1191
- * Style (Julien Biezemans)
1192
-
1193
- ## [v0.3.3]
1194
-
1195
- ### New features
1196
-
1197
- * Output step definition snippets in CoffeeScript (John George Wright)
1198
- * Add colors to CLI (Johny Jose)
1199
-
1200
- ### Changed features
1201
-
1202
- * Add durations to JSON formatter (Simon Dean)
1203
-
1204
- ### Documentation, internals and tests
1205
-
1206
- * Bump most dependencies (Julien Biezemans)
1207
- * DRY (Julien Biezemans)
1208
- * Refactor (Julien Biezemans)
1209
-
1210
- ## [v0.3.2]
1211
-
1212
- ### New features
1213
-
1214
- * Add PogoScript support (Josh Chisholm)
1215
- * Add listener and event handler registration (close [#130](https://github.com/cucumber/cucumber-js/issues/130), Paul Shannon)
1216
-
1217
- ### Documentation, internals and tests
1218
-
1219
- * Added some nice stats (Aslak Hellesøy)
1220
- * Fix spelling of "GitHub" (Peter Suschlik)
1221
- * Add Code Climate badge to README (Julien Biezemans)
1222
- * Update README.md (Sebastian Schürmann)
1223
-
1224
- ## [v0.3.1]
1225
-
1226
- ### New features
1227
-
1228
- * Add DataTable.rows() (Niklas Närhinen)
1229
- * Officially support Node 0.10 and 0.11 (Julien Biezemans)
1230
-
1231
- ### Changed features
1232
-
1233
- * Update cucumber-html (Aslak Hellesøy)
1234
- * Bump Gherkin (Julien Biezemans)
1235
- * Add options parameter to JSON formatter (Israël Hallé)
1236
- * Updated CoffeeScript (Matteo Collina)
1237
- * Specify strict coffee-script version number (Julien Biezemans)
1238
- * Bump jasmine-node (Julien Biezemans)
1239
-
1240
- ### Fixes
1241
-
1242
- * Fix travis build Node versions (Julien Biezemans)
1243
- * Fix Travis CI configuration (Julien Biezemans)
1244
-
1245
- ### Documentation, internals and tests
1246
-
1247
- * Remove words in History (Julien Biezemans)
1248
- * Update dev status table in README (Julien Biezemans)
1249
- * Update LICENSE (Julien Biezemans)
1250
- * Add contributors (Julien Biezemans)
1251
- * Move data table scenario to TCK (Julien Biezemans)
1252
- * Be consistent in spec matchers (Julien Biezemans)
1253
- * Remove cucumber.no.de links (Kim, Jang-hwan)
1254
- * Fix broken link in README dev status table ([#118](https://github.com/cucumber/cucumber-js/issues/118), Michael Zedeler)
1255
- * Refactor hook-related Given steps in JS stepdefs (Julien Biezemans)
1256
- * Refactor failing mapping JS step definitions (Julien Biezemans & Matt Wynne)
1257
- * Update README.md to correct error in example for zombie initialization (Tom V)
1258
- * Update minor typos in README.md (David Godfrey)
1259
-
1260
-
1261
-
1262
- ## [v0.3.0]
1263
-
1264
- ### New features
1265
-
1266
- * Allow for node-like callback errors (Julien Biezemans)
1267
- * Accept multiple features in volatile configuration ([#52](https://github.com/cucumber/cucumber-js/issues/52), Julien Biezemans)
1268
-
1269
- ### Fixes
1270
-
1271
- * Add ^ prefix and $ suffix to string-based step definition regexps ([#77](https://github.com/cucumber/cucumber-js/issues/77), Julien Biezemans)
1272
- * Allow for unsafe regexp characters in stepdef string patterns ([#77](https://github.com/cucumber/cucumber-js/issues/77), Julien Biezemans)
1273
-
1274
- ### Documentation, internals and tests
1275
-
1276
- * Build on Node.js 0.8 on Travis (Julien Biezemans)
1277
- * Rewrite README's status table in HTML (Julien Biezemans)
1278
- * Bump Gherkin ([#78](https://github.com/cucumber/cucumber-js/issues/78), Julien Biezemans)
1279
- * Switch to HTML tables in README (Julien Biezemans)
1280
- * Bump Aruba (Julien Biezemans)
1281
-
1282
-
1283
-
1284
- ## [v0.2.x](https://github.com/cucumber/cucumber-js/compare/v0.2.0...v0.3.0^)
1285
-
1286
- ## [v0.2.22]
1287
-
1288
- ### New features
1289
-
1290
- * Print data tables and doc strings in pretty formatter output ([#89](https://github.com/cucumber/cucumber-js/issues/89), [#81](https://github.com/cucumber/cucumber-js/issues/81), Julien Biezemans)
1291
-
1292
- ### Fixes
1293
-
1294
- * Exclude unmatched features from AST ([#80](https://github.com/cucumber/cucumber-js/issues/80), Julien Biezemans)
1295
-
1296
-
1297
-
1298
- ## [v0.2.21]
1299
-
1300
- ### New features
1301
-
1302
- * Add bundler (Julien Biezemans)
1303
-
1304
-
1305
-
1306
- **TBD**
1307
-
1308
- ## [v0.2.20]
1309
-
1310
- ### New features
1311
-
1312
- * Add JSON formatter ([#79](https://github.com/cucumber/cucumber-js/issues/79), Chris Young)
1313
-
1314
- ### Fixes
1315
-
1316
- * Fix data table and tags handling in JSON formatter (Julien Biezemans)
1317
-
1318
- ### Documentation, internals and tests
1319
-
1320
- * Force example feature execution order in JSON feature (Julien Biezemans)
1321
-
1322
-
1323
-
1324
- ## [v0.2.19]
1325
-
1326
- ### Fixes
1327
-
1328
- * Fix CLI arguments passing ([#83](https://github.com/cucumber/cucumber-js/issues/83), Omar Gonzalez)
1329
-
1330
- ### Documentation, internals and tests
1331
-
1332
- * Refactor "summarizer" listener to summary formatter ([#71](https://github.com/cucumber/cucumber-js/issues/71), 28b74ef, Julien Biezemans)
1333
- * Add "summary" formatter to available CLI formatters (Julien Biezemans)
1334
- * Fix spec example description (Julien Biezemans)
1335
-
1336
-
1337
-
1338
- ## [v0.2.18]
1339
-
1340
- ### Fixes
1341
-
1342
- * Replace findit with walkdir to fix file loading on Windows ([#73](https://github.com/cucumber/cucumber-js/issues/73), Aaron Garvey)
1343
-
1344
- ### Documentation, internals and tests
1345
-
1346
- * Rename spec file (Julien Biezemans)
1347
- * Extract developer documentation from README to CONTRIBUTE (Julien Biezemans)
1348
- * Bump browserify (Julien Biezemans)
1349
- * Update supported Node.js versions (Julien Biezemans)
1350
-
1351
-
1352
-
1353
- ## [v0.2.17]
1354
-
1355
- ### New features
1356
-
1357
- * Add pretty formatter (simplified, monochrome) ([#59](https://github.com/cucumber/cucumber-js/issues/59), @renier, Julien Biezemans)
1358
-
1359
- ### Documentation, internals and tests
1360
-
1361
- * Display only master branch build status in README (Julien Biezemans)
1362
- * Rename "summary logger" to "summarizer" ([#59](https://github.com/cucumber/cucumber-js/issues/59), Julien Biezemans)
1363
- * Extract common formatter methods ([#59](https://github.com/cucumber/cucumber-js/issues/59), [#63](https://github.com/cucumber/cucumber-js/issues/63), Julien Biezemans)
1364
-
1365
-
1366
-
1367
- ## [v0.2.16]
1368
-
1369
- ### New features
1370
-
1371
- * Display failing scenario URIs in summary (Julien Biezemans)
1372
-
1373
- ### Documentation, internals and tests
1374
-
1375
- * Ran a gem update (Aslak Hellesøy)
1376
- * Update NPM dependencies ([#69](https://github.com/cucumber/cucumber-js/issues/69), Aslak Hellesøy)
1377
- * Refactor listener infrastructure ([#35](https://github.com/cucumber/cucumber-js/issues/35), [#59](https://github.com/cucumber/cucumber-js/issues/59), [#63](https://github.com/cucumber/cucumber-js/issues/63), Julien Biezemans)
1378
- * Extract summary logger from progress formatter ([#59](https://github.com/cucumber/cucumber-js/issues/59), [#63](https://github.com/cucumber/cucumber-js/issues/63), Julien Biezemans)
1379
- * Store URI on AST elements (Julien Biezemans)
1380
-
1381
-
1382
-
1383
- ## [v0.2.15]
1384
-
1385
- ### New features
1386
-
1387
- * Handle asynchronous exceptions ([#51](https://github.com/cucumber/cucumber-js/issues/51), Julien Biezemans)
1388
-
1389
- ### Documentation, internals and tests
1390
-
1391
- * Remove commented code (Julien Biezemans)
1392
-
1393
-
1394
-
1395
- ## [v0.2.14]
1396
-
1397
- ### New features
1398
-
1399
- * Mention CS support in README (Julien Biezemans)
1400
- * Update command-line documentation in README (Julien Biezemans)
1401
-
1402
- ### Fixes
1403
-
1404
- * Add alternate binary script for Windows ([#60](https://github.com/cucumber/cucumber-js/issues/60), Julien Biezemans)
1405
-
1406
-
1407
-
1408
- ## [v0.2.13]
1409
-
1410
- ### New features
1411
-
1412
- * Add support for string-based step definition patterns ([#48](https://github.com/cucumber/cucumber-js/issues/48), Ted de Koning, Julien Biezemans)
1413
-
1414
- ### Documentation, internals and tests
1415
-
1416
- * Pass step instance to step definition invocation ([#57](https://github.com/cucumber/cucumber-js/issues/57), Julien Biezemans)
1417
- * Refactor step result specs (Julien Biezemans)
1418
- * Store step on step results ([#57](https://github.com/cucumber/cucumber-js/issues/57), Julien Biezemans)
1419
- * Increase Aruba timeout delay for slow Travis (Julien Biezemans)
1420
- * Decouple pattern from regexp in step definition ([#48](https://github.com/cucumber/cucumber-js/issues/48), Julien Biezemans)
1421
-
1422
-
1423
-
1424
- ## [v0.2.12]
1425
-
1426
- ### Changed features
1427
-
1428
- * Allow World constructor to set explicit World object ([#50](https://github.com/cucumber/cucumber-js/issues/50), Julien Biezemans)
1429
-
1430
- ### Documentation, internals and tests
1431
-
1432
- * Add semicolons (Julien Biezemans)
1433
- * Add documentation about World to README (Julien Biezemans)
1434
-
1435
-
1436
-
1437
- ## [v0.2.11]
1438
-
1439
- ### Changed features
1440
-
1441
- * Simplify World callbacks ([#49](https://github.com/cucumber/cucumber-js/issues/49), Julien Biezemans)
1442
-
1443
- ### Fixes
1444
-
1445
- * Fix callback.fail() when called without any reasons (Julien Biezemans)
1446
-
1447
- ### Documentation, internals and tests
1448
-
1449
- * Add toHaveBeenCalledWithInstanceOfConstructorAsNthParameter() spec helper (Julien Biezemans)
1450
- * Simplify default World constructor callback (Julien Biezemans)
1451
- * Adapt World constructors (Julien Biezemans)
1452
-
1453
-
1454
-
1455
- ## [v0.2.10]
1456
-
1457
- ### Fixes
1458
-
1459
- * Fix path handling on Windows platforms ([#47](https://github.com/cucumber/cucumber-js/issues/47), Julien Biezemans)
1460
-
1461
- ### Documentation, internals and tests
1462
-
1463
- * Add tagged hooks example to README (Julien Biezemans)
1464
- * Fix browserify setup for example page load (Julien Biezemans)
1465
- * Rename bundle to 'cucumber.js' in web example (Julien Biezemans)
1466
- * Remove obsolete browserify directive (Julien Biezemans)
1467
- * Improve platform detection (Julien Biezemans)
1468
-
1469
-
1470
-
1471
- ## [v0.2.9]
1472
-
1473
- ### New features
1474
-
1475
- * Add support for tagged hooks ([#32](https://github.com/cucumber/cucumber-js/issues/32), Julien Biezemans)
1476
-
1477
- ### Changed features
1478
-
1479
- * Allow for whitespaces in tag groups (Julien Biezemans)
1480
-
1481
- ### Documentation, internals and tests
1482
-
1483
- * Add Cucumber.Type.String and String#trim(, Julien Biezemans)
1484
- * Remove unnecessary this. from stepdefs (Julien Biezemans)
1485
- * Simplify tag-related stepdefs (Julien Biezemans)
1486
- * Simplify tag selection syntax in volatile configuration (Julien Biezemans)
1487
- * Mark hooks "done" in README dev status (Julien Biezemans)
1488
-
1489
-
1490
-
1491
- ## [v0.2.8]
1492
-
1493
- ### New features
1494
-
1495
- * Add around hooks ([#32](https://github.com/cucumber/cucumber-js/issues/32), Julien Biezemans)
1496
-
1497
- ### Changed features
1498
-
1499
- * Treat undefined and skipped step as any other step (Julien Biezemans)
1500
-
1501
- ### Documentation, internals and tests
1502
-
1503
- * Remove unused parameter in parser spec (Julien Biezemans)
1504
- * Add JS stepdef for async failing steps scenario (Julien Biezemans)
1505
- * Assign zombie in README example ([#44](https://github.com/cucumber/cucumber-js/issues/44), Julien Biezemans)
1506
- * Remove trailing spaces (Julien Biezemans)
1507
- * Get rid of obsolete PendingStepException (Julien Biezemans)
1508
- * Refactor SupportCode.Library spec (Julien Biezemans)
1509
- * Add around hooks documentation ([#32](https://github.com/cucumber/cucumber-js/issues/32), Julien Biezemans)
1510
-
1511
-
1512
-
1513
- ## [v0.2.7]
1514
-
1515
- ### New features
1516
-
1517
- * Allow for asynchronous pending steps (Julien Biezemans)
1518
- * Allow for asynchronous step failures (Julien Biezemans)
1519
-
1520
- ### Fixes
1521
-
1522
- * Fix matching groups in step definition snippets ([#42](https://github.com/cucumber/cucumber-js/issues/42), Julien Biezemans)
1523
- * Remove obsolete dependency from snippet builder spec (Julien Biezemans)
1524
-
1525
- ### Documentation, internals and tests
1526
-
1527
- * Add steps to release process in README (Julien Biezemans)
1528
- * Update development status table in README (Julien Biezemans)
1529
- * Import implementation-specific scenarios from cucumber-tck/undefined_steps (Julien Biezemans)
1530
- * Switch from throwing exceptions to callback.fail() in web example (Julien Biezemans)
1531
- * Add callback.fail() example to README (Julien Biezemans)
1532
-
1533
- ## [v0.2.6]
1534
-
1535
- ### New features
1536
-
1537
- * Add tags support ([#7](https://github.com/cucumber/cucumber-js/issues/7), Julien Biezemans)
1538
- * Add support for tags on features ([#7](https://github.com/cucumber/cucumber-js/issues/7), Julien Biezemans)
1539
-
1540
- ### Changed features
1541
-
1542
- * Handle missing instance in World constructor callback ([#40](https://github.com/cucumber/cucumber-js/issues/40), Julien Biezemans)
1543
-
1544
- ### Documentation, internals and tests
1545
-
1546
- * Update development status in README (Julien Biezemans)
1547
- * Typo in README (Julien Biezemans)
1548
- * Refactor parser and add AST assembler (required by [#7](https://github.com/cucumber/cucumber-js/issues/7), Julien Biezemans)
1549
- * Indent properly (Julien Biezemans)
1550
- * Refactor AST assembler to be stateful (needed by [#7](https://github.com/cucumber/cucumber-js/issues/7), Julien Biezemans)
1551
- * Update master diff in History (Julien Biezemans)
1552
- * Add --tags documentation to --help (CLI, Julien Biezemans)
1553
-
1554
-
1555
-
1556
- ## [v0.2.5]
1557
-
1558
- ### New features
1559
-
1560
- * Add Before/After hooks ([#32](https://github.com/cucumber/cucumber-js/issues/32), [#31](https://github.com/cucumber/cucumber-js/issues/31), Tristan Dunn)
1561
-
1562
- ### Changed features
1563
-
1564
- * Interpret "*" step keyword as a repeat keyword (Julien Biezemans)
1565
-
1566
- ### Documentation, internals and tests
1567
-
1568
- * Add NPM publishing to README release checklist (Julien Biezemans)
1569
- * Add "Help & Support" to README (Julien Biezemans)
1570
- * Words in README (Julien Biezemans)
1571
- * Document before and after hooks (Julien Biezemans)
1572
-
1573
-
1574
-
1575
- ## [v0.2.4]
1576
-
1577
- ### New features
1578
-
1579
- * Add --version to CLI (Julien Biezemans)
1580
- * Add --help to CLI (Julien Biezemans)
1581
-
1582
- ### Changed features
1583
-
1584
- * Add styles for reported errors on web example (Julien Biezemans)
1585
- * Make and expect World constructors to be asynchronous ([#39](https://github.com/cucumber/cucumber-js/issues/39), Julien Biezemans)
1586
-
1587
- ### Documentation, internals and tests
1588
-
1589
- * Update README (Julien Biezemans)
1590
- * Add development status to README (Julien Biezemans)
1591
- * Add link to demo at cucumber.no.de (Julien Biezemans)
1592
- * Add link to example app to README (Julien Biezemans)
1593
- * Add usage documentation to README ([#23](https://github.com/cucumber/cucumber-js/issues/23), Olivier Melcher)
1594
- * Add examples to run features with the CLI (Olivier Melcher)
1595
- * Fix header levels and whitespaces in README (Julien Biezemans)
1596
- * Add Opera to supported browsers in README (Julien Biezemans)
1597
- * Fix World constructor in README (Julien Biezemans)
1598
- * Simplify World#visit in README (Julien Biezemans)
1599
- * Rewrite step definition and wrapper documentation (Julien Biezemans)
1600
- * Remove useless words (Julien Biezemans)
1601
- * Use more consistent Markdown in README (Julien Biezemans)
1602
- * Fix Gherkin comment in README (Julien Biezemans)
1603
- * Add credits (Julien Biezemans)
1604
- * Add Aruba setup details to README (Julien Biezemans)
1605
- * Fix World constructor on web example according to the recent API changes (Julien Biezemans)
1606
- * Tell Travis CI to post build results to #cucumber (Julien Biezemans)
1607
- * Add release checklist to README (Julien Biezemans)
1608
-
1609
-
1610
-
1611
- ## [v0.2.3]
1612
-
1613
- ### New features
1614
-
1615
- * Add support for Node 0.6 (Julien Biezemans)
1616
-
1617
- ### Fixes
1618
-
1619
- * Prevent the same step definition snippet from being suggested twice (Julien Biezemans)
1620
-
1621
- ### Documentation, internals and tests
1622
-
1623
- * Don't make NPM ignore `example/` anymore (Julien Biezemans)
1624
- * Bump cucumber-features (Julien Biezemans)
1625
- * Use non-deprecated "url" key instead of "web" in NPM manifest (Julien Biezemans)
1626
- * Add JS step definitions related to data table scenarios (Julien Biezemans)
1627
- * Move from cucumber-features to cucumber-tck (Julien Biezemans)
1628
- * Bump Gherkin (Julien Biezemans)
1629
- * Bump jasmine-node (Julien Biezemans)
1630
- * Bump connect (Julien Biezemans)
1631
- * Fix Travis build (Julien Biezemans)
1632
- * Bump browserify (Julien Biezemans)
1633
- * Bump nopt (Julien Biezemans)
1634
- * Bump underscore (Julien Biezemans)
1635
- * Bump underscore.string (Julien Biezemans)
1636
- * Bump rimraf (Julien Biezemans)
1637
- * Bump mkdirp (Julien Biezemans)
1638
- * Bump Aruba (Julien Biezemans)
1639
-
1640
-
1641
-
1642
- ## [v0.2.2]
1643
-
1644
- ### New features
1645
-
1646
- * Suggest step definition snippets for undefined steps ([#33](https://github.com/cucumber/cucumber-js/issues/33), Julien Biezemans)
1647
-
1648
- ### Documentation, internals and tests
1649
-
1650
- * Add contributors to NPM package manifest (Julien Biezemans)
1651
- * Clean up JS step definitions (Julien Biezemans)
1652
- * Bump cucumber-features and reflect step changes (Julien Biezemans)
1653
- * Set up [continuous integration on Travis CI](http://travis-ci.org/#!/cucumber/cucumber-js) (Julien Biezemans)
1654
- * Add Travis's build status icon to README (Julien Biezemans)
1655
-
1656
-
1657
-
1658
- ## [v0.2.1]
1659
-
1660
- ### New features
1661
-
1662
- * Allow custom World constructors (Julien Biezemans)
1663
- * Add support for data tables (with conversion to hashes) ([#12](https://github.com/cucumber/cucumber-js/issues/12), Julien Biezemans)
1664
-
1665
- ### Changed features
1666
-
1667
- * Demonstrate World object usages in web example (Julien Biezemans)
1668
-
1669
-
1670
-
1671
- ## [v0.2.0]
1672
-
1673
- ### New features
1674
-
1675
- * Setup application to run on [Travis CI](http://travis-ci.org/#!/jbpros/cucumber-js) (Julien Biezemans)
1676
- * Add CoffeeScript support for step definition files (Paul Jensen)
1677
- * Add "World" ([#26](https://github.com/cucumber/cucumber-js/issues/26), Julien Biezemans)
1678
-
1679
- ### Changed features
1680
-
1681
- * Add link to the Github repository on web example (Julien Biezemans)
1682
- * Allow specifying the port the web example server should listen on (Julien Biezemans)
1683
- * Update web example to use cucumber-html formatter (Julien Biezemans)
1684
-
1685
- ### Fixes
1686
-
1687
- * Fix load paths in spec helper (Julien Biezemans)
1688
- * Prevent 'crypto' module from being included by browserify in web example (Julien Biezemans)
1689
- * Fix HTML indentation (Julien Biezemans)
1690
- * Prevent CLI support code loader from calling module main exports which are not functions (Julien Biezemans)
1691
- * Remove use of username for submodule (Kushal Pisavadia)
1692
-
1693
- ### Documentation, internals and tests
1694
-
1695
- * Bump jasmine-node
1696
- * Update README (Julien Biezemans)
1697
- * Bump Gherkin twice (Julien Biezemans)
1698
- * Bump cucumber-features twice (Julien Biezemans)
1699
- * Add missing getters on several AST feature elements (mostly getLine()) (Julien Biezemans)
1700
- * Ignore example/ on NPM (Julien Biezemans)
1701
- * Add Procfile (used by Heroku when deploying to cucumber.heroku.com) (Julien Biezemans)
1702
- * Bump Aruba (Julien Biezemans)
1703
- * Add guard-jasmine-node (Julien Biezemans)
1704
- * Improve Guardfile regular expressions (Julien Biezemans)
1705
- * Bump cucumber-html and remove DOM templates from web example HTML file (Julien Biezemans)
1706
- * Fix PathExpander internal name (Julien Biezemans)
1707
- * Remove unneeded requires from FeaturePathExpander (Julien Biezemans)
1708
- * Bump browserify (Julien Biezemans)
1709
- * Remove "glob" from dependencies (Julien Biezemans)
1710
- * Refactor SupportCodePathExpander spec (Julien Biezemans)
1711
- * Add feature for CoffeeScript support ([#29](https://github.com/cucumber/cucumber-js/issues/29), Julien Biezemans)
1712
-
1713
-
1714
-
1715
- ## [v0.1.x](https://github.com/cucumber/cucumber-js/compare/v0.1.0...v0.2.0^)
1716
-
1717
- ## [v0.1.5]
1718
-
1719
- ### New features
1720
-
1721
- * Add support for background ([#9](https://github.com/cucumber/cucumber-js/issues/9), Julien Biezemans)
1722
-
1723
- ### Documentation, internals and tests
1724
-
1725
- * Bump cucumber-features (twice) (Julien Biezemans)
1726
- * Bump gherkin and reflect changes in its API (add DocString content type) (Julien Biezemans)
1727
-
1728
-
1729
-
1730
- ## [v0.1.4]
1731
-
1732
- ### Changed features
1733
-
1734
- * Stop polluting the global namespace with Given(), When() and Then() ([#2](https://github.com/cucumber/cucumber-js/issues/2), Julien Biezemans)
1735
- * Step definitions can be created with the support code helper passed as 'this':
1736
- this.Given(), this.When(), this.Then() and this.defineStep() ([#2](https://github.com/cucumber/cucumber-js/issues/2), Julien Biezemans)
1737
-
1738
- ### Documentation, internals and tests
1739
-
1740
- * Fix typo "occured" -> "occurred" (Fernando Acorreia)
1741
- * Improve variable names in CLI support code loader (Julien Biezemans)
1742
-
1743
-
1744
-
1745
- ## [v0.1.3]
1746
-
1747
- ### New features
1748
-
1749
- * Allow several features to run at once ([#14](https://github.com/cucumber/cucumber-js/issues/14), Julien Biezemans)
1750
- * Add support for --require (Julien Biezemans)
1751
-
1752
- ### Documentation, internals and tests
1753
-
1754
- * Improve features and support code API (Julien Biezemans)
1755
- * Add "Cli" and "Volatile" configurations (Julien Biezemans)
1756
- * Internal refactoring and cleanup (Julien Biezemans)
1757
- * Cucumber.js can now fully test itself (Julien Biezemans)
1758
- * Remove run_all_features script in favor of bin/cucumber.js (Julien Biezemans)
1759
-
1760
-
1761
-
1762
- ## [v0.1.2]
1763
-
1764
- ### New features
1765
-
1766
- * Add failure reporting to the progress formatter ([#20](https://github.com/cucumber/cucumber-js/issues/20), Julien Biezemans)
1767
-
1768
-
1769
-
1770
- ## [v0.1.1]
1771
-
1772
- ### New features
1773
-
1774
- * Publish Cucumber.js to NPM as [`cucumber`](https://www.npmjs.com/search?q=cucumber) (Julien Biezemans)
1775
-
1776
- ### Changed features
1777
-
1778
- * Throw a clearer exception on missing feature argument (CLI) (Julien Biezemans)
1779
-
1780
- ### Documentation, internals and tests
1781
-
1782
- * Unify and clean up js-specific features and step definitions ([#21](https://github.com/cucumber/cucumber-js/issues/21), Julien Biezemans)
1783
-
1784
-
1785
-
1786
- ## [v0.1.0]
1787
-
1788
- ### New features
1789
-
1790
- * Add cucumber.js executable (Julien Biezemans)
1791
- * Handle step failures ([#6](https://github.com/cucumber/cucumber-js/issues/6), Julien Biezemans)
1792
- * Add the progress formatter ([#16](https://github.com/cucumber/cucumber-js/issues/16), Julien Biezemans)
1793
- * Add support for pending steps ([#18](https://github.com/cucumber/cucumber-js/issues/18), Julien Biezemans)
1794
- * Add support for undefined steps ([#19](https://github.com/cucumber/cucumber-js/issues/19), Julien Biezemans)
1795
-
1796
- ### Changed features
1797
-
1798
- * Update web example to use the new progress formatter (Julien Biezemans)
1799
-
1800
- ### Fixes
1801
-
1802
- * Fix asynchronous step definition callbacks ([#1](https://github.com/cucumber/cucumber-js/issues/1), Julien Biezemans)
1803
- * Fix stepResult.isSuccessful call in ProgressFormatter (Julien Biezemans)
1804
- * Load Gherkin properly in browsers (Julien Biezemans)
1805
- * Remove calls to console.log in web example (Julien Biezemans)
1806
-
1807
- ### Documentation, internals and tests
1808
-
1809
- * Pass against core.feature in its new form, both with the Cucumber-ruby/Aruba pair and cucumber-js itself (Julien Biezemans)
1810
- * Refactor cucumber-features JS mappings (Julien Biezemans)
1811
- * Refactor js-specific features (Julien Biezemans)
1812
- * Rename PyString to DocString ([#15](https://github.com/cucumber/cucumber-js/issues/15), Julien Biezemans)
1813
- * Update Gherkin to 2.4.0 (Julien Biezemans)
1814
- * Modularize the project and use browserify.js to serve a single JS file to browsers. ([#3](https://github.com/cucumber/cucumber-js/issues/3), Julien Biezemans)
1815
- * Rename Cucumber.Types to Cucumber.Type (Julien Biezemans)
1816
- * Use progress formatter in cucumber-features ([#17](https://github.com/cucumber/cucumber-js/issues/17), Julien Biezemans)
1817
-
1818
-
1819
-
1820
- ## [v0.0.x](https://github.com/cucumber/cucumber-js/compare/v0.0.1...v0.1.0^)
1821
-
1822
- ## [v0.0.1](https://github.com/cucumber/cucumber-js/tree/v0.0.1)
1823
-
1824
- * Emerge Cucumber.js with bare support for features, scenarios and steps. It does not handle several Gherkin elements nor failures yet. (Julien Biezemans)
1825
-
1826
-
1827
- <!-- Releases -->
1828
- [Unreleased]: https://github.com/cucumber/cucumber-js/compare/v7.2.1...master
1829
- [7.2.1]: https://github.com/cucumber/cucumber-js/compare/7.2.1-rc.0...7.0.0
1830
- [7.2.0]: https://github.com/cucumber/cucumber-js/compare/7.2.0-rc.0...7.0.0
1831
- [7.1.0]: https://github.com/cucumber/cucumber-js/compare/7.1.0-rc.0...7.0.0
1832
- [7.0.0]: https://github.com/cucumber/cucumber-js/compare/7.0.0-rc.0...v7.0.0
1833
- [7.0.0-rc.0]: https://github.com/cucumber/cucumber-js/compare/v6.0.5...v7.0.0-rc.0
1834
- [6.0.5]: https://github.com/cucumber/cucumber-js/compare/v6.0.4...v6.0.5
1835
- [6.0.4]: https://github.com/cucumber/cucumber-js/compare/v6.0.3...v6.0.4
1836
- [6.0.3]: https://github.com/cucumber/cucumber-js/compare/v6.0.2...v6.0.3
1837
- [6.0.2]: https://github.com/cucumber/cucumber-js/compare/v6.0.1...v6.0.2
1838
- [6.0.1]: https://github.com/cucumber/cucumber-js/compare/v6.0.0...v6.0.1
1839
- [6.0.0]: https://github.com/cucumber/cucumber-js/compare/v5.1.0...v6.0.0
1840
- [5.1.0]: https://github.com/cucumber/cucumber-js/compare/v5.0.3...v5.1.0
1841
- [5.0.3]: https://github.com/cucumber/cucumber-js/compare/v5.0.2...v5.0.3
1842
- [5.0.2]: https://github.com/cucumber/cucumber-js/compare/v5.0.1...v5.0.2
1843
- [5.0.1]: https://github.com/cucumber/cucumber-js/compare/v4.2.1...v5.0.1
1844
- [4.2.1]: https://github.com/cucumber/cucumber-js/compare/v4.2.0...v4.2.1
1845
- [4.2.0]: https://github.com/cucumber/cucumber-js/compare/v4.1.0...v4.2.0
1846
- [4.1.0]: https://github.com/cucumber/cucumber-js/compare/v4.0.0...v4.1.0
1847
- [4.0.0]: https://github.com/cucumber/cucumber-js/compare/v3.2.1...v4.0.0
1848
- [3.2.1]: https://github.com/cucumber/cucumber-js/compare/v3.2.0...v3.2.1
1849
- [3.2.0]: https://github.com/cucumber/cucumber-js/compare/v3.1.0...v3.2.0
1850
- [3.1.0]: https://github.com/cucumber/cucumber-js/compare/v3.0.6...v3.1.0
1851
- [3.0.6]: https://github.com/cucumber/cucumber-js/compare/v3.0.5...v3.0.6
1852
- [3.0.5]: https://github.com/cucumber/cucumber-js/compare/v3.0.4...v3.0.5
1853
- [3.0.4]: https://github.com/cucumber/cucumber-js/compare/v3.0.3...v3.0.4
1854
- [3.0.3]: https://github.com/cucumber/cucumber-js/compare/v3.0.2...v3.0.3
1855
- [3.0.2]: https://github.com/cucumber/cucumber-js/compare/v3.0.1...v3.0.2
1856
- [3.0.1]: https://github.com/cucumber/cucumber-js/compare/v3.0.0...v3.0.1
1857
- [3.0.0]: https://github.com/cucumber/cucumber-js/compare/v2.3.1...v3.0.0
1858
- [2.3.1]: https://github.com/cucumber/cucumber-js/compare/v2.3.0...v2.3.1
1859
- [2.3.0]: https://github.com/cucumber/cucumber-js/compare/v2.2.0...v2.3.0
1860
- [2.2.0]: https://github.com/cucumber/cucumber-js/compare/v2.1.0...v2.2.0
1861
- [2.1.0]: https://github.com/cucumber/cucumber-js/compare/v2.0.0-rc.9...v2.1.0
1862
- [1.3.3]: https://github.com/cucumber/cucumber-js/compare/v1.3.2...v1.3.3
1863
- [1.3.2]: https://github.com/cucumber/cucumber-js/compare/v1.3.1...v1.3.2
1864
- [1.3.1]: https://github.com/cucumber/cucumber-js/compare/v1.3.0...v1.3.1
1865
- [1.3.0]: https://github.com/cucumber/cucumber-js/compare/v1.2.2...v1.3.0
1866
- [1.2.2]: https://github.com/cucumber/cucumber-js/compare/v1.2.1...v1.2.2
1867
- [1.2.1]: https://github.com/cucumber/cucumber-js/compare/v1.2.0...v1.2.1
1868
- [1.2.0]: https://github.com/cucumber/cucumber-js/compare/v1.1.0...v1.2.0
1869
- [1.1.0]: https://github.com/cucumber/cucumber-js/compare/v1.0.0...v1.1.0
1870
- [1.0.0]: https://github.com/cucumber/cucumber-js/compare/v0.10.4...v1.0.0
1871
- [0.10.4]: https://github.com/cucumber/cucumber-js/compare/v0.10.3...v0.10.4
1872
- [0.10.3]: https://github.com/cucumber/cucumber-js/compare/v0.10.2...v0.10.3
1873
- [0.10.2]: https://github.com/cucumber/cucumber-js/compare/v0.10.1...v0.10.2
1874
- [0.10.1]: https://github.com/cucumber/cucumber-js/compare/v0.10.0...v0.10.1
1875
- [0.10.0]: https://github.com/cucumber/cucumber-js/compare/v0.9.5...v0.10.0
1876
- [0.9.5]: https://github.com/cucumber/cucumber-js/compare/v0.9.4...v0.9.5
1877
- [0.9.4]: https://github.com/cucumber/cucumber-js/compare/v0.9.3...v0.9.4
1878
- [0.9.3]: https://github.com/cucumber/cucumber-js/compare/v0.9.2...v0.9.3
1879
- [0.9.2]: https://github.com/cucumber/cucumber-js/compare/v0.9.1...v0.9.2
1880
- [0.9.1]: https://github.com/cucumber/cucumber-js/compare/v0.9.0...v0.9.1
1881
- [0.9.0]: https://github.com/cucumber/cucumber-js/compare/v0.8.1...v0.9.0