Skip to content

Releases: xamarin/xamarin-macios

.NET 9.0.1xx RC 2 (9600)

08 Oct 16:52
a6599c7
Compare
Choose a tag to compare
Pre-release

We're excited to announce our second (and last) release candidate for .NET 9!

This release includes support for Xcode 16 and macOS 15.0 (Sequoia).

Note: these are the base SDKs that add support for the platforms in question. For MAUI (which is built on top of our SDKs), visit: https://learn.microsoft.com/dotnet/maui/.

This release consists of the following versions:

🚨 This release requires Xcode 16.0

Installation

You can use workload set version 9.0.100-rc.2.24503.1 in order to install the 18.0.9600-net9-rc2 version of the iOS SDK, please make sure to be using the latest .NET SDK 9.0.100-rc.2 before issuing the dotnet workload install command below. You can validate your installed dotnet version using dotnet --version do make sure it shows 9.0.100-rc.2 before proceeding.

dotnet workload install <workload id(s)> --version 9.0.100-rc.2.24503.1

Available workload ids

Example command installing all listed workloads.

dotnet workload install ios tvos macos maccatalyst maui android --version 9.0.100-rc.2.24503.1

You can use dotnet workload --info to validate the workload versions installed in your system.

Full release notes: .NET 9 release notes

Known issues

VSCode on macOS 15.0 (Sequoia)

VSCode currently has some incompatibilities on macOS 15.0 (Sequoia). Full details (with workarounds) can be found here: microsoft/vscode-dotnettools#1449

The native strip tool might crash (and exit with exit code 139)

This is a bug in the native strip tool (shipped by Apple with Xcode).

The simplest workaround is to disable stripping by adding the following to your csproj (the downside is that the app size will increase somewhat):

<PropertyGroup>
    <NoSymbolStrip Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">True</NoSymbolStrip>
</PropertyGroup>

For more information: #19157

App submission denied because app references the BrowserEngineKit framework

The workaround is to add the following to the project file:

<Target Name="DoNotLinkWithBrowserEngineKit" AfterTargets="_ComputeLinkNativeExecutableInputs">
	<ItemGroup>
		<_NativeExecutableFrameworks Remove="BrowserEngineKit" />
	</ItemGroup>
</Target>

For more information: #21324

Binding projects don't build

Binding projects will fail to build with an error like this:

/usr/local/share/dotnet/packs/Microsoft.iOS.Sdk.net9.0_18.0/18.0.9600-net9-rc2/tools/msbuild/iOS/Xamarin.Shared.targets(1776,3): error MSB6006: "dotnet" exited with code 150.

It might be possible to work around this by installing a daily .NET 9 RTM build from here: https://github.com/dotnet/sdk/blob/main/documentation/package-table.md

For more information: #21407

Known issues in .NET 9: Known issues in .NET 9

