From 8b1c8b4bb89e65e7e41ac273b76d34b32b1cee89 Mon Sep 17 00:00:00 2001 From: Jeremy Green Date: Thu, 2 Jan 2025 15:56:03 -0600 Subject: [PATCH 1/4] Add ruby 3.3 and 3.4 to the test matrix --- .github/workflows/test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 513f24864..f7aa2c07b 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -17,7 +17,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] - ruby: ["2.7", "3.0", "3.1", "3.2"] + ruby: ["2.7", "3.0", "3.1", "3.2", "3.3", "3.4"] include: - os: ubuntu-latest ruby: jruby-9.4 From 24bc42339f39a67ffe00bccbcbb40b6a4b8062f3 Mon Sep 17 00:00:00 2001 From: Jon Rowe Date: Tue, 10 Sep 2024 11:56:14 +0100 Subject: [PATCH 2/4] Remove unknown hash keyword arguments (#1757) * Pass hash through as explicit hash to avoid unknown keyword argument error. * Changelog entry for #1757 Cherry-pick of a468bc6 into the 9.2.0 branch. --- CHANGELOG.md | 3 +++ lib/cucumber/multiline_argument/data_table.rb | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aaf4bd422..e3287010b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,9 @@ Please visit [cucumber/CONTRIBUTING.md](https://github.com/cucumber/cucumber/blo ## [Unreleased] +### Chaneged +- Fixed an issue for Ruby 3.4.0 where a default hash instantiation was being picked up as keyword arguments ([Jon Rowe](https://github.com/JonRowe)) + ## [9.2.0] - 2024-03-19 ### Changed - Updated cucumber dependencies (Specifically cucumber-core) ([luke-hill](https://github.com/luke-hill)) diff --git a/lib/cucumber/multiline_argument/data_table.rb b/lib/cucumber/multiline_argument/data_table.rb index 4914b9478..1261ac585 100644 --- a/lib/cucumber/multiline_argument/data_table.rb +++ b/lib/cucumber/multiline_argument/data_table.rb @@ -75,7 +75,9 @@ def row(row) def eof; end end - NULL_CONVERSIONS = Hash.new(strict: false, proc: ->(cell_value) { cell_value }).freeze + # This is a Hash being initialized with a default value of a Hash, DO NOT REFORMAT TO REMOVE {} + # Future versions [3.4.0+] of ruby will interpret these as keywords and break. + NULL_CONVERSIONS = Hash.new({ strict: false, proc: ->(cell_value) { cell_value } }).freeze # @param data [Core::Test::DataTable] the data for the table # @param conversion_procs [Hash] see map_column From df4701ad2a519de6fc98030b87a4cec6934b1426 Mon Sep 17 00:00:00 2001 From: Jeremy Green Date: Thu, 2 Jan 2025 16:12:38 -0600 Subject: [PATCH 3/4] Bump the version to 9.2.1 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index deeb3d66e..45acc9e66 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -9.2.0 +9.2.1 From 0cc63593e8d31229552aaf7ba3451beaef512651 Mon Sep 17 00:00:00 2001 From: Jeremy Green Date: Thu, 2 Jan 2025 16:19:55 -0600 Subject: [PATCH 4/4] fix typo --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e3287010b..625a0abbd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ Please visit [cucumber/CONTRIBUTING.md](https://github.com/cucumber/cucumber/blo ## [Unreleased] -### Chaneged +### Changed - Fixed an issue for Ruby 3.4.0 where a default hash instantiation was being picked up as keyword arguments ([Jon Rowe](https://github.com/JonRowe)) ## [9.2.0] - 2024-03-19