Menu

What's New in RubyGems/Bundler 4.1, Part 3: Unifying RubyGems and Bundler, and What gem install No Longer Does
📰

What's New in RubyGems/Bundler 4.1, Part 3: Unifying RubyGems and Bundler, and What gem install No Longer Does

DEV Community: ruby·SHIBATA Hiroshi·2 days ago
#OumEWrgE
#devtoruby#devto#dev#request#spec
Reading 0:00
15s threshold

I'm Hiroshi Shibata (hsbt), a Ruby committer and the lead maintainer of RubyGems and Bundler.

TL;DR

This is the last part of a three-part series on what's new in RubyGems and Bundler 4.1. Part 1 covered override and prune , and Part 2 covered defenses against supply chain attacks. This part is about bringing RubyGems and Bundler together. Most of that work is invisible to users, so I'll start from the visible side, which is what gem install stopped doing in 4.1. It no longer fetches a gemspec per installed gem, it caches the compact index and asks with ETags, and its resolver is now PubGrub, the same as Bundler's. Behind that, the two codebases now share one layout, one HTTP stack, and one copy of most vendored libraries. Commands that read the whole index, such as gem search -r , got slower, and that's still open.

The numbers below were measured on October 9, 2026, on macOS (arm64) with Ruby 4.0.7 and YJIT off.…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.