What's Changed

  • [Accessibility] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #21070
  • [AccessorySetupKit] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #20857
  • [AppKit/UIKit] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #21130
  • [AudioToolbox] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #20856
  • [AuthenticationServices] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #21143
  • [AutomaticAssessmentConfiguration] Implement Xcode 16.0 beta 1, beta 2 and beta 3 changes. by @rolfbjarne in #20847
  • [AutomaticAssessmentConfiguration] Implement Xcode beta 5 changes. by @rolfbjarne in #21028
  • [AVFoundation] Add AVCaptureDeviceTypeExternal. by @rolfbjarne in #21190
  • [AVFoundation] Implement Xcode 16.0 beta 1, beta 2 and beta 3 changes (from AVFAudio only). by @rolfbjarne in #20851
  • [AVKit] Implement Xcode 15 + Xcode 16.0 beta 1, beta 2 and beta 3 changes. by @rolfbjarne in #20849
  • [bgen] Add methods to convert between arrays of strong enum values and their underlying native enum type. by @rolfbjarne in #21089
  • [bgen] Add support for delegates with pointer types. by @rolfbjarne in #21159
  • [bgen] Add support for more backing field types. by @rolfbjarne in #21172
  • [bgen] Add support for specifying the backing field for strong enums using a new BackingFieldType attribute. by @rolfbjarne in #21016
  • [bgen] Add warning to the list of exceptions instead of showing it right away. by @rolfbjarne in #21027
  • [bgen] Fix compiler warnings. by @rolfbjarne in #21184
  • [bgen] Fix detecting NSObject types and generating block code with types that aren't NSObjects. by @rolfbjarne in #21181
  • [bgen] Fix generating delegates with nullable return types. #17109. by @rolfbjarne in #21094
  • [bgen] Fix using arrays of INativeObjects in delegate signatures. by @rolfbjarne in #21183
  • [bgen] Fix using types that are in multiple namespaces. by @rolfbjarne in #21182
  • [bgen] Fully qualify the RequiredMember and OptionalMember attributes. Fixes #21073. by @rolfbjarne in #21076
  • [bgen] Generate Obsolete + EditorBrowsable attributes in a few more cases. by @rolfbjarne in #21135
  • [bgen] Improve nullability detection to detect the nullability attributes the C# compiler generates. Fixes #17130. by @rolfbjarne in #21099
  • [BrowserEngineKit] Implement this new framework. by @rolfbjarne in #21168
  • [BrowserEngineKit] Improve API a bit by making a few methods async. by @rolfbjarne in #21236
  • [CallKit] Implement Xcode 16.0 beta 1, beta 2 and beta 3 changes. by @rolfbjarne in #20858
  • [CarPlay] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #21039
  • [CloudKit] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #20861
  • [ContactProvider] Don't bind this framework. by @rolfbjarne in #21160
  • [Contacts] Implement Xcode 16.0 beta 1, beta 2 and beta 3 changes. by @rolfbjarne in #20860
  • [CoreAnimation] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #21050
  • [CoreAudioTypes] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #21019
  • [CoreBluetooth] Implement Xcode 16.0 beta 1, beta 2 and beta 3 changes. by @rolfbjarne in #20859
  • [CoreData] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #21113
  • [CoreFoundation] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #21116
  • [CoreGraphics] Bind the CGSession API. by @rolfbjarne in #21024
  • [CoreGraphics] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #21033
  • [CoreImage] Implement Xcode 16 beta 6 changes. by @rolfbjarne in #21117
  • [CoreLocation] Implement Xcode 16.0 beta 1, beta 2 and beta 3 changes. by @rolfbjarne in #20864
  • [CoreMedia] Implement Xcode 16 beta 3-6 changes. by @rolfbjarne in #21118
  • [CoreMedia] Implement Xcode 16 RC changes. by @rolfbjarne in #21226
  • [CoreMidi] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #20882
  • [CoreMidi] Move fields to the api definition. by @rolfbjarne in #21043
  • [CoreML] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #21145
  • [CoreMotion] Implement Xcode 16.0 beta 1, beta 2 and b...
Read more

.NET 8.0.1xxx - Xcode 16.0 Support (8303)

26 Sep 23:12
a8d7eab
Compare
Choose a tag to compare

🚨 Xcode 16.0 is required with this release. Xcode 16 requires macOS 14.5+ or 15.0+.

This is a servicing release to the previous .NET 8 release, with support for Xcode 16 and macOS 15.0 (Sequoia).

Note: these are the base SDKs that add support for the platforms in question, for MAUI (which is built on top of our SDKs), go here instead: https://docs.microsoft.com/en-us/dotnet/maui/.

Versions

This release consists of the following versions:

Installation

You can use workload set version 8.0.402.1 in order to install the 18.0.8303 version of the iOS SDK, please make sure to be using the latest .NET SDK 8.0.402+ before issuing the dotnet workload install command below. You can validate your installed dotnet version using dotnet --version do make sure it shows 8.0.402 or above but below 9.0 before proceeding.

⚠️ Xcode 16 support for .NET 9 will be available on Release Candidate 2

dotnet workload install <workload id(s)> --version 8.0.402.1

Available workload ids

Example command installing all listed workloads.

dotnet workload install ios tvos macos maccatalyst maui android --version 8.0.402.1

You can use dotnet workload --info to validate the workload versions installed in your system.

If you need to downgrade to the previous version of the workloads for any reason, this command will do it:

dotnet workload install <workload id(s)> --version 8.0.402

Full release notes: https://github.com/xamarin/xamarin-macios/wiki/.NET-8-release-notes

Known issues

VSCode on macOS 15.0 (Sequoia)

VSCode currently has some incompatibilities on macOS 15.0 (Sequoia). Full details (with workarounds) can be found here: microsoft/vscode-dotnettools#1449

The native strip tool might crash (and exit with exit code 139)

This is a bug in the native strip tool (shipped by Apple with Xcode).

The simplest workaround is to disable stripping by adding the following to your csproj (the downside is that the app size will increase somewhat):

<PropertyGroup>
    <NoSymbolStrip Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">True</NoSymbolStrip>
</PropertyGroup>

For more information: #19157

App submission denied because app references the BrowserEngineKit framework

The workaround is to add the following to the project file:

<Target Name="DoNotLinkWithBrowserEngineKit" AfterTargets="_ComputeLinkNativeExecutableInputs">
	<ItemGroup>
		<_NativeExecutableFrameworks Remove="BrowserEngineKit" />
	</ItemGroup>
