RubyGems Navigation menu


Back to blog posts

2.4.0 Released

RubyGems 2.4.0 includes minor enhancements and bug fixes.

To update to the latest RubyGems you can run:

gem update --system

If you need to upgrade or downgrade please follow the how to upgrade/downgrade RubyGems instructions. To install RubyGems by hand see the Download RubyGems page.

Minor enhancements:

  • The contents command now supports a –show-install-dir option that shows only the directory the gem is installed in. Feature request #966 by Akinori MUSHA.
  • Added a –build-root option to the install command for packagers. Pull request #965 by Marcus Rückert.
  • Added vendor gem support to RubyGems. Package managers may now install gems in Gem.vendor_dir with the –vendor option to gem install. Issue #943 by Marcus Rückert.

Bug fixes:

  • Kernel#gem now respects the prerelease flag when activating gems. Previously this behavior was undefined which could lead to bugs when a prerelease version was unintentionally activated. Bug #938 by Joe Ferris.
  • RubyGems now prefers gems from git over installed gems. This allows gems from git to override an installed gem with the same name and version. Bug #944 by Thomas Kriechbaumer.
  • Fixed handling of git gems in a lockfile with unversioned dependencies. Bug #940 by Michael Kaiser-Nyman.
  • The ruby directive in a gem dependencies file is ignored when installing. Bug #941 by Michael Kaiser-Nyman.
  • Added open to list of builtin commands (gem open now works). Reported by Espen Antonsen.
  • gem open now works with command-line editors. Pull request #962 by Tim Pope.
  • gem install -g now respects --conservative. Pull request #950 by Jeremy Evans.
  • RubyGems releases announcements now now include checksums. Bug #939 by Alexander E. Fischer.
  • RubyGems now expands ~ in $PATH when checking if installed executables will be runnable. Pull request #945 by Alex Talker.
  • Fixed gem install -g --explain. Issue #947 by Luis Lavena. Patch by Hsing-Hui Hsu.
  • RubyGems locks less during gem activation. Pull request #951 by Aaron Patterson and Justin Searls, #969 by Jeremy Tryba.
  • Kernel#gem is now thread-safe. Pull request #967 by Aaron Patterson.
  • RubyGems now handles spaces in directory names for some parts of extension building. Pull request #949 by Tristan Hill.
  • RubyGems no longer defines an empty Date class. Pull Request #948 by Benoit Daloze.
  • RubyGems respects –document options for gem update again. Bug 946 by jonforums. Patch by Hsing-Hui Hsu.
  • RubyGems generates documentation again with –ignore-dependencies. Bug #961 by Pulfer.
  • RubyGems can install extensions across partitions now. Pull request #970 by Michael Scherer.
  • -s is now short for --source which resolves an ambiguity with –no-suggestions. Pull request #955 by Alexander Kahn.
  • Added extra test for ~> for 0.0.X versions. Pull request #958 by Mark Lorenz.
  • Fixed typo in gem updated help. Pull request #952 by Per Modin.
  • Clarified that the gem description should not be excessively long. Part of bug #956 by Renier Morales.
  • Hid documentation of outdated test_files related methods in Specification. Guides issue #90 by Emil Soman.
  • RubyGems now falls back to the old index if the API fails during gem resolution.

SHA256 Checksums:

  • rubygems-2.4.0.tgz
  • rubygems-update-2.4.0.gem
Eric Hodel