[Rubygems-developers] HEADSUP RubyGems 1.2 Real Soon Now

Eric Hodel drbrain at segment7.net
Tue Jun 3 19:36:39 EDT 2008

I believe RubyGems is currently feature-complete for the next  
release.  For the next while I'll be focusing on bugfixes and patches  
from the tracker.  I expect to release a new version in two weeks at  
minimum, possibly longer.

1.2 will longer perform bulk index updates.  RubyGems now fetches  
individual specs as needed, so updating to the latest version of a gem  
will not require downloading gemspecs for unrelated gems.

The new metadata updater required a new API, and RubyGems will fall  
into backwards compatibility mode for working with remote repositories  
that haven't updated to 1.2.  Upon detecting a legacy repository,  
RubyGems will switch to legacy mode and continue.  I haven't performed  
any tests of this code in the real world though, so I would like some  
assistance in that.

I will no longer maintain Gem::SourceInfoCache or  
Gem::SourceInfoCacheEntry, and will instead encourage repository  
maintainers to update to RubyGems 1.2.

There is some minor fallout from this change, `gem list -r -d` (list  
all gems with descriptions) is very slow currently since individual  
gemspecs must be fetched.  If this is a real problem, I can come up  
with a solution to address it.  Also, `gem dep -rR` (reverse  
dependencies for remote gems) is no longer supported.

1.2 now requires rubygems/defaults/operating_system.rb and rubygems/ 
defaults/#{RUBY_ENGINE}.rb if they exist to allow overrides to  
RubyGems defaults.  Minor additions to various RubyGems APIs may be  
made due to feedback from JRuby or Rubinius to enhance support of this  

1.2 now features dependency types for dependent gems thanks to John  
Barnette.  Current types are :runtime and :development, but I believe  
I will add :install (for passenger).

More information about the Rubygems-developers mailing list