# Changelog ## [Unreleased] ## [11.1.0] - 2022-12-22 ### Changed - Update gherkin and messsages dependencies ### Fixed - Restore support for matching a scenario by tag and step line numbers. ([#237](https://github.com/cucumber/cucumber-ruby-core/pull/237), [#238](https://github.com/cucumber/cucumber-ruby-core/pull/238), [#239](https://github.com/cucumber/cucumber-ruby-core/pull/239)) ## [11.0.0] ### Changed - Updated `cucumber-gherkin` and `cucumber-messages` ## [10.1.1] ### Changed - Patched `cucumber-tag-expressions` ## [10.1.0] ### Changed - Patched `cucumber-gherkin`, `cucumber-messages` and `cucumber-tag-expressions` ## [10.0.1] ### Changed - Patched `cucumber-gherkin` and `cucumber-messages` ## [10.0.0] ### Changed - Upgraded to gherkin v20 and messages v17. ## [9.0.1] ### Fixed - Skipped scenarios do not affect anymore status of flaky scenarios on retry ([#218](https://github.com/cucumber/cucumber-ruby-core/pull/218) @eduardrudko) ## [9.0.0] ### Changed - Upgraded to gherkin v18 and messages v15 - Updated other dependencies (look at the diff for details) ## [8.0.1] ### Fixed - Make releases from docker using secrets from keybase ## [8.0.0] ### Changed - Updated dependencies (look at the diff for details) ## [7.1.0] ### Changed - Updated gems: - `cucumber-gherkin` ~> 14.0.1 - `cucumber-messages` ~> 12.2.0 ## [7.0.0] ### Changed - Updated monorepo libraries: - cucumber-gherkin ~> 13 - cucumber-messages ~> 12 ## [6.0.0] ### Added - Add `envelope` event, which are used when emitting `Cucumber::Messages` - Add `TestCaseCreated` and `TestStepCreated` events, emitted when compiling a `Pickle` - Add `Id` field to `TestCase` and `TestStep` - Added rubocop (with todo file), and removed backports gems ([#186](https://github.com/cucumber/cucumber-ruby-core/pull/186), [#182](https://github.com/cucumber/cucumber-ruby-core/issues/182) [tas50](https://github.com/tas50), [luke-hill](https://github.com/luke-hill)) ### Changed - Update to Gherkin 10 ### Removed - Remove location for MultiLine arguments ## [5.0.2] ### Changed - Update to use Gherkin v8 ## [5.0.1] ### Removed - Remove support for ruby 2.2 and below. 2.3 or higher is required now. ## [5.0.0] ### Changed - Update to use Gherkin v7 ## [4.0.0] ### Changed - Update to use Gherkin v6 ([#158](https://github.com/cucumber/cucumber-ruby-core/pull/158) @brasmusson) - Let Scenarios with no Steps get the result status Undefined ([#157](https://github.com/cucumber/cucumber-ruby-core/pull/157) @brasmusson) - Convert to use the Gherkin compiler and Pickles ([#156](https://github.com/cucumber/cucumber-ruby-core/pull/156) @brasmusson) ### Removed - Remove the support for old style tag expressions ([#159](https://github.com/cucumber/cucumber-ruby-core/pull/159) @brasmusson) ## [3.2.1] ### Fixed - Switched `gherkin` in Gemspec to use _pessimistic_ versioning. (These two commits aren't merged into `master`, as they already exist in newer commits. This is a 'backported' patch to resolve [#160](https://github.com/cucumber/cucumber-ruby-core/issues/160)). ## [3.2.0] ### Added - Add the GherkinSourceParsedEvent ([#155](https://github.com/cucumber/cucumber-ruby-core/pull/155) @brasmusson) - Add #original_location to Cucumber::Core::Ast::Step and Cucumber::Core::Test::Step ([#150](https://github.com/cucumber/cucumber-ruby-core/pull/150), [#149](https://github.com/cucumber/cucumber-ruby-core/issues/149) @brasmusson) ### Fixed - Set message and backtrace for undefined result also when skipping (@brasmusson) ## [3.1.0] ### Changed - Upgraded to `cucumber-tag_expressions` 1.1.0 - Upgraded to `gherkin` 5.0.0 ## [3.0.0] ### Added - Do not create test cases for scenarios with no steps ([#144](https://github.com/cucumber/cucumber-ruby-core/pull/144) @brasmusson) - Handle selective strict settings ([#143](https://github.com/cucumber/cucumber-ruby-core/pull/143) @brasmusson) ### Changed - Step#name renamed to #text ([#137](https://github.com/cucumber/cucumber-ruby-core/pull/137) [@olleolleolle](https://github.com/olleolleolle)) - Use past tense in event names (`xStarting` -> `xStarted`) (see [cucumber/cucumber-ruby#1166](https://github.com/cucumber/cucumber-ruby/issues/1166) @brasmusson). ### Fixed - Fix DataTable's Location to be aware of all of its lines ([#142](https://github.com/cucumber/cucumber-ruby-core/pull/142) @botandrose) - As per [#251](https://github.com/cucumber/cucumber/issues/251): renamed History.md to CHANGELOG.md, added contributing message at beginning, and misc formatting. ([#145](https://github.com/cucumber/cucumber-ruby-core/pull/145) [jaysonesmith](https://github.com/jaysonesmith)) ## [3.0.0.pre.2] ### Added - Add a flaky result type to be used for flaky scenarios ([#141](https://github.com/cucumber/cucumber-ruby-core/pull/141), [cucumber/cucumber-ruby#1044](https://github.com/cucumber/cucumber-ruby/issues/1044) @brasmusson) - Make the Summary report able to say if the total result is ok ([#140](https://github.com/cucumber/cucumber-ruby-core/pull/140) @brasmusson) - Replay previous events to new subscribers ([#136](https://github.com/cucumber/cucumber-ruby-core/pull/136) @mattwynne) - Ruby 2.4.0 compatibility ([#120](https://github.com/cucumber/cucumber-ruby-core/pull/120) @junaruga) - Use tag expressions ([#116](https://github.com/cucumber/cucumber-ruby-core/pull/116) @brasmusson) - Access example table row data by param name ([#118](https://github.com/cucumber/cucumber-ruby-core/pull/118) @enkessler) ### Fixed - Travis: jruby-9.1.10.0 ([#130](https://github.com/cucumber/cucumber-ruby-core/pull/130) @olleolleolle) - Travis: jruby-9.1.12.0 ([#133](https://github.com/cucumber/cucumber-ruby-core/pull/132) @olleolleolle) ## [2.0.0] ### Added - Implement equality for test cases ([#111](https://github.com/cucumber/cucumber-ruby-core/pull/111) @mattwynne) - Implement an event bus (moved from Cucumber-Ruby) ([#106](https://github.com/cucumber/cucumber-ruby-core/pull/106) @mattwynne) - Use frozen string literals ([#105](https://github.com/cucumber/cucumber-ruby-core/pull/105) @twalpole) ### Fixed - Handle incomplete examples to scenario outlines. ([109](https://github.com/cucumber/cucumber-ruby-core/pull/109) @brasmusson) - Add with_filtered_backtrace method to unknown result ([107](https://github.com/cucumber/cucumber-ruby-core/pull/107) @danascheider) ### Removed - Remove support for Ruby v1.9.3. ([112](https://github.com/cucumber/cucumber-ruby-core/pull/112) @brasmusson) ## [1.5.0] ### Added - Update to Gherkin v4.0 (@brasmusson) ### Fixed - Use monotonic time ([#103](https://github.com/cucumber/cucumber-ruby-core/pull/103) @mikz) ## [1.4.0] ### Added - Update to Gherkin v3.2.0 (@brasmusson) ### Fixed ## [1.3.1] ### Added ### Fixed - Speed up location filtering ([#99](https://github.com/cucumber/cucumber-ruby-core/issues/99) @mattwynne @akostadinov @brasmusson) ## [1.3.0] ### Added - Add factory method to Cucumber::Core::Ast::Location that uses the output from Proc#source_location (@brasmusson) - Integrate Gherkin3 parser (@brasmusson) ### Fixed - Make sure that `after_test_step` is sent also when a test step is interrupted by (a timeout in) an around hook ([cucumber/cucumber-ruby#909](https://github.com/cucumber/cucumber-ruby/issues/909) @brasmusson) - Improve the check that a test_step quacks like a Cucumber::Core::Test::Step ([95](https://github.com/cucumber/cucumber-ruby-core/issues/95) @brasmusson) ## [1.2.0] ### Added - Enable the location of actions to be the step or hook location (@brasmusson) - Add the comments to the Steps, Examples tables and Examples table rows Ast classes (@brasmusson) - Expose name, description and examples_rows attributes of `Ast::ExamplesTable` (@mattwynne) - Add #to_sym to Cucumber::Core::Test::Result classes ([#89](https://github.com/cucumber/cucumber-ruby-core/pull/89) @pdswan) - Add #ok? to Cucumber::Core::Test::Result classes ([#92](https://github.com/cucumber/cucumber-ruby-core/pull/92) @brasmusson) ### Fixed ## [1.1.3] ### Added - Added custom `inspect` methods for AST Nodes (@tooky) ## [1.1.2] ### Added - Make Test Case names for Scenario Outlines language neutral [83](https://github.com/cucumber/cucumber-ruby-core/pull/83) (@brasmusson) - Add predicate methods for Multline arguments (@mattwynne) - Expose `Test::Case#feature` (@mattwynne) - Fail test case if around hook fails (@mattwynne, @tooky) - Expose `Test::Case#around_hooks` (@tooky) ## [1.1.1] ### Added - Calculate actual keyword for snippets (@brasmusson) ### Fixed - Remove keyword from `Test::Case#name` [82](https://github.com/cucumber/cucumber-ruby-core/pull/82) (@richarda) ## [1.1.0] ### Added - LocationsFilter now sorts test cases as well as filtering them (@mattwynne) ## [1.0.0] ### Added - Added dynamic filter class constructor (@mattwynne) ## [1.0.0.beta.4] ### Added - Introduce a Duration object (#[71](https://github.com/cucumber/cucumber-ruby-core/pull/71) [@brasmusson](https://github.com/brasmusson)) - BeforeStep hooks (#[70](https://github.com/cucumber/cucumber-ruby-core/pull/70) [@almostwhitehat](https://github.com/almostwhitehat)) - Expose `Test::Case#test_steps` (@mattwynne) ### Fixed - Handle empty feature files (#[77](https://github.com/cucumber/cucumber-ruby-core/pull/77), [cucumber/cucumber-ruby#771](https://github.com/cucumber/cucumber-ruby/issues/771) [@brasmusson](https://github.com/brasmusson)) - Run after hooks in reverse order (#[69](https://github.com/cucumber/cucumber-ruby-core/pull/69) [@erran](https://github.com/erran)) ## [1.0.0.beta.3] ## [1.0.0.beta.2] ## [1.0.0.beta.3] ## [1.0.0.beta.2] [Unreleased]: https://github.com/cucumber/cucumber-ruby-core/compare/v10.1.1...main [11.1.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v10.1.1...main [11.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v10.1.1...v11.0.0 [10.1.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v10.1.0...v10.1.1 [10.1.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v10.0.1...v10.1.0 [10.0.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v10.0.0...v10.0.1 [10.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v9.0.1...v10.0.0 [9.0.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v9.0.0...v9.0.1 [9.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v8.0.1...v9.0.0 [8.0.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v8.0.0...v8.0.1 [8.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v7.1.0...v8.0.0 [7.1.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v7.0.0...v7.1.0 [7.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v6.0.0...v7.0.0 [6.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v5.0.2...v6.0.0 [5.0.2]: https://github.com/cucumber/cucumber-ruby-core/compare/v5.0.1...v5.0.2 [5.0.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v5.0.0...v5.0.1 [5.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v4.0.0...v5.0.0 [4.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v3.2.0...v4.0.0 [3.2.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v3.2.0...v3.2.1 [3.2.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v3.1.0...v3.2.0 [3.1.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v3.0.0...3.1.0 [3.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v3.0.0.pre.2...v3.0.0 [3.0.0.pre.2]: https://github.com/cucumber/cucumber-ruby-core/compare/v2.0.0...3.0.0.pre.2 [2.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.5.0...2.0.0 [1.5.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.4.0...v1.5.0 [1.4.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.3.1...v1.4.0 [1.3.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.3.0...v1.3.1 [1.3.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.2.0...v1.3.0 [1.2.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.1.3...v1.2.0 [1.1.3]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.1.2...v1.1.3 [1.1.2]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.1.1...v1.1.2 [1.1.1]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.1.0...v1.1.1 [1.1.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0...v1.1.0 [1.0.0]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0.beta.4...v1.0.0 [1.0.0.beta.4]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0.beta.3...v1.0.0.beta.4 [1.0.0.beta.3]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0.beta.2...v1.0.0.beta.3 [1.0.0.beta.2]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0.beta.1...v1.0.0.beta.2 [1.0.0.beta.3]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0.beta.2...v1.0.0.beta.3 [1.0.0.beta.2]: https://github.com/cucumber/cucumber-ruby-core/compare/v1.0.0.beta.1...v1.0.0.beta.2 ore/compare/v10.1.1...main