Blog
Back to blog posts
03 Nov 2015
2.5.0 Released
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.
Major enhancements:
-
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.
Minor enhancements:
- Use Molinillo as the resolver library. This is the same resolver as used by Bundler. Pull request #1189 by Samuel E. Giddins.
- Add
--skip=gem_name
to 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
- Moved
Gem::Indexer#abbreviate
and#sanitize
toGem::Specification
. Pull request #1145 by Arthur Nogueira Neves - Cache Gem::Version segments for
#bump
and#release
. Pull request #1131 by Matijs van Zuijlen - Fix edge case in
levenshtein_distance
for 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.
Bug fixes:
- 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-prefix
or--program-suffix
for 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.
- Use
--no-document
over 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.
SHA256 Checksums:
- rubygems-2.5.0.tgz
a39e95acb86f52fdca38b1484b2eed61a7f76551119079d7a9f8c67c5be78831 - rubygems-2.5.0.zip
e5256076a4cabacc32c4369bd665dd0af8167d8895500426970f39bc74b6c228 - rubygems-update-2.5.0.gem
bb63b29e0b1604b48784a6c0646e9d727135c829c8466406ab8dd2f253f5c091