Christmas is a special time for Rubyists and not only for those of us taking the opportunity to get drunk and eat a lot. December 25 has been a popular release date since Ruby 1.0 was released on December 25, 1996 and several developers were preparing releases of their libraries and Ruby implementations this year too. So what December 25, 2010 bring?
At 9am GMT on Christmas Day, Urabe Shyouhei posted the release announcement for the latest patchlevel version of Ruby 1.8.7 to the ruby-talk mailing list:
If I were Takoyaki Mask I would have written a prose but sadly I am not, so let me tell in brief. Here you are the Ruby 1.8.7's most recent update. Mainly bugfixes.
Urabe Shyouhei
Intriguingly, he also noted that Ruby has changed license recently and this is the first release since the switch:
It is worth noting that, though Ruby project experienced license change recently (from GPLv2 to 2-clause BSDL) and this is the first time since then to release something, that change do not reach to already-released versions like 1.8.7, matz said to us. So you do not have to worry about it. If you are already using 1.8.7, you can continue using it.
Urabe Shyouhei
Ruby 1.9.2 patchlevel 136The latest version of the production-ready Ruby 1.9.2 was announced by Yuki (Yugui) Sonoda who notes it fixes "many bugs" found in 1.9.2-p0. The changelog shows a lot of small "niggly" bugs rather than any showstoppers so this release is just a spit and polish of an already fine implementation.
RubyInstaller Releases for WindowsRubyInstaller bills itself as "the easy way to install Ruby on Windows" and it's certainly what I'd advise you use if you're on that platform. It's primarily maintained by Luis Lavena. Luis made the announcements of RubyInstaller 1.8.7-p330 and RubyInstaller 1.9.2-p136 packages two days after Christmas, but since they tie so directly to the previous items, it only seemed fair to give him two days to prepare them ;-)
Separate to the general improvements in 1.8.7-p330 and 1.9.2-p136, Luis also notes that RubyInstaller is now based around an updated compiler toolchain (GCC 4.5.1) and there are now "friendlier Gem installation error messages" for those gems that require compilation.
posix_mq 0.6.0 - POSIX message queues with new Rubinius supportEric Wong announced posix_mq 0.6.0, an update of a library that makes it easy to use POSIX-compliant message queues from your Ruby apps. The key news with this update is all new Rubinius support.
graph 2.0.0 - A super hash that outputs in Graphviz dot formatRyan Davis (a.k.a. zenspider) announced graph 2.0.0 - a library to work with "graphs" which he describes as "a type of hash that outputs in graphviz's dot format." The big news for 2.0.0 is that it's a total rewrite without backwards compatibility but that it's now 147.3% more awesome and no longer a Hash sublcass.
OS X only tip: Want to give graph a quick try? gem install graph, brew install graphviz, copy and paste the example from GitHub, run it, then open simple_example.png. Tada - you've created a basic graph!
Despite losing Why The Lucky Stiff over a year ago, Why's Shoes and Hackety Hack projects have lived on under the care of Steve Klabnik (amongst others). I'm going to write a separate, deeper post on this but it deserves to be in the list since Steve pushed out Hackety Hack 1.0 on Christmas Day along with an all-new Hackety Hack homepage.
Sinatra 1.1.1As noted by people in the comments, Sinatra also had an update on Christmas Day, to version 1.1.1. An incomplete but "rather stable" prerelease of Sinatra 1.2.0 also went out - it can be installed with gem install sinatra --pre