Release Notes Mono 2.10.7

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

Mono 2.10.7 was used mostly as a vehicle to test the upcoming Gtk+ stack on MacOS X and was released on December 6th, a complete release for Windows and Linux will be published on December 13th.

Mono 2.10.7 is a minor update to Mono 2.10, Mono 2.10.1, Mono 2.10.2, Mono 2.10.3, 2.10.4, 2.10.5 and 2.10.6.

Table of contents

MacOS Updates

This release bundles the new version of Gtk+ 2 that has been fine tuned for MacOS X and fixes hundreds of problems that have been reported by users of MonoDevelop on Mac. In addition, it adds support for Lion's Smooth Scrolling.

Changes

  • Updated the Task Parallel Library to include the latest fixes from our main development branch.
  • SQLiteConnection can now set the threading mode (Xamarin #652)
  • Improved the debugger protocol to speed up debugging and value lookup
  • Added basic support for MSBuild 4.0 (Leszek Ciesielski, Paul Selormey)
  • NuGet now runs on Mono
  • Phalanger 3.0 now runs with Mono
  • Adds support for some Azure libraries
  • Added support for bundling profilers in a static binary
  • The profiler can now log its data to any file descriptor (for over-the-net profile logging)
  • SGen now has native support for object systems that implement ToggleRefs
  • Mobile Profile now contains System.IO.MemoryMappedFiles
  • Added PerformanceCounters for JIT statistics
  • Add support for Android CPU count.
  • HashSet<T> can now be serialized (Neale Ferguson)

Bug Fixes

  • The --profile loader will now work on MacOS X without setting any environment variables
  • Fixes slow start on threads (Xamarin #1036)
  • Fixed the SGen interaction between weak references and ephemerons
  • Fixes --profile=log on x64 systems (Xamarin #971)
  • Fixes crash on some debugging configurations (Xamarin #1093)
  • Fixes timezone race condition (Xamarin #1055)
  • Fixes SendAsync reporting the wrong number of bytes sent (Xamarin #531)
  • Plug a managed leak in the ASP.NET stack (HttpResponse)
  • Fix an infinite loop in Path.GetTempFileName
  • Fixes Soap12 message serialisation incorrect for ReplyTo header value (Xamarin #1244)
  • Linked away exception on AsyncWaitHandle.WaitOne() on device (Xamarin #1144)
  • Fixed MonoDoc to avoid loading the same documentation more than once (fixes MonoDoc browser)
  • Fixes regression in System.Diagnostics.Process.PrivateMemorySize64 (Xamarin #1459)
  • ASP.NET fix for WebResource.axd and hashes containing /
  • ServiceModel now allows https endpoints (Xamarin #1203)
  • ServiceModel now allow requests with no headers (Xamarin #1205 and #1207 by Mario Kosmiskaso)
  • Fix for WebOperationContext.IncomingResponse (Xamarin #1209 by Mario Kosmiskaso)
  • Fix for propagating operation context (Xamarin #1210 by Mario Kosmiskaso)
  • Fix WebConnectionStream to return the correct length for input streams
  • Fix serialization reader (Xamarin #1462)
  • Various fixes to System.IO.Packaging
  • mono-service now passes the command line arguments to the services
  • Alternate path separator on Unix improves compatibility with Windows software
  • Fixes xsi:nil handling (Xamarin #1198)
  • Fixes hang caused by gdb attaching to the wrong process when Mono hard-crashes
  • Fixes the handling of XmlSchemaFrom importing, which is exposed by WebSphere WSDL tools
  • Fixes crash on inlined code that contained some patterns of exception throwing (Xamarin #1835)
  • Fixes monotonic clock on OSX and iOS (Xamarin #1366)
  • Fixes leak in Process class if WaitForExit was not called (Xamarin #1682)
  • Fixes typo in ASP.NET's SQLServer SessionState
  • Fixes marshaling of IPv6 addresses in Win32
  • Fixes race in ServiceModel.Logger
  • Fixes string truncation in Tds protocol (Xamarin #1916, Neale Ferguson)
  • Fixes System.Data DataView sorting
  • Fixes Debug information for dynamic methods (Novell #731579)
  • On Android, stdout/stderr become the logcat
  • Fixes ConditionalWeakTable behavior with SGen (Xamarin #1175)
  • Fixes SIGSEGV during GC when write barrier is set to cardtable (Xamarin #1917)
  • Added JSonSerializer support for nullables (Xamarin #163)
  • Fixes deadlock on SDB (Xamarin #2190)
  • Fixes heuristics for inserting breakpoints (Xamarin #407)
  • Fixes Array.Containsfor null items via ICollection<T> (Xamarin #2260)
  • Fixes scanning of complex values in SGen (Xamarin #228)
  • Fixes assignability of arrays with generic interfaces (Xamarin #2304)
  • Fixes FullAOT support for iterating Linq.OrderedEnumerable (Xamarin #2155)

Mobile Profile Fixes

  • Xamarin 233: support commit/rollback/update events in iOS/Sqlite
  • Xamarin 154: Support Dispose on BinaryReader on the Mobile Profile
  • SGen bridge processing is now a two-step process (used for Mono/Android)
  • Xamarin 1999: all threads are now wrapped in NSAutoreleasePools.