Xamarin.Mac 4.0 Release Notes

Requirements

  • The latest features and API requires Xcode 9.1 and the bundled macOS SDK;
  • Apple Xcode 9.1 requires a Mac running OSX 10.12 (Sierra) or newer;

What's New

This release is built upon our open sourced SDK, using the d15-5 branch and is based on Mono 5.4 (2017-06).

This release introduces macOS APIs added in Xcode9 and Xcode 9.1.

Miscellaneous Enhancements

Generator

  • 57535 - [generator] Add enum support for [FieldAttribute]
  • 57537 - [generator] [BindAs] support on Fields

Bug Fixes

  • 58411 - [bcl] TrustFailure (CertificateUnknown) when using user-installed root certificates
  • 58720 - [security] SecKeychain.QueryAsData returns invalid data type
  • 59247 - [webkit] WKNSURLAuthenticationChallenge could not be registered
  • 59617 - [registrar] Fix static registrar to detect invalid type usage
  • 44027 - [bcl] Chunked HTTP PUT times out
  • 58826 - MMP does not handle platform assembly swapping when a dependency using XM comes first in 32-bit
  • 58849 - [mmp][mtouch] Print verbosity using an invariant culture
  • 58861 - dynamic-symbol-mode does not work with 32-bit mac libraries
  • 59364 - [runtime] Assertion at dynamic-image.c:209, condition prev == MONO_HANDLE_RAW (obj) not met
  • 60317 - [bcl] WebRequest hangs on TLS/SSL usage (4.0.0.214+)
  • 60625 - [runtime] Assertion at local-propagation.c:562, condition ins->opcode > MONO_CEE_LAST not met (4.0.0.215+)
  • 61002 - [bcl] Runtime exception: Cannot access a disposed object. Object name: 'MobileAuthenticatedStream' (4.0.0.216+)