<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 
 <title>RubyGems Blog</title>
 <link href="http://blog.rubygems.org/atom.xml" rel="self"/>
 <link href="http://blog.rubygems.org/"/>
 <updated>2013-04-06T16:30:56-07:00</updated>
 <id>http://blog.rubygems.org/</id>
 <author>
   <name>Fred, the rubygems robot</name>
   <email>rubygems-developers@rubyforge.org</email>
 </author>
 
 
 <entry>
   <title>Post-Mortem of Today's Partial Outage</title>
   <link href="http://blog.rubygems.org/2013/04/06/postmortem.html"/>
   <updated>2013-04-06T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2013/04/06/postmortem</id>
   <content type="html">&lt;p&gt;Over a period of around 12 hours, from late last night (April 5th) eastern US time until approximately 10:45am this morning there was a partial outage of Rubygems.org. The root disk on the application server filled up completely because of some logs that didn&amp;#8217;t get rotated. This prevented new account signups, password resets, and gem pushes from taking place. I&amp;#8217;m sorry that this happened and will personally ensure steps are taken to alert the Rubygems.org operations team before outages of this nature happen again.&lt;/p&gt;

&lt;p&gt;Right now there isn&amp;#8217;t systems monitoring in place for the servers that run Rubygems.org, which makes debugging issues very difficult without accessing a remote machine and manually surfacing the problem. We were planning on deploying the Datadog agent onto the instances tonight even before this incident. In tandem with Pagerduty, Datadog will allow us to setup an on-call schedule for those contributors with access to the infrastructure. We&amp;#8217;ll also be taking a look at the logrotate configurations and tune them appropriately to prevent disks from filling up in the future.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m very sorry this happened and prevented gem maintainers from being able to effectively use the service.&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>New blog design</title>
   <link href="http://blog.rubygems.org/2013/03/18/new-blog-design.html"/>
   <updated>2013-03-18T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2013/03/18/new-blog-design</id>
   <content type="html">&lt;p&gt;We have a brand new blog design courtesy of &lt;a href='http://thoughtbot.com'&gt;thoughtbot&lt;/a&gt; and &lt;a href='http://github.com/ehmorris'&gt;Edwin Morris&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;Some neat facts about this design:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The code for the blog is all &lt;a href='http://github.com/rubygems/rubygems.github.com'&gt;open source&lt;/a&gt; and content is &lt;a href='http://creativecommons.org/licenses/by-sa/3.0/us/'&gt;Creative Commons&lt;/a&gt; licensed.&lt;/li&gt;

&lt;li&gt;It&amp;#8217;s now responsive, so it will look great on any device!&lt;/li&gt;

&lt;li&gt;It&amp;#8217;s a great example for using &lt;a href='http://bourbon.io/'&gt;Bourbon&lt;/a&gt;, a simple set of SCSS mixins&lt;/li&gt;

&lt;li&gt;All generated with &lt;a href='http://quaran.to/blog/2013/01/09/use-jekyll-scss-coffeescript-without-plugins/'&gt;no Jekyll plugins!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Huge thanks to thoughtbot for a continued commitment to making RubyGems awesome.&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>2.0.3 Released</title>
   <link href="http://blog.rubygems.org/2013/03/11/2.0.3-released.html"/>
   <updated>2013-03-11T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2013/03/11/2.0.3-released</id>
   <content type="html">&lt;p&gt;RubyGems 2.0.3 is a bug-fix release. To update to the latest RubyGems you can run:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;gem update --system&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;To install RubyGems by hand see the &lt;a href='http://rubygems.rubyforge.org/rubygems-update/UPGRADING_rdoc.html'&gt;Download RubyGems&lt;/a&gt; page.&lt;/p&gt;

&lt;p&gt;If you installed 2.0.1 and are unable to upgrade please follow the &lt;a href='http://rubygems.rubyforge.org/rubygems-update/UPGRADING_rdoc.html'&gt;how to upgrade/downgrade RubyGems&lt;/a&gt; instructions.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Bug fixes:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reverted automatic upgrade to HTTPS as it breaks RubyGems APIs. Fixes #506 by André Arko&lt;/li&gt;

&lt;li&gt;Use File.realpath to remove extra / while checking if files are installable. Issue #508 by Jacob Evans.&lt;/li&gt;

&lt;li&gt;When installing RubyGems on JRuby, the standard library is no longer deleted. Fixes #504 by Juan Sanchez, #507 by Charles Oliver Nutter.&lt;/li&gt;

&lt;li&gt;When building extconf.rb extensions use the intermediate destination directory. This addresses further issues with C extension building.&lt;/li&gt;

&lt;li&gt;Use the absolute path to the generated siteconf in case the extension changes directories to run extconf.rb (like memcached). Fixes #498 by Chris Morris.&lt;/li&gt;

&lt;li&gt;Fixed default gem key and cert locations. Pull request #511 by Samuel Cochran.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>2.0.2 Released</title>
   <link href="http://blog.rubygems.org/2013/03/06/2.0.2-released.html"/>
   <updated>2013-03-06T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2013/03/06/2.0.2-released</id>
   <content type="html">&lt;p&gt;RubyGems 2.0.2 is a bug-fix release. To update to the latest RubyGems you can run:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;gem update --system&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;To install RubyGems by hand see the &lt;a href='http://rubygems.rubyforge.org/rubygems-update/UPGRADING_rdoc.html'&gt;Download RubyGems&lt;/a&gt; page.&lt;/p&gt;

&lt;p&gt;If you installed 2.0.1 and are unable to upgrade please follow the &lt;a href='http://rubygems.rubyforge.org/rubygems-update/UPGRADING_rdoc.html'&gt;how to upgrade/downgrade RubyGems&lt;/a&gt; instructions.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Bug fixes:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SSL Certificates are now installed properly. Fixes #491 by hemanth.hm&lt;/li&gt;

&lt;li&gt;Fixed HTTP to HTTPS upgrade for rubygems.org.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>2.0.1 Released</title>
   <link href="http://blog.rubygems.org/2013/03/05/2.0.1-released.html"/>
   <updated>2013-03-05T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2013/03/05/2.0.1-released</id>
   <content type="html">&lt;p&gt;&lt;em&gt;NOTE:&lt;/em&gt; This release has been yanked due to a bug in HTTPS handling that may leave you unable to install gems or upgrade RubyGems. &lt;a href='http://blog.rubygems.org/2013/03/06/2.0.2-released.html'&gt;2.0.2&lt;/a&gt; has been released to address these issues.&lt;/p&gt;

&lt;p&gt;RubyGems 2.0.1 is a bug-fix release. To update to the latest RubyGems you can run:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;gem update --system&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;To install RubyGems by hand see the &lt;a href='http://rubygems.rubyforge.org/rubygems-update/UPGRADING_rdoc.html'&gt;Download RubyGems&lt;/a&gt; page. To downgrade RubyGems see &lt;a href='http://rubygems.rubyforge.org/rubygems-update/UPGRADING_rdoc.html'&gt;how to upgrade/downgrade RubyGems&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Bug fixes:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTTPS URLs are preferred over HTTP URLs. RubyGems will now attempt to upgrade any HTTP source to HTTPS. Credit to Alex Gaynor.&lt;/li&gt;

&lt;li&gt;Lazily load RubyGems.org API credentials to avoid failure during RubyGems installation. Bug #465 by Isaac Sanders.&lt;/li&gt;

&lt;li&gt;RubyGems now picks the latest prerelease to install. Fixes bug #468 by Santiago Pastorino.&lt;/li&gt;

&lt;li&gt;Improved detection of missing Zlib::GzipReader encoding support. Works around JRuby-only bug #472 by Matt Beedle.&lt;/li&gt;

&lt;li&gt;&amp;#8220;Done installing documentation&amp;#8221; is no longer displayed when documentation generation is disabled. Fixes bug #469 by Jeff Sandberg&lt;/li&gt;

&lt;li&gt;The existing executable check now respects &amp;#8211;format-executable. Pull request #471 by Jeremy Evans.&lt;/li&gt;

&lt;li&gt;RubyGems no longer creates gem subdirectories when fetching gems. Fixes #482 by Loren Segal.&lt;/li&gt;

&lt;li&gt;RubyGems does not require OpenSSL like RubyGems 1.8, but still prefers it. Fixes #481 by André Arko.&lt;/li&gt;

&lt;li&gt;RubyGems only fetches specs for list, search and query commands when needed like RubyGems 1.x. Fixes bug #487 by bitbuerster, Ruby bug #8019 by Ike Miller.&lt;/li&gt;

&lt;li&gt;Allow specification of mode for gem subdirectory creation. Ruby bug #7713 by nobu&lt;/li&gt;

&lt;li&gt;Fix tests when an &amp;#8216;a.rb&amp;#8217; exists. Ruby bug #7749 by nobu.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>2.0.0 Released</title>
   <link href="http://blog.rubygems.org/2013/02/24/2.0.0-released.html"/>
   <updated>2013-02-24T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2013/02/24/2.0.0-released</id>
   <content type="html">&lt;p&gt;RubyGems 2.0 includes several new features and many breaking changes. Some of these changes will cause existing software to break. These changes are a result of improvements to the internals of RubyGems that make it more maintainable and improve APIs for RubyGems users.&lt;/p&gt;

&lt;p&gt;If you are using bundler be sure to install a 1.3.0.prerelease version or newer. Older versions of bundler will not work with RubyGems 2.0.&lt;/p&gt;

&lt;p&gt;Changes since RubyGems 1.8.25 (including past pre-releases):&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Breaking changes:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deprecated Gem.unresolved_deps in favor of Gem::Specification.unresolved_deps&lt;/li&gt;

&lt;li&gt;Merged Gem::Builder into Gem::Package. Use Gem::Package.build(spec) instead of Gem::Builder.new(spec).build&lt;/li&gt;

&lt;li&gt;Merged Gem::Format into Gem::Package. Use Gem::Package.new instead of Gem::Format.from_file_by_path&lt;/li&gt;

&lt;li&gt;Moved Gem::OldFormat to Gem::Package::Old. Gem::Package will automatically detect old gems for you, so there is no need to refer to it.&lt;/li&gt;

&lt;li&gt;Removed Gem::DocManager, replaced by Gem::RDoc and done_installing hook&lt;/li&gt;

&lt;li&gt;Removed Gem::Package::TarInput in favor of Gem::Package&lt;/li&gt;

&lt;li&gt;Removed Gem::Package::TarOutput in favor of Gem::Package&lt;/li&gt;

&lt;li&gt;Removed Gem::RemoteFetcher#open_uri_or_path. (steveklabnik)&lt;/li&gt;

&lt;li&gt;Removed Gem::SSL in favor of using OpenSSL directly&lt;/li&gt;

&lt;li&gt;Removed Gem.loaded_path&lt;/li&gt;

&lt;li&gt;Removed RSS generation from the gem indexer&lt;/li&gt;

&lt;li&gt;Removed benchmark option from .gemrc&lt;/li&gt;

&lt;li&gt;Removed broken YAML gemspec support in &lt;code&gt;gem build&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;Removed support for Ruby 1.9.1&lt;/li&gt;

&lt;li&gt;Removed many deprecated methods&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Major enhancements:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improved support for default gems shipping with ruby 2.0.0+&lt;/li&gt;

&lt;li&gt;A gem can have arbitrary metadata through Gem::Specification#metadata&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem search&lt;/code&gt; now defaults to &amp;#8211;remote and is anchored like gem list. Fixes #166&lt;/li&gt;

&lt;li&gt;Added &amp;#8211;document to replace &amp;#8211;rdoc and &amp;#8211;ri. Use &amp;#8211;no-document to disable documentation, &amp;#8211;document=rdoc to only generate rdoc.&lt;/li&gt;

&lt;li&gt;Only ri-format documentation is generated by default.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem server&lt;/code&gt; uses RDoc::Servlet from RDoc 4.0 to generate HTML documentation.&lt;/li&gt;

&lt;li&gt;Add ability to install gems directly from a compatible gemdep file (Gemfile, Isolate, gem.deps.rb) &lt;code&gt;gem install --file path&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;Add ability to load gem activation information from a gemdeps file (Gemfile, Isolate, gem.deps.rb). Set RUBYGEMS_GEMDEPS=path to have it loaded. Use - as the path to autodetect (current and parent directories are searched).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Minor enhancements:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;gem check --doctor&lt;/code&gt; to clean up after failed uninstallation. Bug #419 by Erik Hollensbe&lt;/li&gt;

&lt;li&gt;RubyGems no longer defaults to uninstalling gems if a dependency would be broken. Now you must manually say &amp;#8220;yes&amp;#8221;. Pull Request #406 by Shannon Skipper.&lt;/li&gt;

&lt;li&gt;Gem::DependencyInstaller now passes build_args down to the installer. Pull Request #412 by Sam Rawlins.&lt;/li&gt;

&lt;li&gt;Added a cmake builder. Pull request #265 by Allan Espinosa.&lt;/li&gt;

&lt;li&gt;Removed rubyforge page from gem list output&lt;/li&gt;

&lt;li&gt;Added &amp;#8211;only-executables option to &lt;code&gt;gem pristine&lt;/code&gt;. Fixes #326&lt;/li&gt;

&lt;li&gt;Added -I flag for &amp;#8216;gem query&amp;#8217; to exclude installed items&lt;/li&gt;

&lt;li&gt;Added Gem.install(name, version=default) for interactive sessions&lt;/li&gt;

&lt;li&gt;Added Gem::FilePermissionError#directory&lt;/li&gt;

&lt;li&gt;Added Gem::rubygems_version which is like Gem::ruby_version&lt;/li&gt;

&lt;li&gt;Added RUBYGEMS_HOST documentation to &lt;code&gt;gem env&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;Added a post_installs hook that runs after Gem::DependencyInstaller finishes installing a set of gems&lt;/li&gt;

&lt;li&gt;Added a usage method for Gem::Commands::OwnerCommand. (ffmike)&lt;/li&gt;

&lt;li&gt;Added an optional type parameter to Gem::Specification#doc_dir.&lt;/li&gt;

&lt;li&gt;Added announcements url and clarified how to file tickets&lt;/li&gt;

&lt;li&gt;Added guidance for how to use rdoc and ri in setup command. (jjb)&lt;/li&gt;

&lt;li&gt;Attempting to install multiple gems with &amp;#8211;version is now an error. You can specify per-gem versions like &lt;code&gt;rake:0.9.5&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;Clarified Gem::CommandManager example code to avoid multi load problems. (baroquebobcat)&lt;/li&gt;

&lt;li&gt;Corrupt or bad cached specs are now re-downloaded. (cookrn)&lt;/li&gt;

&lt;li&gt;Extension build arguments are saved from install and reused for pristine&lt;/li&gt;

&lt;li&gt;If the OS allows it, documentation is built in a forked background process. (alexch)&lt;/li&gt;

&lt;li&gt;Imported gem yank from the gemcutter gem. Fixes #177, #343&lt;/li&gt;

&lt;li&gt;Packaged gems now contain and verify SHA1 checksums&lt;/li&gt;

&lt;li&gt;Removed commas from gem update summary so you can paste it back to cleanup. (amatsuda)&lt;/li&gt;

&lt;li&gt;RubyGems will now warn when building gems with prerelease dependencies. Fixes #255&lt;/li&gt;

&lt;li&gt;The RUBYGEMS_HOST environment variable is used to determine appropriate API key for pushing or yanking gems&lt;/li&gt;

&lt;li&gt;Uninstall is now performed in reverse topological order.&lt;/li&gt;

&lt;li&gt;Users are told what to type when they try to uninstall a gem outside GEM_HOME&lt;/li&gt;

&lt;li&gt;When building gems with non-world-readable files a warning is shown.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Bug fixes:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gem.refresh now maintains the active gem list. Clearing the list would cause double-loads which would cause other bugs. Pull Request #427 by Jeremy Evans&lt;/li&gt;

&lt;li&gt;RubyGems now refuses to read the gem push credentials file if it has insecure permissions. Pull Request #438 by Shannon Skipper&lt;/li&gt;

&lt;li&gt;RubyGems now requires a local gem name to end in &amp;#8216;.gem&amp;#8217;. Issue #407 by Santiago Pastorino.&lt;/li&gt;

&lt;li&gt;Do not allow old-format gems to be installed with a security policy that verifies data.&lt;/li&gt;

&lt;li&gt;Gem installation will fail if RubyGems cannot load the specification from the gem. Bug #419 by Erik Hollensbe&lt;/li&gt;

&lt;li&gt;RubyGems tests now run in FIPS mode. Issue #365 by Vít Ondruch&lt;/li&gt;

&lt;li&gt;Only update the spec cache when we have permission. Ruby Bug #7509&lt;/li&gt;

&lt;li&gt;gem install now ignores directories and non .gem files that match the gem to install. Bug #407 by Santiago Pastorino.&lt;/li&gt;

&lt;li&gt;Added PID to setup bin_file while installing RubyGems to protect against errors. Fixes #328 by ConradIrwin&lt;/li&gt;

&lt;li&gt;Added missing require in Gem::Uninstaller when format_executable is set. (sakuro)&lt;/li&gt;

&lt;li&gt;Exact gem command name matches are now chosen even if a longer command overlaps the exact name&lt;/li&gt;

&lt;li&gt;Fixed Gem.loaded_path? with a Pathname instance. (mattetti)&lt;/li&gt;

&lt;li&gt;Fixed Gem::Dependency.new mismatch with rubygems.org checks&lt;/li&gt;

&lt;li&gt;Fixed SecurityError in Gem::Specification.load when $SAFE=1. (ged)&lt;/li&gt;

&lt;li&gt;Fixed SystemStackError with &amp;#8220;gem list -r -a&amp;#8221; on 1.9 (cldwalker)&lt;/li&gt;

&lt;li&gt;Fixed &lt;code&gt;gem owners&lt;/code&gt; command so that exceptions don&amp;#8217;t stop the rest of the command from completing&lt;/li&gt;

&lt;li&gt;Fixed &lt;code&gt;gem unpack uninstalled_gem&lt;/code&gt; default version picker.&lt;/li&gt;

&lt;li&gt;Fixed defunct rubyforge urls in gem command line help&lt;/li&gt;

&lt;li&gt;Fixed documentation for the various hooks collections&lt;/li&gt;

&lt;li&gt;Fixed documentation generation on setup when the gem directory does not exist. Fixes #253&lt;/li&gt;

&lt;li&gt;Fixed documentation to reflect where defaults overrides are loaded from. (ferrous26)&lt;/li&gt;

&lt;li&gt;Fixed editing of a Makefile with 8-bit characters. Fixes #181&lt;/li&gt;

