22 Dec 2020
RubyGems 3.2.3 fixes a long standing bug in the gem client.
gem install now doesn’t try to forcefully install the latest version of the
target gem if the current ruby or rubygems version doesn’t meet its
respectively. Instead, it will try to install the newest version that supports
As a result, running
gem install rails on ruby 2.4 now installs rails 188.8.131.52,
the latest rails that supports ruby 2.4, instead of raising an error.
You may have needed to update your workflows running old rubies with something like the following to workaround this issue:
gem install bundler -v '~> 1.17'
Indeed, when we dropped support for old rubies in bundler and released bundler 2,
gem install bundler suddenly started failing for people still
running those rubies.
If you update rubygems in those workflows using
gem update --system
You can go back to the previous
gem install bundler and rubygems will do the
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.
- Fix misspellings in default API key name. Pull request #4177 by hsbt
required_rubygems_versionconstraints when looking for
gem installcandidates. Pull request #4110 by deivid-rodriguez
=== 3.2.2 / 2020-12-17
- Fix issue where CLI commands making more than one request to rubygems.org needing an OTP code would crash or ask for the code twice. Pull request #4162 by sonalkr132
- Fix building rake extensions that require openssl. Pull request #4165 by deivid-rodriguez
gem update --systemdisplaying too many changelog entries. Pull request #4145 by deivid-rodriguez
=== 3.2.1 / 2020-12-14
- Added help message for gem i webrick in gem server command. Pull request #4117 by hsbt
- Added the missing loading of fileutils same as load_specs. Pull request #4124 by hsbt
- Fix Resolver::APISet to always include prereleases when necessary. Pull request #4113 by deivid-rodriguez
=== 3.2.0 / 2020-12-07
- Do not override Kernel#warn when there is no need. Pull request #4075 by eregon
- Update endpoint of gem signin command. Pull request #3840 by sonalkr132
- Omit deprecated commands from command help output. Pull request #4023 by landongrindheim
- Suggest alternatives in
gem querydeprecation. Pull request #4021 by landongrindheim
- Lazily load
zlib. Pull request #4010 by deivid-rodriguez
- Don’t hit the network when installing dependencyless local gemspec. Pull request #3968 by deivid-rodriguez
gem sourcescommand. Pull request #3956 by andy-smith-msm
- Lazily load
openssl. Pull request #3850 by deivid-rodriguez
- Pass more information when comparing platforms. Pull request #3817 by eregon
- Use better owner & group for files in rubygems package. Pull request #4065 by deivid-rodriguez
- Improve gem build -C flag. Pull request #3983 by bronzdoc
- Handle unexpected behavior with URI#merge and subpaths missing trailing slashes. Pull request #3123 by drcapulet
- Add missing
fileutilsrequire in rubygems installer. Pull request #4036 by deivid-rodriguez
gem specificationbeing ignored. Pull request #4043 by deivid-rodriguez
--no-minimal-depsflag to install the latest version of dependencies. Pull request #4030 by deivid-rodriguez
- Fix “stack level too deep” error when overriding
Warning.warn. Pull request #3987 by eregon
- Append ‘.gemspec’ extension only when it is not present. Pull request #3988 by voxik
- Install to correct plugins dir when using
--build-root. Pull request #3972 by deivid-rodriguez
--build-rootflag under Windows. Pull request #3975 by deivid-rodriguez
typo_squatting?false positive for
rubygems.orgitself. Pull request #3951 by andy-smith-msm
gem installplay nice together. Pull request #3906 by deivid-rodriguez
- Deprecate server command. Pull request #3868 by bronzdoc
- Don’t change ruby process CWD when building extensions. Pull request #3498 by deivid-rodriguez
=== 3.2.0.rc.2 / 2020-10-08
- Make –dry-run flag consistent across rubygems commands. Pull request #3867 by bronzdoc
- Disallow downgrades to too old versions. Pull request #3566 by deivid-rodriguez
buildcommand. Pull request #3079 by nobu
- Have “gem update –system” pass through the
--silentflag. Pull request #3789 by duckinator
- Add writable check for cache dir. Pull request #3876 by xndcn
- Warn on duplicate dependency in a specification. Pull request #3864 by bronzdoc
- Fix indentation in
gem env. Pull request #3861 by colby-swandale
- Let more exceptions flow. Pull request #3819 by deivid-rodriguez
- Ignore internal frames in RubyGems’ Kernel#warn. Pull request #3810 by eregon
- Add missing fileutils require. Pull request #3911 by deivid-rodriguez
- Fix false positive warning on Windows when PATH has
File::ALT_SEPARATOR. Pull request #3829 by deivid-rodriguez
- Fix Kernel#warn override to handle backtrace location with nil path. Pull request #3852 by jeremyevans
- Don’t format executables on
gem update --system. Pull request #3811 by deivid-rodriguez
gem install --userfails with
Gem::FilePermissionErroron the system plugins directory. Pull request #3804 by nobu
- Avoid duplicated generation of APISpecification objects. Pull request #3940 by mame
- Eval defaults with frozen_string_literal: true. Pull request #3847 by casperisfine
- Deduplicate the requirement operators in memory. Pull request #3846 by casperisfine
- Optimize Gem.already_loaded?. Pull request #3793 by casperisfine
=== 3.2.0.rc.1 / 2020-07-04
- Test TruffleRuby in CI. Pull request #2797 by Benoit Daloze.
- Rework plugins system and speed up rubygems. Pull request #3108 by David Rodríguez.
- Specify explicit separator not to be affected by $;. Pull request #3424 by Nobuyoshi Nakada.
Layout/ExtraSpacingcop. Pull request #3449 by David Rodríguez.
- Rollback gem deprecate. Pull request #3530 by Luis Sagastume.
- Normalize heredoc delimiters. Pull request #3533 by David Rodríguez.
- Log messages to stdout in
rake package. Pull request #3632 by David Rodríguez.
- Remove explicit
psychactivation. Pull request #3636 by David Rodríguez.
fileutilsloading to fix some warnings. Pull request #3637 by David Rodríguez.
- Make sure rubygems/package can be directly required reliably. Pull request #3670 by Luis Sagastume.
- Make sure
tmpfolder exists before calling
Dir.tmpdir. Pull request #3711 by David Rodríguez.
- Add Gem.disable_system_update_message to disable gem update –system if needed. Pull request #3720 by Josef Šimánek.
- Tweaks to play nice with ruby-core setup. Pull request #3733 by David Rodríguez.
- Remove explicit require for auto-loaded constant. Pull request #3751 by Karol Bucek.
- Test files should not be included in spec.files. Pull request #3758 by Marc-André Lafortune.
- Remove TODO comment about warning on setting instead of pushing. Pull request #2823 by Luis Sagastume.
- Add deprecate command method. Pull request #2935 by Luis Sagastume.
- Simplify deprecate command method. Pull request #2974 by Luis Sagastume.
- Fix Gem::LOADED_SPECS_MUTEX handling for recursive locking. Pull request #2985 by MSP-Greg.
funding_urimetadata field to gemspec. Pull request #3060 by Colby Swandale.
- Updates to some old gem-signing docs. Pull request #3063 by Tieg Zaharia.
- Update the gem method for Gem::Installer. Pull request #3137 by Daniel Berger.
- Simplify initial gem help output. Pull request #3148 by Olivier Lacan.
- Resolve latest version via
gem contents. Pull request #3149 by Dan Rice.
- Install suggestions. Pull request #3151 by Sophia Castellarin.
- Only rescue the errors we actually want to rescue. Pull request #3156 by David Rodríguez.
- Accept not only /usr/bin/env but also /bin/env in some tests. Pull request #3422 by Yusuke Endoh.
- Skip a test that attempts to remove the current directory on Solaris. Pull request #3423 by Yusuke Endoh.
- Fix race condition on bundler’s parallel installer. Pull request #3440 by David Rodríguez.
- Fix platform comparison check in #contains_requirable_file?. Pull request #3495 by Benoit Daloze.
- Improve missing spec error. Pull request #3559 by Luis Sagastume.
- Fix hidden bundler template installation from rubygems updater. Pull request #3674 by David Rodríguez.
- Fix gem update –user-install. Pull request #2901 by Luis Sagastume.
- Correct conflict list when uninstallation is prevented. Pull request #2973 by David Rodríguez.
- Fix error when trying to find bundler with a deleted “working directo…. Pull request #3090 by Luis Sagastume.
- Fix -I require priority. Pull request #3124 by David Rodríguez.
ruby setup.rbfor new plugins layout. Pull request #3144 by David Rodríguez.
- Set deprecation warning on query command. Pull request #2967 by Luis Sagastume.
- Remove ruby 1.8 leftovers. Pull request #3442 by David Rodríguez.
- Minitest cleanup. Pull request #3445 by David Rodríguez.
buildergem requirement for
gem regenerate_index. Pull request #3552 by David Rodríguez.
- Remove modelines for consistency. Pull request #3714 by David Rodríguez.
- Stop using deprecated OpenSSL::Digest constants. Pull request #3763 by Bart de Water.
- Remove Gem module deprecated methods. Pull request #3101 by Luis Sagastume.
- Remove ubygems.rb. Pull request #3102 by Luis Sagastume.
- Remove Gem::Commands::QueryCommand. Pull request #3104 by Luis Sagastume.
- Remove dependency installer deprecated methods. Pull request #3106 by Luis Sagastume.
- Remove Gem::UserInteraction#debug method. Pull request #3107 by Luis Sagastume.
- Remove options from Gem::GemRunner.new. Pull request #3110 by Luis Sagastume.
- Remove deprecated Gem::RemoteFetcher#fetch_size. Pull request #3111 by Luis Sagastume.
- Remove source_exception from Gem::Exception. Pull request #3112 by Luis Sagastume.
- Requiring rubygems/source_specific_file is deprecated, remove it. Pull request #3114 by Luis Sagastume.