Буквально на днях состоялся долгожданный выпуск Mono 2.8, обновивший платформу разработки Mono. Этот выпуск содержит в себе труд 10 месяцев: новые возможности, исправления стабильности, улучшенная производительность и исправления ошибок.
Основные изменения выпуска:
- поддержка C# 4.0;
- профиль 4.0 используется по умолчанию;
- новый сборщик мусора (используйте --gc=sgen или mono-sgen для его включения) — если перейти к заметкам к выпуску и посмотреть графики тестирования производительности, то проделанная работа весьма впечатляет; на данный момент поддерживаются платформы ARM, x86, x86-64 и s390x;
- новые фреймворки под лицензиями Mono MIT X11 и Microsoft MS-PL/Apache2:
- ASP.NET 4.0 (очень много изменений, смотрите весь список в заметках к выпуску);
- Parallel Framework, включая PLINQ;
- System.XAML;
- System.Dynamic;
- Managed Extensibility Framework;
- ASP.NET MVC 2;
- System.Data.Services.Client (клиент для OData);
- WCF Routing;
- CodeContracts в .NET 4.0.
- улучшения производительности:
- общая производительность была значительно улучшена;
- поддержка LLVM дошла до стабильного состояния (используйте mono-llvm для запуска нагрузки сервера через LLVM); учтите, что запуск приложения будет занимать больше времени, но зато возрастёт производительность во время работы.
- API версии 2.0 для встраиваемых систем;
- удалён профиль 1.1 и некоторые устаревшие библиотеки;
- интегрирована поддержка OpenBSD;
- Mono больше не зависит от GLib (заменена на eglib);
- поведение исключений в пуле потоков теперь аналогично .NET 2.0.
Всех, кто использует C# и Mono для разработки — с праздником! Выпуск получился действительно очень «вкусным», с интересными изменениями, которые делают разработку на Mono ещё более лёгкой.
Для просмотра полного и подробного списка изменений обратитесь к заметкам к выпуску Mono 2.8.