RubyGems Navigation menu


Back to blog posts

1.2.0 Released

New features:

  • RubyGems no longer performs bulk updates and instead only fetches the gemspec files it needs. Alternate sources will need to upgrade to RubyGems 1.2 to allow RubyGems to take advantage of the new metadata updater. If a pre 1.2 remote source is in the sources list, RubyGems will revert to the bulk update code for compatibility.
  • RubyGems now has runtime and development dependency types. Use #add_development_dependency and #add_runtime_dependency. All typeless dependencies are considered to be runtime dependencies.
  • RubyGems will now require rubygems/defaults/operating_system.rb and rubygems/defaults/#{RBX_ENGINE}.rb if they exist. This allows packagers and ruby implementers to add custom behavior to RubyGems via these files. (If the RubyGems API is insufficient, please suggest improvements via the RubyGems list.)
  • /etc/gemrc (and windows equivalent) for global settings
  • setup.rb now handles –vendor and –destdir for packagers
  • gem stale command that lists gems by last access time

Bugs Fixed:

  • File modes from gems are now honored, patch #19737
  • Marshal Gem::Specification objects from the future can now be loaded.
  • A trailing / is now added to remote sources when missing, bug #20134
  • Gems with legacy platforms will now be correctly uninstalled, patch #19877
  • gem install --no-wrappers followed by gem install --wrappers no longer overwrites executables
  • gem pristine now forces reinstallation of gems, bug #20387
  • RubyGems gracefully handles ^C while loading .gemspec files from disk, bug #20523
  • Paths are expanded in more places, bug #19317, bug #19896
  • Gem::DependencyInstaller resets installed gems every install, bug #19444
  • Gem.default_path is now honored if GEM_PATH is not set, patch #19502

Other Changes Include:

  • setup.rb
    • stub files created by RubyGems 0.7.x and older are no longer removed. When upgrading from these ancient versions, upgrade to 1.1.x first to clean up stubs.
    • RDoc is no longer required until necessary, patch #20414
  • gem server
    • Now completely matches the output of gem generate_index and has correct content types
    • Refreshes from source directories for every hit. The server will no longer need to be restarted after installing gems.
  • gem query --details and friends now display author, homepage, rubyforge url and installed location
  • gem install without -i no longer reinstalls dependencies if they are in GEM_PATH but not in GEM_HOME
  • Gem::RemoteFetcher now performs persistent connections for HEAD requests, bug #7973
fred, the rubygems robot