Xamarin.Mac 6.2 Release Notes

System Requirements | What's New | Known Issues | Blogs | Open Source

To see installation instructions for both Visual Studio for Mac and Visual Studio 2019, please visit Installing Xamarin

Requirements

  • The latest features and APIs require Xcode 11 and the bundled iOS, tvOS and watchOS SDKs
  • Apple Xcode 11 requires a Mac running macOS 10.14.4 (Mojave) or newer
  • Visual Studio 2019 or Visual Studio for Mac

What's New in this Release

Warning

Apple has removed support for executing 32bit applications in macOS 10.15 Catalina. See our blog post to see how this can affect your applications when using Xamarin.Mac 6.2 (or later).

Support for Xcode 11

For more information you can consult the Xcode 11 release notes from Apple.

Support for macOS 10.15

See our API diff to browse the latest changes.

For more information you can consult the macOS 10.15 release notes from Apple.

Support for uploading Mac Applications to iTunes Connect

Starting with Xcode 11, Apple stopped distributing Application Loader, which was used to publish Applications to the iTunes Connect website.

We updated our MSBuild tasks to make use of a new tool shipped with Xcode: altool.

This is a necessary step for the IDEs to continue providing the ability to publish Applications to the App Store.

Release History

This version of Xamarin.Mac corresponds to our 16.3 (d16-3) milestone.

  • October 7, 2019 - Xamarin.Mac 6.2.0.47
  • September 18, 2019 - Xamarin.Mac 6.2.0.42
  • September 12, 2019 - Xamarin.Mac 5.16.1.24
  • September 3, 2019 - Xamarin.Mac 5.16.1.17
  • August 12, 2019 - Xamarin.Mac 5.16.1.9
  • July 23, 2019 - Xamarin.Mac 5.16.0.5

You can learn more about how we ship our releases in the Visual Studio 2019 Release Rhythm document.

October 7, 2019 - Xamarin.Mac 6.2.0.47

This service release includes a number of fixes.

Issues

  • 16395 - DateTime.Now returns incorrect local time for one hour after entering DST in 39 locales
  • 17064 - Added some missing .NET Standard 2.1 members

September 18, 2019 - Xamarin.Mac 6.2.0.42

Tip

This version can be used to submit Apps to the App Store.

This version is included in Visual Studio for Mac 8.3 preview 5.

This release includes new and updated API to support Xcode 11. For more information you can view our release notes for 6.0.

September 12, 2019 - Xamarin.Mac 5.16.1.24

This version is included in Visual Studio for Mac 8.3 preview 4.

Enhancements

  • 6927 - Support notarization of Xamarin.Mac package.

September 3, 2019 - Xamarin.Mac 5.16.1.17

This version is included in Visual Studio for Mac 8.3 preview 3.

Issues

  • 6742 - [linker] Always preserve INativeObject (interface) on types Recent versions of the linker can remove unused interfaces from types. This optimization is only done when the type is not instantiated. However our tools and runtime requires knowing if a type represent a native object, using INativeObject even if the code that creates such instance is not marked.

August 12, 2019 - Xamarin.Mac 5.16.1.9

This version is included in Visual Studio for Mac 8.3 preview 2.

Enhancements

  • 6195 - [CFNetwork] Expose methods that were ignored until the dependencies were present

July 23, 2019 - Xamarin.Mac 5.16.0.5

Enhancements

  • 6477 - [httpclient] Change NSUrlSessionHandler and CFNetworkHandler to throw HttpRequestException. Fix #6439.
  • 6458 - [msbuild] $(ProduceReferenceAssembly) support
  • 6485 - [AppKit] Implement [NSView sortSubviewsUsingFunction:context:]
  • 6453 - [AppKit] Add signatures to NSGridView.Create and deprecate the actual one Community Contribution ❤️
  • 5965 - [mtouch] Support and use the partial static registrar when using the dynamic registrar on device.
  • 6005 - [runtime] Implement support for an arm64 dynamic registrar.
  • 6003 - [generator] Show proper errors when failing to compile
  • 6059 - [foundation] Expose AllowsCellularAccess on NSUrlSessionHandler
  • 6098 - [msbuild] Add non-UI version of com.apple.AudioUnit-UI in lists
  • 6394 - Add a new feature flag that indicates stable support for the Concurrent GC. Partial fix of #5909.

Issues

  • 6514 - [registar] Search the entire interface hierarchy for protocols. Fixes #6493.
  • 5989 - [runtime] Fix crash in the x86_64 dynamic registrar.
  • 5986 - [registrar] Fix marshalling of structs with a single member.
  • 6090 - [CFUrl] Fix leaks of CFUrl instances.
  • 6042 - [AppKit] Make NSCell and NSControl 'Formatter' accept null
  • 6096 - [mac] Add NSSegmentedCell.SetTooltip NullAllowed
  • 6091 - [CoreFoundation] Fix ownership of objects returned from CFHTTPMessageCreate* P/Invokes.
  • 6107 - [mmp] Ignore, by default, frameworks that cause rejection from App Store. Fix #6039.
  • 6135 - [generator] Fix generation of ReturnRelease code for third-party bindings.
  • 6147 - [Metal] Obsolete and fix MTLDevice.CreateBufferNoCopy.
  • 6159 - [Metal] Sprinkle [return: Release] on all new* selectors. Fixes #5941.
  • 6171 - [generator] Forward more [return: Release] attributes to generated code.
  • 6230 - [foundation] Fix NSCopying.Copy - the biggest offender of not releasing its return value
  • 6119 - [AppKit] Annotate NullAllowed for ToolTip properties in AppKit
  • 6379 - [AppKit] Add 'NullAllowed' to 'NSSegmentedControl.SetLabel'
  • 6519 - [Generator] NSValueReturnMap is registering CATransform3D on HaveCoreMedia instead of HaveCoreAnimation.

Known Issues

Using an older Xcode version

Using an older Xcode version (than the one mentioned in the above requirements) is often possible. For more information see the following documentation.

API Diff

The following documents contains a complete list of the API changes since the Xamarin.Mac 5.14 stable release:

Integrated Mono Features/Fixes

Xamarin.Mac uses a customized runtime and base class libraries (BCL) from Mono 6.4 Commit 5608fe0a

Feedback welcome

Your feedback is important to us. If there are any problems with this release, check the Xamarin.Mac Forums and Xamarin Mac/iOS GitHub Repository for existing issues. If you do not find any matching issue, please feel free to start a new discussion and report an issue.

Open Source

Xamarin.Mac is based on the following open-source repositories:

Contributors

A big Thank You! to external contributors who made improvements in this release: