RubyGems.org

The Update

What's new on your community gem host

February 2010 Changelog published 05 Mar 2010 by Nick Quaranto

Welcome to the second monthly changelog post! February was a big month for Gemcutter: a main goal of the project was realized with the release of RubyGems 1.3.6 along with plenty of other work. Another big change is that gem yank has been implemented finally with gemcutter 0.5.0, and John Trupiano made a great screencast to show off how it works:

Stats

Gem Downloads: 4,396,743 (up 299,027)
Gems Pushed: 4,308
S3 Bandwidth Served: 567.103 GB
CloudFront US Node Served: 634.189 GB
CloudFront Europe Node Served: 327.385 GB
CloudFront Japan Node Served: 64.744 GB
CloudFront Hong Kong Node Served: 47.008 GB
Commits: 40

Features

gem yank: Plenty of work was done based on discussion on the Gemcutter mailing list on finally being able to remove gems from the site’s index. The motivation behind why it works this way is best explained by On Retagging from the git tag manpage. Here’s a small summary of the changes:

  • If you’ve botched a gem release, you can use gem yank [gemname] to remove it from the index. Fix the problem, bump by a patch version, and push the newly built gem. You’re not going to run out of version numbers any time soon!
  • The gem is still available for download, and the gem is not deleted from S3. This prevents a _why type situation where important community gems could suddenly disappear, and allows other gem authors to be able to use it if necessary.
  • If you need a gem perma-deleted, open a support request at help.rubygems.org and we’ll take care of it.
  • Yanked a gem you didn’t mean to? Run gem yank --undo to put the gem back into the index.

RubyGems Integration: RubyGems.org is now the default gem host in RubyGems, gem push and gem owner have been merged into RubyGems proper. Plenty of copy and documentation changes were done too.

Fixes

Atomic Versions: Re-pushing of gems is now disabled since gem yank is implemented.

Staging Server: We finally have a staging server to test out major changes. We upgraded the site to the latest Passenger and REE too on production!

Load Path Fixes: Some cleanup of the LOAD_PATH has been performed for the latest gemcutter gem.

Gemcutter Gem Refactoring: As of RubyGems 1.3.6, utilities have been added to help use the Gemcutter API, so gem webhook and gem yank now take advantage of this.

Destroy Subscriptions on RubyGem Destroy: This was causing some problems on user dashboards.

Force Redirects for Other Domains: Visiting pages on the web frontend at gemcutter.org or gems.rubyforge.org redirect you to rubygems.org.

Updating Legacy Indexes: A new RubyGems release means that the old legacy indexes had to be updated for old RG clients to be able to auto-update.

Comments »