RubyGems 2.5.0 includes major enhancements, 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.
Added the Gem::Licenses class which provides a set of standard license identifiers as set by spdx.org. This is now used by the Gem::Specification#license attribute to try to standardize (though not enforce) licenses set by gem authors.
Pull request #1249 by Kyle Mitchell.
- Use Molinillo as the resolver library. This is the same resolver as used by Bundler. Pull request #1189 by Samuel E. Giddins.
--skip=gem_nameto Pristine command. Pull request #1018 by windwiny.
- The parsed gem dependencies file is now available via Gem.gemdeps following Gem.use_gemdeps. Pull request #1224 by Hsing-Hui Hsu, issue #1213 by Michal Papis.
- Moved description attribute to recommended for Gem::Specification. Pull request #1046 by Michal Papis
Gem::Specification. Pull request #1145 by Arthur Nogueira Neves
- Cache Gem::Version segments for
#release. Pull request #1131 by Matijs van Zuijlen
- Fix edge case in
levenshtein_distancefor comparing longer strings. Pull request #1173 by Richard Schneeman
- Remove duplication from List#to_a, improving from O(n^2) to O(n) time. Pull request #1200 by Marc Siegel.
- Gem::Specification.add_specs is deprecated and will be removed from version 3.0 with no replacement. To add specs, install the gem, then reset the cache.
- Gem::Specification.add_spec is deprecated and will be removed from version 3.0 with no replacement. To add specs, install the gem, then reset the cache.
- Gem::Specification.remove_spec is deprecated and will be removed from version 3.0 with no replacement. To remove specs, uninstall the gem, then reset the cache by calling Gem::Specification.reset.
- Call Array#compact before calling Array#uniq for minor speed improvement in the Gem::Specification#files method. Pull request #1253 by Marat Amerov.
- Use stringio instead of custom String classes. Pull request #1250 by Petr Skocik.
- Use URI#host instead of URI#hostname to retain backwards compatibility with Ruby 1.9.2 and earlier in util library. Pull request #1288 by Joe Rafaniello.
- Documentation update for gem sources. Pull request #1324 by Ilya Vassilevsky.
- Documentation update for required_ruby_version. Pull request #1321 by Matt Patterson.
- Documentation update for gem update. Pull request #1306 by Tim Blair.
- Emit a warning on SRV resolve failure. Pull request #1023 by Ivan Kuchin.
- Allow duplicate dependencies between runtime and development. Pull request #1032 by Murray Steele.
- The gem env command now shows the user installation directory. Pull request #1343 by Luis Sagastume.
- The Gem::Platform#=== method now treats a nil cpu arch the same as ‘universal’. Pull request #1356 by Daniel Berger.
- Improved memory performance in Gem::Specification.traverse. Pull request #1188 by Aaron Patterson.
- RubyGems packages now support symlinks. Pull request #1209 by Samuel E. Giddins.
- RubyGems no longer outputs mkmf.log if it does not exist. Pull request #1222 by Andrew Hooker.
- Added Bitrig platform. Pull request #1233 by John C. Vernaleo.
- Improved error message for first-time RubyGems developers. Pull request #1241 by André Arko
- Improved performance of Gem::Specification#load with cached specs. Pull request #1297 by Samuel E. Giddins.
- Gem::RemoteFetcher allows users to set HTTP headers. Pull request #1363 by Agis Anastasopoulos.
- Fixed Rake homepage url in example for Gem::Specification#homepage. Pull request #1171 by Arthur Nogueira Neves
- Don’t crash if partially uninstalled gem can’t be found. Pull request #1283 by Cezary Baginski.
- Test warning cleanup. Pull request #1298 by Samuel E. Giddins.
- Documentation fix for GemDependencyAPI. Pull request #1308 by Michael Papis.
- Fetcher now ignores ENOLCK errors in single threaded environments. This handles an issue with gem installation on NFS as best we can. Addresses issue #1176 by Ryan Moore. Pull request #1327 by Daniel Berger.
- Fix some path quoting issues in the test suite. Pull request #1328 by Gavin Miller.
- Fix NoMethodError in running ruby processes when gems are uninstalled. Pull request #1332 by Peter Drake.
- Fixed a potential NoMethodError for gem cleanup. Pull request #1333 by Peter Drake.
- Fixed gem help bug. Issue #1352 reported by bogem, pull request #1357 by Luis Sagastume.
- Remove temporary directories after tests finish. Pull request #1181 by Nobuyoshi Nokada.
- Update links in RubyGems documentation. Pull request #1185 by Darío Hereñú.
- Prerelease gem executables can now be run. Pull request #1186 by Samuel E. Giddins.
- Updated RubyGems travis-ci ruby versions. Pull request #1187 by Samuel E. Giddins.
- Fixed release date of RubyGems 2.4.6. Pull request #1190 by Frieder Bluemle.
- Fixed bugs in gem activation. Pull request #1202 by Miklós Fazekas.
- Fixed documentation for
gem list. Pull request #1228 by Godfrey Chan.
- Fixed #1200 history entry. Pull request #1234 by Marc Siegel.
- Fixed synchronization issue when resetting the Gem::Specification gem list. Pull request #1239 by Samuel E. Giddins.
- Fixed running tests in parallel. Pull request #1257 by SHIBATA Hiroshi.
- Fixed running tests with
--program-suffixfor ruby. Pull request #1258 by Shane Gibbs.
- Fixed Gem::Specification#to_yaml. Pull request #1262 by Hiroaki Izu.
- Fixed taintedness of Gem::Specification#raw_require_paths. Pull request #1268 by Sam Ruby.
- Fixed sorting of platforms when installing gems. Pull request #1271 by nonsequitur.
--no-documentover deprecated documentation options when installing dependencies on travis. Pull request #1272 by takiy33.
- Improved support for IPv6 addresses in URIs. Pull request #1275 by Joe Rafaniello.
- Spec validation no longer crashes if a file does not exist. Pull request #1278 by Samuel E. Giddins.
- Gems can now be installed within
rescue. Pull request #1282 by Samuel E. Giddins.
- Increased Diffie-Hellman key size for tests for modern OpenSSL. Pull request #1290 by Vít Ondruch.
- RubyGems handles invalid config files better. Pull request #1367 by Agis Anastasopoulos.