IronRuby 1.1 is the first release after IronRuby 1.0, the first stable version of the
Ruby 1.8.6 compiler for the .NET framework. IronRuby 1.1 is
NOT fully backwards compatible with IronRuby 1.0; most notably that IronRuby 1.1 no longer supports .NET 2.0 SP1. .NET 3.5 is the minimum requirement for IronRuby 1.1, though using .NET 4.0 is strongly advised. Also, though this release is primarily bug-fixes for 1.0, consider any new features "Alpha" quality.
This release adds support for
.NET extension methods in IronRuby. This works by calling the
using_clr_extensions method, which activates all extension methods defined on classes defined in a given namespace, regardless of the assembly they are defined in; assemblies loaded in the future that define extension methods in the activated namespace will automatically appear on the correct types. Here’s a simple example of using
LINQ extension methods:
load_assembly "System.Core"
using_clr_extensions System::Linq
# ...
products.
where(lambda { |p| p.units_in_stock == 0 }).
each { |x| puts x.product_name }For more information see the
LINQ 101 sampes ported to IronRubyIronRuby 1.1 is now licensed under the
Apache License (Version 2), rather than the Microsoft Public License. This decision is based upon continual feedback and questions from the community, as well as for consistency between
IronPython and the
Dynamic Language Runtime, which are now also licensed under the Apache License.
Other fixes in IronRuby 1.1:
-
1754 CLR method enumeration returns invisible members
-
1462 eval'ing a heredoc and defining a method causes an ArgumentError
-
4363 Dir.glob should support more than one argument
-
4003 "".rindex("somestring") raises RangeError
-
4204 require and $" issue. MRI difference
-
4448 IO.readline does not take account of the optional separator
-
4446 enumerator#each_cons
-
4089 "Start and End must be well ordered" using Heredoc in console.
-
4128 Can't send SIGINT to autospec
-
4031 Rubygems are very slow after including Windows forms
-
3392 overriding indexer
-
3279 Python-Ruby interop issues
-
2609 Splatting COM out params
-
2243 C# constructor with internal visibility inaccessible when using -X:PrivateBinding
-
772 System::TypeLoadException when including C++/CLI interface with modopts
For more detailed list of changes and bugfixes please see the CHANGELOG.txt in the release.
As always, if you find any bugs or have a feature request, please
open an issue on CodePlex.
Sincerely,
The IronRuby Core TeamJim Deville,
Tomas Matousek, and
Jimmy Schementi