From 32b7f125feae48ff85633a9d4a1eb327d6252c8a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 28 Dec 2025 22:21:29 +0000 Subject: [PATCH 01/12] Initial plan From ada643090281ef6b8fcbca205118b1c5368ee3e8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 28 Dec 2025 22:26:06 +0000 Subject: [PATCH 02/12] Update Ruby version support to include 4.0 Co-authored-by: addersuk <131964+addersuk@users.noreply.github.com> --- .github/workflows/gem-publish.yml | 2 +- .github/workflows/ruby.yml | 2 +- docs/TRUSTED_PUBLISHING.md | 2 +- twiglet.gemspec | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/gem-publish.yml b/.github/workflows/gem-publish.yml index ebbcd71..950d686 100644 --- a/.github/workflows/gem-publish.yml +++ b/.github/workflows/gem-publish.yml @@ -17,7 +17,7 @@ jobs: strategy: matrix: - ruby-version: [3.1, 3.2, 3.3, 3.4] + ruby-version: [3.1, 3.2, 3.3, 3.4, 4.0] steps: - uses: actions/checkout@v5 - name: Set up Ruby diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index def4dc2..677ad1e 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -18,7 +18,7 @@ jobs: strategy: matrix: - ruby-version: [3.1, 3.2, 3.3, 3.4] + ruby-version: [3.1, 3.2, 3.3, 3.4, 4.0] steps: - uses: actions/checkout@v5 diff --git a/docs/TRUSTED_PUBLISHING.md b/docs/TRUSTED_PUBLISHING.md index f42ba52..8e6c619 100644 --- a/docs/TRUSTED_PUBLISHING.md +++ b/docs/TRUSTED_PUBLISHING.md @@ -5,7 +5,7 @@ This repository now uses RubyGems trusted publishing via GitHub Actions OIDC tok ## How it works 1. **Automated Publishing**: When code is pushed to the `master` branch, the workflow automatically: - - Runs the full test suite across multiple Ruby versions (3.1, 3.2, 3.3, 3.4) + - Runs the full test suite across multiple Ruby versions (3.1, 3.2, 3.3, 3.4, 4.0) - Builds the gem if tests pass - Publishes to RubyGems using OIDC token authentication - Creates a GitHub release diff --git a/twiglet.gemspec b/twiglet.gemspec index 0ebd65c..604286f 100644 --- a/twiglet.gemspec +++ b/twiglet.gemspec @@ -25,7 +25,7 @@ Gem::Specification.new do |gem| gem.files = Dir.glob(['lib/**/*', 'LICENSE', 'README.md']).reject { |f| File.directory?(f) } gem.require_paths = ['lib'] - gem.required_ruby_version = ['>= 3.1 ', '< 3.5'] + gem.required_ruby_version = ['>= 3.1 ', '< 5.0'] gem.license = 'MIT' From 47f80dee180379f614f80b8b6460ac4bae1b71eb Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 28 Dec 2025 22:32:44 +0000 Subject: [PATCH 03/12] Add benchmark gem for Ruby 4.0 compatibility Co-authored-by: addersuk <131964+addersuk@users.noreply.github.com> --- twiglet.gemspec | 1 + 1 file changed, 1 insertion(+) diff --git a/twiglet.gemspec b/twiglet.gemspec index 604286f..b16208d 100644 --- a/twiglet.gemspec +++ b/twiglet.gemspec @@ -30,6 +30,7 @@ Gem::Specification.new do |gem| gem.license = 'MIT' gem.add_dependency 'json-schema' + gem.add_development_dependency 'benchmark' gem.add_development_dependency 'minitest' gem.add_development_dependency 'rake' gem.add_development_dependency 'simplecov', '0.17.1' From 03951aee2fcacf8979bfc007b5789fc82f820d88 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 28 Dec 2025 22:46:39 +0000 Subject: [PATCH 04/12] Update required_ruby_version upper bound to 4.1 Co-authored-by: addersuk <131964+addersuk@users.noreply.github.com> --- twiglet.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/twiglet.gemspec b/twiglet.gemspec index b16208d..263bcbd 100644 --- a/twiglet.gemspec +++ b/twiglet.gemspec @@ -25,7 +25,7 @@ Gem::Specification.new do |gem| gem.files = Dir.glob(['lib/**/*', 'LICENSE', 'README.md']).reject { |f| File.directory?(f) } gem.require_paths = ['lib'] - gem.required_ruby_version = ['>= 3.1 ', '< 5.0'] + gem.required_ruby_version = ['>= 3.1 ', '< 4.1'] gem.license = 'MIT' From eec2df6ad4524d77794a03c2d241528d10ee51de Mon Sep 17 00:00:00 2001 From: Adam Leach Date: Tue, 30 Dec 2025 12:04:20 +0000 Subject: [PATCH 05/12] Fix indentation in logger context provider for improved readability --- test/logger_test.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/logger_test.rb b/test/logger_test.rb index 05c2fc5..02b8599 100644 --- a/test/logger_test.rb +++ b/test/logger_test.rb @@ -271,7 +271,7 @@ # Let's add some context to this customer journey purchase_logger = @logger .context_provider do - { 'context' => { 'id' => 'my-context-id' } } + { 'context' => { 'id' => 'my-context-id' } } end.with( { trace: { id: '1c8a5fb2-fecd-44d8-92a4-449eb2ce4dcb' }, From d70d98a80f8d2c00687b1709af0735463f652159 Mon Sep 17 00:00:00 2001 From: "dobby-app[bot]" <78910979+dobby-app[bot]@users.noreply.github.com> Date: Tue, 30 Dec 2025 12:05:17 +0000 Subject: [PATCH 06/12] Bump minor version --- lib/twiglet/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/twiglet/version.rb b/lib/twiglet/version.rb index 8265e20..3fff3ed 100644 --- a/lib/twiglet/version.rb +++ b/lib/twiglet/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Twiglet - VERSION = '3.14.5' + VERSION = '3.15.0' end From c0b1874664ad1a3daa98694d3fda6f28e8a247a3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Dec 2025 12:08:25 +0000 Subject: [PATCH 07/12] Add cgi gem for Ruby 4.0 compatibility with simplecov Co-authored-by: addersuk <131964+addersuk@users.noreply.github.com> --- twiglet.gemspec | 1 + 1 file changed, 1 insertion(+) diff --git a/twiglet.gemspec b/twiglet.gemspec index 263bcbd..d725dcf 100644 --- a/twiglet.gemspec +++ b/twiglet.gemspec @@ -31,6 +31,7 @@ Gem::Specification.new do |gem| gem.add_dependency 'json-schema' gem.add_development_dependency 'benchmark' + gem.add_development_dependency 'cgi' gem.add_development_dependency 'minitest' gem.add_development_dependency 'rake' gem.add_development_dependency 'simplecov', '0.17.1' From 2f2656a4a6fd0fab92d574732b22046f8e0d378e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Dec 2025 12:58:48 +0000 Subject: [PATCH 08/12] Explicitly add minitest to Gemfile for Ruby 4.0 compatibility Co-authored-by: addersuk <131964+addersuk@users.noreply.github.com> --- Gemfile | 3 +++ twiglet.gemspec | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index 7f4f5e9..4a659b9 100644 --- a/Gemfile +++ b/Gemfile @@ -2,4 +2,7 @@ source 'https://rubygems.org' +# Explicitly require these gems for Ruby 4.0 compatibility +gem 'minitest', '>= 5.0' + gemspec diff --git a/twiglet.gemspec b/twiglet.gemspec index d725dcf..d5fa1c2 100644 --- a/twiglet.gemspec +++ b/twiglet.gemspec @@ -32,7 +32,7 @@ Gem::Specification.new do |gem| gem.add_dependency 'json-schema' gem.add_development_dependency 'benchmark' gem.add_development_dependency 'cgi' - gem.add_development_dependency 'minitest' + gem.add_development_dependency 'minitest', '>= 5.0' gem.add_development_dependency 'rake' gem.add_development_dependency 'simplecov', '0.17.1' gem.add_development_dependency 'simplycop' From 6ea2dc3d912e997f300eb77a252188380033d308 Mon Sep 17 00:00:00 2001 From: Adam Leach Date: Tue, 30 Dec 2025 15:35:49 +0000 Subject: [PATCH 09/12] Update required Ruby version to 3.2 in gemspec for compatibility --- twiglet.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/twiglet.gemspec b/twiglet.gemspec index 8c144fb..0e02af2 100644 --- a/twiglet.gemspec +++ b/twiglet.gemspec @@ -25,7 +25,7 @@ Gem::Specification.new do |gem| gem.files = Dir.glob(['lib/**/*', 'LICENSE', 'README.md']).reject { |f| File.directory?(f) } gem.require_paths = ['lib'] - gem.required_ruby_version = ['>= 3.1 ', '< 4.1'] + gem.required_ruby_version = ['>= 3.2 ', '< 4.1'] gem.license = 'MIT' From 132ef1b2fd4a62bc7baff879b44a3fdb3f3e1467 Mon Sep 17 00:00:00 2001 From: "dobby-app[bot]" <78910979+dobby-app[bot]@users.noreply.github.com> Date: Tue, 30 Dec 2025 15:37:49 +0000 Subject: [PATCH 10/12] Bump minor version --- lib/twiglet/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/twiglet/version.rb b/lib/twiglet/version.rb index 3fff3ed..7aa6673 100644 --- a/lib/twiglet/version.rb +++ b/lib/twiglet/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Twiglet - VERSION = '3.15.0' + VERSION = '3.16.0' end From f6b79ca6901387173704d68ea04a72fdc5f018ac Mon Sep 17 00:00:00 2001 From: Adam Leach Date: Tue, 30 Dec 2025 15:36:54 +0000 Subject: [PATCH 11/12] Remove Ruby 3.1 from CI matrix for consistency with supported versions --- .github/workflows/ruby.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 212d03a..bdf4c67 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -19,7 +19,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: [3.1, 3.2, 3.3, 3.4, 4.0] + ruby-version: [3.2, 3.3, 3.4, 4.0] steps: - uses: actions/checkout@v6 From 825d70651ac728d43048fcaae9d4dcac59c1e474 Mon Sep 17 00:00:00 2001 From: Adam Leach Date: Tue, 30 Dec 2025 15:45:18 +0000 Subject: [PATCH 12/12] Update .github/workflows/gem-publish.yml Co-authored-by: Francesca Rodricks --- .github/workflows/gem-publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gem-publish.yml b/.github/workflows/gem-publish.yml index 0318b57..f146639 100644 --- a/.github/workflows/gem-publish.yml +++ b/.github/workflows/gem-publish.yml @@ -17,7 +17,7 @@ jobs: strategy: matrix: - ruby-version: [3.1, 3.2, 3.3, 3.4, 4.0] + ruby-version: [3.2, 3.3, 3.4, 4.0] steps: - uses: actions/checkout@v6 - name: Set up Ruby