</Target>

For more information: #21324

What's Changed

  • [Accessibility] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #21070
  • [AccessorySetupKit] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #20857
  • [AppKit/UIKit] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #21130
  • [AudioToolbox] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #20856
  • [AuthenticationServices] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #21143
  • [AutomaticAssessmentConfiguration] Implement Xcode 16.0 beta 1, beta 2 and beta 3 changes. by @rolfbjarne in #20847
  • [AutomaticAssessmentConfiguration] Implement Xcode beta 5 changes. by @rolfbjarne in #21028
  • [AVFoundation] Add AVCaptureDeviceTypeExternal. by @rolfbjarne in #21190
  • [AVFoundation] Implement Xcode 16.0 beta 1, beta 2 and beta 3 changes (from AVFAudio only). by @rolfbjarne in #20851
  • [AVKit] Implement Xcode 15 + Xcode 16.0 beta 1, beta 2 and beta 3 changes. by @rolfbjarne in #20849
  • [bgen] Add methods to convert between arrays of strong enum values and their underlying native enum type. by @rolfbjarne in #21089
  • [bgen] Add support for delegates with pointer types. by @rolfbjarne in #21159
  • [bgen] Add support for more backing field types. by @rolfbjarne in #21172
  • [bgen] Add support for NSNumber as the underlying type for Objective-C fields. by @rolfbjarne in #21018
  • [bgen] Add support for specifying the backing field for strong enums using a new BackingFieldType attribute. by @rolfbjarne in #21016
  • [bgen] Add warning to the list of exceptions instead of showing it right away. by @rolfbjarne in #21027
  • [bgen] Fix detecting NSObject types and generating block code with types that aren't NSObjects. by @rolfbjarne in #21181
  • [bgen] Fix generating delegates with nullable return types. #17109. by @rolfbjarne in #21094
  • [bgen] Fix using arrays of INativeObjects in delegate signatures. by @rolfbjarne in #21183
  • [bgen] Fix using types that are in multiple namespaces. by @rolfbjarne in #21182
  • [bgen] Fully qualify the RequiredMember and OptionalMember attributes. Fixes #21073. by @rolfbjarne in #21076
  • [bgen] Generate Obsolete + EditorBrowsable attributes in a few more cases. by @rolfbjarne in #21135
  • [bgen] Improve nullability detection to detect the nullability attributes the C# compiler generates. Fixes #17130. by @rolfbjarne in #21099
  • [BrowserEngineKit] Implement this new framework. by @rolfbjarne in #21168
  • [BrowserEngineKit] Improve API a bit by making a few methods async. by @rolfbjarne in #21236
  • [CallKit] Implement Xcode 16.0 beta 1, beta 2 and beta 3 changes. by @rolfbjarne in #20858
  • [CarPlay] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #21039
  • [CloudKit] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #20861
  • [ContactProvider] Don't bind this framework. by @rolfbjarne in #21160
  • [Contacts] Implement Xcode 16.0 beta 1, beta 2 and beta 3 changes. by @rolfbjarne in #20860
  • [CoreAnimation] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #21050
  • [CoreAudioTypes] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #21019
  • [CoreBluetooth] Implement Xcode 16.0 beta 1, beta 2 and beta 3 changes. by @rolfbjarne in #20859
  • [CoreData] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #21113
  • [CoreFoundation] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #21116
  • [CoreGraphics] Bind the CGSession API. by @rolfbjarne in #21024
  • [CoreGraphics] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #21033
  • [CoreImage] Implement Xcode 16 beta 6 changes. by @rolfbjarne in #21117
  • [CoreLocation] Implement Xcode 16.0 beta 1, beta 2 and beta 3 changes. by @rolfbjarne in #20864
  • [CoreMedia] Implement Xcode 16 beta 3-6 changes. by @rolfbjarne in #21118
  • [CoreMedia] Implement Xcode 16 RC changes. by @rolfbjarne in #21226
  • [CoreMidi] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #20882
  • [CoreMidi] Move fields to the api definition. by @rolfbjarne in #21043
  • [CoreML] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #21145
  • [CoreMotion] Implement Xcode 16.0 beta 1, beta 2 and beta 3 changes. by @rolfbjarne in #20862
  • [CoreSpotlight] Implement Xcode 16.0 beta 1-6 changes. by @rolfbjarne in #20866
  • [CoreTelephony] Implement Xcode 16.0 beta 1, beta 2 and beta 3 changes. by @rolfbjarne in https://github.com/xama...
Read more

.NET 9.0.1xx RC 1 (9270)

