From 748c225a31130e7d3a4b9a0e887f96c1d88b68b5 Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Fri, 3 Oct 2025 17:38:59 +0100 Subject: [PATCH 1/7] AF: Layout/TrailingWhiteSpace --- ruby/spec/cucumber/html_formatter/formatter_spec.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ruby/spec/cucumber/html_formatter/formatter_spec.rb b/ruby/spec/cucumber/html_formatter/formatter_spec.rb index 8919ec5d..458e2b7f 100644 --- a/ruby/spec/cucumber/html_formatter/formatter_spec.rb +++ b/ruby/spec/cucumber/html_formatter/formatter_spec.rb @@ -103,7 +103,7 @@ expect(out.string).to match(/\A\s?\Z/) - + end it 'writes an empty report' do @@ -115,6 +115,6 @@ expect(out.string).to match(/\A\s?\Z/) - + end end From 047cce2738bf5d7ab905b4e87e35d201d780b88d Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Fri, 3 Oct 2025 17:39:11 +0100 Subject: [PATCH 2/7] Bump minimum version of gems and ruby version --- CHANGELOG.md | 2 ++ ruby/cucumber-html-formatter.gemspec | 10 +++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9114be6a..51243dae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +### Changed +- [Ruby] Minimum ruby version is now 3.1+ ([#268](https://github.com/cucumber/html-formatter/pull/268)) ## [21.15.1] - 2025-09-11 ### Fixed diff --git a/ruby/cucumber-html-formatter.gemspec b/ruby/cucumber-html-formatter.gemspec index abf89452..940f9b14 100644 --- a/ruby/cucumber-html-formatter.gemspec +++ b/ruby/cucumber-html-formatter.gemspec @@ -12,8 +12,8 @@ Gem::Specification.new do |s| s.homepage = 'https://github.com/cucumber/html-formatter' s.platform = Gem::Platform::RUBY s.license = 'MIT' - s.required_ruby_version = '>= 2.6' - s.required_rubygems_version = '>= 3.0.3' + s.required_ruby_version = '>= 3.1' + s.required_rubygems_version = '>= 3.2.8' s.metadata = { 'bug_tracker_uri' => 'https://github.com/cucumber/html-formatter/issues', @@ -26,11 +26,11 @@ Gem::Specification.new do |s| s.add_runtime_dependency 'cucumber-messages', '> 19', '< 28' - s.add_development_dependency 'rake', '~> 13.2' + s.add_development_dependency 'rake', '~> 13.3' s.add_development_dependency 'rspec', '~> 3.13' - s.add_development_dependency 'rubocop', '~> 1.71.0' + s.add_development_dependency 'rubocop', '~> 1.81.0' s.add_development_dependency 'rubocop-rake', '~> 0.6.0' - s.add_development_dependency 'rubocop-rspec', '~> 2.31.0' + s.add_development_dependency 'rubocop-rspec', '~> 3.7.0' s.executables = ['cucumber-html-formatter'] s.files = Dir['README.md', 'LICENSE', 'lib/**/*', 'assets/*'] From e7db363c18bf8118c51f8a2b6d78b8b09b7cb899 Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Fri, 3 Oct 2025 17:39:44 +0100 Subject: [PATCH 3/7] Update CI workflows --- .github/workflows/release-ruby.yml | 2 +- .github/workflows/test-ruby.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release-ruby.yml b/.github/workflows/release-ruby.yml index 435b3604..0fac0cca 100644 --- a/.github/workflows/release-ruby.yml +++ b/.github/workflows/release-ruby.yml @@ -22,7 +22,7 @@ jobs: - uses: ./.github/actions/prepare - uses: ruby/setup-ruby@v1 with: - ruby-version: '3.3' + ruby-version: '3.4' bundler-cache: true working-directory: ruby - name: Publish ruby gem diff --git a/.github/workflows/test-ruby.yml b/.github/workflows/test-ruby.yml index ee538ea5..502727d0 100644 --- a/.github/workflows/test-ruby.yml +++ b/.github/workflows/test-ruby.yml @@ -26,10 +26,10 @@ jobs: matrix: os: - ubuntu-latest - ruby: ['2.7', '3.0', '3.1', '3.2', '3.3'] + ruby: ['3.1', '3.2', '3.3', '3.4', '3.5'] include: - os: macos-latest - ruby: '3.3' + ruby: '3.4' steps: - uses: actions/checkout@v5 - uses: ./.github/actions/prepare From 4b295c6f253a1af1b37049b09e7d8b0219409d20 Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Fri, 3 Oct 2025 17:40:42 +0100 Subject: [PATCH 4/7] AF: String Literals --- ruby/lib/cucumber/html_formatter/formatter.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ruby/lib/cucumber/html_formatter/formatter.rb b/ruby/lib/cucumber/html_formatter/formatter.rb index 3d7243aa..77a77073 100644 --- a/ruby/lib/cucumber/html_formatter/formatter.rb +++ b/ruby/lib/cucumber/html_formatter/formatter.rb @@ -25,7 +25,7 @@ def write_message(message) out.puts(',') unless @first_message # Replace < with \x3C # https://html.spec.whatwg.org/multipage/scripting.html#restrictions-for-contents-of-script-elements - out.print(message.to_json.gsub('<', "\\x3C")) + out.print(message.to_json.gsub('<', '\\x3C')) @first_message = false end @@ -53,7 +53,7 @@ def pre_message AssetsLoader.css, template_writer.write_between('{{css}}', '{{custom_css}}'), template_writer.write_between('{{custom_css}}', '{{messages}}') - ].join("") + ].join('') end def post_message @@ -62,7 +62,7 @@ def post_message AssetsLoader.script, template_writer.write_between('{{script}}', '{{custom_script}}'), template_writer.write_between('{{custom_script}}', nil) - ].join("") + ].join('') end def template_writer From 8c3d5c1ba5f8f68e9f21481925fee64e93c6861e Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Fri, 3 Oct 2025 17:42:30 +0100 Subject: [PATCH 5/7] Unhook top end messages requirement --- CHANGELOG.md | 2 +- ruby/cucumber-html-formatter.gemspec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51243dae..f38d6c89 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] ### Changed -- [Ruby] Minimum ruby version is now 3.1+ ([#268](https://github.com/cucumber/html-formatter/pull/268)) +- [Ruby] Minimum ruby version is now 3.1+ (Bumped CI workflows also) ([#441](https://github.com/cucumber/html-formatter/pull/441)) ## [21.15.1] - 2025-09-11 ### Fixed diff --git a/ruby/cucumber-html-formatter.gemspec b/ruby/cucumber-html-formatter.gemspec index 940f9b14..ec70b8ad 100644 --- a/ruby/cucumber-html-formatter.gemspec +++ b/ruby/cucumber-html-formatter.gemspec @@ -24,7 +24,7 @@ Gem::Specification.new do |s| 'source_code_uri' => 'https://github.com/cucumber/html-formatter' } - s.add_runtime_dependency 'cucumber-messages', '> 19', '< 28' + s.add_runtime_dependency 'cucumber-messages', '> 19', '< 31' s.add_development_dependency 'rake', '~> 13.3' s.add_development_dependency 'rspec', '~> 3.13' From 802613941dbec0b3baa32fe0345c04c69aee71e5 Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Fri, 3 Oct 2025 17:43:46 +0100 Subject: [PATCH 6/7] Permit slightly higher version of messages in java --- java/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/pom.xml b/java/pom.xml index 1cd14134..de572eec 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -51,7 +51,7 @@ io.cucumber messages - [18.0.0,30.0.0) + [18.0.0,31.0.0) From 69322cdb8ed53d7a459e0682cb45cad9ee659ab3 Mon Sep 17 00:00:00 2001 From: Luke Hill Date: Fri, 3 Oct 2025 17:44:39 +0100 Subject: [PATCH 7/7] Add note for messages upgrade --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f38d6c89..16ab9864 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] ### Changed - [Ruby] Minimum ruby version is now 3.1+ (Bumped CI workflows also) ([#441](https://github.com/cucumber/html-formatter/pull/441)) +- Upgrade `cucumber-messages` to [30.0.0](https://github.com/cucumber/messages/releases/tag/v30.0.0) ## [21.15.1] - 2025-09-11 ### Fixed