From 581a7339ba8711f10f71c1d1776f0ff71ef4e017 Mon Sep 17 00:00:00 2001 From: Kim Gustyr Date: Thu, 29 Oct 2026 14:32:33 +0100 Subject: [PATCH 1/3] ci: Test against Ruby 3.4 and 4.0 --- .github/workflows/pull_request.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pull_request.yaml b/.github/workflows/pull_request.yaml index 76d00b6..c51d598 100644 --- a/.github/workflows/pull_request.yaml +++ b/.github/workflows/pull_request.yaml @@ -29,7 +29,7 @@ jobs: runs-on: ubuntu-24.04 strategy: matrix: - ruby-version: ['3.0', '3.1', '3.2', '3.3'] + ruby-version: ['3.0', '3.1', '3.2', '3.3', '3.4', '4.0'] steps: - uses: actions/checkout@v3 From af3b5b77341781ccc05ed213f329a7395d71e270 Mon Sep 17 00:00:00 2001 From: Kim Gustyr Date: Thu, 29 Oct 2026 14:35:16 +0100 Subject: [PATCH 2/3] deps: Bump faraday-retry to 2.4.0 for Ruby 4.0 support --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1ab6839..23a5610 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -20,7 +20,7 @@ GEM logger faraday-net_http (3.4.4) net-http (~> 0.5) - faraday-retry (2.2.1) + faraday-retry (2.4.0) faraday (~> 2.0) gem-release (2.2.2) json (2.21.2) From 6001d740974ff31d87cb92a0422fd812ebbef0ec Mon Sep 17 00:00:00 2001 From: Kim Gustyr Date: Thu, 29 Oct 2026 14:39:57 +0100 Subject: [PATCH 3/3] deps: Add benchmark and ostruct dev dependencies for Ruby 4.0 --- Gemfile.lock | 4 ++++ flagsmith.gemspec | 2 ++ 2 files changed, 6 insertions(+) diff --git a/Gemfile.lock b/Gemfile.lock index 23a5610..c316d44 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -11,6 +11,7 @@ GEM remote: https://rubygems.org/ specs: ast (2.4.2) + benchmark (0.5.0) byebug (11.1.3) coderay (1.1.3) diff-lcs (1.5.0) @@ -32,6 +33,7 @@ GEM multi_json (1.17.0) net-http (0.9.1) uri (>= 0.11.1) + ostruct (0.6.3) parallel (1.24.0) parser (3.3.0.4) ast (~> 2.4.1) @@ -82,9 +84,11 @@ PLATFORMS ruby DEPENDENCIES + benchmark bundler flagsmith! gem-release + ostruct pry pry-byebug rake diff --git a/flagsmith.gemspec b/flagsmith.gemspec index adbe62a..224ed9e 100644 --- a/flagsmith.gemspec +++ b/flagsmith.gemspec @@ -24,8 +24,10 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) } spec.require_paths = ['lib'] + spec.add_development_dependency 'benchmark' # Required by RuboCop; no longer a default gem in Ruby 4.0 spec.add_development_dependency 'bundler' spec.add_development_dependency 'gem-release' + spec.add_development_dependency 'ostruct' # Used in specs; no longer a default gem in Ruby 4.0 spec.add_development_dependency 'pry' spec.add_development_dependency 'pry-byebug' spec.add_development_dependency 'rake'