Release Notes Mono 2.10.1

Release date: 25 Feb 2011

Mono is a portable and open source implementation of the .NET framework for Unix, Windows, MacOS and other operating systems.

Mono 2.10.1 is a minor update to Mono 2.10 based on the mono-2-10 branch of github. Mono 2.10.1 was released on February 25, 2011.

Important Information About Mono 2.10

Mono’s Long Term Supported release continues to be Mono 2.6, the next long-term support release will be Mono 3.0.

Mono 2.10 ships the latest and greatest and updates and they have not received as much testing as they should. Users seeking absolute stability should stay on Mono 2.6. Users switching to Mono 2.10, should expect a faster bug turn around time, but they should also plan on upgrading to the upcoming 2.10.xx series as we fix bugs in our stack.

Major Highlights

This release can run Microsoft’s OrchardCMS, an open source CMS system built using the best .NET practices, and uses the delightful Razor engine.

We added support for PostgreSQL to Orchard and submitted our patches to the OrchardCMS community.

Changes Since Mono 2.10


  • Bug preventing MVC3 apps from running has been fixed
  • Fix 668655: MVC3: error accessing the query variables collection
  • OrchardCMS should work with Mono
  • 671753: Route.GetVirtualPath must take ambient values into account.

Parallel FX:

  • The default task scheduler now uses the runtime ThreadPool, instead of its own pool


  • Fixes 594642, problem with GetAllInterfaces
  • Performance Counters are now supported on OSX
  • Respects signal handlers when reporting crashes
  • CSDK pkg now contains .dSYM and .mdb files for debugging


  • Fix regression on HTTP Authentication


  • Allow MSBuildExtensionsPath to be overridden by setting the environment variable $MSBuildExtensionsPath
  • Use the correct path separator for handling environment variable MSBuildExtensionsPath, fixes xbuild on windows. Bug #674337.
  • 674630: Handle errors in trying to create AssemblyName from invalid full names.


  • System.ServiceModel: extensive serialization bug fixes.
  • Simple InstanceContext.Extensions implementation by David Schmitt (#674057)

Bug fixes:

  • 672907: List<T>: Properly check the array argument to match MS semantics
  • 672446: Generic sharing bugfix
  • 673592: Soft debugger was crashing the runtime on Windows
  • 673828: Fix ARM thunk creation in dynamic methods.
  • Transactions: do deep copies of transaction (required for Orchard/NHibernate)
  • 669807: Cache session item locks as the item might be cleared before the lock needs to be released.
  • Fix ARM/darwin lookup of Thread Specific Data/Descriptors
  • Implement memory barriers for ARM
  • 672939: fixes missing methods while running MonoDevelop
  • 669815: Fixes crash on IronRuby test suite
  • 661461: Fixes a case where Assembly.Load(AssemblyName) did not work with some partial names
  • 662867: Attribute.GetCustomAttributes was failing in searching inheritance chain against overridden method ToString()
  • Workaround Linux/gcc/ARM bug
  • 665893: Fixes a crash when a generic method that calls another generic method was called
  • Fix infinite loop in DiscoveryMessageSequence equality comparison
  • 667921: Fix crash in multi-threaded LINQ
  • System.IO.TextReader now provides a default implementation for ReadLine and ReadToEnd
  • Console:TerminfoDriver is now more tolerant to failures
  • 656468: Console, avoid throwing exceptions for unsupported console features on Unix
  • Fix stop_debugger_thread () on windows.
  • #669836: Treat exceptions that are caught by mono_runtime_invoke() as unhandled in SDB
  • Enabled UDP stack on Mobile platforms.