Releases: cucumber/cucumber-ruby
Releases · cucumber/cucumber-ruby
v11.0.0
Added
- Add timestamp to
Attachmentmessage - Added a new option for running order
--reversewhich will run the scenarios in reverse order (#1807 luke-hill) - A first initial iteration of the new
cucumber-querystructure (#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-querystructure for thererunformatter
This is a very large refactor, but should not change any behaviour. The
cucumber-querystructure 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
rerunformatter 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-kitto v22 - Security: Switched out
IO.readfor more secureFile.readin 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#childrenisnil - 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
OptionsandConfigurationclasses 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
Changed
- Permit the latest version of the
cucumber-html-formatter(v22.0.0+) - Permit
cucumber-expressionsup to v19
v10.1.1
Changed
- Internal refactors to CCK testing code to better check that the message formatter responses are as expected
- Simplify
#attachby better checking the different use cases (base64 vs file path)
Fixed
v10.1.0
Changed
- Updated
cucumber-compatibility-kitto v20 - Optimised
compatibilitytests (That use the CCK), so that tests run slightly more optimal (Creating less empty arrays)
Fixed
v10.0.0
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-kitto 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
pendingsteps 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_autoloaderthat 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
StepDefinitionLightassociated methods. The class itself is present but deprecatedWebrickProc 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
v9.2.0
v9.1.2
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
v9.1.1
v9.1.0
Added
Changed
- First couple of passes of tidying up approximately 40% of the manual fix cops
(#1739 #1740 #1741 #1742 luke-hill) - Removed a bunch of example files / sample projects from ancient projects no longer viable
(#1740 luke-hill) - When a
testStepResultis of typeFAILEDwe now pass in a new (Exception), message property
(#1738 luke-hill) ParameterTypemessage now contains a new (sourceReference), property
(This contains a uri string and aLocationmessage -> for where the ParameterTypetransformeris located) (#1738 luke-hill)#attachnow can take an optional filename parameter which will rename attachments like PDF's
(#1738 luke-hill)
Fixed
- Clear up a couple of tiny "nuances" that hide lots of issues when running local vs remote (Primarily CCK tests should always be runnable)
(#1738 luke-hill)