Выход Mono 3.0, открытой реализации платформы .Net
После полутора лет разработки представлен релиз Mono 3.0, свободной многоплатформенной реализации технологии .NET, обеспечивающей поддержку спецификаций .Net Framework для Unix, Mac OS X и Windows. Mono 3.0 является первым значительным стабильным выпуском, подготовленным силами компании Xamarin, основанной Мигелем де Икаса (Miguel De Icaza) с целью продолжения развития Mono и получившей от SUSE право использования связанной с проектом Mono интеллектуальной собственности.
Начиная с версии 3.0 проект Mono перешёл на новый механизм подготовки релизов, направленный на ускорение доведения до пользователей новых возможностей и улучшений. Отныне master-ветка всегла будет оставаться стабильной, а все экспериментальные возможности будут развиваться в отдельных подветках. Периодически, по мере готовности и после завершения стабилизации, новые возможности будут переноситься в master-ветку.
Среди нововведений:
Реализация компилятора для асинхронного языка C# 5.0 (C# 5.0 Asynchronous Language). Проведена адаптация библиотеки классов для асинхронного программирования;
Для всех профилей C# (2.0, 2.1, 4.0, 4.5) теперь используется единый унифицированный компилятор, чего удалось достигнуть благодаря переработке C# бэкенда генерации кода в компиляторе. Новый бэкенд полностью поддерживает System.Reflection.Emit и IKVM.Reflection, что позволило унифицировать набор старых компиляторов (mcs, gmcs, dmcs and smcs) в виде единого компилятора mcs;
Использование по умолчанию API .NET 4.5. В API 4.5 обеспечена поддержка асинхронных методов (Async), API для совместимости с WinRT, стек System.Net.Http и System.Threading.Tasks.Dataflow;
Новый сборщик мусора SGen достиг готовности к промышленной эксплуатации. В коллекторе реализована поддержка распределения заданий по нескольким CPU;
В состав Mono интегрирован набор компонентов web-стека ASP.NET, открытых компанией Microsoft: ASP.NET MVC 4, ASP.NET WebPages, Entity Framework, Razor и System.Json;
Через API Evaluator.Eval() теперь могут выполняться не только отдельные выражения, но и классы, пространства имён, интерфейсы и определения структур, переданные для выполнения в строковом представлении;
Полная поддержка в runtime расширенных символов Unicode;
Существенно расширены средства использования компилятора Mono как сервиса (Compiler as a Service);
В интерактивной оболочке C# Shell и в C# API добавлена поддержка компиляции определений классов;
Заметно расширены возможности по отладке;
Улучшена поддержка Mac OS X;
Завершена работа над портом Mono для архитектуры MIPS;
Реализованы сотни оптимизаций производительности.