Skip to content

Drop Ruby 3.2 support; the floor is now 3.3 - #216

Merged
simonx1 merged 1 commit into
mainfrom
chore/drop-ruby-3-2
Aug 21, 2026
Merged

Drop Ruby 3.2 support; the floor is now 3.3#216
simonx1 merged 1 commit into
mainfrom
chore/drop-ruby-3-2

Conversation

@simonx1

@simonx1 simonx1 commented Aug 21, 2026

Copy link
Copy Markdown
Owner

Supersedes #214, which kept the 3.2 job alive by gating the OpenAI SDK dev dependency behind a Ruby-version check and disabling gem caching on that one job.

Problem

bundle install fails on the Ruby 3.2 matrix job whenever Bundler has to resolve for real (i.e. whenever setup-ruby's cache misses, as it does on any PR that touches a rubygems-sourced gem — #213 is the current example):

openai-0.77.0 requires ruby version >= 3.3.0, which is incompatible with the current version, 3.2.11

#207 and #212 moved the git-sourced openai dev dependency to revisions where upstream raised its required_ruby_version to >= 3.3.0, while the gemspec here still declared >= 3.2.0 and CI still tested that floor.

Fix

Drop 3.2 instead of working around it. Ruby 3.2 has been EOL since 2026-03-31, .rubocop.yml already sets TargetRubyVersion: 3.3.5, and a Gemfile/CI workaround for one dependency would have had to be maintained indefinitely.

  • ruby-mcp-client.gemspec: required_ruby_version is now >= 3.3.0.
  • .github/workflows/ci.yml: the two-entry matrix becomes a single Test (Ruby 3.3, floor) job, mirroring the shape of the 4.0.6 job. Gem caching stays on for both.
  • README.md: the Requirements section states the new floor.

No library code changes. No Gemfile.lock changes.

Breaking change

This is a breaking change for anyone installing the gem on Ruby 3.2 — RubyGems will refuse the next released version there. CHANGELOG.md is written at release time in this repo, so the next release's Breaking Changes section should carry an entry for this.

Verification

  • Ruby 4.0.6: bundle install leaves Gemfile.lock byte-identical; RuboCop clean; 1701 examples, 0 failures.
  • Ruby 3.3.5 (new floor), uncached resolve in a fresh worktree: Gemfile.lock byte-identical after bundle install, so the CI job's cached lockfile replay and a real resolve agree; RuboCop clean; 1701 examples, 0 failures.
  • No branch protection or rulesets reference the old test (3.2) / test (3.3) check names, so the rename is safe.

Once merged, @dependabot rebase on #213 should turn it green.

🤖 Generated with Claude Code

Ruby 3.2 reached end of life on 2026-03-31, and the git-sourced openai
dev dependency (#207, #212) now requires >= 3.3.0, so bundle install on
the 3.2 CI job fails whenever setup-ruby's cache misses and Bundler has
to resolve for real. Rather than special-casing that one dependency and
that one job, raise required_ruby_version to >= 3.3.0 and test only the
supported floor. .rubocop.yml already targeted 3.3.5.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

@simonx1
simonx1 merged commit 6696eb1 into main Aug 21, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant