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 diff --git a/CHANGELOG.md b/CHANGELOG.md index aaf4bd422..625a0abbd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,9 @@ Please visit [cucumber/CONTRIBUTING.md](https://github.com/cucumber/cucumber/blo ## [Unreleased] +### 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 ### Changed - Updated cucumber dependencies (Specifically cucumber-core) ([luke-hill](https://github.com/luke-hill)) diff --git a/VERSION b/VERSION index deeb3d66e..45acc9e66 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -9.2.0 +9.2.1 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