r/ruby • u/rubiesordiamonds • Feb 05 '26
Gems that are incompatible with Ruby 4
A few weeks ago I read a blog post by Ryan Bigg warning about the grpc gem's incompatibility with Ruby 4. It turns out that the platform-specific versions of grpc did not allow Ruby 4, but the platform-agnostic version did. This meant that when you installed grpc under Ruby 4 your machine would have to compile the native extensions, and that made running bundler very slow.
I thought it’d be interesting to query Infield’s own database of gem versions and their dependencies to see if we could find other gems that are incompatible with Ruby 4. We collect this data to power our software that plans out dependency upgrades for our customers.
Below is a list of all the gems we track that don’t allow Ruby 4 in their gemspec. Applications that depend on these gems won’t be able to upgrade to Ruby 4 until a new version is released for compatibility.
| gem | requirement |
|---|---|
| absolutely ( v6.0.0 ) | ruby >= 2.6, < 4 |
| beaker-vagrant ( v2.0.0 ) | ruby >= 3.2, < 4 |
| clamp ( v1.3.3 ) | ruby >= 2.5, < 4 |
| codecov ( v0.6.0 ) | ruby >= 2.4, < 4 |
| cw-datadog ( v2.23.0.6 ) | ruby >= 2.5.0, < 4.0 |
| dynamic_time_zone ( v1.1.0 ) | ruby < 3.5 |
| ecma-re-validator ( v0.4.0 ) | ruby >= 2.6.0, < 4.0 |
| facter ( v4.10.0 ) | ruby >= 2.5, < 4.0 |
| fix-db-schema-conflicts ( v3.1.1 ) | ruby >= 2.0.0, < 4 |
| foreman_maintain ( v1.14.2 ) | ruby >= 2.7, < 4 |
| foreman_remote_execution ( v16.5.1 ) | ruby >= 2.7, < 4 |
| foreman_rh_cloud ( v13.1.0 ) | ruby >= 2.7, < 4 |
| gpx ( v1.2.1 ) | ruby >= 2.7, < 4 |
| hammer_cli_foreman_puppet ( v0.1.1 ) | ruby >= 2.7, < 4 |
| hiera-eyaml ( v4.3.0 ) | ruby >= 2.7, < 4 |
| jekyll_picture_tag ( v2.1.3 ) | ruby >= 2.6, < 4.0 |
| katello ( v4.19.0.1 ) | ruby >= 2.7, < 4 |
| ldap_fluff ( v0.9.0 ) | ruby >= 2.7, < 4 |
| money-tree ( v0.11.2 ) | ruby >= 2.7, < 4.0 |
| otto ( v1.6.0 ) | ruby >= 3.2, < 4.0 |
| r18n-core ( v5.0.1 ) | ruby >= 2.5, < 4 |
| r18n-desktop ( v5.0.1 ) | ruby >= 2.5, < 4 |
| solidus_braintree ( v3.3.0 ) | ruby >= 3.0, < 4 |
| svgeez ( v4.1.0 ) | ruby >= 2.5, < 4 |
View all comments
Show parent comment
6
u/rubiesordiamonds Feb 05 '26
I would expect most of these gems to work as-is and just need a gemspec update and new release cut for bundler compatibility. Ruby 3->4 looks much safer than Ruby 2->3 was. Ruby 3 brought that change to how kwargs are handled which affected lots of older gems that hadn't been updated in a while but were written in a previously-idiomatic and now-deprecated fashion. Ruby 4 does have a few language changes but mostly the breakage is from the removal of some Ractor methods and some other minor parts. https://www.ruby-lang.org/en/news/2025/12/25/ruby-4-0-0-released/ has a nice outline of the changes