Mono, a portable and open source implementation of the .NET framework for Unix, and other operating systems, has reached version 3.0 Beta.
Developer of Mono 3.0 have explained that the new version is a direct update from Mono 2.10, based on the master branch of github. Mono 2.10 will still be updated for another six months for the users unable upgrade to the latest version just yet.
The biggest change in Mono 3.0 is the introduction of C# 5.0 complete compiler with asynchronous programming support.
“Our C# compiler has now completed its migration from using System.Reflection.Emit as its code generation backend to use the IKVM.Reflection API. This functionality was previewed in Mono 2.10 and is now the default,” stated the developers on the official blog. Highlights of Mono 3.0 Beta:
• Evaluation can now Compile Types, which means that the Evaluator.Eval () API is no longer limited to expressions and statements, you can now pass entire namespace, class, interface, strict definitions as a string and have the result get compiled;
• The compiler as a service exposed by the Mono.CSharp library is no longer limited to be a global compiler, now you can instantiate multiple scopes for the compiler, each having its own set of localized types and global variables;
• A new convenience function print has been added and it can be used instead of Console.WriteLine. Additionally, the C# interactive shell will by default use a terse syntax that does not require a semicolon at the end of an expression;
• SGen now has a new task management system that allows it to scale new GC-related tasks across multiple CPUs, if available;
• A fast version of ThreadLocal<T> has been implemented;
• Partial support for Portable Class Libraries has been implemented;
• The venerable C5 library has been updated to the latest version.
A comprehensive list of changes can be found in the official announcement
. Download Mono 3.0 Beta
right now from Softpedia. Remember that this is a beta version and it should NOT be installed on production machines. It is intended for testing purposes only.