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_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
 - Moved 
Gem::Indexer#abbreviateand#sanitizetoGem::Specification. Pull request #1145 by Arthur Nogueira Neves - Cache Gem::Version segments for 
#bumpand#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.
 
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-prefixor--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.
 - Use 
--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.
 
SHA256 Checksums:
- rubygems-2.5.0.tgz
a39e95acb86f52fdca38b1484b2eed61a7f76551119079d7a9f8c67c5be78831 - rubygems-2.5.0.zip
e5256076a4cabacc32c4369bd665dd0af8167d8895500426970f39bc74b6c228 - rubygems-update-2.5.0.gem
bb63b29e0b1604b48784a6c0646e9d727135c829c8466406ab8dd2f253f5c091