Blog
22 Dec 2020
3.2.3 Released
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
required_ruby_version
or required_rubygems_version
requirements,
respectively. Instead, it will try to install the newest version that supports
those.
As a result, running gem install rails
on ruby 2.4 now installs rails 5.2.4.4,
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,
that meant 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
right thing.
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.
Enhancements:
- Fix misspellings in default API key name. Pull request #4177 by hsbt
Bug fixes:
- Respect
required_ruby_version
andrequired_rubygems_version
constraints when looking forgem install
candidates. Pull request #4110 by deivid-rodriguez
=== 3.2.2 / 2020-12-17
Bug fixes:
- 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
- Fix
gem update --system
displaying too many changelog entries. Pull request #4145 by deivid-rodriguez
=== 3.2.1 / 2020-12-14
Enhancements:
- Added help message for gem i webrick in gem server command. Pull request #4117 by hsbt
Bug fixes:
- 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
Enhancements:
- 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 query
deprecation. Pull request #4021 by landongrindheim - Lazily load
time
,cgi
, andzlib
. Pull request #4010 by deivid-rodriguez - Don’t hit the network when installing dependencyless local gemspec. Pull request #3968 by deivid-rodriguez
- Add
--force
option togem sources
command. 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
Bug fixes:
- 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
fileutils
require in rubygems installer. Pull request #4036 by deivid-rodriguez - Fix
--platform
option togem specification
being ignored. Pull request #4043 by deivid-rodriguez - Expose
--no-minimal-deps
flag 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 - Fix
--build-root
flag under Windows. Pull request #3975 by deivid-rodriguez - Fix
typo_squatting?
false positive forrubygems.org
itself. Pull request #3951 by andy-smith-msm - Make
--default
and--install-dir
options togem install
play nice together. Pull request #3906 by deivid-rodriguez
Deprecations:
- Deprecate server command. Pull request #3868 by bronzdoc
Performance:
- Don’t change ruby process CWD when building extensions. Pull request #3498 by deivid-rodriguez
=== 3.2.0.rc.2 / 2020-10-08
Enhancements:
- 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
- Added
--platform
option tobuild
command. Pull request #3079 by nobu - Have “gem update –system” pass through the
--silent
flag. 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
Bug fixes:
- 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 --user
fails withGem::FilePermissionError
on the system plugins directory. Pull request #3804 by nobu
Performance:
- 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
Enhancements:
- 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.
- Enable
Layout/ExtraSpacing
cop. 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
psych
activation. Pull request #3636 by David Rodríguez. - Delay
fileutils
loading 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
tmp
folder exists before callingDir.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.
- Add
funding_uri
metadata 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.
Bug fixes:
- 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.
- Fix
ruby setup.rb
for new plugins layout. Pull request #3144 by David Rodríguez.
Deprecations:
- Set deprecation warning on query command. Pull request #2967 by Luis Sagastume.
Breaking changes:
- Remove ruby 1.8 leftovers. Pull request #3442 by David Rodríguez.
- Minitest cleanup. Pull request #3445 by David Rodríguez.
- Remove
builder
gem requirement forgem 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.
SHA256 Checksums:
- rubygems-3.2.3.tgz
a15dd7cd471a5fee2b6a36cf855ac2952a64d46629cd628b1a52c57bcebf52df - rubygems-3.2.3.zip
2dee92f7f36a53079175ea77c2b43fa0dac2694ed9fff20dd275feca2956fdf3 - rubygems-update-3.2.3.gem
c6061457220fc4d90d8ce3e11f1185a217c16ee13370d5958c2b13b18bb632e8