--- layout: releasenotes title: Mono 4.2.2 Release Notes version: 4.2.2 releasedate: '2016-01-28' --- Mono 4.2.2 is a service release for the Mono 4.2 series. ### Highlights This is a maintenance release and includes fixes for multiple issues found in 4.2.1 ## C\# Compiler - [#33341](https://bugzilla.xamarin.com/show_bug.cgi?id=33341) - Set null operator barrier between invocation instance and its arguments ## Class Libraries - [#35857](https://bugzilla.xamarin.com/show_bug.cgi?id=35857) - \[System.Data\] Implement CommandBehavior.SequentialAccess support for GetValues method - [#28693](https://bugzilla.xamarin.com/show_bug.cgi?id=28693) - \[System\] Remove arbitrary debugging limit from FileSystemWatcher on OSX - [#36003](https://bugzilla.xamarin.com/show_bug.cgi?id=36003) - \[corlib\] Invalid DateTime format for Finnish and DateTime parser not supporting same separator for date and time (edit) - [#37171](https://bugzilla.xamarin.com/show_bug.cgi?id=37171) - \[System.Runtime.Serialization\] XmlObjectSerializer: fix ISerializable - \[System.Runtime.Serialization\] Static serializer calls directly into internal APIs to fix 4.2.1 - \[corlib\] Fix multicast delegate remove behavior - \[corlib\] Fix multicast Method property - \[System.XML\] Fix endless recursion in XmlCompiledTransform on mobile ## Runtime - [#35828](https://bugzilla.xamarin.com/show_bug.cgi?id=35828) - \[runtime\] Fix Thread.CurrentThread in non-root appdomains by setting the tls slot in start_wrapper, otherwise Thread.CurrentThread would create a new Thread object so there would be two - [#20186](https://bugzilla.xamarin.com/show_bug.cgi?id=20186) - \[runtime\] Make sure ptr-to-structure and structure-and-ptr wrappers are unique, this is needed by full aot - [#36292](https://bugzilla.xamarin.com/show_bug.cgi?id=36292) - \[jit\] Avoid a verification error in gsharedvt code with ldarga + gshared types - [#36256](https://bugzilla.xamarin.com/show_bug.cgi?id=36256) - \[aot\] Cache inflated methods loaded from aot images to avoid repeating an expensive search - [#35545](https://bugzilla.xamarin.com/show_bug.cgi?id=35545) - \[runtime\] Implement native-to-managed marshalling of byref delegate arguments - [#36383](https://bugzilla.xamarin.com/show_bug.cgi?id=36383) - \[gsharedvt\] Fix support for constrained calls on interfaces. - [#36566](https://bugzilla.xamarin.com/show_bug.cgi?id=36566) - \[jit\] Increase the buffer size used by the dyncall data structures to 512. - \[threadpool\] Fix get min and available threads icalls. - \[verifier\] Fix the verifiers to handle Roslyn style fixed blocks. ## Garbage Collector Multiple fixes for rare crashes in sgen. - Fix marking of cards on 64bit - Don't hardcode the nursery size in aot write barriers - Fix race between block allocation and concurrent sweep - Make sure we scan aligned memory regions ## Profiler - Avoid a crash at shutdown by installing the assembly unload hook for the 'start_unload' event instead of the 'end_un ## F\# - OSX package now ships with 4.0.1.1