10 Sep 15:31
41241b1
Compare
Choose a tag to compare
Pre-release

We're excited to announce our first release candidate for .NET 9!

Note: these are the base SDKs that add support for the platforms in question. For MAUI (which is built on top of our SDKs), visit: https://learn.microsoft.com/dotnet/maui/.

This release consists of the following versions:

🚨 This release requires Xcode 15.4

Full release notes: .NET 9 release notes
Known issues: Known issues in .NET 9

What's Changed

Full Changelog: dotnet-9.0.1xx-preview7-9231...dotnet-9.0.1xx-rc1-9270

.NET 8.0.1xxx - Xcode 15.4 Support (8030)

10 Sep 04:13
bc01f5e
Compare
Choose a tag to compare

This is a servicing release to the previous .NET 8 release.

Note: these are the base SDKs that add support for the platforms in question, for MAUI (which is built on top of our SDKs), go here instead: https://docs.microsoft.com/en-us/dotnet/maui/.

Versions

This release consists of the following versions:

Full release notes: https://github.com/xamarin/xamarin-macios/wiki/.NET-8-release-notes

🚨 This release requires Xcode 15.4

What's Changed

Full Changelog: dotnet-8.0.1xx-xcode15.4-8020...dotnet-8.0.1xx-xcode15.4-8030

.NET 9.0.1xx Preview 7 (9231)

13 Aug 18:00
0e30307
Compare
Choose a tag to compare
Pre-release

We're excited to announce our seventh preview release for .NET 9!

Note: these are the base SDKs that add support for the platforms in question. For MAUI (which is built on top of our SDKs), visit: https://learn.microsoft.com/dotnet/maui/.

This release consists of the following versions:

🚨 This release requires Xcode 15.4

Full release notes: .NET 9 release notes
Known issues: Known issues in .NET 9

What's Changed

  • [Darwin] Treat this code as a framework, which simplifies things a little bit. by @rolfbjarne in #20833
  • [dotnet] Force 'AppendRuntimeIdentifierToOutputPath=true' for the inner build of universal apps. by @rolfbjarne in #20839
  • [Foundation] Add missing properties to NSCharacterSet. Fixes #20745. by @rolfbjarne in #20761
  • [Foundation] Make the generic collection classes' generic GetEnumerator methods public. by @rolfbjarne in #20808
  • [msbuild] Add support for signing with the placeholder key. by @rolfbjarne in #20823
  • [msbuild] Don't support RuntimeIdentifiers for Hot Restart. by @rolfbjarne in #20750
  • [msbuild] Show a slightly better warning message when trying to expand TeamIdentifierPrefix/AppIdentifierPrefix without a provisioning profile. by @rolfbjarne in #20759
  • [msbuild] Update values we put in the generated Info.plist for Xcode archives. by @rolfbjarne in #20719
  • [src/tools] Propagate the BackwardsCompatibleCodeGeneration field from Protocol attributes in bindings to the generated code. by @rolfbjarne in #20804
  • [src] Fix definition of AVSampleCursorAudioDependencyInfo for Mac Catalyst. by @rolfbjarne in #20781
  • [src] Implement a more generic way of calling objc_msgSend with variadic arguments. by @rolfbjarne in #20832
  • Add UseInterpreter as part of the check for DynamicCodeSupport by @mcumming in #20912
  • Do not suppress trim analysis warnings when NativeAOT is enabled by @simonrozsival in #20767
  • Enable dedup only when targeting ARM64 mobile platforms by @ivanpovazan in #20951
  • Link with swift by @dalexsoto in #20954
  • NativeAOT: Enable building app extensions with NativeAOT by @ivanpovazan in #20872
  • NativeAOT: Reenable -dead_strip platform linker optimization by default by @ivanpovazan in #20796
  • Reenable dedup optimization for all AOT modes by @dalexsoto in #20941

Full Changelog: dotnet-9.0.1xx-preview6-9714...dotnet-9.0.1xx-preview7-9231

.NET 8.0.1xxx - Xcode 15.4 Support (8020)

13 Aug 13:46
700c59a
Compare
Choose a tag to compare

This is a servicing release to the previous .NET 8 release.

Note: these are the base SDKs that add support for the platforms in question, for MAUI (which is built on top of our SDKs), go here instead: https://docs.microsoft.com/en-us/dotnet/maui/.

Versions

This release consists of the following versions:

Full release notes: https://github.com/xamarin/xamarin-macios/wiki/.NET-8-release-notes

🚨 This release requires Xcode 15.4

