Mono 2.11 Brings C# 5 Async Support
Mono 2.11 is the first of a series of preview releases designed to showcase the next version of Mono. Among other things there is an emphasis on compatibility with .NET 4.5 and C# 5.0. Mono uses an even/odd numbering scheme, so the next production release will be version 2.12. The Mono 2.11 previews are available for Windows, OS X, and Linux.
There is nothing unexpected in this release, it tracks closely with the 2.12 roadmap we covered back in October. A quick recap of the features include:
- Full support for Unicode Surrogates
- Production quality version of the SGen garbage collector
- C# 5.0 and related Async APIs and libraries
- Preview of System.Net.Http and System.Threading.Tasks.Dataflow
- Unified compiler backend using IKVM.Reflection
- C# Shell
- C# Compiler as a Service
- .NET 4.5 and WinRT Compatibility APIs
One new item on the list is performance improvements for OS X.
Mac support has been vastly extended, from faster GC by using native Mach primitives to improves many features that previously only worked on Linux to extending the asynchronous socket support in Mono to use MacOS X specific primitives.
It should be noted that the OS X distribution now includes F#, IronPython, and IronRuby.