All notable changes to this project will be documented in this file.
This project adheres to Semantic Versioning.
This document is formatted according to the principles of Keep A CHANGELOG.
Please visit cucumber/CONTRIBUTING.md for more info on how to contribute to Cucumber.
- Added dependencies that will no longer be part of the ruby stdlib (jeromeag)
- Updated
cucumber-compatibility-kit
to v16 (luke-hill) - Changed compatibility testing to fully lean on external assets instead of duplicating them (luke-hill)
- Fixed an issue where a change to one example in compatibility testing wasn't fully adhered to (luke-hill)
- Fixed an issue for Ruby 3.4.0 where a default hash instantiation was being picked up as keyword arguments (Jon Rowe)
- Removed support for Ruby 2.7 (luke-hill)
9.2.0 - 2024-03-19
- 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)
- Some legacy JRuby local testing profiles are now removed (luke-hill)
9.1.2 - 2024-01-23
- 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)
- 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)
9.1.1 - 2024-01-04
- Updated dependencies to slightly more permissive / up to date versions (luke-hill)
- Fixed most of the
Layout
cop offenses (luke-hill)
- The sample sinatra tests are no longer used in internal testing (This removes a bunch of superfluous dev gems) (#1743 luke-hill)
- Removed all references to autotest as this is an ancient plugin that is not correctly integrated
9.1.0 - 2023-11-14
- 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
testStepResult
is of typeFAILED
we now pass in a new (Exception), message property (#1738 luke-hill) ParameterType
message now contains a new (sourceReference), property (This contains a uri string and aLocation
message -> for where the ParameterTypetransformer
is located) (#1738 luke-hill)#attach
now can take an optional filename parameter which will rename attachments like PDF's (#1738 luke-hill)
- 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)
- Removed a variety of overrides / hacks for travis CI (No longer in use) (#1738 luke-hill)
- Removed some legacy rspec pending flags present since cucumber 1.x (#1738 luke-hill)
9.0.2 - 2023-09-11
- Began to tidy up (Cleared some AutoFix cops), and organise rubocop tech-debt in repo (This introduced new rubocop sub-gems) (#1716 luke-hill)
- Gem update. Update rubocop gems to latest and increase minimum version of some cucumber sub-gems (#1732 luke-hill)
- Rubocop update. Massively overhauled the cucumber style / rubocop expectations and began to tackle some long-standing tech-debt (#1733 luke-hill)
- First couple of passes of tidying up approximately 15% of the autofix cops (#1736 #1737 luke-hill)
- Removed a whole bunch of miscellaneous script files that are no longer used (Either in development or usage) (#1721 luke-hill)
9.0.1 - 2023-09-01
9.0.0 - 2023-08-31
- Add option
--retry-total
(#1669)
- Update dependency cucumber-gherkin to v26 (#1688)
- Replace dependency mime-types with mini_mime (#1695)
- Removed support for Ruby 2.6 and JRuby 9.3 (#1699)
8.0.0 - 2022-05-19
- Add a WARNING message when using a space-separated string with cucumber_opts (#1624)
- Add support for TruffleRuby (#1612 gogainda)
- Add support for named hooks (#1636)
- Use
required_rubygems_version
instead ofrubygems_version
(#1629) - Suppress RSspec deprecation warnings(#1631)
8.0.0.RC.1 - 2022-01-19
- Replace dependency cucumber-create-meta with the new cucumber-ci-environment (#1601)
- In
DataTable#map_column
, Changed thestrict
argument into a keyword argument. See upgrading notes for 8.0.0.md (#1594) - Added Ruby 3.1 (#1607)
- Fix TestRunFinished success property in html formatter and all formatters based on the messages: it now returns true if the run has passed (#1606)
- Fix usage of namespaced modules across multiple scenarios (#1603)
- Do not serialize Messages::Hook#tag_expression if it is empty (#1579)
- JSON Formatter uses "pretty" output format (#1580)
- Fixed JSON Formatter "end of background" detection (#1580)
- Fixed JSON Formatter expansion of Scenario Outline templates in Doc Strings (#1580)
- Removed usage of
eval
inCucumber::Term::ANSIColor
andCucumber::Formatter::ANSIColor
(#1589) - Fixed
DataTable#map_headers
when headers have the same prefix (#1598)
AfterConfiguration
has been removed. Please useInstallPlugin
orBeforeAll
instead. See upgrading notes for 8.0.0.md to update your code accordingly. (#1591)- The built-in Wire protocol The Wire protocol is still officially supported, but as an optional plugin rather than a built-in feature. See upgrading notes for 8.0.0.md to update your code accordingly.
- Removed former unused
stdin
argument fromCli::Main
. That may impact your code if you use cucumber APICucumber::Cli::Main
. See upgrading notes for 8.0.0.md. (#1588) - Removed
DataTable#map_column!
andDataTable#map_headers!
. Those methods were error-prone and planned to be removed a long time ago. You can use the immutable versions instead:DataTable#map_column
andDataTable#map_headers
. (#1590) - Removed support for Ruby 2.5 and JRuby 9.2.