What's Changed

  • [release/8.0.1xx-xcode15.4] Revert "[dotnet] Compute _SdkIsSimulator and the trimmer configuration earlier in the build. (#20431)" by @rolfbjarne in #20961

Full Changelog: dotnet-8.0.1xx-xcode15.4-8018...dotnet-8.0.1xx-xcode15.4-8020

.NET 8.0.1xxx - Xcode 15.4 Support (8018)

07 Aug 11:36
2711323
Compare
Choose a tag to compare

This is a servicing release to the previous .NET 8 release, adding support for Xcode 15.4, and new APIs introduced in Xcode 15.3 and Xcode 15.4, along with numerous other improvements and bug fixes.

Note: these are the base SDKs that add support for the platforms in question, for MAUI (which is built on top of our SDKs), go here instead: https://docs.microsoft.com/en-us/dotnet/maui/.

Known issues

XAML Hot Reload doesn't work

We've identified a regression that prevents Hot Reload from working correctly.

The symptom is a yellow bar in Visual Studio that says:

XAML Hot Reload is disabled because your iOS Linker Settings for (project name) are unsupported. Set your Linker Behavior to "Don't Link" and rebuild your project to use Hot Reload.

The workaround is to do as the message says, or add this to the project file (which is the same thing):

<PropertyGroup>
	<MtouchLink>None</MtouchLink>
</PropertyGroup>

We've already fix this regression internally, and it will be shipped in the next service release.

New features

Multi targeting for library projects

We've added support for targeting the earliest APIs for a given .NET release in library projects, in addition to the latest APIs we support.

In this release, this means we support targeting our iOS 17.0 APIs + iOS 17.5 APIs.

Multi targeting is enabled by adding the given iOS version to the target framework in the project file, like this:

<PropertyGroup>
	<TargetFrameworks>net8.0-ios17.0;net8.0-ios17.5</TargetFrameworks>
</PropertyGroup>

Note that this will fail to build once we release support for iOS 17.6, stating that the iOS version 17.5 is not supported (since we only support earliest and latest - which would be iOS 17.0 and iOS 17.6 at this point). To avoid this, don't specify any version for the latest (because the default is the latest):

<PropertyGroup>
	<TargetFrameworks>net8.0-ios17.0;net8.0-ios</TargetFrameworks>
</PropertyGroup>

And this will target the iOS 17.0 bindings + the latest iOS 17.* bindings depending on the current release.

Note: the examples are for iOS, but this works for all platforms (tvOS, macOS and Mac Catalyst as well)

References:

Bind protocols using default interface members

We've improved how we bind Objective-C protocols to take advantage of default interface members in C#: most importantly optional members are now members of the C# interface we map Objective-C protocols to (we previously used extension methods for optional members).

