The Ruby team has released their latest Ruby version 1.9.3. The focus for this release wasn't on new features but on delivering a better version of Ruby 1.9 with improved performance and stability.

The performance improvements are mainly due to the new lazy sweep garbage collector. Lazy sweeping improves the response time of the garbage collector and increases its throughput. See this InfoQ interview with Narihiro Nakamura for more information on the new garbage collector. Other areas where the performance was improved are the load time, locking in multi-threaded programs, pathname and date libraries and test/unit, which gained parallel execution.

There are a small number of new features: a console library (io-console gem) was integrated, Unicode 6 support for regular expressions, and a bunch of new methods for the builtin classes.

Ruby 1.9.3 also changed its license: previous versions were released under the Ruby License and GPLv2, the later has now been changed to 2-clause BSD. The reason for the change seems to be a license change in readline, which made it incompatible with Ruby's licensing. The details are discussed in this bug report; the Debian mailing list has a good analysis of the situation.

At RubyConf Taiwan 2011, Ruby 1.9 release manager Yuki Sonoda talked about the next versions of Ruby. In summary, she says that Ruby 1.8 has no future, and that Ruby 2.0 is definitely coming. In the meantime, the mailing list is discussing possible new features for Ruby 2. So far, keyword arguments seem to be a likely candidate. According to the release schedule, the feature freeze for larger changes is August 2012, and a tentative release date is February 2013, Ruby's 20th birthday.