Mono 3.0 facilitates asynchronous programming
Miguel de Icaza has announced the release of Mono 3.0. The new version of the open source implementation of Microsoft's .NET builds upon features and developments from Mono 2.10, released in February 2011, and the "experimental" Mono 2.11 from March 2012. The new version adds a compiler which supports C# 5.0 – a version of C# that is designed to enable asynchronous programming through the
await keywords. The C# compiler backend has also been rewritten, so that the old mcs, gmcs, dmcs and smcs compilers are now combined into a single mcs compiler.
The developers have added a range of recently open sourced Microsoft technologies, including ASP.NET MVC 4, ASP.NET Web Pages, Entity Framework, Razor and System.JSON. The new version also includes what promises to be a faster garbage collector (SGen) and an improved C# shell. The development team has additionally updated many of the runtime and class libraries, with the result that Mono 3.0 should now be compatible with the .NET 4.5 Profile API.
Details of the changes in Mono 3.0 can be found in the release notes. According to Mono creator de Icaza, new versions will now follow more rapidly than has previously been the case. Mono 2.10 will continue to be supported with bugfixes and other updates for a further six months or so. It had previously been announced that this Mono release would be a long term support (LTS) version.
The long development period for Mono 3.0 should be seen in the context of Attachmate's takeover of Novell in spring 2011. Novell, for whom de Icaza previously worked, was long the major sponsor behind Mono, but with the takeover, Novell closed down its Mono development work. De Icaza then set out to create a new company, Xamarin, which produces C#, Mono and .NET-based tools for Android and iOS app development; that new company has also taken over development work on Mono.