This has a couple of advantages:

  • Makes it easier to implement optional protocol members, because Intellisense works in IDEs (since the members are available on the corresponding C# interface).
  • Protocol properties can be implemented as actual properties, instead of a set of Get/Set pair of methods (which we had to do because there are no extension properties in C#, only extension methods).

References:

Versions

This release consists of the following versions:

Full release notes: https://github.com/xamarin/xamarin-macios/wiki/.NET-8-release-notes

🚨 This release requires Xcode 15.4

What's Changed

  • [Accelerate] Make P/Invokes have blittable signatures. by @rolfbjarne in #19991
  • [Accessibility] Make P/Invokes have blittable signatures. by @rolfbjarne in #20124
  • [AddressBook] Make P/Invokes have blittable signatures. by @rolfbjarne in #20145
  • [AppKit/UIKit] Adjust a few availability attributes in NS[Mutable]ParagraphStyle. Fixes #19209. by @rolfbjarne in #19211
  • [AppKit] Add support for Xcode 15. by @mandel-macaque in #19119
  • [AppKit] Create a better binding for [NSEvent eventWithGCEvent:]. by @rolfbjarne in #20362
  • [AppKit] Fix availability attribute for NSSplitViewItem.CanCollapseFromWindowResize. by @rolfbjarne in #20650
  • [AppKit] Fix binding for NSFontDescriptor.Create. Fixes #19659. by @rolfbjarne in #19663
  • [AppKit] Implement the NSUserInterfaceItemSearching protocol. Fixes #19649. by @rolfbjarne in #19662
  • [AppKit] Improve bindings for NSPasteboard and NSPasteboardReading a bit. by @rolfbjarne in #20643
  • [AppKit] Make NSGraphics.NSBestDepth P/Invoke blittable. by @rolfbjarne in #19614
  • [AppKit] Make P/Invokes have blittable signatures. by @rolfbjarne in #19987
  • [AppKit] Provide an NSEvent.GetCGEventObject method. by @rolfbjarne in #20423
  • [AppKit] Remove [NSImage imageWithSymbolName:bundle:variableValue:] from Mac Catalyst. by @rolfbjarne in #19320
  • [AppKit] Update the NSBezelStyle enum according to latest headers. Fixes #19555. by @rolfbjarne in #19556
  • [AudioToolbox] Add correct trimmer annotations for AudioQueue.GetProperty. by @rolfbjarne in #20363
  • [AudioToolbox] Fix computing array size. by @rolfbjarne in #19952
  • [AudioToolbox] Make P/Invokes in AudioConverter.cs have blittable signatures. by @rolfbjarne in #19848
  • [AudioToolbox] Make P/Invokes in AudioFile.cs have blittable signatures. by @rolfbjarne in #19936
  • [AudioToolbox] Make P/Invokes in AudioFileGlobalInfo.cs have blittable signatures. by @rolfbjarne in #19906
  • [AudioToolbox] Make P/Invokes in AudioFileStream.cs have blittable signatures. by @rolfbjarne in #19835
  • [AudioToolbox] Make P/Invokes in AudioFormat.cs have blittable signatures. by @rolfbjarne in #19954
  • [AudioToolbox] Make P/Invokes in AudioQueue.cs have blittable signatures. by @rolfbjarne in #19933
  • [AudioToolbox] Make P/Invokes in AudioServices.cs have blittable signatures. by @rolfbjarne in #19841
  • [AudioToolbox] Make P/Invokes in AudioSession.cs have blittable signatures. by @rolfbjarne in #19834
  • [AudioToolbox] Make P/Invokes in AudioToolbox.cs have blittable signatures. by @rolfbjarne in #19840
  • [AudioToolbox] Make P/Invokes in MusicPlayer.cs have blittable signatures. by @rolfbjarne in #19694
  • [AudioToolbox] Make P/Invokes in MusicSequence.cs have blittable signatures. by @rolfbjarne in #19839
  • [AudioToolbox] Make P/Invokes in MusicTrack.cs have blittable signatures. by @rolfbjarne in #19678
  • [AudioToolbox] Make P/Invokes in SystemSound.cs have blittable signatures. by @rolfbjarne in #19677
  • [AudioToolbox] Sprinkle DynamicallyAccessedMembers attributes to fix ILC trimmer warnings. by @rolfbjarne in #19913
  • [AudioUnit] Make P/Invokes in AudioComponent.cs have blittable signatures. by @rolfbjarne in #20146
  • [AudioUnit] Make P/Invokes in AudioUnit.cs have blittable signatures. by @rolfbjarne in #20620
  • [AudioUnit] Make P/Invokes in AUGraph.cs have blittable signatures. by @rolfbjarne in #20636
  • [AudioUnit] Make P/Invokes in ExtAudioFile.cs have blittable signatures. by @rolfbjarne in #19995
  • [AudioUnit] Remove unnecessary MarshalAs attributes from the AudioComponentDescription struct. by @rolfbjarne in #20565
  • [AutomaticAssessmentConfiguration] Add missing constructors to AEAssessmentApplication. Fixes #19133. by @rolfbjarne in #19180
  • [AVFoundation] Fix delegate signature for AVAudioSourceNode callbacks. by @rolfbjarne in #20357
  • [AVFoundation] Numerous improvements to the AVSampleCursor type + some other structs. by @rolfbjarne in #20685
  • [AVFoundation] Obsolete AVSpeechSynthesizer.WriteUtteranceAsync. Fixes #20338. by @rolfbjarne in #20339
  • [AVKit] Add bindings for AVCaptureEventInteraction by @rpendleton in #20296
  • [bgen] Add support for binding construct...
Read more

.NET 9.0.1xx Preview 6 (9714)

09 Jul 15:49
4741d54
Compare
Choose a tag to compare
Pre-release

We're excited to announce our sixth preview release for .NET 9!

Note: these are the base SDKs that add support for the platforms in question. For MAUI (which is built on top of our SDKs), visit: https://learn.microsoft.com/dotnet/maui/.

This release consists of the following versions:

Full release notes: .NET 9 release notes
Known issues: Known issues in .NET 9

What's Changed

  • [AppKit] Fix availability attribute for NSSplitViewItem.CanCollapseFromWindowResize. by @rolfbjarne in #20650
  • [AppKit] Improve bindings for NSPasteboard and NSPasteboardReading a bit. by @rolfbjarne in #20643
  • [AVFoundation] Numerous improvements to the AVSampleCursor type + some other structs. by @rolfbjarne in #20685
  • [bgen] Add support for binding static members in protocols. by @rolfbjarne in #20645
  • [bgen] Implement support for using default interface members to bind protocols. by @rolfbjarne in #20681
  • [CoreFoundation] Fix memory leak in CFProxySupport. by @rolfbjarne in #20713
  • [CryptoTokenKit] Bind this framework. Fixes #7876. by @rolfbjarne in #20587
  • [GameController] Make a few structs blittable. by @rolfbjarne in #20697
  • [MediaToolbox] Make P/Invokes in MTAudioProcessingTap.cs have blittable signatures. by @rolfbjarne in #20642
  • [msbuild] The DTPlatformName is supposed to be 'macosx' for Mac Catalyst. by @rolfbjarne in #20720
  • [msbuild] Unify MonoBundlingExtraArgs and MtouchExtraArgs into AppBundleExtraOptions. Fixes #12807. by @rolfbjarne in #20594
  • [Network] Make P/Invokes in NWDescriptor and NWWebSocket have blittable signatures. by @rolfbjarne in #20659
  • [Network] Make P/Invokes in NWConnection[Group] have blittable signatures. by @rolfbjarne in #20662
  • [Network] Make P/Invokes in NWFramer[Message] have blittable signatures. by @rolfbjarne in #20647
  • [Network] Make the remaining P/Invokes have blittable signatures. by @rolfbjarne in #20668
  • [NSUrlSessionHandler] Only update the request's RequestUri if a redirection occurred. Fixes #20629. by @rolfbjarne in #20633
  • [runtime] Call mono_unhandled_exception to raise AppDomain.UnhandledException. by @rolfbjarne in #20656
  • [runtime] Use calloc instead of malloc. by @rolfbjarne in #20692
  • [runtime] Use strnlen instead of strlen. by @rolfbjarne in #20702
  • [src/docs] Add xml documentation for types. by @rolfbjarne in #20672
  • [src] Make a few P/Invokes stragglers have blittable signatures. by @rolfbjarne in #20675
  • [src] Remove a few MarshalAs attributes in various APIs. by @rolfbjarne in #20704
  • Enable dedup optimization in FullAOT mode only by @kotlarmilos in #20687
  • Fix boolean condition to determine whether dynamic code is supported or not. Fixes #dotnet/runtime@101840. (#20563) by @rolfbjarne in #20696

Full Changelog: dotnet-9.0.1xx-preview5-9639...dotnet-9.0.1xx-preview6-9714

.NET 8.0.1xxx (8078)

09 Jul 15:50
80944cf
Compare
Choose a tag to compare

This is a servicing release to the previous .NET 8 release.

Note: these are the base SDKs that add support for the platforms in question, for MAUI (which is built on top of our SDKs), go here instead: https://docs.microsoft.com/en-us/dotnet/maui/.

Versions

This release consists of the following versions:

Full release notes: https://github.com/xamarin/xamarin-macios/wiki/.NET-8-release-notes

What's Changed

Full Changelog: dotnet-8.0.1xx-xcode15.1-8053...dotnet-8.0.1xx-8078

.NET 9.0.1xx Preview 5 (9639)

11 Jun 17:28
3c1eabb
Compare
Choose a tag to compare
Pre-release

We're excited to announce our fifth preview release for .NET 9!

Note: these are the base SDKs that add support for the platforms in question. For MAUI (which is built on top of our SDKs), visit: https://learn.microsoft.com/dotnet/maui/.

This release consists of the following versions:

Full release notes: .NET 9 release notes
Known issues: Known issues in .NET 9

What's Changed

  • [AudioUnit] Make P/Invokes in AudioUnit.cs have blittable signatures. by @rolfbjarne in #20620
  • [AudioUnit] Make P/Invokes in AUGraph.cs have blittable signatures. by @rolfbjarne in #20636
  • [AudioUnit] Remove unnecessary MarshalAs attributes from the AudioComponentDescription struct. by @rolfbjarne in #20565
  • [bgen] Add support for binding constructors in protocols. Fixes #14039. by @rolfbjarne in #20583
  • [bgen] Add support for marking API bindings as preview APIs using the Experimental attribute. by @rolfbjarne in #20591
  • [bgen] Fix support for ErrorDomain enums in third-party bindings. by @rolfbjarne in #20499
  • [bgen] Generate xml documentation for generated default constructors. by @rolfbjarne in #20525
  • [bgen] Generate xml documentation for generated enums. by @rolfbjarne in #20511
  • [bgen] Generate xml documentation for generated UIAppearance logic. by @rolfbjarne in #20502
  • [bgen] Generate xml documentation for notifications. by @rolfbjarne in #20492
  • [bgen] Generate xml documentation for the extension class we generate for protocols. by @rolfbjarne in #20564
  • [Blocks] Remove a block callback validation that's apparently too eager. by @rolfbjarne in #20625
  • [CoreMidi] Make MidiPacket.ByteArray and MidiPacket.BytePointer public by @Youssef1313 in #20540
  • [CoreVideo] Make P/Invokes in CVBuffer and CVDisplayLink have blittable signatures. by @rolfbjarne in #20494
  • [CoreVideo] Make P/Invokes in CVImageBuffer and CVMetalTexture[Cache] have blittable signatures. by @rolfbjarne in #20500
  • [CoreVideo] Make P/Invokes in CVPixel related types have blittable signatures. by @rolfbjarne in #20510
  • [Darwin] Make the 'kevent' P/Invoke have blittable signatures. by @rolfbjarne in #20467
  • [docs] Review and update the 'Binding errors' document. by @rolfbjarne in #20481
  • [dotnet] Make the VB templates compile use models instead of protocol interfaces. by @rolfbjarne in #20576
  • [dotnet] Throw an exception if the developer tries to use server garbage collection. Fixes #16853. by @rolfbjarne in #20569
  • [Foundation] Make P/Invokes have blittable signatures. by @rolfbjarne in #20539
  • [Foundation] Use 'Foundation' as the namespace for NSUrlSessionHandler for all platforms. by @rolfbjarne in #20581
  • [GameController] GCMouse doesn't conform to NSCoding/NSSecureCoding. by @rolfbjarne in #20641
  • [GameController] Make P/Invokes have blittable signatures. by @rolfbjarne in #20528
  • [GLKit] Make the GLKVertexAttributeParametersFromModelIO P/Invoke have a blittable signature. by @rolfbjarne in #20529
  • [msbuild/dotnet] Automatically link with Swift's system libraries if a binding project has the IsSwift=true property. by @rolfbjarne in #20546
  • [msbuild] Enable nullability in a few tasks. by @rolfbjarne in #20509
  • [msbuild] Fix duplicated property declaration. by @rolfbjarne in #20549
  • [msbuild] Fix issue referencing static libraries from compressed xcframeworks. by @rolfbjarne in #20585
  • [msbuild] Improve errors in case native linking fails. by @rolfbjarne in #20462
  • [msbuild] Improve the UnpackLibraryResources task a bit. by @rolfbjarne in #20004
  • [msbuild] Make the IBTool task nullable. by @rolfbjarne in #20550
  • [msbuild] Set the working directory before executing 'dotnet build' in the ComputeRemoteGeneratorProperties task. by @rolfbjarne in #20506
  • [msbuild] Show a better error with invalid app bundles due to Resources subdirectory. Fixes #20135. by @rolfbjarne in #20593
  • [msbuild] Version the Xamarin.Localization.MSBuild assembly. Fixes #20062. by @rolfbjarne in #20623
  • [net9.0] Fix boolean condition to determine whether dynamic code is supported or not. Fixes #dotnet/runtime@101840. by @rolfbjarne in #20563
  • [Network] Make P/Invokes in NWProtocol* have blittable signatures. by @rolfbjarne in #20638
  • [ObjCRuntime] Make P/Invokes have blittable signatures. by @rolfbjarne in #20547
  • [OpenGL/OpenGLES] Make P/Invokes have blittable signatures. by @rolfbjarne in #20512
  • [PrintCore] Make P/Invokes have blittable signatures. by @rolfbjarne in #20542
  • [runtime] Add support for additional type encodings. Fixes #18562. by @rolfbjarne in #20521
  • [runtime] Fix memory leak with BlockLiteral descriptors. Fixes #20503. by @rolfbjarne in #20556
  • [runtime] Throw exception for condition we don't handle in the dynamic registrar. by @rolfbjarne in #20568
  • [SearchKit] Make P/Invokes have blittable signatures. by @rolfbjarne in #20493
  • [Security] Make P/Invokes have in SslContext.cs blittable signatures. by @rolfbjarne in #20582
  • [Security] Make P/Invokes in [Sec]Trust.cs have blittable signatures. by @rolfbjarne in #20595
  • [Security] Make P/Invokes in Certificate.cs have blittable signatures. by @rolfbjarne in #20571
  • [Security] Make remaining P/Invokes have blittable signatures. by @rolfbjarne in #20618
  • [src] Expand multi-field single statements into multiple statements. by @rolfbjarne in #20489
  • [src] Fix accidental xml documentation comments. by @rolfbjarne in #20637

New Contributors

Full Changelog: dotnet-9.0.1xx-preview4-9523...dotnet-9.0.1xx-preview5-9639