I'm pleased to announce a new release of IronRuby: IronRuby 0.5! Download IronRuby 0.5: http://ironruby.codeplex.com/Release/ProjectReleas... You can also check out the source code for this release: http://github.com/ironruby/ironruby/tree/v0.5.0 Staying true to our "Conference-driven development schedule," this release is in conjunction with RailsConf '09, where IronRuby was demonstrated running real Rails applications and deploying them on IIS. A ton of work has been done in this release to get real Ruby programs running well, like RubyGems, Rake, Sinatra, and Rails. Read more about IronRuby at RailsConf: http://blog.jimmy.schementi.com/2009/05/ironruby-a... Special thanks to Daniele A., Jirapong Nanta, and Ray Vernagus, who contributed code during this release, and everyone else who has submitted bugs, updated the wikis, or built software on-top of IronRuby. What's in the Release? A big language feature of this past release was adaptive compilation; the ability to start-up quicker with a fast interpreter, and then compile code that gets interpreted more than two times. This brought Rails startup time down from 89 seconds to 34 seconds, giving Rails approximately 2.5x quicker startup. Since this compiles "hot" code, your Rails application will get faster after an initial set of requests. There is a lot more to do for performance, but this was a great accomplishment. Here are some more interesting changes: * Removes ClrString. CLR strings are referred to as System::String * Removes IronRuby library. "require 'IronRuby'" is no longer needed; IronRuby module is now a built-in module. * Integer/Float operations for all CLR primitive numeric types * System::Char and System::String methods so that they behave like an immutable UTF-8 encoded string * Improves handling of BOM in 1.8 mode * Debugger visualizer for RubyObject so that VS will display the result of to_s in the Watch window. * Adds support for .NET operators (op_* special methods) * Implements bitwise operators on flag enums * Precompilation of simple Ruby method invocations * Improves performance for file IO#read method. Previously we were 10x slower than MRI, now we are approx. 1.5-times faster. * Tons of fixes to File, String, Array, and other built-in types to drive up RubySpec and Ruby application test-suite pass-rates. Note: Silverlight binaries have not been included in this release; they will be added back in a very-near point release. For detailed information, please see the CHANGELOG (which is much more verbose now. including all commit messages for the release ... not just syncing to head of tfs): http://rubyforge.org/frs/shownotes.php?release_id=34684 Bugs closed: 375 "ir script\server" causes a YAML parser error 461 Generic type conversion from Fixnum to Integer 467 "igem install rails" fails 499 Pathname#cleanpath messes up the pathname 545 __FILE__ doesn't return a canonicalized path 578 yield fails in eval'd code 605 Array#hash should properly handle recursive arrays 614 ci_files set needed in mspec config 674 autoload does not use File::SEPARATOR 1021 Time class instance ... and various old RubyForge bugs during the move to CodePlex Please test out IronRuby 0.5 and let us know if you have any issues. Enjoy!
on 2009-05-21 06:34