Files | Admin

Notes:

Release Name: 0.3.0

Notes:
IronRuby - http://ironruby.net

I'm pleased to announce a new release of IronRuby: IronRuby 0.3!
 
Staying true to our "Conference-driven development
schedule," this release is in conjunction with MIX ‘09, 
where Silverlight 3 Beta and ASP.NET MVC 1.0 were announced, 
to name a few. Demos from John Lam's talk today are here: 
http://github.com/jschementi/mix09.

RubySpec
IronRuby passes approximately 80% of RubySpec, the best test 
suite Ruby has today. IronRuby is best at language 
compatibility, passing 95% of those tests, but worse on the 
standard libraries with a pass-rate of 77%. Overall the 
pass-rate as gone up approximately 10% since the last 
release, and there hasn’t been a major library push since 
getting Rails running. For IronRuby 1.0, that number is 
going to be as high as possible, and we’ll ensure that by 
continuing to work with the RubySpec project to improve the 
test suite.

IronRuby.info shows up-to-date RubySpec statistics about 
IronRuby.

.NET inter-operation
Since this release is around MIX, and John’s talk is going 
to be focused around Silverlight and ASP.NET MVC, it seems 
like a great time to polish IronRuby’s .NET interop. For 
example, the release enables calling generic methods, 
implementing interfaces with IronRuby, and better 
conversions between .NET and Ruby types. We’ve also started 
to build a .NET interop test suite, using the same 
infrastructure RubySpec uses (MSpec), to provide a 
executable specification of how IronRuby and .NET play 
together. There will also be a written specification showing 
what these .NET interop features are good for, but not for 
this release.

For more specifics of what this release contains, checkout 
out the CHANGELOG.txt in the binary download.

What’s with the version number?
IronRuby is going to be a bit unconventional-Microsoft (as 
if that’s something new) and simply release 0.x releases 
(and maybe 0.x.x if needed) until it gets to 1.0, rather 
than release something with "Alpha", "Beta", or "RTW" 
attached to the name. That being said, 0.3 is a complete 
underestimation of where IronRuby is; it’s definitely more 
than 30% completed. We’ll move through the point releases 
rather fast, compared to the 7 months it took to get 0.1 
(Alpha 1) releases, and another 3-4 months for (Alpha 2). 
Any maybe even skip some numbers along the way.

What’s next?
While the .NET interop testing/specing work will continue, 
the next releases will be much more focused on getting real 
Ruby applications running well; whether they be already 
existing apps/frameworks like Rails, RubyGems, Rake, etc, or 
new applications that people are building with IronRuby. 
We’re starting to run the gems, rake, and rails tests with 
IronRuby, and this type of discovery with more Ruby 
libraries will drive what we work on next. 

In short, expect to see more binary releases, more often. 

Until then, Download IronRuby 0.3!



Changes: - Improves Ruby tokenizer and parser by 30% - Moved source code repository to GIT, unsigned builds - Thread library (Thread#stop, Kernel#sleep, Thread#raise, Thread#critical=) - Fixes interpretation of UnaryExpresion cast with a custom method - Implements generic methods parameters binding and explicit overload selection - Makes operations on class hierarchy thread-safe - Fixes binder error message given when an interface name is displayed. - Adds additional RubySpec tests to language/regexp_specs.rb - Fixes Zlib::Inflate#inflate and File#join (for gem install) - Adds -e support to IronRuby using CommonConsoleOptions.Comand. - Regexp literal support for /o - Fixnum + Bignum should yield a Bignum, not a Float - Implements Ruby protected visibility, fixes other bugs in Module (all specs pass now) and assignment in eval. - Implements loading of assembly dependencies.