Skip to content

Upgrade Ruby 3.2.11 -> 3.3.11#72

Merged
JuanVqz merged 1 commit into
mainfrom
feature/ruby-3.3
Jul 7, 2026
Merged

Upgrade Ruby 3.2.11 -> 3.3.11#72
JuanVqz merged 1 commit into
mainfrom
feature/ruby-3.3

Conversation

@JuanVqz

@JuanVqz JuanVqz commented Jul 7, 2026

Copy link
Copy Markdown
Member

What

Single-minor Ruby hop: 3.2.11 → 3.3.11. Rails stays at 8.0.5 on both boots. Done following the FastRuby.io one-hop-at-a-time methodology (latest patch first, deprecation sweep, floor audit, boot smoke, suite as the gate).

Version pins

Updated everywhere the Ruby version is declared:

  • Gemfile ruby directive, .tool-versions, Dockerfile base image (ruby:3.3.11), .ruby-version.sample, and the CI ruby/setup-ruby version.
  • .ruby-version: was a stale 2.7.2@audit (an old rbenv-gemset value — the 7.1 → 7.2 hop updated .ruby-version.sample but missed the tracked .ruby-version). Brought in line with the rest at 3.3.11.

Lockfiles

Gemfile.lock and Gemfile.next.lock relocked on 3.3.11 (RUBY VERSION3.3.11p205).

  • PLATFORMS stays ruby only (FORCE_RUBY_PLATFORM), so no host-specific platform pollution.
  • BUNDLED WITH moved 2.2.212.5.22 as a side effect of relocking with the bundler shipped in Ruby 3.3.11. This also clears the DidYouMean::SPELL_CHECKERS is deprecated warning the pre-bump sweep surfaced (it came from the old bundler's vendored thor, not app code).

Verification (host, asdf ruby 3.3.11, Postgres 16.13)

  • Deprecation sweep on 3.2.11 (RUBYOPT="-W:deprecated"): app-code bucket clean; the only warning was the old bundler's, resolved by the relock.
  • Ruby-floor audit: bundle lock resolved with no gem required_ruby_version conflicts.
  • Boot smoke: dev and production both boot clean, zero deprecation warnings.
  • Suite: green — 16 runs, 52 assertions, 0 failures, 0 errors.

Next

Optional follow-up: Ruby 3.3 → 3.4 (Prism becomes the default parser at 3.4). Independent of the next Rails hop (8.0 → 8.1), which only needs Ruby 3.2+.

Single-minor Ruby hop (already on the latest 3.2 patch, so no pre-step
patch bump needed). Rails stays at 8.0.5 on both boots.

Pins updated everywhere the version is declared:
- Gemfile `ruby` directive, .tool-versions, Dockerfile base image,
  .ruby-version.sample, and the CI `ruby/setup-ruby` version.
- .ruby-version: was a stale `2.7.2@audit` (an old rbenv-gemset value
  the 7.1->7.2 hop updated in .sample but missed in the tracked file);
  brought in line with the rest at 3.3.11.

Gemfile.lock and Gemfile.next.lock relocked on 3.3.11 (RUBY VERSION ->
3.3.11p205). PLATFORMS stays `ruby` only (FORCE_RUBY_PLATFORM), so no
host-specific platform pollution. BUNDLED WITH moved 2.2.21 -> 2.5.22 as
a side effect of relocking with the bundler shipped in Ruby 3.3.11 --
which also clears the `DidYouMean::SPELL_CHECKERS is deprecated` warning
the pre-bump deprecation sweep surfaced from the old bundler.

Verified on the host (asdf ruby 3.3.11):
- Pre-bump deprecation sweep on 3.2.11: app-code bucket clean (only
  warning was old bundler's, resolved by the relock above).
- Gemfile ruby-floor audit: `bundle lock` resolved with no gem
  required_ruby_version conflicts.
- Dev and production boot clean (zero deprecation warnings).
- Suite green: 16 runs, 52 assertions, 0 failures, 0 errors.
@JuanVqz JuanVqz merged commit 6d6a1ee into main Jul 7, 2026
2 checks passed
@JuanVqz JuanVqz deleted the feature/ruby-3.3 branch July 7, 2026 20:51
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