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 - Set null operator barrier between invocation instance and its arguments
Class Libraries
- #35857 - [System.Data] Implement CommandBehavior.SequentialAccess support for GetValues method
- #28693 - [System] Remove arbitrary debugging limit from FileSystemWatcher on OSX
- #36003 - [corlib] Invalid DateTime format for Finnish and DateTime parser not supporting same separator for date and time (edit)
- #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 - [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 - [runtime] Make sure ptr-to-structure and structure-and-ptr wrappers are unique, this is needed by full aot
- #36292 - [jit] Avoid a verification error in gsharedvt code with ldarga + gshared types
- #36256 - [aot] Cache inflated methods loaded from aot images to avoid repeating an expensive search
- #35545 - [runtime] Implement native-to-managed marshalling of byref delegate arguments
- #36383 - [gsharedvt] Fix support for constrained calls on interfaces.
- #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