Skip to content

Releases: cucumber/cucumber-ruby

v11.1.1

Choose a tag to compare

@github-actions github-actions released this 25 Jun 07:53
v11.1.1
e0c4ea5

Changed

  • Change to use events to pass the data from "log" and "attach" calls from the step definitions to the formatters. With this the last part of the ancient (pre event) formatter inteface has been removed. (#1881 brasmusson)

Fixed

  • Fixed issue with html-formatter where attachments and envelopes were causing the entire message pool to be blank (#1891) luke-hill
  • Show failed step error details in the summary formatter output
  • Fixed up JRuby examples which weren't running due to anglicisation issues (Pivoted to use English step definitions to help JRuby testing)
  • Fixed up Arabic example which had some incorrect logic for step definition matching (Due to RTL nature of the language)

v11.1.0

Choose a tag to compare

@github-actions github-actions released this 01 Jun 23:08
v11.1.0
0f82940

Added

  • Print thread backtraces on SIGINFO/SIGPWR (#1830) sobrinho
  • Added Suggestion messages that will show all the snippets for all message based formatters (#1870) luke-hill

Changed

  • Heavy refactor to the internals for message building (Used in formatters - should be no noticeable change)
    (#1853 luke-hill)
  • Simplify attachment handling in the MessageBuilder and #attach method

Fixed

  • When someone calls #attach with a hashified output (Instead of JSON); call #to_json before attaching as a stringified JSON response to avoid errors (#1787 luke-hill)
  • Altered the concept of how BeforeAll and AfterAll hooks would run. They now attempt to all run before continuing test execution (#1857 brasmusson)
  • Internal refactor to MessageBuilder class to send envelopes through event bus (Should be no noticeable change)
  • Updated cucumber-compatibility-kit to v24
  • This has only been partially completed so far (With approx 20% of all events refactored)
  • Internal refactor to emit direct message envelopes instead of building messages and then converting them to envelopes (Should be no noticeable change)
  • Introduced new base events class which is slightly more intuitive and leans less on old ruby standards (Should be no noticeable change)

v11.0.0

Choose a tag to compare

@github-actions github-actions released this 14 Apr 08:19
v11.0.0
cbf0352

Added

  • Add timestamp to Attachment message
  • Added a new option for running order --reverse which will run the scenarios in reverse order (#1807 luke-hill)
  • A first initial iteration of the new cucumber-query structure (#1801 luke-hill)

This will be used for the migration of all existing formatters - becoming the building blocks for the future of cucumber formatters
which will begin being migrated in the start of 2026

Changed

  • Use the test result type 'ambiguous' added to cucumber-ruby-core when steps are ambiguous
    (#1815) brasmusson)
  • Use the new internal cucumber-query structure for the rerun formatter

This is a very large refactor, but should not change any behaviour. The cucumber-query structure is a new internal structure that is designed to be used by formatters to query
the state of the test run in a more intuitive way.

The rerun formatter was chosen as the first formatter to migrate to this new structure as it is one of the simpler
formatters and will allow us to test the new structure in a real-world scenario.

  • Updated cucumber-compatibility-kit to v22
  • Security: Switched out IO.read for more secure File.read in a few areas of the codebase
  • Implemented the new cucumber-query structure in all message based formatters (Currently HTML / Rerun and Message)
    (#1844 luke-hill)

Fixed

  • Fix crash when Cucumber::Messages::Group#children is nil
  • Fixed a longstanding issue that could affect formatters reporting of retried scenarios (Now each scenario should only be reported once, with the final result of the scenario)
    (#1844 luke-hill)
  • Fixed an issue where the default flags derived in the Options and Configuration classes were not congruent
    (#1846) luke-hill)
  • Fixed an issue where NoMethodError could be raised when declaring a parameter-type that used bound methods
    (#1789)

v10.2.0

Choose a tag to compare

@github-actions github-actions released this 10 Dec 17:48
v10.2.0
7e4cfa8

Changed

  • Permit the latest version of the cucumber-html-formatter (v22.0.0+)
  • Permit cucumber-expressions up to v19

v10.1.1

Choose a tag to compare

@github-actions github-actions released this 08 Oct 07:16
v10.1.1
89183a1

Changed

  • Internal refactors to CCK testing code to better check that the message formatter responses are as expected
  • Simplify #attach by better checking the different use cases (base64 vs file path)

Fixed

  • Prevent messages (And any consuming formatters), from not handling unknown (base64), media types (#1796 luke-hill)

v10.1.0

Choose a tag to compare

@github-actions github-actions released this 20 Aug 16:01
v10.1.0
919c4d7

Changed

  • Updated cucumber-compatibility-kit to v20
  • Optimised compatibility tests (That use the CCK), so that tests run slightly more optimal (Creating less empty arrays)

Fixed

  • Fixed an issue where the html-formatter wasn't respecting the new structure for StackTrace cucumber messages (#1790 luke-hill)

v10.0.0

Choose a tag to compare

@github-actions github-actions released this 12 Jun 10:33
v10.0.0
2cf3a61

Changed

  • Added dependencies that will no longer be part of the ruby stdlib (jeromeag)
  • NB: This change has also facilitated a tweak to some output messages to include new fields such as testRunStartedId
    for full changes and expectations of what will be new check the messages
    (luke-hill)
  • Updated cucumber-compatibility-kit to v18
  • Changed compatibility testing to fully lean on external assets instead of duplicating them (luke-hill)
  • Permit usage of latest versions of all cucumber internal gems
  • The auto-generation of all placeholder pending steps has been refactored (There should be no visible changes
    but the code is now refactored to work using newer ruby standards
    )
  • The #text? method for checking Differences in multi-line text is now deprecated (Users
    should lean on an appropriate testing library for this)
  • Cucumber.use_legacy_autoloader that was intended as a stop-gap for v4/v5 is now deprecated (People
    that need to rely on procedural loading / reloading of files should use method invocations) (luke-hill)
  • The backtrace filtering logic has been changed (There should be no visible changes but the code is now
    refactored to use newer, less procedural ruby
    )

Fixed

  • Fixed an issue where a change to one example in compatibility testing wasn't fully adhered to (luke-hill)
  • Fixed Ruby 3.4+ issue where error backtraces weren't being formatted. (#1771 orien)
  • Fix some problematic specs that were leaking state and showcasing an issue on JRuby (#1783 luke-hill)

Removed

  • StepDefinitionLight associated methods. The class itself is present but deprecated
  • Webrick Proc handling aliases that were long redundant
  • Associated legacy scripts for updating dependencies that are no longer used
  • Tag Expressions using legacy syntax that were handled / sanitized are no longer done so
    (This applies to both regular usage and internal testing)
  • Removed support for Ruby 2.7 and 3.0 (Minimum ruby is now 3.1) (luke-hill)
  • Unindentation support for snippet generator / tests (Heredocs are much better now) (luke-hill)

v9.2.1

Choose a tag to compare

@github-actions github-actions released this 12 Jan 11:42
v9.2.1
bda3f5e

Fixed

  • Fixed an issue for Ruby 3.4 where a default hash instantiation was being picked up as keyword arguments (Jon Rowe)

v9.2.0

Choose a tag to compare

@github-actions github-actions released this 19 Mar 09:47

Changed

  • Updated cucumber dependencies (Specifically cucumber-core) (luke-hill)
  • Uncoupled a lot of dual-responsibility complexity in HTTP classes (Specifically the builders/parsers)
    (#1752 luke-hill)

Removed

  • Some legacy JRuby local testing profiles are now removed (luke-hill)

v9.1.2

Choose a tag to compare

@github-actions github-actions released this 23 Jan 17:01

Added

Changed

  • Moved all CCK step definition/miscellaneous file logic from CCK gem to this repo.
    All logic contained in compatibility (luke-hill)
  • Cleared up a few Layout/Linting cop offenses (#1750 luke-hill)

Fixed

  • Fix a situation whereby the step definition message will omit the parameter-type name when it cannot be inferred
    (This fixes an issue in cucumber-wire when passing legacy steps down the wire)
    (#1746 luke-hill)

Removed