Skip to content

.NET release notes

Rolf Bjarne Kvinge edited this page May 11, 2022 · 14 revisions

[These notes are incomplete and still in progress]


This release contains support for the following OSes, and the OS version we have bindings for:

  • iOS 15.4
  • macOS 12.3
  • tvOS 15.4
  • Mac Catalyst 15.4

Shipping changes

Shipped as workloads: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-workload-install

Installed by dotnet workload install [ios|macos|tvos|maccatalyst]

Create new app from a template with:

dotnet new ios|macos|tvos|maccatalyst

Get a full list of available templates with:

dotnet new --list --tag Mobile

Getting Started | What's New | Known Issues | Blogs | Feedback | Open Source

Requirements

  • Xcode 13.3
  • macOS 12.0 (Monterey)

What's New in this Release

Everything.

Notable Changes

Removed OpenTK dependency

https://github.com/xamarin/xamarin-macios/issues/13160

macOS

macOS is using the CoreCLR runtime instead of the Mono runtime.

There are a few incompatibilities between CoreCLR and Mono, those are listed here.

Mac Catalyst

We've added support for Mac Catalyst!

Conditional compilation symbols

We define both __IOS__ and __MACCATALYST__ for Mac Catalyst.

System version

The system version for Mac Catalyst (as returned by UIDevice.CurrentDevice.SystemVersion) is the macOS version.

However, the helper method UIDevice.CurrentDevice.CheckSystemVersion takes the corresponding iOS version (like the .NET availability API does).

Exception marshalling is enabled by default

We've enabled exception marshalling by default, because it prevents numerous potential problems (crashes, memory corruption, memory leaks, etc.)

However, there is a performance degredation when calling into Objective-C code. In the future we'll make it possible to avoid this performance degredation (at the cost of a slightly bigger app), but in the meantime it's possible to disable Objective-C exception marshalling by adding the following property to a PropertyGroup in your project file:

<MtouchExtraArgs>--marshal-objectivec-exceptions:disable</MtouchExtraArgs>

Differences in the CoreCLR runtime.

Release History

First release!

Issues Fixed

Breaking Changes

See also Breaking Changes

Known Issues

See [Known issues in .NET](Known issues in .NET)

{Title}

{Paragraph detailing known issue} {Links to respective bug or devcom item}

API Changes / API Diff

Frequently Asked Questions

What will happen with the old-style Xamarin.iOS and Xamarin.Mac products?

We'll continue to ship Xamarin.iOS and Xamarin.Mac separately for a while, but they will eventually be discontinued.

Ref: <link to blog post? documentation?>

Clone this wiki locally