&lt;li&gt;Fixed gem loading issue caused by dependencies not resolving.&lt;/li&gt;

&lt;li&gt;Fixed independent testing of test_gem_package_tar_output. Ruby Bug #4686 by Shota Fukumori&lt;/li&gt;

&lt;li&gt;Fixed typo in uninstall message. (sandal)&lt;/li&gt;

&lt;li&gt;Gem::Requirement#&amp;lt;=&amp;gt; returns nil on non-requirement arg.&lt;/li&gt;

&lt;li&gt;Gem::Requirement.satisfied_by? raises ArgumentError if given a non-version argument&lt;/li&gt;

&lt;li&gt;Gem::Version#initialize no longer modifies its parameter. (miaout17)&lt;/li&gt;

&lt;li&gt;Group-writable permissions are now allowed for gem repositories. (ctcherry)&lt;/li&gt;

&lt;li&gt;Memoized values in Gem::Specification are now reset the version or platform changes. Fixes #78&lt;/li&gt;

&lt;li&gt;More specific errors are raised for bad requirements. (arsduo)&lt;/li&gt;

&lt;li&gt;Removed reference to &amp;#8216;sources&amp;#8217; gem in documentation&lt;/li&gt;

&lt;li&gt;Removed unused block arguments to avoid creating Proc objects. (k-tsj)&lt;/li&gt;

&lt;li&gt;RubyGems now asks before overwriting executable wrappers. Ruby Bug #1800&lt;/li&gt;

&lt;li&gt;The bindir is now created with mkdir_p during install. (voxik)&lt;/li&gt;

&lt;li&gt;URI scheme matching is no longer case-sensitive. Fixes #322&lt;/li&gt;

&lt;li&gt;ext/builder now checks $MAKE as well as $make (okkez)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Changes since RubyGems 2.0.0.rc.2:&lt;/p&gt;

&lt;p&gt;Bug fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gem.gzip and Gem.gunzip now return strings with BINARY encoding. Issue #450 by Jeremy Kemper&lt;/li&gt;

&lt;li&gt;Fixed placement of executables with &amp;#8211;user-install. Ruby bug #7779 by Jon Forums.&lt;/li&gt;

&lt;li&gt;Fixed &lt;code&gt;gem update&lt;/code&gt; with &amp;#8211;user-install. Ruby bug #7779 by Jon Forums.&lt;/li&gt;

&lt;li&gt;Fixed test_initialize_user_install for windows. Ruby bug #7885 by Luis Lavena.&lt;/li&gt;

&lt;li&gt;Create extension destination directory before building extensions. Ruby Bug #7897 and patch by Kenta Murata.&lt;/li&gt;

&lt;li&gt;Fixed verification of gems at LowSecurity due to missing signature. Thanks to André Arko.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>2.0.0.rc.2 Released</title>
   <link href="http://blog.rubygems.org/2013/02/08/2.0.0.rc.2-released.html"/>
   <updated>2013-02-08T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2013/02/08/2.0.0.rc.2-released</id>
   <content type="html">&lt;p&gt;As a preview release, please file bugs for any problems you have with RubyGems at https://github.com/rubygems/rubygems/issues. To update to this preview release use:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;gem update --system=2.0.0.rc.2&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;RubyGems 2.0 includes several new features and many breaking changes. Some of these changes will cause existing software to break. These changes are a result of improvements to the internals of RubyGems that make it more maintainable and improve APIs for RubyGems users.&lt;/p&gt;

&lt;p&gt;If you are using bundler be sure to install version 1.3.0.pre. Older versions of bundler will not work with RubyGems 2.0.&lt;/p&gt;

&lt;p&gt;Changes since RubyGems 1.8.25 (including past pre-releases):&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Breaking changes:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deprecated Gem.unresolved_deps in favor of Gem::Specification.unresolved_deps&lt;/li&gt;

&lt;li&gt;Merged Gem::Builder into Gem::Package. Use Gem::Package.build(spec) instead of Gem::Builder.new(spec).build&lt;/li&gt;

&lt;li&gt;Merged Gem::Format into Gem::Package. Use Gem::Package.new instead of Gem::Format.from_file_by_path&lt;/li&gt;

&lt;li&gt;Moved Gem::OldFormat to Gem::Package::Old. Gem::Package will automatically detect old gems for you, so there is no need to refer to it.&lt;/li&gt;

&lt;li&gt;Removed Gem::DocManager, replaced by Gem::RDoc and done_installing hook&lt;/li&gt;

&lt;li&gt;Removed Gem::Package::TarInput in favor of Gem::Package&lt;/li&gt;

&lt;li&gt;Removed Gem::Package::TarOutput in favor of Gem::Package&lt;/li&gt;

&lt;li&gt;Removed Gem::RemoteFetcher#open_uri_or_path. (steveklabnik)&lt;/li&gt;

&lt;li&gt;Removed Gem::SSL in favor of using OpenSSL directly&lt;/li&gt;

&lt;li&gt;Removed Gem.loaded_path&lt;/li&gt;

&lt;li&gt;Removed RSS generation from the gem indexer&lt;/li&gt;

&lt;li&gt;Removed benchmark option from .gemrc&lt;/li&gt;

&lt;li&gt;Removed broken YAML gemspec support in &lt;code&gt;gem build&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;Removed support for Ruby 1.9.1&lt;/li&gt;

&lt;li&gt;Removed many deprecated methods&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Major enhancements:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improved support for default gems shipping with ruby 2.0.0+&lt;/li&gt;

&lt;li&gt;A gem can have arbitrary metadata through Gem::Specification#metadata&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem search&lt;/code&gt; now defaults to &amp;#8211;remote and is anchored like gem list. Fixes #166&lt;/li&gt;

&lt;li&gt;Added &amp;#8211;document to replace &amp;#8211;rdoc and &amp;#8211;ri. Use &amp;#8211;no-document to disable documentation, &amp;#8211;document=rdoc to only generate rdoc.&lt;/li&gt;

&lt;li&gt;Only ri-format documentation is generated by default.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem server&lt;/code&gt; uses RDoc::Servlet from RDoc 4.0 to generate HTML documentation.&lt;/li&gt;

&lt;li&gt;Add ability to install gems directly from a compatible gemdep file (Gemfile, Isolate, gem.deps.rb) &lt;code&gt;gem install --file path&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;Add ability to load gem activation information from a gemdeps file (Gemfile, Isolate, gem.deps.rb). Set RUBYGEMS_GEMDEPS=path to have it loaded. Use - as the path to autodetect (current and parent directories are searched).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Minor enhancements:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;gem check --doctor&lt;/code&gt; to clean up after failed uninstallation. Bug #419 by Erik Hollensbe&lt;/li&gt;

&lt;li&gt;RubyGems no longer defaults to uninstalling gems if a dependency would be broken. Now you must manually say &amp;#8220;yes&amp;#8221;. Pull Request #406 by Shannon Skipper.&lt;/li&gt;

&lt;li&gt;Gem::DependencyInstaller now passes build_args down to the installer. Pull Request #412 by Sam Rawlins.&lt;/li&gt;

&lt;li&gt;Added a cmake builder. Pull request #265 by Allan Espinosa.&lt;/li&gt;

&lt;li&gt;Removed rubyforge page from gem list output&lt;/li&gt;

&lt;li&gt;Added &amp;#8211;only-executables option to &lt;code&gt;gem pristine&lt;/code&gt;. Fixes #326&lt;/li&gt;

&lt;li&gt;Added -I flag for &amp;#8216;gem query&amp;#8217; to exclude installed items&lt;/li&gt;

&lt;li&gt;Added Gem.install(name, version=default) for interactive sessions&lt;/li&gt;

&lt;li&gt;Added Gem::FilePermissionError#directory&lt;/li&gt;

&lt;li&gt;Added Gem::rubygems_version which is like Gem::ruby_version&lt;/li&gt;

&lt;li&gt;Added RUBYGEMS_HOST documentation to &lt;code&gt;gem env&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;Added a post_installs hook that runs after Gem::DependencyInstaller finishes installing a set of gems&lt;/li&gt;

&lt;li&gt;Added a usage method for Gem::Commands::OwnerCommand. (ffmike)&lt;/li&gt;

&lt;li&gt;Added an optional type parameter to Gem::Specification#doc_dir.&lt;/li&gt;

&lt;li&gt;Added announcements url and clarified how to file tickets&lt;/li&gt;

&lt;li&gt;Added guidance for how to use rdoc and ri in setup command. (jjb)&lt;/li&gt;

&lt;li&gt;Attempting to install multiple gems with &amp;#8211;version is now an error. You can specify per-gem versions like &lt;code&gt;rake:0.9.5&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;Clarified Gem::CommandManager example code to avoid multi load problems. (baroquebobcat)&lt;/li&gt;

&lt;li&gt;Corrupt or bad cached specs are now re-downloaded. (cookrn)&lt;/li&gt;

&lt;li&gt;Extension build arguments are saved from install and reused for pristine&lt;/li&gt;

&lt;li&gt;If the OS allows it, documentation is built in a forked background process. (alexch)&lt;/li&gt;

&lt;li&gt;Imported gem yank from the gemcutter gem. Fixes #177, #343&lt;/li&gt;

&lt;li&gt;Packaged gems now contain and verify SHA1 checksums&lt;/li&gt;

&lt;li&gt;Removed commas from gem update summary so you can paste it back to cleanup. (amatsuda)&lt;/li&gt;

&lt;li&gt;RubyGems will now warn when building gems with prerelease dependencies. Fixes #255&lt;/li&gt;

&lt;li&gt;The RUBYGEMS_HOST environment variable is used to determine appropriate API key for pushing or yanking gems&lt;/li&gt;

&lt;li&gt;Uninstall is now performed in reverse topological order.&lt;/li&gt;

&lt;li&gt;Users are told what to type when they try to uninstall a gem outside GEM_HOME&lt;/li&gt;

&lt;li&gt;When building gems with non-world-readable files a warning is shown.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Bug fixes:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gem.refresh now maintains the active gem list. Clearing the list would cause double-loads which would cause other bugs. Pull Request #427 by Jeremy Evans&lt;/li&gt;

&lt;li&gt;RubyGems now refuses to read the gem push credentials file if it has insecure permissions. Pull Request #438 by Shannon Skipper&lt;/li&gt;

&lt;li&gt;RubyGems now requires a local gem name to end in &amp;#8216;.gem&amp;#8217;. Issue #407 by Santiago Pastorino.&lt;/li&gt;

&lt;li&gt;Do not allow old-format gems to be installed with a security policy that verifies data.&lt;/li&gt;

&lt;li&gt;Gem installation will fail if RubyGems cannot load the specification from the gem. Bug #419 by Erik Hollensbe&lt;/li&gt;

&lt;li&gt;RubyGems tests now run in FIPS mode. Issue #365 by Vít Ondruch&lt;/li&gt;

&lt;li&gt;Only update the spec cache when we have permission. Ruby Bug #7509&lt;/li&gt;

&lt;li&gt;gem install now ignores directories and non .gem files that match the gem to install. Bug #407 by Santiago Pastorino.&lt;/li&gt;

&lt;li&gt;Added PID to setup bin_file while installing RubyGems to protect against errors. Fixes #328 by ConradIrwin&lt;/li&gt;

&lt;li&gt;Added missing require in Gem::Uninstaller when format_executable is set. (sakuro)&lt;/li&gt;

&lt;li&gt;Exact gem command name matches are now chosen even if a longer command overlaps the exact name&lt;/li&gt;

&lt;li&gt;Fixed Gem.loaded_path? with a Pathname instance. (mattetti)&lt;/li&gt;

&lt;li&gt;Fixed Gem::Dependency.new mismatch with rubygems.org checks&lt;/li&gt;

&lt;li&gt;Fixed SecurityError in Gem::Specification.load when $SAFE=1. (ged)&lt;/li&gt;

&lt;li&gt;Fixed SystemStackError with &amp;#8220;gem list -r -a&amp;#8221; on 1.9 (cldwalker)&lt;/li&gt;

&lt;li&gt;Fixed &lt;code&gt;gem owners&lt;/code&gt; command so that exceptions don&amp;#8217;t stop the rest of the command from completing&lt;/li&gt;

&lt;li&gt;Fixed &lt;code&gt;gem unpack uninstalled_gem&lt;/code&gt; default version picker.&lt;/li&gt;

&lt;li&gt;Fixed defunct rubyforge urls in gem command line help&lt;/li&gt;

&lt;li&gt;Fixed documentation for the various hooks collections&lt;/li&gt;

&lt;li&gt;Fixed documentation generation on setup when the gem directory does not exist. Fixes #253&lt;/li&gt;

&lt;li&gt;Fixed documentation to reflect where defaults overrides are loaded from. (ferrous26)&lt;/li&gt;

&lt;li&gt;Fixed editing of a Makefile with 8-bit characters. Fixes #181&lt;/li&gt;

&lt;li&gt;Fixed gem loading issue caused by dependencies not resolving.&lt;/li&gt;

&lt;li&gt;Fixed independent testing of test_gem_package_tar_output. Ruby Bug #4686 by Shota Fukumori&lt;/li&gt;

&lt;li&gt;Fixed typo in uninstall message. (sandal)&lt;/li&gt;

&lt;li&gt;Gem::Requirement#&amp;lt;=&amp;gt; returns nil on non-requirement arg.&lt;/li&gt;

&lt;li&gt;Gem::Requirement.satisfied_by? raises ArgumentError if given a non-version argument&lt;/li&gt;

&lt;li&gt;Gem::Version#initialize no longer modifies its parameter. (miaout17)&lt;/li&gt;

&lt;li&gt;Group-writable permissions are now allowed for gem repositories. (ctcherry)&lt;/li&gt;

&lt;li&gt;Memoized values in Gem::Specification are now reset the version or platform changes. Fixes #78&lt;/li&gt;

&lt;li&gt;More specific errors are raised for bad requirements. (arsduo)&lt;/li&gt;

&lt;li&gt;Removed reference to &amp;#8216;sources&amp;#8217; gem in documentation&lt;/li&gt;

&lt;li&gt;Removed unused block arguments to avoid creating Proc objects. (k-tsj)&lt;/li&gt;

&lt;li&gt;RubyGems now asks before overwriting executable wrappers. Ruby Bug #1800&lt;/li&gt;

&lt;li&gt;The bindir is now created with mkdir_p during install. (voxik)&lt;/li&gt;

&lt;li&gt;URI scheme matching is no longer case-sensitive. Fixes #322&lt;/li&gt;

&lt;li&gt;ext/builder now checks $MAKE as well as $make (okkez)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Changes since RubyGems 2.0.0.rc.1:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Bug fixes:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed signature verification of gems which was broken only on master. Thanks to Brian Buchanan.&lt;/li&gt;

&lt;li&gt;Proper exceptions are raised when verifying an unsigned gem. Thanks to André Arko.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>Data Verification</title>
   <link href="http://blog.rubygems.org/2013/01/31/data-verification.html"/>
   <updated>2013-01-31T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2013/01/31/data-verification</id>
   <content type="html">&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; We were able to verify that all gems served by rubygems.org are tamper-free.&lt;/p&gt;

&lt;h3 id='the_incident'&gt;The Incident&lt;/h3&gt;

&lt;p&gt;As most people are aware, on January 30th rubygems.org was hit with a rogue code execution vulnerability. Much has been written (and will be written) about why the bug existed and how we&amp;#8217;re going to be dealing with making sure it never happens again.&lt;/p&gt;

&lt;h3 id='data_verification'&gt;Data Verification&lt;/h3&gt;

&lt;p&gt;Right now, I want to let everyone know about the state of all the gem files. The biggest worry with a compromise like this is that an attacker could tamper with gem files and infect anyone who installed a gem. This was our biggest worry and we spent the majority of the last 36 hours working to try and detect any gems that were tampered with.&lt;/p&gt;

&lt;h3 id='exploits_and_checksums'&gt;Exploits and Checksums&lt;/h3&gt;

&lt;p&gt;To begin with, Mark Imbriaco (@markimbriaco) pulled down 100% of the gems from Amazon S3, where we store all the gems. He then performed 2 actions on all the gems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Audit the gem metadata to detect any other gems using the vulnerability.&lt;/li&gt;

&lt;li&gt;Generate a SHA512 checksums of the gem file.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Mark did not detect any other gems using the vulnerability, which was our first bit of good news.&lt;/p&gt;

&lt;p&gt;He then posted all the checksums which became our checksum set 1 (CS1).&lt;/p&gt;

&lt;h3 id='mirrors'&gt;Mirrors&lt;/h3&gt;

&lt;p&gt;Mirrors provide us with our best validation mechanism. A number of people run rubygems.org mirrors for various reasons and they offered up data to help us verify the gem data.&lt;/p&gt;

&lt;p&gt;Eric Hodel (@drbrain) as well as others churned through their data and checked the data against CB1. Upon finishing this step, we had validated 95% of the gems against multiple sources. We then subtracted out the gems that had been yanked but were still available in CB1 (but because of being yanked, wouldn&amp;#8217;t be in the mirrors). Finally, we subtracted out the gems that been added to S3 in the last 20 days as validated by the S3 log files.&lt;/p&gt;

&lt;h3 id='results'&gt;Results&lt;/h3&gt;

&lt;p&gt;The result of all this checking and double checking is that we resulted in only 80 prerelease gems that we could not verify against a secondary source. We then opt&amp;#8217;d to yank these gems and are in process of contacting the authors so they can push a new version.&lt;/p&gt;

&lt;p&gt;Through the hard work of all our volunteers, we are able to confidently report that the gems available from rubygems.org have not been tampered with.&lt;/p&gt;

&lt;h3 id='data_and_tools'&gt;Data and Tools&lt;/h3&gt;

&lt;p&gt;We have posted the checksums and tools used to verify them at the &lt;a href='https://github.com/rubygems/rubygems-verification'&gt;rubygems-verification github repository&lt;/a&gt; to allow you to double-check our work.&lt;/p&gt;

&lt;h3 id='thanks'&gt;Thanks&lt;/h3&gt;

&lt;p&gt;So many people helped with this effort in the #rubygems-verification channel on irc.freenode.net. I want to thank all of you for your time and say that your help was instrumental in making sure rubygems.org was able to continue to operate.&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>Rubygems 2.0.0.preview2</title>
   <link href="http://blog.rubygems.org/2012/12/03/2.0.0-preview2.html"/>
   <updated>2012-12-03T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2012/12/03/2.0.0-preview2</id>
   <content type="html">&lt;p&gt;The Rubygems team is proud to announce the availability of 2.0.0.preview2. This version has been merged into ruby 2.0.0-preview2 as well, in preperation for Rubygems 2.0.0 final to be included in ruby 2.0.0 final.&lt;/p&gt;

&lt;h3 id='breaking_changes'&gt;Breaking changes&lt;/h3&gt;

&lt;p&gt;There are a number of changes in 2.0.0 that may break code expecting deprecated features of Rubygems. Most major libraries that use the internal Rubygems APIs have been updated, but there are bound to be a number that have not.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deprecated Gem.unresolved_deps in favor of Gem::Specification.unresolved_deps&lt;/li&gt;

&lt;li&gt;Merged Gem::Builder into Gem::Package. Use Gem::Package.build(spec) instead of Gem::Builder.new(spec).build&lt;/li&gt;

&lt;li&gt;Merged Gem::Format into Gem::Package. Use Gem::Package.new instead of Gem::Format.from_file_by_path&lt;/li&gt;

&lt;li&gt;Moved Gem::OldFormat to Gem::Package::Old. Gem::Package will automatically detect old gems for you, so there is no need to refer to it.&lt;/li&gt;

&lt;li&gt;Removed Gem::DocManager, replaced by Gem::RDoc and done_installing hook&lt;/li&gt;

&lt;li&gt;Removed Gem::Package::TarInput in favor of Gem::Package&lt;/li&gt;

&lt;li&gt;Removed Gem::Package::TarOutput in favor of Gem::Package&lt;/li&gt;

&lt;li&gt;Removed Gem::RemoteFetcher#open_uri_or_path. (steveklabnik)&lt;/li&gt;

&lt;li&gt;Removed Gem::SSL in favor of using OpenSSL directly&lt;/li&gt;

&lt;li&gt;Removed Gem.loaded_path&lt;/li&gt;

&lt;li&gt;Removed RSS generation from the gem indexer&lt;/li&gt;

&lt;li&gt;Removed benchmark option from .gemrc&lt;/li&gt;

&lt;li&gt;Removed broken YAML gemspec support in &lt;code&gt;gem build&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;Removed support for Ruby 1.9.1&lt;/li&gt;

&lt;li&gt;Removed many deprecated methods&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id='major_enhancements'&gt;Major enhancements&lt;/h3&gt;

&lt;p&gt;As is the point of most 2.0s, Rubygems continues a number of enhancements.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improved support for default gems shipping with ruby 2.0.0+. The default gems now are properly loaded as more important that the standard library, which was the intent.&lt;/li&gt;

&lt;li&gt;A gem can have arbitrary metadata through Gem::Specification#metadata. This feature allows users to embed their own data inside a gem easily and retrieve it. It&amp;#8217;s possible to use this to store information about native packages needed, commit inforation, or any other structure data.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem search&lt;/code&gt; now defaults to &amp;#8211;remote and is anchored like gem list. Fixes #166&lt;/li&gt;

&lt;li&gt;Added &amp;#8211;document to replace &amp;#8211;rdoc and &amp;#8211;ri. Use &amp;#8211;no-document to disable documentation, &amp;#8211;document=rdoc to only generate rdoc.&lt;/li&gt;

&lt;li&gt;Only ri-format documentation is generated by default with HTML being automatically generated by &lt;code&gt;gem server&lt;/code&gt;. This will speed up install time.&lt;/li&gt;

&lt;li&gt;Add &lt;em&gt;gemdeps&lt;/em&gt; file support. A gemdeps format file is a Gemfile, Isolate, or gem.deps.rb file. This files contain information about which gems and versions are needed to run a particular application. Rubygems now has a subset of functionality provided by bundler builtin to provide easy usage of these files.&lt;/li&gt;

&lt;li&gt;Add ability to install gems directly from a compatible gemdep file (Gemfile, Isolate, gem.deps.rb) &lt;code&gt;gem install --file path&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;Add ability to load gem activation information from a gemdeps file (Gemfile, Isolate, gem.deps.rb). Set RUBYGEMS_GEMDEPS\=path to have it loaded. Use - as the path to autodetect (current and parent directories are searched).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id='minor_enhancements'&gt;Minor enhancements&lt;/h3&gt;

&lt;p&gt;Additionally, there are innumerable small enhancements. Here is a nice sampling.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added &amp;#8211;only-executables option to &lt;code&gt;gem pristine&lt;/code&gt;. Fixes #326&lt;/li&gt;

&lt;li&gt;Added -I flag for &amp;#8216;gem query&amp;#8217; to exclude installed items&lt;/li&gt;

&lt;li&gt;Added Gem.install(name, version=default) for interactive sessions&lt;/li&gt;

&lt;li&gt;Added Gem::FilePermissionError#directory&lt;/li&gt;

&lt;li&gt;Added Gem::rubygems_version which is like Gem::ruby_version&lt;/li&gt;

&lt;li&gt;Added RUBYGEMS_HOST documentation to &lt;code&gt;gem env&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;Added a post_installs hook that runs after Gem::DependencyInstaller finishes installing a set of gems&lt;/li&gt;

&lt;li&gt;Added a usage method for Gem::Commands::OwnerCommand. (ffmike)&lt;/li&gt;

&lt;li&gt;Added an optional type parameter to Gem::Specification#doc_dir.&lt;/li&gt;

&lt;li&gt;Added announcements url and clarified how to file tickets&lt;/li&gt;

&lt;li&gt;Added guidance for how to use rdoc and ri in setup command. (jjb)&lt;/li&gt;

&lt;li&gt;Attempting to install multiple gems with &amp;#8211;version is now an error. You can specify per-gem versions like &lt;code&gt;rake:0.9.5&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;Clarified Gem::CommandManager example code to avoid multi load problems. (baroquebobcat)&lt;/li&gt;

&lt;li&gt;Corrupt or bad cached specs are now re-downloaded. (cookrn)&lt;/li&gt;

&lt;li&gt;Extension build arguments are saved from install and reused for pristine&lt;/li&gt;

&lt;li&gt;If the OS allows it, documentation is built in a forked background process. (alexch)&lt;/li&gt;

&lt;li&gt;Imported gem yank from the gemcutter gem. Fixes #177, #343&lt;/li&gt;

&lt;li&gt;Packaged gems now contain and verify SHA1 checksums&lt;/li&gt;

&lt;li&gt;Removed commas from gem update summary so you can paste it back to cleanup. (amatsuda)&lt;/li&gt;

&lt;li&gt;RubyGems will now warn when building gems with prerelease dependencies. Fixes #255&lt;/li&gt;

&lt;li&gt;The RUBYGEMS_HOST environment variable is used to determine appropriate API key for pushing or yanking gems&lt;/li&gt;

&lt;li&gt;Uninstall is now performed in reverse topological order.&lt;/li&gt;

&lt;li&gt;Users are told what to type when they try to uninstall a gem outside GEM_HOME&lt;/li&gt;

&lt;li&gt;When building gems with non-world-readable files a warning is shown.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id='bug_fixes'&gt;Bug fixes&lt;/h3&gt;

&lt;p&gt;And lastly, lots and lots of bugfixes. Here is a short memoriam of those bugs we&amp;#8217;ve lost this release.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added PID to setup bin_file while installing RubyGems to protect against errors. Fixes #328 by ConradIrwin&lt;/li&gt;

&lt;li&gt;Added missing require in Gem::Uninstaller when format_executable is set. (sakuro)&lt;/li&gt;

&lt;li&gt;Exact gem command name matches are now chosen even if a longer command overlaps the exact name&lt;/li&gt;

&lt;li&gt;Fixed Gem.loaded_path? with a Pathname instance. (mattetti)&lt;/li&gt;

&lt;li&gt;Fixed Gem::Dependency.new mismatch with rubygems.org checks&lt;/li&gt;

&lt;li&gt;Fixed SecurityError in Gem::Specification.load when $SAFE=1. (ged)&lt;/li&gt;

&lt;li&gt;Fixed SystemStackError with &amp;#8220;gem list -r -a&amp;#8221; on 1.9 (cldwalker)&lt;/li&gt;

&lt;li&gt;Fixed &lt;code&gt;gem owners&lt;/code&gt; command so that exceptions don&amp;#8217;t stop the rest of the command from completing&lt;/li&gt;

&lt;li&gt;Fixed &lt;code&gt;gem unpack uninstalled\_gem&lt;/code&gt; default version picker.&lt;/li&gt;

&lt;li&gt;Fixed defunct rubyforge urls in gem command line help&lt;/li&gt;

&lt;li&gt;Fixed documentation for the various hooks collections&lt;/li&gt;

&lt;li&gt;Fixed documentation generation on setup when the gem directory does not exist. Fixes #253&lt;/li&gt;

&lt;li&gt;Fixed documentation to reflect where defaults overrides are loaded from. (ferrous26)&lt;/li&gt;

&lt;li&gt;Fixed editing of a Makefile with 8-bit characters. Fixes #181&lt;/li&gt;

&lt;li&gt;Fixed gem loading issue caused by dependencies not resolving.&lt;/li&gt;

&lt;li&gt;Fixed independent testing of test_gem_package_tar_output. Ruby Bug #4686 by Shota Fukumori&lt;/li&gt;

&lt;li&gt;Fixed typo in uninstall message. (sandal)&lt;/li&gt;

&lt;li&gt;Gem::Requirement#&amp;lt;=&amp;gt; returns nil on non-requirement arg.&lt;/li&gt;

&lt;li&gt;Gem::Requirement.satisfied_by? raises ArgumentError if given a non-version argument&lt;/li&gt;

&lt;li&gt;Gem::Version#initialize no longer modifies its parameter. (miaout17)&lt;/li&gt;

&lt;li&gt;Group-writable permissions are now allowed for gem repositories. (ctcherry)&lt;/li&gt;

&lt;li&gt;Memoized values in Gem::Specification are now reset the version or platform changes. Fixes #78&lt;/li&gt;

&lt;li&gt;More specific errors are raised for bad requirements. (arsduo)&lt;/li&gt;

&lt;li&gt;Removed reference to &amp;#8216;sources&amp;#8217; gem in documentation&lt;/li&gt;

&lt;li&gt;Removed unused block arguments to avoid creating Proc objects. (k-tsj)&lt;/li&gt;

&lt;li&gt;RubyGems now asks before overwriting executable wrappers. Ruby Bug #1800&lt;/li&gt;

&lt;li&gt;The bindir is now created with mkdir_p during install. (voxik)&lt;/li&gt;

&lt;li&gt;URI scheme matching is no longer case-sensitive. Fixes #322&lt;/li&gt;

&lt;li&gt;ext/builder now checks $MAKE as well as $make (okkez)&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>Rubyconf / Rubygems Hackfest</title>
   <link href="http://blog.rubygems.org/2012/11/05/the-rubygems-hackfest-at-rubyconf.html"/>
   <updated>2012-11-05T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2012/11/05/the-rubygems-hackfest-at-rubyconf</id>
   <content type="html">&lt;p&gt;If you followed the twitter feed for Rubyconf this past week, you probably noticed that this years conference was the host of the first, of hopefully many more, Rubygems.org hackfests. The hackfest started at 6:30 PM, after Matz&amp;#8217;s chat with Evan wrapped up, and went until almost 11:00 PM, when we had scheduled to wrap up around 8:30.&lt;/p&gt;

&lt;p&gt;I am personally blown away by the amazing turnout we had, and especially floored that in addition to commenting and closing many issues which were no longer valid, almost every single attendee of the hackfest opened a pull request to fix either an outstanding bug, or add a new feature.&lt;/p&gt;

&lt;p&gt;Some photos from the event:&lt;/p&gt;

&lt;p&gt;&lt;img src='https://pbs.twimg.com/media/A61IcDFCUAEImDl.jpg:medium' alt='Hacking at the bar!' /&gt; &lt;img src='https://pbs.twimg.com/media/A60S2muCYAEJrdq.jpg:medium' alt='Hacking!' /&gt; &lt;img src='https://pbs.twimg.com/media/A61InubCEAAtGP5.jpg:medium' alt='More Hacking!' /&gt; &lt;img src='https://pbs.twimg.com/media/A60RvRxCYAEhg0Z.jpg:medium' alt='Holy Hacking!' /&gt;&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m still in the process of working through the open pull requests and issues which need further commenting, but I wanted to provide some of the highlights, and welcome some of the soon-to-be Rubygems.org committers.&lt;/p&gt;

&lt;p&gt;Please let me know if I missed you, or something you worked on in the list. It was amazing to see developers of all kinds, from companies such as Yardstick, New Relic and Bluebox step up to assist in helping build and maintain a community resource.&lt;/p&gt;

&lt;p&gt;&lt;a href='https://github.com/markbennett'&gt;Mark Bennett&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href='https://github.com/rubygems/rubygems.org/issues/261'&gt;List number of gems pushed on Profile page.&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href='https://github.com/rubygems/rubygems.org/pull/478'&gt;Add pushed gems count to profiles&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href='https://github.com/adkron'&gt;Amos King&lt;/a&gt; and &lt;a href='https://github.com/sandersch'&gt;Charlie Sanders&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href='https://github.com/rubygems/rubygems.org/issues/406'&gt;Block gems that are yanked from being queried through the API&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href='https://github.com/rubygems/rubygems.org/pull/476'&gt;Requires gem names to have at least one alpha character&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href='https://github.com/rubygems/rubygems.org/issues/426'&gt;Gem name restrictions might be wrong&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href='https://github.com/jaredonline'&gt;Jared McFarland&lt;/a&gt; and &lt;a href='https://github.com/mildmojo'&gt;Tim Knowlton&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href='https://github.com/rubygems/rubygems.org/pull/474'&gt;Issue #438&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href='https://github.com/rubygems/rubygems.org/pull/485'&gt;Fixes tests: resets current directory in gemcutter After block.&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href='https://github.com/rubygems/rubygems.org/issues/438'&gt;Testing race condition&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href='https://github.com/rubygems/rubygems.org/pull/477'&gt;Fixes download test for count/day over month boundary.&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href='https://github.com/rubygems/rubygems.org/issues/465'&gt;Tests fail on the first of the month&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href='https://github.com/amateurhuman'&gt;Chris Kelly&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href='https://github.com/rubygems/rubygems.org/pull/479'&gt;Add per gem rss feed&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href='https://github.com/coffeencoke'&gt;Matt Simpson&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href='https://github.com/rubygems/rubygems.org/pull/451'&gt;Disallow gem names with CAPS for users AND TESTS&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href='https://github.com/rubygems/rubygems.org/pull/481'&gt;Disallow gem names with caps&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href='https://github.com/darkhelmet'&gt;Daniel Huckstep&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href='https://github.com/rubygems/rubygems.org/pull/473'&gt;Replace memcached with dalli&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href='https://github.com/rubygems/rubygems.org/pull/483'&gt;Add test for bad characters in description/summary&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href='https://github.com/rubygems/rubygems.org/issues/275'&gt;Strange characters in description causes gem push to blow up&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href='https://github.com/jfoy'&gt;Jack Foy&lt;/a&gt; and &lt;a href='https://github.com/fnichol'&gt;Fletcher Nichol&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href='https://github.com/rubygems/rubygems.org/pull/482'&gt;Returns 404 on /api/v1/gems#show for unknown gem with all formats types&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href='https://github.com/rubygems/rubygems.org/issues/443'&gt;404 or 406 returned depending on format&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href='https://github.com/Skipants'&gt;Clyde Law&lt;/a&gt; and &lt;a href='https://github.com/Umofomia'&gt;Andrew Szczepanski&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href='https://github.com/rubygems/rubygems.org/pull/480'&gt;Remove librato.yml containing API credentials&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href='https://github.com/gnarg'&gt;Jon Guymon&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href='https://github.com/rubygems/rubygems.org/pull/484'&gt;Add size to versions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.8.19 Released</title>
   <link href="http://blog.rubygems.org/2012/03/14/1.8.19-released.html"/>
   <updated>2012-03-14T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2012/03/14/1.8.19-released</id>
   <content type="html">&lt;p&gt;&lt;em&gt;3 bug fixes:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Handle loading psych vs syck properly. Fixes #298&lt;/li&gt;

&lt;li&gt;Make sure Date objects don&amp;#8217;t leak in via Marshal&lt;/li&gt;

&lt;li&gt;Perform Date =&amp;gt; Time coercion on yaml loading. Fixes #266&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.8.16 Released</title>
   <link href="http://blog.rubygems.org/2012/02/10/1.8.16-released.html"/>
   <updated>2012-02-10T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2012/02/10/1.8.16-released</id>
   <content type="html">&lt;p&gt;&lt;em&gt;3 bug fixes:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix gem specification loading when encoding is not UTF-8. #146&lt;/li&gt;

&lt;li&gt;Allow group writable if umask allows it already.&lt;/li&gt;

&lt;li&gt;Uniquify the spec list based on directory order priority&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>Shaving a YAML Yak</title>
   <link href="http://blog.rubygems.org/2011/08/31/shaving-the-yaml-yak.html"/>
   <updated>2011-08-31T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2011/08/31/shaving-the-yaml-yak</id>
   <content type="html">&lt;p&gt;Have you ever seen this error?&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ gem install rails --pre
ERROR:  While executing gem ... (NameError)
  uninitialized constant Psych::Syck
$&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Yes, I have too. Today we&amp;#8217;re going to discuss the source of this error, and what we need to do to fix it.&lt;/p&gt;

&lt;h2 id='tldr'&gt;TL;DR&lt;/h2&gt;

&lt;p&gt;Upgrade rubygems to make this error go away. However, the long term solution is to fix rubygems.org.&lt;/p&gt;

&lt;h3 id='gemspecs_and_yaml'&gt;Gemspecs and YAML&lt;/h3&gt;

&lt;p&gt;When you package your gem, the resulting &lt;code&gt;.gem&lt;/code&gt; file contains a YAML representation of your gemspec. The YAML representation of your gemspec contains everything your gemspec contains, including author information and dependency information.&lt;/p&gt;

&lt;p&gt;The generated gem file is just a tar file:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ gem fetch rails
Fetching: rails-3.1.0.gem (100%)
Downloaded rails-3.1.0
$ file rails-3.1.0.gem 
rails-3.1.0.gem: POSIX tar archive&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The tar file contains two gzipped files. One is the actual contents of your gem, the rb files, etc. The other gz file is metadata about your gem:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ tar xvf rails-3.1.0.gem 
x data.tar.gz
x metadata.gz&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The metadata is your gemspec in YAML format. We can easily examine the YAML data by using the &lt;code&gt;gzcat&lt;/code&gt; command:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ gzcat metadata.gz 
--- !ruby/object:Gem::Specification 
name: rails
version: !ruby/object:Gem::Version 
  hash: 3
  prerelease: 
  segments: 
  - 3
  - 1
  - 0
  version: 3.1.0
platform: ruby
...&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id='yaml_and_rubys_standard_library'&gt;YAML and Ruby&amp;#8217;s standard library&lt;/h3&gt;

&lt;p&gt;Ruby has shipped with a YAML parsing library for quite a long time. The library (called &amp;#8220;syck&amp;#8221;) is a &lt;em&gt;custom&lt;/em&gt; YAML 1.0 parser, and has been part of Ruby since 1.8. Unfortunately, the library was abandoned.&lt;/p&gt;

&lt;p&gt;YAML parsing is important for Ruby, so rather than removing Syck, it is being replaced with a new library called Psych. Psych is a YAML 1.1 parser, but is powered by &lt;a href='http://pyyaml.org/wiki/LibYAML'&gt;libyaml&lt;/a&gt;. libyaml is developed by the team that writes the YAML spec, and is considered to be the canonical implementation.&lt;/p&gt;

&lt;p&gt;Unfortunately, this transition can cause subtle but annoying problems.&lt;/p&gt;

&lt;h3 id='dealing_with_'&gt;Dealing with &lt;code&gt;=&lt;/code&gt;&lt;/h3&gt;

&lt;p&gt;The problem we see when downloading from rubygems.org is due to round tripping issues between Syck and Psych. Let&amp;#8217;s compare how Syck and Psych serialize the &lt;code&gt;=&lt;/code&gt; sign:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;gt;&amp;gt; RUBY_VERSION
=&amp;gt; &amp;quot;1.8.7&amp;quot;
&amp;gt;&amp;gt; require &amp;#39;yaml&amp;#39;
=&amp;gt; true
&amp;gt;&amp;gt; YAML.dump [&amp;#39;=&amp;#39;]
=&amp;gt; &amp;quot;--- \n- \&amp;quot;=\&amp;quot;\n&amp;quot;
&amp;gt;&amp;gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;In the example above, we&amp;#8217;re using Syck to dump an equals sign. Notice this double quotes surrounding the equals sign. Now let&amp;#8217;s try the same thing with Psych:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;irb(main):001:0&amp;gt; RUBY_VERSION
=&amp;gt; &amp;quot;1.9.4&amp;quot;
irb(main):002:0&amp;gt; require &amp;#39;yaml&amp;#39;
=&amp;gt; true
irb(main):003:0&amp;gt; YAML.dump [&amp;#39;=&amp;#39;]
=&amp;gt; &amp;quot;---\n- =\n&amp;quot;
irb(main):004:0&amp;gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Notice in this example the lack of double quotes surrounding the equals sign. Both of these are valid YAML documents. Let&amp;#8217;s see what happens when we feed the YAML from Psych in to Syck:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;gt;&amp;gt; RUBY_VERSION
=&amp;gt; &amp;quot;1.8.7&amp;quot;
&amp;gt;&amp;gt; yaml = &amp;quot;---\n- =\n&amp;quot;
=&amp;gt; &amp;quot;---\n- =\n&amp;quot;
&amp;gt;&amp;gt; YAML.load yaml
=&amp;gt; [#&amp;lt;YAML::Syck::DefaultKey:0x1026d0210&amp;gt;]
&amp;gt;&amp;gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;There we have it! We can get Syck to return a strange object even when given a valid YAML document. But how does this relate to gemspecs and rubygems.org?&lt;/p&gt;

&lt;h3 id='gemspec_revisited'&gt;Gemspec revisited&lt;/h3&gt;

&lt;p&gt;Recall that gemspecs are dumped to YAML when the gem is packaged. It&amp;#8217;s possible (and not unheard of) for our gemspecs to contain an equals sign. Consider the defining dependencies in your gemspec:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Gem::Specification.new do |s|
  ...
  s.add_dependency(&amp;#39;activesupport&amp;#39;, &amp;#39;= 3.1.0&amp;#39;)
  ..
end&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Those dependencies are serialized to the generated YAML file. If we package this using Psych and examine the generated yaml, we can find the section where the dependency is declared:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ gzcat metadata.gz
...
dependencies:
- !ruby/object:Gem::Dependency
  name: activesupport
  requirement: &amp;amp;70133834330380 !ruby/object:Gem::Requirement
    none: false
    requirements:
    - - =
      - !ruby/object:Gem::Version
        version: 3.1.0
...&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Notice the unquoted equals sign in the metadata.&lt;/p&gt;

&lt;h3 id='rubygemsorg'&gt;rubygems.org&lt;/h3&gt;

&lt;p&gt;The trouble with the spec we saw above is that rubygems.org still uses syck as it&amp;#8217;s YAML parser. When the server parses the gem YAML file, it turns the equals sign in to a Syck DefaultKey.&lt;/p&gt;

&lt;p&gt;You can see this problem manifest itself on the rubygems.org website if you look at the Runtime Dependencies for some gems:&lt;/p&gt;

&lt;p&gt;&lt;img src='https://img.skitch.com/20110901-dcmqkfy9eyu69dp1xfbqyfe9wg.jpg' alt='runtime deps screenshot' /&gt;&lt;/p&gt;

&lt;p&gt;A simple &lt;a href='http://www.google.com/search?hl=en&amp;amp;safe=off&amp;amp;q=defaultkey+site%3Arubygems.org&amp;amp;oq=defaultkey+site%3Arubygems.org&amp;amp;aq=f&amp;amp;aqi=&amp;amp;aql=&amp;amp;gs_sm=e&amp;amp;gs_upl=2623l8510l0l8586l57l29l0l12l0l3l348l2937l0.1.7.3l12l0'&gt;google search&lt;/a&gt; will show that this is not an uncommon problem.&lt;/p&gt;

&lt;h3 id='command_line_errors'&gt;Command line errors&lt;/h3&gt;

&lt;p&gt;When downloading gem information, rubygems.org will send dependency information in marshall format. Gems that have the DefaultKey object in their dependencies will have that object marshalled and sent down to the client. If the client does not use Syck (which is default for 1.9.2+ when libyaml is available), then the Syck constant cannot be found and the &amp;#8220;uninitialized constant&amp;#8221; error will appear.&lt;/p&gt;

&lt;h3 id='how_can_we_fix_this'&gt;How can we fix this?&lt;/h3&gt;

&lt;p&gt;We have two ways to deal with this issue. The first way to deal with this issue is to upgrade rubygems. Rubygems contains code to &lt;em&gt;work around&lt;/em&gt; the issue when installing gems. But it does not &lt;em&gt;fix&lt;/em&gt; the issue.&lt;/p&gt;

&lt;p&gt;The only way we can fix this error for all users is to upgrade rubygems.org to use psych as the YAML parser. Upgrading rubygems.org will prevent the strange objects from entering marshal data sent to users.&lt;/p&gt;

&lt;p&gt;We&amp;#8217;re working on this upgrade, but we can use your help! Specifically, we need to get &lt;a href='https://github.com/collectiveidea/delayed_job/commit/cbb4060'&gt;delayed job&lt;/a&gt; to be compatible with Psych. Once we overcome that hurdle, I think it will be easy to get rubygems.org upgraded.&lt;/p&gt;

&lt;p&gt;Thanks for listening!&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>1.8.10 Released</title>
   <link href="http://blog.rubygems.org/2011/08/25/1.8.10-released.html"/>
   <updated>2011-08-25T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2011/08/25/1.8.10-released</id>
   <content type="html">&lt;p&gt;RubyGems 1.8.10 contains a security fix that prevents malicious gems from executing code when their specification is loaded. See &lt;a href='https://github.com/rubygems/rubygems/pull/165'&gt;https://github.com/rubygems/rubygems/pull/165&lt;/a&gt; for details.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;5 bug fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RubyGems escapes strings in ruby-format specs using #dump instead of #to_s and %q to prevent code injection. Issue #165 by Postmodern&lt;/li&gt;

&lt;li&gt;RubyGems attempt to activate the psych gem now to obtain bugfixes from psych.&lt;/li&gt;

&lt;li&gt;Gem.dir has been restored to the front of Gem.path. Fixes remaining problem with Issue #115&lt;/li&gt;

&lt;li&gt;Fixed Syck DefaultKey infecting ruby-format specifications.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem uninstall a b&lt;/code&gt; no longer stops if gem &amp;#8220;a&amp;#8221; is not installed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.8.9 Released</title>
   <link href="http://blog.rubygems.org/2011/08/23/1.8.9-released.html"/>
   <updated>2011-08-23T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2011/08/23/1.8.9-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Bug fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed uninstalling multiple gems using &lt;code&gt;gem uninstall&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;Gem.use_paths splatted to take multiple paths! Issue #148&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.8.8 Released</title>
   <link href="http://blog.rubygems.org/2011/08/11/1.8.8-released.html"/>
   <updated>2011-08-11T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2011/08/11/1.8.8-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Bug fix:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The encoding of a gem&amp;#8217;s YAML spec is now UTF-8. Issue #149&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.8.7 Released</title>
   <link href="http://blog.rubygems.org/2011/08/02/1.8.7-released.html"/>
   <updated>2011-08-02T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2011/08/02/1.8.7-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;5 bug fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added missing require for &lt;code&gt;gem uninstall --format-executable&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;The correct name of the executable being uninstalled is now displayed with &amp;#8211;format-executable&lt;/li&gt;

&lt;li&gt;Fixed &lt;code&gt;gem unpack uninstalled_gem&lt;/code&gt; default version picker&lt;/li&gt;

&lt;li&gt;RubyGems no longer claims a nonexistent gem can be uninstalled&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem which&lt;/code&gt; no longer claims directories are requirable files&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.8.6 Released</title>
   <link href="http://blog.rubygems.org/2011/07/25/1.8.6-released.html"/>
   <updated>2011-07-25T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2011/07/25/1.8.6-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;1 minor enhancement:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add autorequires and delay startup of RubyGems until require is called. See Ruby bug #4962&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;9 bug fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Restore behavior of Gem::Specification#loaded? Ruby Bug #5032&lt;/li&gt;

&lt;li&gt;Clean up SourceIndex.add_specs to not be so damn noisy. (tadman)&lt;/li&gt;

&lt;li&gt;Added missing APPLE_GEM_HOME in paths.&lt;/li&gt;

&lt;li&gt;Extend YAML::Syck::DefaultKey fixing to &lt;code&gt;marshal_dump&lt;/code&gt; as well.&lt;/li&gt;

&lt;li&gt;Fix #29216: check correct bin_dir in check_that_user_bin_dir_is_in_path.&lt;/li&gt;

&lt;li&gt;Revert Gem.latest_load_paths to working order (PathSupport revert).&lt;/li&gt;

&lt;li&gt;Restore normalization of GEM_HOME.&lt;/li&gt;

&lt;li&gt;Handle the Syck DefaultKey problem once and for all.&lt;/li&gt;

&lt;li&gt;Fix SystemStackError occurring with &amp;#8220;gem list -r -a&amp;#8221; on 1.9.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.8.5 Released</title>
   <link href="http://blog.rubygems.org/2011/05/31/1.8.5-released.html"/>
   <updated>2011-05-31T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2011/05/31/1.8.5-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;2 minor enhancement:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The -u option to &amp;#8216;update local source cache&amp;#8217; is official deprecated.&lt;/li&gt;

&lt;li&gt;Remove has_rdoc deprecations from Specification.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;2 bug fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Handle bad specs more gracefully.&lt;/li&gt;

&lt;li&gt;Reset any Gem paths changed in the installer.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.8.4 Released</title>
   <link href="http://blog.rubygems.org/2011/05/25/1.8.4-released.html"/>
   <updated>2011-05-25T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2011/05/25/1.8.4-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;1 minor enhancement:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Removed default_executable deprecations from Specification.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.8.3 Released</title>
   <link href="http://blog.rubygems.org/2011/05/19/1.8.3-released.html"/>
   <updated>2011-05-19T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2011/05/19/1.8.3-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;4 bug fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix independent testing of test_gem_package_tar_output. Ruby Bug #4686 by Shota Fukumori&lt;/li&gt;

&lt;li&gt;Fix test failures for systems with separate ruby versions. Ruby Bug #3808 by Jeremy Evans&lt;/li&gt;

&lt;li&gt;Fixed some bad calls left behind after rolling out some refactorings.&lt;/li&gt;

&lt;li&gt;Syck has a parse error on (good) times output from Psych. (dazuma, et al)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.8.2 Released</title>
   <link href="http://blog.rubygems.org/2011/05/11/1.8.2-released.html"/>
   <updated>2011-05-11T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2011/05/11/1.8.2-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;2 minor enhancements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Moved #outdated from OutdatedCommand to Specification (for Isolate).&lt;/li&gt;

&lt;li&gt;Print out a warning about missing executables.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;3 bug fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added missing requires to fix various upgrade issues.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem pristine&lt;/code&gt; respects multiple gem repositories.&lt;/li&gt;

&lt;li&gt;setup.rb now execs with &amp;#8211;disable-gems when possible&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.8.1 Released</title>
   <link href="http://blog.rubygems.org/2011/05/05/1.8.1-released.html"/>
   <updated>2011-05-05T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2011/05/05/1.8.1-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;1 minor enhancement:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added Gem::Requirement#specific? and Gem::Dependency#specific?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;4 bug fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Typo on Indexer rendered it useless on Windows&lt;/li&gt;

&lt;li&gt;gem dep can fetch remote dependencies for non-latest gems again.&lt;/li&gt;

&lt;li&gt;gem uninstall with multiple versions no longer crashes with ArgumentError&lt;/li&gt;

&lt;li&gt;Always use binary mode for File.open to keep Windows happy&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.8.0 Released</title>
   <link href="http://blog.rubygems.org/2011/05/01/1.8.0-released.html"/>
   <updated>2011-05-01T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2011/05/01/1.8.0-released</id>
   <content type="html">&lt;p&gt;This release focused on properly encapsulating functionality. Most of this work focused on moving functionality out of Gem::SourceIndex and Gem::GemPathSearcher into Gem::Specification where it belongs.&lt;/p&gt;

&lt;p&gt;After installing RubyGems 1.8.0 you will see deprecations when loading your exsting gems. Run &lt;code&gt;gem pristine --all --no-extensions&lt;/code&gt; to regenerate your gem specifications safely.&lt;/p&gt;

&lt;p&gt;Currently RubyGems does not save the build arguments used to build gems with extensions. You will need to run &lt;code&gt;gem pristine gem_with_extension --
--build-arg&lt;/code&gt; to regenerate a gem with an extension where it requires special build arguments.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;24(+) Deprecations (WOOT!):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DependencyList.from_source_index deprecated the source_index argument.&lt;/li&gt;

&lt;li&gt;Deprecated Dependency.new(/regex/).&lt;/li&gt;

&lt;li&gt;Deprecated Gem.searcher.&lt;/li&gt;

&lt;li&gt;Deprecated Gem.source_index and Gem.available?&lt;/li&gt;

&lt;li&gt;Deprecated Gem: activate_dep, activate_spec, activate, report_activate_error, and required_location.&lt;/li&gt;

&lt;li&gt;Deprecated Gem::all_partials&lt;/li&gt;

&lt;li&gt;Deprecated Gem::cache_dir&lt;/li&gt;

&lt;li&gt;Deprecated Gem::cache_gem&lt;/li&gt;

&lt;li&gt;Deprecated Gem::default_system_source_cache_dir&lt;/li&gt;

&lt;li&gt;Deprecated Gem::default_user_source_cache_dir&lt;/li&gt;

&lt;li&gt;Deprecated Platform#empty?&lt;/li&gt;

&lt;li&gt;Deprecated Specification.cache_gem&lt;/li&gt;

&lt;li&gt;Deprecated Specification.installation_path&lt;/li&gt;

&lt;li&gt;Deprecated Specification.loaded, loaded?, and loaded=&lt;/li&gt;

&lt;li&gt;Deprecated all of Gem::SourceIndex.&lt;/li&gt;

&lt;li&gt;Deprecated all of Gem::GemPathSearcher.&lt;/li&gt;

&lt;li&gt;Deprecated Gem::Specification#default_executable.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;2 major enhancements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gem::SourceIndex functionality has been moved to Gem::Specification. Gem::SourceIndex is completely disconnected from Gem::Specification&lt;/li&gt;

&lt;li&gt;Refactored GemPathSearcher entirely out. RIPMF&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;41 minor enhancements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added CommandManager#unregister_command&lt;/li&gt;

&lt;li&gt;Added Dependency#matching_specs + to_specs.&lt;/li&gt;

&lt;li&gt;Added Dependency#to_spec&lt;/li&gt;

&lt;li&gt;Added Gem.pre_reset_hook/s and post_reset_hook/s.&lt;/li&gt;

&lt;li&gt;Added GemCommand.reset to reinitialize the singleton&lt;/li&gt;

&lt;li&gt;Added Specification#activate.&lt;/li&gt;

&lt;li&gt;Added Specification#activated, activated=, and activated?&lt;/li&gt;

&lt;li&gt;Added Specification#base_dir.&lt;/li&gt;

&lt;li&gt;Added Specification#bin_dir and bin_file.&lt;/li&gt;

&lt;li&gt;Added Specification#cache_dir and cache_file. Aliased cache_gem.&lt;/li&gt;

&lt;li&gt;Added Specification#doc_dir and ri_dir.&lt;/li&gt;

&lt;li&gt;Added Specification#find(name_or_dep, *requirements).&lt;/li&gt;

&lt;li&gt;Added Specification#gem_dir and gems_dir.&lt;/li&gt;

&lt;li&gt;Added Specification#spec_dir and spec_file.&lt;/li&gt;

&lt;li&gt;Added Specification.add_spec, add_specs, and remove_spec.&lt;/li&gt;

&lt;li&gt;Added Specification.all=. If you use this, we will light you on fire.&lt;/li&gt;

&lt;li&gt;Added Specification.all_names.&lt;/li&gt;

&lt;li&gt;Added Specification.dirs and dirs=. dirs= resets.&lt;/li&gt;

&lt;li&gt;Added Specification.find_all_by_name(name, *reqs)&lt;/li&gt;

&lt;li&gt;Added Specification.latest_specs. SO TINY!&lt;/li&gt;

&lt;li&gt;Added TestCase#all_spec_names to help clean up tests&lt;/li&gt;

&lt;li&gt;Added TestCase#assert_path_exists and refute_path_exists. Will move to minitest.&lt;/li&gt;

&lt;li&gt;Gem.sources no longer tries to load sources gem. Only uses default_sources.&lt;/li&gt;

&lt;li&gt;Installer no longer accepts a source_index option.&lt;/li&gt;

&lt;li&gt;More low-level integration.&lt;/li&gt;

&lt;li&gt;Removed Gem::FileOperations since it is a dummy class&lt;/li&gt;

&lt;li&gt;Removed a comment because I am dumb&lt;/li&gt;

&lt;li&gt;Removed pkgs/sources/lib/sources.rb&lt;/li&gt;

&lt;li&gt;Revamped indexer to mostly not use SourceIndex (legacy index requires it).&lt;/li&gt;

&lt;li&gt;Rewrote our last functional test suite to be happy and fast&lt;/li&gt;

&lt;li&gt;RubyGems is now under the Ruby License or the MIT license&lt;/li&gt;

&lt;li&gt;Specification#== now only checks name, version, and platform.&lt;/li&gt;

&lt;li&gt;Specification#authors= now forcefully flattens contents (bad rspec! no cookie!)&lt;/li&gt;

&lt;li&gt;Specification#eql? checks all fields.&lt;/li&gt;

&lt;li&gt;Specification#installation_path no longer raises if it hasn&amp;#8217;t been activated.&lt;/li&gt;

&lt;li&gt;Specification#validate now ensures that authors is not empty.&lt;/li&gt;

&lt;li&gt;TestCase.util_setup_spec_fetcher no longer returns a SourceIndex.&lt;/li&gt;

&lt;li&gt;Uninstaller no longer passes around SourceIndex instances&lt;/li&gt;

&lt;li&gt;Warn on loading bad spec array values (ntlm-http gem has nil in its cert chain)&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem pristine&lt;/code&gt; now accepts &amp;#8211;no-executables to skip restoring gems with extensions.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem pristine&lt;/code&gt; can now restore multiple gems.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;6 bug fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DependencyInstaller passed around a source_index instance but used Gem.source_index.&lt;/li&gt;

&lt;li&gt;Fixed Platform#== and #hash so instances may be used as hash keys.&lt;/li&gt;

&lt;li&gt;Fixed broken Specification#original_platform. It should never be nil.&lt;/li&gt;

&lt;li&gt;Gem::Text#format_text now strips trailing whitespace&lt;/li&gt;

&lt;li&gt;Normalize LOAD_PATH with File.expand_path&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem build&lt;/code&gt; errors should exit 1.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem pristine&lt;/code&gt; can now restore non-latest gems where the cached gem was removed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.7.1 Released</title>
   <link href="http://blog.rubygems.org/2011/03/28/1.7.1-released.html"/>
   <updated>2011-03-28T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2011/03/28/1.7.1-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;1 bug fix: * Fixed missing file in Manifest.txt. (Also a bug in hoe was fixed where &lt;code&gt;rake check_manifest&lt;/code&gt; showing a diff would not exit with an error.)&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.7.0 Released</title>
   <link href="http://blog.rubygems.org/2011/03/28/1.7.0-released.html"/>
   <updated>2011-03-28T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2011/03/28/1.7.0-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;16 Deprecations (woot!) * Deprecated Gem.all_load_paths, latest_load_paths, promote_load_path, and cache.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deprecated RemoteFetcher#open_uri_or_path.&lt;/li&gt;

&lt;li&gt;Deprecated SourceIndex#all_gems.&lt;/li&gt;

&lt;li&gt;Deprecated SourceIndex#initialize(hash_of_specs).&lt;/li&gt;

&lt;li&gt;Deprecated SourceIndex.from_installed_gems, from_gems_in, and load_specification.&lt;/li&gt;

&lt;li&gt;Deprecated Specification#has_rdoc, default_executable, and test_suite_file(=).&lt;/li&gt;

&lt;li&gt;Deprecated Specification#has_rdoc= and default_executable=&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;26 minor enhancements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added stupid simple deprecation module.&lt;/li&gt;

&lt;li&gt;Added &amp;#8211;spec option to &lt;code&gt;gem unpack&lt;/code&gt; to output a gem&amp;#8217;s original metadata&lt;/li&gt;

&lt;li&gt;Added packaging option to Specification#validate&lt;/li&gt;

&lt;li&gt;Gem.bin_path requires the exec_name argument.&lt;/li&gt;

&lt;li&gt;Read from cached specs if fetch fails for some reason&lt;/li&gt;

&lt;li&gt;Refactored Specification#assign_defaults into #initialize.&lt;/li&gt;

&lt;li&gt;RemoteFetcher#fetch_path now dispatches dynamically to &amp;#8216;fetch_[uri.schema]&amp;#8217;&lt;/li&gt;

&lt;li&gt;Removed Specification @@gather.&lt;/li&gt;

&lt;li&gt;Removed Specification.attribute.&lt;/li&gt;

&lt;li&gt;Removed Specification.attribute_alias_singular.&lt;/li&gt;

&lt;li&gt;Removed Specification.attribute_defaults.&lt;/li&gt;

&lt;li&gt;Removed Specification.attributes&lt;/li&gt;

&lt;li&gt;Removed Specification.overwrite_accessor.&lt;/li&gt;

&lt;li&gt;Removed Specification.read_only.&lt;/li&gt;

&lt;li&gt;Removed Specification.required_attribute.&lt;/li&gt;

&lt;li&gt;Removed Specification::SPECIFICATION_VERSION_HISTORY and turned into rdoc&lt;/li&gt;

&lt;li&gt;Removed blanket rescue in default_executable. Hope it doesn&amp;#8217;t blow up! :P&lt;/li&gt;

&lt;li&gt;Removed nearly all metaprogramming from Specification. Yay for attr_accessor!&lt;/li&gt;

&lt;li&gt;SourceIndex#initialize changed to prefer an array of spec dirs, defaulting to none.&lt;/li&gt;

&lt;li&gt;SourceIndex.new is now the preferred way to create SourceIndex instances. &lt;em&gt;gasp&lt;/em&gt;&lt;/li&gt;

&lt;li&gt;Specification#validate now checks that array attribs are indeed arrays.&lt;/li&gt;

&lt;li&gt;Specification.default_value is now an instance method.&lt;/li&gt;

&lt;li&gt;Switched Specification::TODAY to be proper midnight @ UTC&lt;/li&gt;

&lt;li&gt;Update Gem::RemoteFetcher&amp;#39;s User-Agent to handle RUBY_ENGINE and RUBY_REVISION when patchlevel is -1&lt;/li&gt;

&lt;li&gt;UpdateCommand#gems_to_update now returns (name, version) pairs.&lt;/li&gt;

&lt;li&gt;UpdateCommand#which_to_update now takes an optional system argument.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;11 bug fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added missing remote fetcher require to pristine command (aarnell)&lt;/li&gt;

&lt;li&gt;Building gems now checks to ensure all required fields are non-nil&lt;/li&gt;

&lt;li&gt;Fix option parser when summary is nil.&lt;/li&gt;

&lt;li&gt;Fixed &lt;code&gt;gem contents&lt;/code&gt; to work with the lightweight specifications&lt;/li&gt;

&lt;li&gt;Fixed &lt;code&gt;gem update --system x.y.z&lt;/code&gt; where x.y.z == latest version. (MGPalmer)&lt;/li&gt;

&lt;li&gt;Fixed gem contents sorting and tests. (MGPalmer)&lt;/li&gt;

&lt;li&gt;Fixed intermittant problem in &lt;code&gt;gem fetch&lt;/code&gt; with &amp;#8211;platform specified (quix)&lt;/li&gt;

&lt;li&gt;Fixed lightweight specifications so &lt;code&gt;gem rdoc&lt;/code&gt; will generate proper documentation&lt;/li&gt;

&lt;li&gt;MockGemUI#terminate_interaction should not raise Gem::SystemExitException. (MGPalmer)&lt;/li&gt;

&lt;li&gt;RubyGems now raises a better error for broken .gem files. Bug #29067 by Elias Baixas&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem update&lt;/code&gt; now uniq&amp;#8217;s command line arguments.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.6.2 Released</title>
   <link href="http://blog.rubygems.org/2011/03/08/1.6.2-released.html"/>
   <updated>2011-03-08T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2011/03/08/1.6.2-released</id>
   <content type="html">&lt;p&gt;Bug Fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;require of an activated gem could cause activation conflicts. Fixes Bug #29056 by Dave Verwer.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem outdated&lt;/code&gt; now works with up-to-date prerelease gems.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.6.1 Released</title>
   <link href="http://blog.rubygems.org/2011/03/03/1.6.1-released.html"/>
   <updated>2011-03-03T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2011/03/03/1.6.1-released</id>
   <content type="html">&lt;p&gt;Bug Fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Installation no longer fails when a dependency from a version that won&amp;#8217;t be installed is unsatisfied.&lt;/li&gt;

&lt;li&gt;README.rdoc now shows how to file tickets and get help. Pull Request #40 by Aaron Patterson.&lt;/li&gt;

&lt;li&gt;Gem files are cached correctly again. Patch #29051 by Mamoru Tasaka.&lt;/li&gt;

&lt;li&gt;Tests now pass with non-022 umask. Patch #29050 by Mamoru Tasaka.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.6.0 Released</title>
   <link href="http://blog.rubygems.org/2011/03/01/1.6.0-released.html"/>
   <updated>2011-03-01T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2011/03/01/1.6.0-released</id>
   <content type="html">&lt;p&gt;4 Deprecations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RubyGems no longer requires &amp;#8216;thread&amp;#8217;. Rails &amp;lt; 3 will need to add require &amp;#8216;thread&amp;#8217; to their applications.&lt;/li&gt;

&lt;li&gt;Gem.cache is deprecated. Use Gem.source_index.&lt;/li&gt;

&lt;li&gt;RbConfig.datadir is deprecated. Use Gem.datadir.&lt;/li&gt;

&lt;li&gt;Gem::LoadError#version_requirements has been removed. Use Gem::LoadError#requirement.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2 Major Enhancements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Rewrote how Gem::activate (gem and require) resolves dependencies.&lt;/li&gt;

&lt;li&gt;Gem::LoadError#version_requirement has been removed. Use Gem::LoadError#requirement.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;17 Minor Enhancments:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added &amp;#8211;key to &lt;code&gt;gem push&lt;/code&gt; for setting alternate API keys.&lt;/li&gt;

&lt;li&gt;Added &amp;#8211;format-executable support to gem uninstall.&lt;/li&gt;

&lt;li&gt;Added Gem::DependencyList#clear.&lt;/li&gt;

&lt;li&gt;Added Gem::DependencyList#remove_specs_unsatisfied_by&lt;/li&gt;

&lt;li&gt;Added Gem.latest_spec_for, latest_version_for, and latest_rubygems_version.&lt;/li&gt;

&lt;li&gt;Added Gem::Dependency#merge which merges requirements for two dependencies.&lt;/li&gt;

&lt;li&gt;Added Gem::TestCase#util_spec for faster tests.&lt;/li&gt;

&lt;li&gt;Added Gem::Specification#dependent_specs.&lt;/li&gt;

&lt;li&gt;Added Gem::TestCase#new_spec and Gem::TestCase#install_specs.&lt;/li&gt;

&lt;li&gt;Added flag to include prerelease gems in Gem::SourceIndex#latest_specs.&lt;/li&gt;

&lt;li&gt;Gem.cache_dir always references the proper cache dir. Pass true to support a user path.&lt;/li&gt;

&lt;li&gt;Gem.cache_gem, given a filename always references the cache gem. Pass true to support a user path.&lt;/li&gt;

&lt;li&gt;Added Gem::Specification#conflicts&lt;/li&gt;

&lt;li&gt;Removed rdoc gem/require from test_case.rb.&lt;/li&gt;

&lt;li&gt;Rubygems will no longer let you push if you&amp;#8217;re using beta or unreleased rubygems.&lt;/li&gt;

&lt;li&gt;Save RAM / GC churn by removing spec.files and rdoc options from locally cached gem specifications.&lt;/li&gt;

&lt;li&gt;SpecFetcher.fetch_spec can now take a string source_uri.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;10 Bug Fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added missing require of Gem::RemoteFetcher to the unpack command.&lt;/li&gt;

&lt;li&gt;RubyGems now completely removes a previous install when reinstalling.&lt;/li&gt;

&lt;li&gt;Fixed Gem::Installer#generate_bin to only chmod files that exist.&lt;/li&gt;

&lt;li&gt;Fixed handling of Windows style file:/// uris.&lt;/li&gt;

&lt;li&gt;Fixed requires in tests. (shota)&lt;/li&gt;

&lt;li&gt;Fixed script generation on Windows.&lt;/li&gt;

&lt;li&gt;Fixed test issues if you have older rubygems installed.&lt;/li&gt;

&lt;li&gt;Gem::DependencyInstaller tests use Gem::Security, add the missing require.&lt;/li&gt;

&lt;li&gt;Gem::Security used FileUtils but didn&amp;#8217;t require it. Reported by Elia Schito.&lt;/li&gt;

&lt;li&gt;Gem::Uninstaller now respects &amp;#8211;format-executable.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.5.3 Released</title>
   <link href="http://blog.rubygems.org/2011/02/26/1.5.3-released.html"/>
   <updated>2011-02-26T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2011/02/26/1.5.3-released</id>
   <content type="html">&lt;p&gt;Bug Fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix for a bug in Syck which causes install failures for gems packaged with Psych. Bug #28965 by Aaron Patterson.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.5.2 Released</title>
   <link href="http://blog.rubygems.org/2011/02/10/1.5.2-released.html"/>
   <updated>2011-02-10T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2011/02/10/1.5.2-released</id>
   <content type="html">&lt;p&gt;Bug Fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed &lt;tt&gt;gem update --system&lt;/tt&gt;. RubyGems can now update itself again.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.5.1 Released</title>
   <link href="http://blog.rubygems.org/2011/02/09/1.5.1-released.html"/>
   <updated>2011-02-09T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2011/02/09/1.5.1-released</id>
   <content type="html">&lt;h4 id='note__is_broken_see_upgradingrdoc'&gt;NOTE: &lt;code&gt;gem update --system&lt;/code&gt; is broken. See UPGRADING.rdoc.&lt;/h4&gt;

&lt;p&gt;Minor Enhancement:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added ability to do gem update &amp;#8211;system X.Y.Z.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bug Fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scrub !!null YAML from 1.9.2 (install and build).&lt;/li&gt;

&lt;li&gt;Added missing requires for user_interaction.&lt;/li&gt;

&lt;li&gt;Wrote option processing tests for gem update.&lt;/li&gt;

&lt;li&gt;Updated upgrading doco for new gem update &amp;#8211;system option.&lt;/li&gt;

&lt;li&gt;Fixed SilentUI for cygwin; try /dev/null first then fall back to NUL.&lt;/li&gt;

&lt;li&gt;RubyGems now enforces ruby 1.8.7 or newer.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.5.0 Released</title>
   <link href="http://blog.rubygems.org/2011/01/31/1.5.0-released.html"/>
   <updated>2011-01-31T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2011/01/31/1.5.0-released</id>
   <content type="html">&lt;h4 id='note__is_broken_see_upgradingrdoc'&gt;NOTE: &lt;code&gt;gem update --system&lt;/code&gt; is broken. See UPGRADING.rdoc.&lt;/h4&gt;

&lt;p&gt;Major Enhancements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Finally fixed all known 1.9.x issues. Upgrading is now possible!&lt;/li&gt;

&lt;li&gt;Merged huge 1.3.7/ruby-core changes to master.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Minor Enhancements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added UPGRADING.rdoc to help deal with 1.9 issues.&lt;/li&gt;

&lt;li&gt;Gem::Format now gives better errors for corrupt gem files and includes paths&lt;/li&gt;

&lt;li&gt;Pre-install hooks can now abort gem installation by returning false&lt;/li&gt;

&lt;li&gt;Move shareable TestCase classes to lib/ to help plugin authors with tests.&lt;/li&gt;

&lt;li&gt;Add post-build hooks that can cancel the gem install&lt;/li&gt;

&lt;li&gt;Always require custom_require now that require_gem is gone&lt;/li&gt;

&lt;li&gt;Added GemInstaller accessors for @options so plugins can reference them.&lt;/li&gt;

&lt;li&gt;Optimized Gem.find_files. ~10% faster than 1.4.2. ~40% faster than ruby 1.9.&lt;/li&gt;

&lt;li&gt;Gem::SilentUI now behaves like Gem::StreamUI for asking questions. Patch by Erik Hollensbe.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bug Fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;gem update&lt;/code&gt; was implicitly doing &amp;#8211;system.&lt;/li&gt;

&lt;li&gt;
&lt;li&gt;
&lt;li&gt;3: Fixed encoding errors causing gem installs to die during rdoc phase.&lt;/li&gt;
&lt;/li&gt;
&lt;/li&gt;

&lt;li&gt;Add RubyForge URL to README. Closes #28825&lt;/li&gt;

&lt;li&gt;
&lt;li&gt;
&lt;li&gt;3: Use chdir {} when building extensions to prevent warnings. Fixes #4337&lt;/li&gt;
&lt;/li&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;li&gt;
&lt;li&gt;2: Fix circular require warning.&lt;/li&gt;
&lt;/li&gt;
&lt;/li&gt;

&lt;li&gt;Make requiring openssl even lazier at request of NaHi&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem unpack&lt;/code&gt; will now download the gem if it is not in the cache. Patch by Erik Hollensbe.&lt;/li&gt;

&lt;li&gt;rubygems-update lists its development dependencies again&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.4.2 Released</title>
   <link href="http://blog.rubygems.org/2011/01/06/1.4.2-released.html"/>
   <updated>2011-01-06T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2011/01/06/1.4.2-released</id>
   <content type="html">&lt;p&gt;Bug fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gem::Versions: &amp;#8220;1.b1&amp;#8221; != &amp;#8220;1.b.1&amp;#8221;, but &amp;#8220;1.b1&amp;#8221; eql? &amp;#8220;1.b.1&amp;#8221;. Fixes gem indexing.&lt;/li&gt;

&lt;li&gt;Fixed Gem.find_files.&lt;/li&gt;

&lt;li&gt;Removed otherwise unused #find_all_dot_rb. Only 6 days old and hella buggy.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.4.1 Released</title>
   <link href="http://blog.rubygems.org/2010/12/31/1.4.1-released.html"/>
   <updated>2010-12-31T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2010/12/31/1.4.1-released</id>
   <content type="html">&lt;p&gt;Since apparently nobody reads my emails, blog posts or the README:&lt;/p&gt;

&lt;p&gt;DO NOT UPDATE RUBYGEMS ON RUBY 1.9! See UPGRADING.rdoc for details.&lt;/p&gt;

&lt;p&gt;Bug fix:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Specification#load was untainting a frozen string (via &lt;code&gt;gem build *.spec&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.4.0 Released</title>
   <link href="http://blog.rubygems.org/2010/12/30/1.4.0-released.html"/>
   <updated>2010-12-30T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2010/12/30/1.4.0-released</id>
   <content type="html">&lt;p&gt;NOTE: In order to better maintain rubygems and to get it in sync with the world (eg, 1.9&amp;#8217;s 1.3.7 is different from our 1.3.7), rubygems is switching to a 4-6 week release schedule. This release is the precursor to that process and as such may be a bit on the wild side! You have been warned!&lt;/p&gt;

&lt;p&gt;NOTE: We&amp;#8217;ve switched to git/github. See README.rdoc for details.&lt;/p&gt;

&lt;p&gt;New features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added &amp;#8211;launch option to &lt;code&gt;gem server&lt;/code&gt;. (gthiesfeld)&lt;/li&gt;

&lt;li&gt;Added fuzzy name matching on install failures. (gstark/presidentbeef)&lt;/li&gt;

&lt;li&gt;Allow searching w/ file extensions: gem which fileutils.rb&lt;/li&gt;

&lt;li&gt;Progress indicator during download (Ryan Melton)&lt;/li&gt;

&lt;li&gt;Speed up Gem::Version#&amp;lt;=&amp;gt; by 2-3x in common cases. (raggi)&lt;/li&gt;

&lt;li&gt;&amp;#8211;source is now additive with your current sources. Use &amp;#8211;clear-sources first to maintain previous behavior.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bug fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dependency &amp;#8220;~&amp;gt;&amp;#8221;s now respect lower-bound prerelease versions.&lt;/li&gt;

&lt;li&gt;Ensure the gem directories exist on download.&lt;/li&gt;

&lt;li&gt;Expand Windows user home candidates for Ruby 1.8. Bug #28371 &amp;amp; #28494&lt;/li&gt;

&lt;li&gt;Fix find_files to order by version.&lt;/li&gt;

&lt;li&gt;Fix ivar typo. [Josh Peek]&lt;/li&gt;

&lt;li&gt;Normalized requires and made many of them lazy. Do not depend on rubygems to require stdlib stuff for you. (raggi/tmm1)&lt;/li&gt;

&lt;li&gt;Treat 1.0.a10 like 1.0.a.10 for sorting, etc. Fixes #27903. (dchelimsky)&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.3.7 Released</title>
   <link href="http://blog.rubygems.org/2010/05/13/1.3.7-released.html"/>
   <updated>2010-05-13T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2010/05/13/1.3.7-released</id>
   <content type="html">&lt;p&gt;NOTE:&lt;/p&gt;

&lt;p&gt;http://rubygems.org is now the default source for downloading gems.&lt;/p&gt;

&lt;p&gt;You may have sources set via ~/.gemrc, so you should replace http://gems.rubyforge.org with http://rubygems.org&lt;/p&gt;

&lt;p&gt;http://gems.rubyforge.org will continue to work for the forseeable future.&lt;/p&gt;

&lt;p&gt;New features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;gem&lt;/code&gt; commands * &lt;code&gt;gem install&lt;/code&gt; and &lt;code&gt;gem fetch&lt;/code&gt; now report alternate platforms when a matching one couldn&amp;#8217;t be found. * &lt;code&gt;gem contents&lt;/code&gt; &amp;#8211;prefix is now the default as specified in &amp;#8211;help. Bug #27211 by Mamoru Tasaka.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;gem fetch&lt;/code&gt; can fetch of old versions again. Bug #27960 by Eric Hankins.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem query&lt;/code&gt; and friends output now lists platforms. Bug #27856 by Greg Hazel.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem server&lt;/code&gt; now allows specification of multiple gem dirs for documentation. Bug #27573 by Yuki Sonoda.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem unpack&lt;/code&gt; can unpack gems again. Bug #27872 by Timothy Jones.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem unpack&lt;/code&gt; now unpacks remote gems.&lt;/li&gt;

&lt;li&gt;&amp;#8211;user-install is no longer the default. If you really liked it, see Gem::ConfigFile to learn how to set it by default. (This change was made in 1.3.6)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;RubyGems now has platform support for IronRuby. Patch #27951 by Will Green.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bug fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Require rubygems/custom_require if &amp;#8211;disable-gem was set. Bug #27700 by Roger Pack.&lt;/li&gt;

&lt;li&gt;RubyGems now protects against exceptions being raised by plugins.&lt;/li&gt;

&lt;li&gt;rubygems/builder now requires user_interaction. Ruby Bug #1040 by Phillip Toland.&lt;/li&gt;

&lt;li&gt;Gem::Dependency support #version_requirements= with a warning. Fix for old Rails versions. Bug #27868 by Wei Jen Lu.&lt;/li&gt;

&lt;li&gt;Gem::PackageTask depends on the package dir like the other rake package tasks so dependencies can be hooked up correctly.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.3.6 Released</title>
   <link href="http://blog.rubygems.org/2010/02/17/1.3.6-released.html"/>
   <updated>2010-02-17T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2010/02/17/1.3.6-released</id>
   <content type="html">&lt;p&gt;New features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;gem&lt;/code&gt; commands * Added &lt;code&gt;gem push&lt;/code&gt; and &lt;code&gt;gem owner&lt;/code&gt; for interacting with modern/Gemcutter sources&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;gem dep&lt;/code&gt; now supports &amp;#8211;prerelease.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem fetch&lt;/code&gt; now supports &amp;#8211;prerelease.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem server&lt;/code&gt; now supports &amp;#8211;bind. Patch #27357 by Bruno Michel.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem rdoc&lt;/code&gt; no longer overwrites built documentation. Use &amp;#8211;overwrite force rebuilding. Patch #25982 by Akinori MUSHA.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Captial letters are now allowed in prerelease versions.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bug fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Development deps are no longer added to rubygems-update gem so older versions can update sucessfully.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Installer bugs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Prerelease gems can now depend on non-prerelease gems.&lt;/li&gt;

&lt;li&gt;Development dependencies are ignored unless explicitly needed. Bug #27608 by Roger Pack.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;&lt;code&gt;gem&lt;/code&gt; commands * &lt;code&gt;gem which&lt;/code&gt; now fails if no paths were found. Adapted patch #27681 by Caio Chassot.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;gem server&lt;/code&gt; no longer has invalid markup. Bug #27045 by Eric Young.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem list&lt;/code&gt; and friends show both prerelease and regular gems when &amp;#8211;prerelease &amp;#8211;all is given&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Gem::Format no longer crashes on empty files. Bug #27292 by Ian Ragsdale.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Gem::GemPathSearcher handles nil require_paths. Patch #27334 by Roger Pack.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Gem::RemoteFetcher no longer copies the file if it is where we want it. Patch #27409 by Jakub Šťastný.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Deprecation Notices:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;lib/rubygems/timer.rb has been removed.&lt;/li&gt;

&lt;li&gt;Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010.&lt;/li&gt;

&lt;li&gt;Bulk index update is no longer supported.&lt;/li&gt;

&lt;li&gt;Gem::manage_gems was removed in 1.3.3.&lt;/li&gt;

&lt;li&gt;Time::today was removed in 1.3.3.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.3.5 Released</title>
   <link href="http://blog.rubygems.org/2009/07/21/1.3.5-released.html"/>
   <updated>2009-07-21T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2009/07/21/1.3.5-released</id>
   <content type="html">&lt;p&gt;Bug fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix use of prerelease gems.&lt;/li&gt;

&lt;li&gt;Gem.bin_path no longer escapes path with spaces. Bug #25935 and #26458.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Deprecation Notices:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bulk index update is no longer supported (the code currently remains, but not the tests)&lt;/li&gt;

&lt;li&gt;Gem::manage_gems was removed in 1.3.3.&lt;/li&gt;

&lt;li&gt;Time::today was removed in 1.3.3.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.3.3 Released</title>
   <link href="http://blog.rubygems.org/2009/05/04/1.3.3-released.html"/>
   <updated>2009-05-04T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2009/05/04/1.3.3-released</id>
   <content type="html">&lt;p&gt;New Features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;gem server&lt;/code&gt; allows port names (from /etc/services) with &amp;#8211;port.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem server&lt;/code&gt; now has search that jumps to RDoc. Patch #22959 by Vladimir Dobriakov.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem spec&lt;/code&gt; can retrieve single fields from a spec (like &lt;code&gt;gem spec rake
authors&lt;/code&gt;).&lt;/li&gt;

&lt;li&gt;Gem::Specification#has_rdoc= is deprecated and ignored (defaults to true)&lt;/li&gt;

&lt;li&gt;RDoc is now generated regardless of Gem::Specification#has_rdoc?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bug Fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;gem clean&lt;/code&gt; now cleans up &amp;#8211;user-install gems. Bug #25516 by Brett Eisenberg.&lt;/li&gt;

&lt;li&gt;Gem.bin_path now escapes paths with spaces.&lt;/li&gt;

&lt;li&gt;Rake extension builder uses explicit correctly loads rubygems when invoking rake.&lt;/li&gt;

&lt;li&gt;Prerelease versions now match &amp;#8220;~&amp;gt;&amp;#8221; correctly. Patch #25759 by Yossef Mendelssohn.&lt;/li&gt;

&lt;li&gt;Check bindir for executables, not root when validating. Bug reported by David Chelimsky.&lt;/li&gt;

&lt;li&gt;Remove Time.today, no way to override it before RubyGems loads. Bug #25564 by Emanuele Vicentini&lt;/li&gt;

&lt;li&gt;Raise Gem::Exception for #installation_path when not installed. Bug #25741 by Daniel Berger.&lt;/li&gt;

&lt;li&gt;Don&amp;#8217;t raise in Gem::Specification#validate when homepage is nil. Bug #25677 by Mike Burrows.&lt;/li&gt;

&lt;li&gt;Uninstall executables from the correct directory. Bug #25555 by Brett Eisenberg.&lt;/li&gt;

&lt;li&gt;Raise Gem::LoadError if Kernel#gem fails due to previously-loaded gem. Bug reported by Alf Mikula.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Deprecation Notices:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gem::manage_gems has been removed.&lt;/li&gt;

&lt;li&gt;Time::today has been removed early. There was no way to make it warn and be easy to override with user code.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.3.4 Released</title>
   <link href="http://blog.rubygems.org/2009/05/03/1.3.4-released.html"/>
   <updated>2009-05-03T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2009/05/03/1.3.4-released</id>
   <content type="html">&lt;p&gt;Bug Fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed various warnings&lt;/li&gt;

&lt;li&gt;Gem::ruby_version works correctly for 1.8 branch and trunk&lt;/li&gt;

&lt;li&gt;Prerelease gems now show up in &lt;code&gt;gem list&lt;/code&gt; and can be used&lt;/li&gt;

&lt;li&gt;Fixed option name for &lt;code&gt;gem setup --format-executable&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;RubyGems now matches Ruby &amp;gt; 1.9.1 gem paths&lt;/li&gt;

&lt;li&gt;Gem::RemoteFetcher#download now works for explicit Windows paths across drives. Bug #25882 by Lars Christensen&lt;/li&gt;

&lt;li&gt;Fix typo in Gem::Requirement#parse. Bug #26000 by Mike Gunderloy.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Deprecation Notices:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bulk index update is no longer supported (the code currently remains, but not the tests)&lt;/li&gt;

&lt;li&gt;Gem::manage_gems was removed in 1.3.3.&lt;/li&gt;

&lt;li&gt;Time::today was removed in 1.3.3.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.3.2 Released</title>
   <link href="http://blog.rubygems.org/2009/04/15/1.3.2-released.html"/>
   <updated>2009-04-15T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2009/04/15/1.3.2-released</id>
   <content type="html">&lt;p&gt;Select New Features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;RubyGems now loads plugins from rubygems_plugin.rb in installed gems. This can be used to add commands (See Gem::CommandManager) or add install/uninstall hooks (See Gem::Installer and Gem::Uninstaller).&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Gem::Version now understands prerelease versions using letters. (eg. &amp;#8216;1.2.1.b&amp;#8217;) Thanks to Josh Susser, Alex Vollmer and Phil Hagelberg.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;RubyGems now includes a Rake task for creating gems which replaces rake&amp;#8217;s Rake::GemPackageTask. See Gem::PackageTask.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Gem::find_files now returns paths in $LOAD_PATH.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Added Gem::promote_load_path for use with Gem::find_files&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Added Gem::bin_path to make finding executables easier. Patch #24114 by James Tucker.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Various improvements to build arguments for installing gems.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;&lt;code&gt;gem contents&lt;/code&gt; added &amp;#8211;all and &amp;#8211;no-prefix.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Gem::Specification&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;validate strips directories and errors on not-files.&lt;/li&gt;

&lt;li&gt;description no longer removes newlines.&lt;/li&gt;

&lt;li&gt;name must be a String.&lt;/li&gt;

&lt;li&gt;FIXME and TODO are no longer allowed in various fields.&lt;/li&gt;

&lt;li&gt;Added support for a license attribute. Feature #11041 (partial).&lt;/li&gt;

&lt;li&gt;Removed Gem::Specification::list, too much process growth. Bug #23668 by Steve Purcell.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;&lt;code&gt;gem generate_index&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can now generate an RSS feed.&lt;/li&gt;

&lt;li&gt;Modern indicies can now be updated incrementally.&lt;/li&gt;

&lt;li&gt;Legacy indicies can be updated separately from modern.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Select Bugs Fixed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Better gem activation error message. Patch #23082.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Kernel methods are now private. Patch #20801 by James M. Lawrence.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Fixed various usability issues with &lt;code&gt;gem check&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;&lt;code&gt;gem update&lt;/code&gt; now rescues InstallError and continues. Bug #19268 by Gabriel Wilkins.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Allow &amp;#8216;https&amp;#8217;, &amp;#8216;file&amp;#8217; as a valid schemes for &amp;#8211;source. Patch #22485.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;&lt;code&gt;gem install&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Now removes existing path before installing. Bug #22837.&lt;/li&gt;

&lt;li&gt;Uses Gem::bin_path in executable stubs to work around Kernel#load bug in 1.9.&lt;/li&gt;

&lt;li&gt;Correctly handle build args (after &amp;#8211;) via the API. Bug #23210.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;&amp;#8211;user-install&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;gem install --no-user-install&lt;/code&gt; now works. Patch #23573 by Alf Mikula.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem uninstall&lt;/code&gt; can now uninstall from ~/.gem. Bug #23760 by Roger Pack.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;setup.rb * Clarify RubyGems RDoc installation location. Bug #22656 by Gian Marco Gherardi.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Allow setup to run from read-only location. Patch #21862 by Luis Herrera.&lt;/li&gt;

&lt;li&gt;Fixed overwriting ruby executable when BASERUBY was not set. Bug #24958 by Michael Soulier.&lt;/li&gt;

&lt;li&gt;Ensure we&amp;#8217;re in a RubyGems dir when installing.&lt;/li&gt;

&lt;li&gt;Deal with extraneous quotation mark when autogenerating .bat file on MS Windows. Bug #22712.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Deprecation Notices:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gem::manage_gems has been removed.&lt;/li&gt;

&lt;li&gt;Time::today will be removed in RubyGems 1.4.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Special thanks to Chad Wooley for backwards compatibility testing and Luis Lavena and Daniel Berger for continuing windows support.&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>1.3.1 Released</title>
   <link href="http://blog.rubygems.org/2008/10/28/1.3.1-released.html"/>
   <updated>2008-10-28T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2008/10/28/1.3.1-released</id>
   <content type="html">&lt;p&gt;Bugs fixed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Disregard ownership of ~ under Windows while creating ~/.gem. Fixes issues related to no uid support under Windows.&lt;/li&gt;

&lt;li&gt;Fix requires for Gem::inflate, Gem::deflate, etc.&lt;/li&gt;

&lt;li&gt;Make Gem.dir respect :gemhome value from config. (Note: this feature may be removed since it is hard to implement on 1.9.)&lt;/li&gt;

&lt;li&gt;Kernel methods are now private. Patch #20801 by James M. Lawrence.&lt;/li&gt;

&lt;li&gt;Gem::location_of_caller now behaves on Windows. Patch by Daniel Berger.&lt;/li&gt;

&lt;li&gt;Silence PATH warning.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Deprecation Notices:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gem::manage_gems will be removed on or after March 2009.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.3.0 Released</title>
   <link href="http://blog.rubygems.org/2008/09/25/1.3.0-released.html"/>
   <updated>2008-09-25T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2008/09/25/1.3.0-released</id>
   <content type="html">&lt;p&gt;New features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RubyGems doesn&amp;#8217;t print LOCAL/REMOTE titles for &lt;code&gt;gem query&lt;/code&gt; and friends if stdout is not a TTY, except with &amp;#8211;both.&lt;/li&gt;

&lt;li&gt;Added Gem.find_files, allows a gem to discover features provided by other gems.&lt;/li&gt;

&lt;li&gt;Added pre/post (un)install hooks for packagers of RubyGems. (Not for gems themselves).&lt;/li&gt;

&lt;li&gt;RubyGems now installs gems into ~/.gem if GEM_HOME is not writable. Use &amp;#8211;no-user-install command-line switch to disable this behavior.&lt;/li&gt;

&lt;li&gt;Fetching specs for update now uses If-Modified-Since requests.&lt;/li&gt;

&lt;li&gt;RubyGems now updates the ri cache when the rdoc gem is installed and documentation is generated.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Deprecation Notices:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gem::manage_gems now warns when called. It will be removed on or after March 2009.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bugs Fixed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;RubyGems 1.3.0+ now updates when no previous rubygems-update is installed. Bug #20775 by Hemant Kumar.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;RubyGems now uses the regexp we already have for &lt;code&gt;gem list --installed&lt;/code&gt;. Bug&lt;/p&gt;

&lt;h1 id='20876_by_nick_hoffman'&gt;20876 by Nick Hoffman.&lt;/h1&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Platform is now forced to Gem::Platform::RUBY when nil or blank in the indexer. Fixes various uninstallable gems.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Handle EINVAL on seek. Based on patch in bug #20791 by Neil Wilson.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Fix HTTPS support. Patch #21072 by Alex Arnell.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;RubyGems now loads all cache files even if latest has been loaded. Bug&lt;/p&gt;

&lt;h1 id='20776_by_uwe_kubosch'&gt;20776 by Uwe Kubosch.&lt;/h1&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;RubyGems checks for support of development dependencies for #to_ruby. Bug&lt;/p&gt;

&lt;h1 id='20778_by_evan_weaver'&gt;20778 by Evan Weaver.&lt;/h1&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Now specifications from the future can be loaded.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Binary script uninstallation fixed. Bug #21234 by Neil Wilson.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Uninstallation with -i fixed. Bug #20812 by John Clayton.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Gem::Uninstaller#remove_all now calls Gem::Uninstaller#uninstall_gem so hooks get called. Bug #21242 by Neil Wilson.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Gem.ruby now properly escaped on windows. Fixes problem with extension compilation.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;&lt;code&gt;gem lock --strict&lt;/code&gt; works again. Patch #21814 by Sven Engelhardt.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Platform detection for Solaris was improved. Patch #21911 by Bob Remeika.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Other Changes Include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;gem help install&lt;/code&gt; now describes &lt;em&gt;version&lt;/em&gt; argument to executable stubs&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem help environment&lt;/code&gt; describes environment variables and ~/.gemrc and /etc/gemrc&lt;/li&gt;

&lt;li&gt;On-disk gemspecs are now read in UTF-8 and written with a UTF-8 magic comment&lt;/li&gt;

&lt;li&gt;Rakefile * If the SETUP_OPTIONS environment variable is set, pass its contents as arguments to setup.rb&lt;/li&gt;

&lt;li&gt;lib/rubygems/platform.rb * Remove deprecated constant warnings and really deprecate them. (WIN32, etc).&lt;/li&gt;

&lt;li&gt;lib/rubygems/remote_fetcher.rb * Now uses ~/.gem/cache if the cache dir in GEM_HOME is not writable.&lt;/li&gt;

&lt;li&gt;lib/rubygems/source_index.rb * Deprecate options to &amp;#8216;search&amp;#8217; other than Gem::Dependency instances and issue warning until November 2008.&lt;/li&gt;

&lt;li&gt;setup.rb * &amp;#8211;destdir folder structure now built using Pathname, so it works for Windows platforms.&lt;/li&gt;

&lt;li&gt;test/* * Fixes to run tests when under test/rubygems/. Patch by Yusuke ENDOH [ruby-core:17353].&lt;/li&gt;

&lt;li&gt;test/test_ext_configure_builder.rb * Locale-free patch by Yusuke Endoh [ruby-core:17444].&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.2.0 Released</title>
   <link href="http://blog.rubygems.org/2008/06/21/1.2.0-released.html"/>
   <updated>2008-06-21T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2008/06/21/1.2.0-released</id>
   <content type="html">&lt;p&gt;New features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;

&lt;li&gt;RubyGems now has runtime and development dependency types. Use &lt;code&gt;#add_development_dependency&lt;/code&gt; and &lt;code&gt;#add_runtime_dependency&lt;/code&gt;. All typeless dependencies are considered to be runtime dependencies.&lt;/li&gt;

&lt;li&gt;RubyGems will now require &lt;code&gt;rubygems/defaults/operating_system.rb&lt;/code&gt; and &lt;code&gt;rubygems/defaults/#{RBX_ENGINE}.rb&lt;/code&gt; 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.)&lt;/li&gt;

&lt;li&gt;/etc/gemrc (and windows equivalent) for global settings&lt;/li&gt;

&lt;li&gt;setup.rb now handles &amp;#8211;vendor and &amp;#8211;destdir for packagers&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem stale&lt;/code&gt; command that lists gems by last access time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bugs Fixed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;File modes from gems are now honored, patch #19737&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Marshal Gem::Specification objects from the future can now be loaded.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;A trailing / is now added to remote sources when missing, bug #20134&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Gems with legacy platforms will now be correctly uninstalled, patch #19877&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;&lt;code&gt;gem install --no-wrappers&lt;/code&gt; followed by &lt;code&gt;gem install --wrappers&lt;/code&gt; no longer overwrites executables&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;&lt;code&gt;gem pristine&lt;/code&gt; now forces reinstallation of gems, bug #20387&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;RubyGems gracefully handles ^C while loading .gemspec files from disk, bug&lt;/p&gt;

&lt;h1 id='20523'&gt;20523&lt;/h1&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Paths are expanded in more places, bug #19317, bug #19896&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Gem::DependencyInstaller resets installed gems every install, bug #19444&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Gem.default_path is now honored if GEM_PATH is not set, patch #19502&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Other Changes Include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;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&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem server&lt;/code&gt; * Now completely matches the output of &lt;code&gt;gem generate_index&lt;/code&gt; and has correct content types * Refreshes from source directories for every hit. The server will no longer need to be restarted after installing gems.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem query --details&lt;/code&gt; and friends now display author, homepage, rubyforge url and installed location&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem install&lt;/code&gt; without -i no longer reinstalls dependencies if they are in GEM_PATH but not in GEM_HOME&lt;/li&gt;

&lt;li&gt;Gem::RemoteFetcher now performs persistent connections for HEAD requests, bug #7973&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.1.1 Released</title>
   <link href="http://blog.rubygems.org/2008/04/11/1.1.1-released.html"/>
   <updated>2008-04-11T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2008/04/11/1.1.1-released</id>
   <content type="html">&lt;p&gt;Bugs Fixed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gem.prefix now returns non-nil only when RubyGems was installed outside sitelibdir or libdir.&lt;/li&gt;

&lt;li&gt;The &lt;code&gt;gem server&lt;/code&gt; gem list now correctly links to gem details.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem update --system&lt;/code&gt; now passes &amp;#8211;no-format-executable to setup.rb.&lt;/li&gt;

&lt;li&gt;Gem::SourceIndex#refresh! now works with multiple gem repositories.&lt;/li&gt;

&lt;li&gt;Downloaded gems now go into &amp;#8211;install-dir&amp;#8217;s cache directory.&lt;/li&gt;

&lt;li&gt;Various fixes to downloading gem metadata.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem install --force&lt;/code&gt; now ignores network errors too.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem pristine&lt;/code&gt; now rebuilds extensions.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem update --system&lt;/code&gt; now works on virgin Apple ruby.&lt;/li&gt;

&lt;li&gt;Gem::RemoteFetcher handles Errno::ECONNABORTED.&lt;/li&gt;

&lt;li&gt;Printing of release notes fixed.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.1.0 Released</title>
   <link href="http://blog.rubygems.org/2008/03/29/1.1.0-released.html"/>
   <updated>2008-03-29T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2008/03/29/1.1.0-released</id>
   <content type="html">&lt;p&gt;New features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RubyGems now uses persistent connections on index updates. Index updates are much faster now.&lt;/li&gt;

&lt;li&gt;RubyGems only updates from a latest index by default, cutting candidate gems for updates to roughly 1/4 (at present). Index updates are even faster still. * &lt;code&gt;gem list -r&lt;/code&gt; may only show the latest version of a gem, add &amp;#8211;all to see all gems.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem spec&lt;/code&gt; now extracts specifications from .gem files.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem query --installed&lt;/code&gt; to aid automation of checking for gems.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bugs Fixed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RubyGems works with both Config and RbConfig now.&lt;/li&gt;

&lt;li&gt;Executables are now cleaned upon uninstall.&lt;/li&gt;

&lt;li&gt;You can now uninstall from a particular directory.&lt;/li&gt;

&lt;li&gt;Updating from non-default sources fixed.&lt;/li&gt;

&lt;li&gt;Executable stubs now use ruby install name in shebang.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem unpack&lt;/code&gt; checks every directory in Gem.path now.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem install&lt;/code&gt; now exits with non-zero exit code when appropriate.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem update&lt;/code&gt; only updates gems that need updates.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem update&lt;/code&gt; doesn&amp;#8217;t force remote-only updates.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem update&lt;/code&gt; handles dependencies properly when updating.&lt;/li&gt;

&lt;li&gt;Gems are now loaded in Gem.path order.&lt;/li&gt;

&lt;li&gt;Gem stub scripts on windows now work outside Gem.bindir.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem sources -r&lt;/code&gt; now works without network access.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Other Changes Include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RubyGems now requires Ruby &amp;gt; 1.8.3.&lt;/li&gt;

&lt;li&gt;Release notes are now printed upon installation.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem env path&lt;/code&gt; now prints a usable path.&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem install&lt;/code&gt; reverts to local-only installation upon network error.&lt;/li&gt;

&lt;li&gt;Tar handling code refactoring and cleanup.&lt;/li&gt;

&lt;li&gt;Gem::DependencyInstaller&amp;#8217;s API has changed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a full list of changes to RubyGems, see the ChangeLog file.&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>1.0.1 Released</title>
   <link href="http://blog.rubygems.org/2007/12/20/1.0.1-released.html"/>
   <updated>2007-12-20T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2007/12/20/1.0.1-released</id>
   <content type="html">&lt;p&gt;Bugs Fixed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Installation on Ruby 1.8.3 through 1.8.5 fixed&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem build&lt;/code&gt; on 1.8.3 fixed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Other Changes Include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Since RubyGems 0.9.5, RubyGems is no longer supported on Ruby 1.8.2 or older, this is official in RubyGems 1.0.1.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>1.0.0 Released</title>
   <link href="http://blog.rubygems.org/2007/12/20/1.0.0-released.html"/>
   <updated>2007-12-20T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2007/12/20/1.0.0-released</id>
   <content type="html">&lt;p&gt;Major New Features Include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RubyGems warns about various problems with gemspecs during gem building&lt;/li&gt;

&lt;li&gt;More-consistent versioning for the RubyGems software&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Other Changes Include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fixed various bugs and problems with installing gems on Windows&lt;/li&gt;

&lt;li&gt;Fixed using &lt;code&gt;gem server&lt;/code&gt; for installing gems&lt;/li&gt;

&lt;li&gt;Various operations are even more verbose with &amp;#8211;verbose&lt;/li&gt;

&lt;li&gt;Built gems are now backwards compatible with 0.9.4&lt;/li&gt;

&lt;li&gt;Improved detection of RUBYOPT loading rubygems&lt;/li&gt;

&lt;li&gt;&lt;code&gt;ruby setup.rb&lt;/code&gt; now has a &amp;#8211;help option&lt;/li&gt;

&lt;li&gt;Gem::Specification#bindir is now respected on installation&lt;/li&gt;

&lt;li&gt;Executable stubs can now be installed to match ruby&amp;#8217;s name, so if ruby is installed as &amp;#8216;ruby18&amp;#8217;, foo_exec will be installed as &amp;#8216;foo_exec18&amp;#8217;&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem unpack&lt;/code&gt; can now unpack into a specific directory with &amp;#8211;target&lt;/li&gt;

&lt;li&gt;OpenSSL is no longer required by default&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Deprecations and Deletions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kernel#require_gem has been removed&lt;/li&gt;

&lt;li&gt;Executables without a shebang will not be wrapped in a future version, this may cause such executables to fail to operate on installation&lt;/li&gt;

&lt;li&gt;Gem::Platform constants other than RUBY and CURRENT have been removed&lt;/li&gt;

&lt;li&gt;Gem::RemoteInstaller was removed&lt;/li&gt;

&lt;li&gt;Gem::Specification#test_suite_file and #test_suite_file= are deprecated in favor of #test_file and #test_file=&lt;/li&gt;

&lt;li&gt;Gem::Specification#autorequire= has been deprecated&lt;/li&gt;

&lt;li&gt;Time::today will be removed in a future version&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>0.9.5 Released</title>
   <link href="http://blog.rubygems.org/2007/11/19/0.9.5-released.html"/>
   <updated>2007-11-19T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2007/11/19/0.9.5-released</id>
   <content type="html">&lt;p&gt;Major New Features Include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Platform support&lt;/li&gt;

&lt;li&gt;Automatic installation of platform gems&lt;/li&gt;

&lt;li&gt;New bandwidth and memory friendlier index file format&lt;/li&gt;

&lt;li&gt;&amp;#8220;Offline&amp;#8221; mode (&amp;#8211;no-update-sources)&lt;/li&gt;

&lt;li&gt;Bulk update threshold can be specified (-B, &amp;#8211;bulk-threshold)&lt;/li&gt;

&lt;li&gt;New &lt;code&gt;gem fetch&lt;/code&gt; command&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem&lt;/code&gt; now has &amp;#8220;really verbose&amp;#8221; output when you specify -v&lt;/li&gt;

&lt;li&gt;Improved stubs and &lt;code&gt;gem.bat&lt;/code&gt; on mswin, including better compatiblity with the One-Click Installer.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Other Changes Include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Time::today is deprecated and will be removed at a future date&lt;/li&gt;

&lt;li&gt;Gem::manage_gems is deprecated and will be removed at a future date&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem install --include-dependencies&lt;/code&gt; (-y) is now deprecated since it is the default, use &amp;#8211;ignore-dependencies to turn off automatic dependency installation&lt;/li&gt;

&lt;li&gt;Multi-version diamond dependencies only are installed once&lt;/li&gt;

&lt;li&gt;Processing a YAML bulk index update takes less memory&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem install -i&lt;/code&gt; makes sure all depenencies are installed&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem update --system&lt;/code&gt; reinstalls into the prefix it was originally installed in&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem update --system&lt;/code&gt; respects &amp;#8211;no-rdoc and &amp;#8211;no-ri flags&lt;/li&gt;

&lt;li&gt;HTTP basic authentication support for proxies&lt;/li&gt;

&lt;li&gt;Gem::Specification#platforms should no longer be a String, use Gem::Platform::CURRENT when building binary gems instead&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem env&lt;/code&gt; has more diagnostic information&lt;/li&gt;

&lt;li&gt;require &amp;#8216;rubygems&amp;#8217; loads less code&lt;/li&gt;

&lt;li&gt;sources.gem is gone, RubyGems now uses built-in defaults&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem install --source&lt;/code&gt; will no longer add &amp;#8211;source by default, use &lt;code&gt;gem
sources --add&lt;/code&gt; to make it a permanent extra source&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem query&lt;/code&gt; (list) no longer prints details by default&lt;/li&gt;

&lt;li&gt;Exact gem names are matched in various places&lt;/li&gt;

&lt;li&gt;mkrf extensions are now supported&lt;/li&gt;

&lt;li&gt;A gem can depend on a specific RubyGems version&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem_server&lt;/code&gt; is now &lt;code&gt;gem server&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gemlock&lt;/code&gt; is now &lt;code&gt;gem lock&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem_mirror&lt;/code&gt; is now &lt;code&gt;gem mirror&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gemwhich&lt;/code&gt; is now &lt;code&gt;gem which&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gemri&lt;/code&gt; is no longer included with RubyGems&lt;/li&gt;

&lt;li&gt;&lt;code&gt;index_gem_repository.rb&lt;/code&gt; is now &lt;code&gt;gem generate_index&lt;/code&gt;&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem&lt;/code&gt; performs more validation of parameters&lt;/li&gt;

&lt;li&gt;Custom rdoc styles are now supported&lt;/li&gt;

&lt;li&gt;Gem indexer no longer removes quick index during index creation&lt;/li&gt;

&lt;li&gt;Kernel#require only rescues a LoadError for the file being required now&lt;/li&gt;

&lt;li&gt;&lt;code&gt;gem dependencies&lt;/code&gt; can now display some information for remote gems&lt;/li&gt;

&lt;li&gt;Updating RubyGems now works with RUBYOPT=-rubygems&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Special thanks to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Daniel Berger&lt;/li&gt;

&lt;li&gt;Luis Lavena&lt;/li&gt;

&lt;li&gt;Tom Copeland&lt;/li&gt;

&lt;li&gt;Wilson Bilkovich&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>0.9.4 Released</title>
   <link href="http://blog.rubygems.org/2007/05/23/0.9.4-released.html"/>
   <updated>2007-05-23T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2007/05/23/0.9.4-released</id>
   <content type="html">&lt;p&gt;If you are experiencing problems with the source index (e.g. strange &amp;#8220;No Method&amp;#8221; errors), or problems with zlib (e.g. &amp;#8220;Buffer Error&amp;#8221; messsage), we recommend upgrading to RubyGems 0.9.4.&lt;/p&gt;

&lt;p&gt;Bug Fixes Include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Several people have been experiencing problems with no method errors on the source index cache. The source index cache is now a bit more self healing. Furthermore, if the source index cache is irreparable, then it is automatically dropped and reloaded.&lt;/li&gt;

&lt;li&gt;The source cache files may now be dropped with the &amp;#8220;gem sources &amp;#8211;clear-all&amp;#8221; command. (This command may require root is the system source cache is in a root protected area).&lt;/li&gt;

&lt;li&gt;Several sub-commands were accidently dropped from the &amp;#8220;gem&amp;#8221; command. These commands have been restored.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>0.9.3 Released</title>
   <link href="http://blog.rubygems.org/2007/05/10/0.9.3-released.html"/>
   <updated>2007-05-10T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2007/05/10/0.9.3-released</id>
   <content type="html">&lt;p&gt;Bug Fixes Include:&lt;/p&gt;

&lt;p&gt;The ZLib library on Windows will occasionally complains about a buffer error when unpacking gems. The Gems software has a workaround for that problem, but the workaround was only enabled for versions of ZLib 1.2.1 or earlier. We have received several reports of the error occuring with ZLib 1.2.3, so we have permanently enabled the work around on all versions.&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>0.9.2 Released</title>
   <link href="http://blog.rubygems.org/2007/02/05/0.9.2-released.html"/>
   <updated>2007-02-05T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2007/02/05/0.9.2-released</id>
   <content type="html">&lt;p&gt;Bug Fixes Include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &amp;#8220;unpack&amp;#8221; command now works properly.&lt;/li&gt;

&lt;li&gt;User name and password are now passed properly to the authenticating proxy when downloading gems.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>0.9.1 Released</title>
   <link href="http://blog.rubygems.org/2007/01/16/0.9.1-released.html"/>
   <updated>2007-01-16T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2007/01/16/0.9.1-released</id>
   <content type="html">&lt;p&gt;See ChangeLog&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>0.9.0 Released</title>
   <link href="http://blog.rubygems.org/2006/06/28/0.9.0-released.html"/>
   <updated>2006-06-28T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2006/06/28/0.9.0-released</id>
   <content type="html">&lt;p&gt;Finally, the much anticipated RubyGems version 0.9.0 is now available. This release includes a number of new features and bug fixes. The number one change is that we can now download the gem index incrementally. This will greatly speed up the gem command when only a few gems are out of date.&lt;/p&gt;

&lt;p&gt;Major Enhancments include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The gem index is now downloaded incrementally, only updating entries that are out of date. If more than 50 entries are out of date, we revert back to a bulk download.&lt;/li&gt;

&lt;li&gt;Several patches related to allowing RubyGems to work with authenticating proxies (from Danie Roux and Anatol Pomozov). Just put the user and password in the proxy URL (e.g. -p http://user:password@proxy.address.com:8080) or use the HTTP_PROXY_USER and HTTP_PROXY_PASS environment variables.&lt;/li&gt;

&lt;li&gt;The gem unpack command can now accept a file path rather than just a install gem name.&lt;/li&gt;

&lt;li&gt;Both RI and RDOC documents are now generated by default.&lt;/li&gt;

&lt;li&gt;A gemri command is included to read gem RI docs (only needed for Ruby 1.8.4 or earlier).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Minor enhancements include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Verison 0.0.0 is now a valid gem version.&lt;/li&gt;

&lt;li&gt;Better detection of missing SSL functionality.&lt;/li&gt;

&lt;li&gt;SSL is not required if the security policy does not require signature checking.&lt;/li&gt;

&lt;li&gt;Rake built extensions are now supported (Tilman Sauerbeck).&lt;/li&gt;

&lt;li&gt;Several autorequire bug fixes.&lt;/li&gt;

&lt;li&gt;&amp;#8211;traceback is now an alias for &amp;#8211;backtrace (I can never remember which one it is).&lt;/li&gt;

&lt;li&gt;SAFE=1 compatibility fixes.&lt;/li&gt;

&lt;li&gt;.rbw is now a supported suffix for RubyGem&amp;#8217;s custom require.&lt;/li&gt;

&lt;li&gt;Several Ruby 1.9 compatibility fixes (Eric Hodel).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bug Fixes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added dashes to gemspecs generated in Ruby 1.8.3. This solves some cross-Ruby version compatibility issues.&lt;/li&gt;

&lt;li&gt;Fixed bug where the wrong executables could be uninstalled (Eric Hodel).&lt;/li&gt;

&lt;li&gt;Fixed bug where gem unpack occasionally unpacked the wrong gem.&lt;/li&gt;

&lt;li&gt;Fixed bug where a fatal error occured when permissions on .gemrc were too restrictive (reported by Luca Pireddu).&lt;/li&gt;

&lt;li&gt;Fixed prefix handling for native expressions (patch by Aaron Patterson).&lt;/li&gt;

&lt;li&gt;Fixed several Upgrade =&amp;gt; Update typos.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>0.8.11 Released</title>
   <link href="http://blog.rubygems.org/2005/07/13/0.8.11-released.html"/>
   <updated>2005-07-13T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2005/07/13/0.8.11-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;-y is a synonym for &amp;#8211;include-dependencies.&lt;/li&gt;

&lt;li&gt;Better handling of errors in the top level rescue clause.&lt;/li&gt;

&lt;li&gt;Package list command (e.g. gem inspect GEM).&lt;/li&gt;

&lt;li&gt;.gemrc now allows cvsrc-like options to set defaults per subcommand.&lt;/li&gt;

&lt;li&gt;The autorequire gem spec field will now accept a list.&lt;/li&gt;

&lt;li&gt;Substituted Time for Date in specs, increasing performance dramatically.&lt;/li&gt;

&lt;li&gt;Fixed reported bug of gem directories ending in &amp;#8220;-&amp;#8221; (reported by Erik Hatcher).&lt;/li&gt;

&lt;li&gt;Fixed but in installer that caused dependency installation to not work.&lt;/li&gt;

&lt;li&gt;Added Paul Duncan&amp;#8217;s gem signing patch.&lt;/li&gt;

&lt;li&gt;Added Mark Hubbart&amp;#8217;s Framework patch (for better integration with OS X).&lt;/li&gt;

&lt;li&gt;Added David Glasser&amp;#8217;s install-from-mirror patch.&lt;/li&gt;

&lt;li&gt;Additional internal structural cleanup and test reorganization.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>0.8.10 Released</title>
   <link href="http://blog.rubygems.org/2005/03/27/0.8.10-released.html"/>
   <updated>2005-03-27T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2005/03/27/0.8.10-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;In multi-user environments, it is common to supply mulitple versions of gems (for example Rails), allowing individual users to select the version of the gem they desire. This allows a user to be insulated from updates to that gem. RubyGems 0.8.10 fixes a problem where gems could occasionally become confused about the current versions of libraries selected by the user.&lt;/li&gt;

&lt;li&gt;The other annoying bug is that if there are any existing rubygems-update gems installed, then the &amp;#8220;gem update &amp;#8211;system&amp;#8221; command will download a new update, but install the latest update prior to the download.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>0.8.8 Released</title>
   <link href="http://blog.rubygems.org/2005/03/14/0.8.8-released.html"/>
   <updated>2005-03-14T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2005/03/14/0.8.8-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;Moved the master definition of class Requirement back under version. Kept the body of Requirement under Gem.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>0.8.7 Released</title>
   <link href="http://blog.rubygems.org/2005/03/14/0.8.7-released.html"/>
   <updated>2005-03-14T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2005/03/14/0.8.7-released</id>
   <content type="html">&lt;p&gt;Even though it has only been a few weeks since that last release, there are quite a number of new features in 0.8.7. A complete list of new features will be given below, but here is a summary of the hot items.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The bug that prevented some users from installing rails has been squashed. A big thanks to Bill Guindon (aGorilla) for helping track that one down.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are several new commands available on the gem command:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;gem cleanup GEMNAME &amp;#8211; Cleanup (uninstall) all the old versions of gem. If the gem name is omitted, the entire repository is cleaned.&lt;/li&gt;

&lt;li&gt;gem dependency GEMNAME &amp;#8211; Show the dependencies for the named gems. This is really helpful when trying to figure out what gem needs what other gem.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There changes to the existing commands as well.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;gem uninstall is much smarter about removing gems from the repository. Lists of gems are now uninstalled in proper dependency order (ie. if A depends on B, A is uninstalled first). Also, warnings about broken dependencies occur only when removing the &lt;em&gt;last&lt;/em&gt; gem that supports a dependency is removed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both gem install and gem uninstall support some new command line options that can reduce the amount of yes/no queries given the user. For install we have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&amp;#8211;ignore-dependencies &amp;#8211; Only install requests gems, no dependendecies are automatically installed.&lt;/li&gt;

&lt;li&gt;&amp;#8211;include-dependencies &amp;#8211; Automatically install dependencies, without confirmation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For gem uninstall, the new options are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&amp;#8211;all &amp;#8211; Uninstall all matching gems without confirmation.&lt;/li&gt;

&lt;li&gt;&amp;#8211;ignore-dependencies &amp;#8211; Uninstall, even if dependencies are broken.&lt;/li&gt;

&lt;li&gt;&amp;#8211;executables &amp;#8211; Remove executables without confirmation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Under general cleanup, gems will not, by default, run RDoc on packages that do not have the RDoc flag set.&lt;/p&gt;

&lt;p&gt;And finally there is a new library file &amp;#8216;gemconfigure&amp;#8217; to aid in writing version sensitive applications (without undue dependencies on RubyGems); and &amp;#8216;gemwhich&amp;#8217;, a short script to locate libraries in the file system. You can read more about them here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;gemconfigure: http://docs.rubygems.org/read/chapter/4#page73&lt;/li&gt;

&lt;li&gt;gemwhich: http://docs.rubygems.org/read/chapter/17&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>0.8.6 Released</title>
   <link href="http://blog.rubygems.org/2005/02/27/0.8.6-released.html"/>
   <updated>2005-02-27T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2005/02/27/0.8.6-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;Fixed a small bug with shebang construction&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>0.8.5 Released</title>
   <link href="http://blog.rubygems.org/2005/02/26/0.8.5-released.html"/>
   <updated>2005-02-26T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2005/02/26/0.8.5-released</id>
   <content type="html">&lt;p&gt;Do you know how you used to dread getting the following message while installing gems?&lt;/p&gt;

&lt;p&gt;Updating Gem source index for: http://gems.rubyforge.org&lt;/p&gt;

&lt;p&gt;It could take up to 30 seconds (on my machine, even worse on others) for that crazy source index to update.&lt;/p&gt;

&lt;p&gt;This latest release of RubyGems speeds that wait time up considerably. The following table gives the following times for installing RedCloth with a required source index update on three system we had available to us. No RDoc generation was included in the following times.&lt;/p&gt;

&lt;p&gt;RubyGems Linux Mac OSX Windows 0.8.4 33 secs 73 secs 58 secs 0.8.5 8 secs 14 secs 21 secs&lt;/p&gt;

&lt;p&gt;The new caching code is at least 3x faster than previous versions. Woo Hoo!&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>0.8.4 Released</title>
   <link href="http://blog.rubygems.org/2005/01/01/0.8.4-released.html"/>
   <updated>2005-01-01T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2005/01/01/0.8.4-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;Rubygems 0.8.3&amp;#8217;s installer was broken unless you already had an older version of RubyGems installed. That&amp;#8217;s fixed.&lt;/li&gt;

&lt;li&gt;Change in the way Gem::Specification internally deals with lazy attributes and defaults, bringing (with some loadpath_manager changes) a fairly significant increase in speed.&lt;/li&gt;

&lt;li&gt;Support for lower-cased Gem file names (for you, Paul Duncan :)&lt;/li&gt;

&lt;li&gt;Erik Veenstra&amp;#8217;s patch for making Gem versions sortable.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>0.8.3 Released</title>
   <link href="http://blog.rubygems.org/2004/12/07/0.8.3-released.html"/>
   <updated>2004-12-07T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2004/12/07/0.8.3-released</id>
   <content type="html">&lt;p&gt;No real earth shattering news here, but there were a number of really annoying issues involving other libraries that RubyGems depends upon. 0.8.3 contains some workarounds for these issues. In particular:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added workaround for the null byte in Dir string issue. (see http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/121702). (Thanks to Mauricio Fernández for the quick response on this one).&lt;/li&gt;

&lt;li&gt;Added workaround for old version of Zlib on windows that caused Ruwiki to fail to install. (see http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/121770)&lt;/li&gt;

&lt;li&gt;Added workaround for large YAML file issues. (We dynamically cut down the size of the source index YAML file and seem to have worked around immediate issues.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There has been some minor usability enhancements and changes &amp;#8230;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A user specific source index cache can be used when the site-wide cache is unwritable (i.e. because you are running as a non-admin). This &lt;em&gt;greatly&lt;/em&gt; speeds up gem commands run in non-admin mode when the site-wide cache is out of date.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;The gem command now used an HTTP HEAD command to detect if the server&amp;#8217;s source index needs to be downloaed.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;gem check gemname &amp;#8211;test will run unit tests on installed gems that have unit tests.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Multiple gem names are allowed on the gem install command line. This means you can do:&lt;/p&gt;

&lt;p&gt;gem install rake rails needle postgres-pr pimki&lt;/p&gt;

&lt;p&gt;(Ok, you get the idea)&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Multiple authors my be specified in a Gem spec.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Switched to using setup.rb (rather than a custom install script) for the installation of RubyGems itself. If you have installed RubyGems before, double check the installation instructions and make sure you use setup.rb instead of install.rb.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Ryan Davis has provided a patch so you can use an env variable (GEM_SKIP), to tell loadpath_manager not to load gems of those names. This was useful for him while testing libs that he had in development.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>0.8.1 Released</title>
   <link href="http://blog.rubygems.org/2004/09/17/0.8.1-released.html"/>
   <updated>2004-09-17T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2004/09/17/0.8.1-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;Quick release to capture some bug fixes.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>0.8.0 Released</title>
   <link href="http://blog.rubygems.org/2004/09/15/0.8.0-released.html"/>
   <updated>2004-09-15T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2004/09/15/0.8.0-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;Remove need for library stubs. Set the RUBYOPT environment variable to include &amp;#8220;rrubygems&amp;#8221;, and a normal require will find gem files. Continue to use &amp;#8216;require_gem gem_name, version&amp;#8217; to specify gem versions.&lt;/li&gt;

&lt;li&gt;Deprecated &amp;#8220;test_suite_file&amp;#8221; gemspec attribute in favor of &amp;#8220;test_files&amp;#8221; array.&lt;/li&gt;

&lt;li&gt;Generates rdoc by default on installs.&lt;/li&gt;

&lt;li&gt;Adopted tar/gzip file format, thanks to Mauricio Fernandez.&lt;/li&gt;

&lt;li&gt;&amp;#8220;gem rdoc&amp;#8221; allows generation of rdoc after gem installation (will add a &amp;#8220;gem test&amp;#8221;&lt;/li&gt;

&lt;li&gt;Application stubs can now accept an optional parameter of &lt;em&gt;VERSION&lt;/em&gt; that will run an arbitrary version of the application requested.&lt;/li&gt;

&lt;li&gt;Various bug fixes&lt;/li&gt;

&lt;li&gt;Various platform-independency improvements&lt;/li&gt;

&lt;li&gt;&amp;#8220;gem spec &amp;#8211;all&amp;#8221; displays spec info for all installed version of a given gem.&lt;/li&gt;

&lt;li&gt;Dynamic caching of sources&lt;/li&gt;

&lt;li&gt;Support for user-definable sources on the command line (thanks Assaph Mehr)&lt;/li&gt;

&lt;li&gt;More intelligent support for platform-dependent gems. Use Platform::CURRENT when building a gem to set its platform to the one you&amp;#8217;re building on. Installation displays a choice of platform-dependent gems, allowing the user to pick.&lt;/li&gt;

&lt;li&gt;Added &amp;#8220;gem unpack&amp;#8221; for &amp;#8220;unpacking&amp;#8221; a gem to the current directory&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>0.7.0 Released</title>
   <link href="http://blog.rubygems.org/2004/07/09/0.7.0-released.html"/>
   <updated>2004-07-09T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2004/07/09/0.7.0-released</id>
   <content type="html">&lt;p&gt;See ChangeLog&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>0.6.1 Released</title>
   <link href="http://blog.rubygems.org/2004/06/08/0.6.1-released.html"/>
   <updated>2004-06-08T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2004/06/08/0.6.1-released</id>
   <content type="html">&lt;p&gt;See ChangeLog&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>0.6.0 Released</title>
   <link href="http://blog.rubygems.org/2004/06/08/0.6.0-released.html"/>
   <updated>2004-06-08T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2004/06/08/0.6.0-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Collapse output of &amp;#8211;search and &amp;#8211;list (and gem_server) operations so that each gem is listed only once, with each of its versions listed on the same line.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;bin/gem: new &amp;#8211;upgrade-all option allows one to upgrade every installed gem&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;new #required_ruby_version attribute added to gem specification for specifying a dependency on which version of ruby the gem needs. Format it accepts is the same as the Gem::Version::Requirement format:&lt;/p&gt;

&lt;p&gt;spec.required_ruby_version = &amp;#8220;&amp;gt; 1.8.0&amp;#8221;&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;&amp;#8211;install-stub defaults to true, so library stubs are created&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>0.5.0 Released</title>
   <link href="http://blog.rubygems.org/2004/06/06/0.5.0-released.html"/>
   <updated>2004-06-06T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2004/06/06/0.5.0-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Jim added the ability to specify version constraints to avoid API incompatibilities. This has been the subject of much debate for the past couple of months, with many ideas and code contributed by Eivind Eklund and Mauricio Fernandez. The following set of assertions shows how it works:&lt;/p&gt;

&lt;p&gt;assert_inadequate(&amp;#8220;1.3&amp;#8221;, &amp;#8220;~&amp;gt; 1.4&amp;#8221;) assert_adequate( &amp;#8220;1.4&amp;#8221;, &amp;#8220;~&amp;gt; 1.4&amp;#8221;) assert_adequate( &amp;#8220;1.5&amp;#8221;, &amp;#8220;~&amp;gt; 1.4&amp;#8221;) assert_inadequate(&amp;#8220;2.0&amp;#8221;, &amp;#8220;~&amp;gt; 1.4&amp;#8221;) # This one is key&amp;#8211;the new operator # disallows major version number # differences.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Group gem search output when multiple versions exist for a given gem:&lt;/p&gt;

&lt;p&gt;activerecord (0.7.8, 0.7.7, 0.7.6, 0.7.5) Implements the ActiveRecord pattern for ORM.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Add arbitrary RDoc-able files via gemspec (not just Ruby source files) for people who have, for example, README.rdoc in their distributions. Add to gemspec via: spec.extra_rdoc_files = [&amp;#8220;list&amp;#8221;, &amp;#8220;of&amp;#8221;, &amp;#8220;files&amp;#8221;]. Ruby files are automatically included.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Some small bug fixes&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>0.4.0 Released</title>
   <link href="http://blog.rubygems.org/2004/05/30/0.4.0-released.html"/>
   <updated>2004-05-30T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2004/05/30/0.4.0-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;Minor bug fixes including Windows compatability issues&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>0.3.0 Released</title>
   <link href="http://blog.rubygems.org/2004/04/30/0.3.0-released.html"/>
   <updated>2004-04-30T00:00:00-07:00</updated>
   <id>http://blog.rubygems.org/2004/04/30/0.3.0-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;Cleanup of command-line arguments and handling. Most commands accept a &amp;#8211;local or &amp;#8211;remote modifier.&lt;/li&gt;

&lt;li&gt;Creation of Application Gems (packages that include executable programs). See http://rubygems.rubyforge.org/wiki/wiki.pl?DeveloperGuide for information on how to use it.&lt;/li&gt;

&lt;li&gt;Basic functionality for installing binary gems from source (:extensions property of gem specification holds an array of paths to extconf.rb files to be used for compilation)&lt;/li&gt;

&lt;li&gt;Install library &amp;#8220;stub&amp;#8221; allowing a normal &amp;#8216;require&amp;#8217; to work (which then does the rubygems require and &amp;#8216;require_gem&amp;#8217;&lt;/li&gt;

&lt;li&gt;&amp;#8211;run-tests runs the test suite specified by the &amp;#8220;test_suite_file&amp;#8221; property of a gem specification&lt;/li&gt;

&lt;li&gt;HTTP Proxy support works. Rewrite of HTTP code.&lt;/li&gt;

&lt;li&gt;Unit and functional tests added (see Rakefile).&lt;/li&gt;

&lt;li&gt;Prompt before remote-installing dependencies during gem installation.&lt;/li&gt;

&lt;li&gt;Config file for storing preferences for &amp;#8216;gem&amp;#8217; command usage.&lt;/li&gt;

&lt;li&gt;Generally improved error messages (still more work to do)&lt;/li&gt;

&lt;li&gt;Rearranged gem directory structure for cleanliness.&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 <entry>
   <title>0.2.0 Released</title>
   <link href="http://blog.rubygems.org/2004/03/14/0.2.0-released.html"/>
   <updated>2004-03-14T00:00:00-08:00</updated>
   <id>http://blog.rubygems.org/2004/03/14/0.2.0-released</id>
   <content type="html">&lt;ul&gt;
&lt;li&gt;Initial public release&lt;/li&gt;
&lt;/ul&gt;</content>
 </entry>
 
 
</feed>
 
