Releases: dotnet/macios
Sharpie 26.3.0.11
We're excited to announce the first preview release of a major upgrade to Objective-Sharpie!
Main changes
- Open source
- Shipped as a .NET tool
- Updated to use a much newer version of Clang (21), which also means it's possible to use the latest versions of Xcode.
- Updated to use ClangSharp instead of a custom clang integration.
Our documentation has been updated as well: https://learn.microsoft.com/dotnet/maui/ios/objective-sharpie/
Installation
Install like this:
$ dotnet tool install -g Sharpie.Bind.Tool
You can invoke the tool using the following command: sharpie
Tool 'sharpie.bind.tool' (version '26.3.0.11') was successfully installed.
Important
If the old sharpie is still installed, it might be found when executing sharpie:
$ sharpie --version
3.5.126-e5d8c166 # this is the old sharpiesharpie --version
dotnet-sharpie 26.3.0.11 # this is the new sharpieRunning this should make the new sharpie take precedence (this won't actually uninstall the old sharpie, just remove the convenience script in "/usr/local/bin/sharpie"):
$ sudo rm -f /usr/local/bin/sharpieUsage
Use it to bind a framework like this:
$ sharpie bind --framework path/to/my.framework --output output-directoryFor more information see https://learn.microsoft.com/dotnet/maui/ios/objective-sharpie/.
Please test and file any issues here!
.NET 11.0.1xx Preview 2 (11428)
We're excited to announce our second preview release for .NET 11!
Note
- Xcode 26.2 is required with this release. Xcode 26.2 requires macOS 15.6+.
If you are using Xcode 26.3 you need to set this msbuild propertyValidateXcodeVersion=falsein order to skip the Xcode check. Xcode 26.2 and 26.3 have identical SDKs.
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:
- iOS: 26.2.11425-net11-p2
- tvOS: 26.2.11425-net11-p2
- Mac Catalyst: 26.2.11425-net11-p2
- macOS: 26.2.11425-net11-p2
Full release notes: .NET 11 release notes
Known issues: Known issues in .NET 11
Installation
You can use workload set version 11.0.100-preview.2.26160.1 in order to install these versions of the SDKs, please make sure to be using the first preview of the .NET SDK 11.0.100 before issuing the dotnet workload install command below. You can validate your installed dotnet version using dotnet --version do make sure it shows 11.0.100 or greater before proceeding.
dotnet workload install <workload id(s)> --version 11.0.100-preview.2.26160.1Available workload ids
- ios
- tvos
- macos
- maccatalyst
- android (see https://github.com/dotnet/android)
- maui (see https://github.com/dotnet/maui)
Example command installing all listed workloads.
dotnet workload install ios tvos macos maccatalyst maui android --version 11.0.100-preview.2.26160.1You can use dotnet workload --info to validate the workload versions installed in your system.
New features
(Experimental) CoreCLR
We've added support for using CoreCLR as the runtime for iOS, tvOS and Mac Catalyst.
Most apps will see:
- Smaller app size.
- Faster launch and runtime execution.
- Faster builds, both for debug and release.
We're looking for early testers to ensure everything works as expected - using CoreCLR should be a drop-in replacement (it's been the runtime on macOS since .NET 6)
To enable, add this to your project file:
<!-- Use CoreCLR on iOS -->
<PropertyGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">
<UseMonoRuntime>false</UseMonoRuntime>
</PropertyGroup>
<!-- Use CoreCLR on tvOS -->
<PropertyGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'tvos'">
<UseMonoRuntime>false</UseMonoRuntime>
</PropertyGroup>
<!-- Use CoreCLR on Mac Catalyst -->
<PropertyGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst'">
<UseMonoRuntime>false</UseMonoRuntime>
</PropertyGroup>Please try this in your applications and report any issues, either if something doesn't work, or if app size or runtime performance is worse.
Known issues (these will be fixed in a future preview):
- Debugging isn't supported yet
- Some runtime diagnostics features aren't fully functional yet
This is an experimental feature and not intended for production use yet.
What's Changed
- [bgen] Preserve all public methods supporting protocol methos as events. Fixes #24236. by @rolfbjarne in #24566
- [CoreVideo] Expose CVPixelBufferAttributes.AllocateWithIOSurface|MetalCompatibility on macOS. Fixes #24584. by @rolfbjarne in #24590
- [dotnet-linker] Mark field references in trimmed INativeObject/NSObject constructors. Fixes #24663. by @rolfbjarne in #24687
- [dotnet] Add support for CoreCLR when building from Windows. Fixes #24504. by @rolfbjarne in #24521
- [dotnet] Add support for transforming CoreCLR's dylibs to frameworks when building for device. by @rolfbjarne in #24506
- [dotnet] Disable any default 'PublishRuntimeIdentifier' values. by @rolfbjarne in #24562
- [dotnet] Fix building with NativeAOT remotely from Windows. Fixes #21808. by @rolfbjarne in #24623
- [dotnet] Fix handling binding frameworks embedded in binding assemblies remotely. by @rolfbjarne in #24518
- [dotnet] Fix support for startup hooks. Fixes #24492. by @rolfbjarne in #24664
- [Foundation] Improve NSArray.From[NS]Objects slightly. by @rolfbjarne in #24569
- [Foundation] Improve NSArray.FromStrings a bit. by @rolfbjarne in #24583
- [Foundation] Improve NSArray.StringArrayFromHandle a bit. by @rolfbjarne in #24640
- [Foundation] Unify the FromObjectsAndKeys implementations for creating dictionaries. by @rolfbjarne in #24556
- [MediaAccessibility] Tweak nullability in MACaptionAppearance. by @rolfbjarne in #24581
- [msbuild/dotnet] Add support for listing the devices and simulators available to run on. by @rolfbjarne in #24542
- [msbuild] Add a XamarinTask.SdkDevPath property and deduplicate a lot of code in child classes. by @rolfbjarne in #24523
- [msbuild] Add support for ACToolPath, IBToolPath and TextureAtlasPath. by @rolfbjarne in #24549
- [msbuild] Add the latest .NET version as a target framework for MSBuild projects by @rolfbjarne in #24522
- [msbuild] Automatically set DEVELOPER_DIR for all child processes. by @rolfbjarne in #24541
- [msbuild] Fix finding applicable simulator devices in GetMlaunchArguments task. by @rolfbjarne in #24610
- [msbuild] Fix listing devices with no udid. Fixes #24605. by @rolfbjarne in #24607
- [msbuild] Fix missing character in log message. by @rolfbjarne in #24635
- [msbuild] It seems that the 'get-task-allow' entitlement is allowed on all platforms. by @rolfbjarne in #24636
- [msbuild] Show a warning if SdkDevPath hasn't been set and we're executing a process. by @rolfbjarne in #24555
- [mtouch/dotnet-linker] Enable nullability in most files and fix any issues. by @rolfbjarne in #24565
- [net11.0] Enable launch time logging with environment variable by @kotlarmilos in #24656
- [net11.0] Exclude debug libraries in Release builds by @kotlarmilos in #24680
- [net11.0] Fix building .NET 10 projects. Fixes #24417. by @rolfbjarne in #24633
- [net11.0] Only create frameworks for dylibs on iOS and tvOS. by @rolfbjarne in #24632
- [net11.0] Update default linking for CoreCLR by @kotlarmilos in #24654
- [src] Remove redundant null checks before Class.GetHandle(Type) by @rolfbjarne in #24695
- [tools] Enable nullability in the registrars. by @rolfbjarne in #24589
- [tools] Remove the IntPtr.Size inline optimization. by @rolfbjarne in #24597
- [UIKit] Enable nullability and clean up UIAccessibility. by @rolfbjarne in #24568
- [UIKit] Enable nullability and clean up UIAccessibilityCustomAction. by @rolfbjarne in #24580
- [UIKit] Enable nullability and clean up UIActionSheet. by @rolfbjarne in #24593
- [UIKit] Enable nullability and clean up UIAppearance. by @rolfbjarne in #24596
- [UIKit] Enable nullability and clean up UICollectionView. by @rolfbjarne in #24599
- [UIKit] Enable nullability and clean up UICollectionViewLayoutAttributes. by @rolfbjarne in #24606
- [UIKit] Enable nullability and clean up UIControl. by @rolfbjarne in #24608
- [UIKit] Enable nullability and clean up UIDragDropSessionExtensions. by @rolfbjarne in #24609
- [UIKit] Enable nullability and clean up UIFont. by @rolfbjarne in #24637
- [UIKit] Enable nullability and clean up UIFontDescriptor. by @rolfbjarne in #24642
- [UIKit] Enable nullability and clean up UIGraphics. by @rolfbjarne in #24655
- [UIKit] Enable nullability and clean up UIGuidedAccessRestriction. by @rolfbjarne in...
.NET 10 - Xcode 26.2 support (26.2.10217)
Note
- Xcode 26.2 is required with this release. Xcode 26.2 requires macOS 15.6+.
If you are using Xcode 26.3 you need to set this msbuild propertyValidateXcodeVersion=falsein order to skip the Xcode check. Xcode 26.2 and 26.3 have identical SDKs.
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/.
This release consists of the following versions:
- iOS: 26.2.10217
- tvOS: 26.2.10217
- macOS: 26.2.10217
- Mac Catalyst: 26.2.10217
Installation
You can use workload set version 10.0.200 in order to install these versions of the SDKs.
Please make sure to be using the latest .NET SDK 10.0.200 before issuing the dotnet workload install command below. You can validate your installed dotnet version using dotnet --version do make sure it shows 10.0.200 before proceeding.
dotnet workload install <workload id(s)> --version 10.0.200Available workload ids
- ios
- tvos
- macos
- maccatalyst
- android (see https://github.com/dotnet/android)
- maui (see https://github.com/dotnet/maui)
Example command installing all listed workloads.
dotnet workload install ios tvos macos maccatalyst maui android --version 10.0.200You can use dotnet workload --info to validate the workload versions installed in your system.
Full release notes: https://github.com/dotnet/macios/wiki/.NET-10-release-notes
What's Changed
- [release/10.0.1xx] [bgen] Preserve all public methods supporting protocol methods as events. Fixes #24236. by @rolfbjarne in #24576
- [release/10.0.1xx] [dotnet-linker] Mark field references in trimmed INativeObject/NSObject constructors. Fixes #24663. by @rolfbjarne in #24689
- [release/10.0.1xx] Bring back arcade script files by @adamzip in #24742
- [release/10.0.1xx] [Foundation] Treat any exception during X509Chain.Build as a remote certificate chain error. Fixes #24739. by @rolfbjarne in #24757
- [release/10.0.1xx] Hardcode our manifest version band to 10.0.100 by @dalexsoto in #24779
- [release/10.0.1xx] Track .NET 9/Xcode 26.2 instead of .NET 9/Xcode 26.0 by @rolfbjarne in #24786
Full Changelog: dotnet-10.0.1xx-xcode26.2-10197...dotnet-10.0.1xx-xcode26.2-10217
.NET 9 - Xcode 26.2 support (26.2.9000)
Note
- Xcode 26.2 is required with this release. Xcode 26.2 requires macOS 15.6+.
- If you are using Xcode 26.3 you need to set this msbuild property
ValidateXcodeVersion=falsein order to skip the Xcode check. Xcode 26.2 and 26.3 have identical SDKs. - This release add Xcode 26.2 build support, no new APIs has been added.
This is a servicing release to the previous .NET 9 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:
Installation
You can use workload set version 9.0.312 in order to install these versions of the SDKs.
Please make sure to be using the latest .NET SDK 9.0.312 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.312 or greater before proceeding.
dotnet workload install <workload id(s)> --version 9.0.312Available workload ids
- ios
- tvos
- macos
- maccatalyst
- android (see https://github.com/dotnet/android)
- maui (see https://github.com/dotnet/maui)
Example command installing all listed workloads.
dotnet workload install ios tvos macos maccatalyst maui android --version 9.0.312You can use dotnet workload --info to validate the workload versions installed in your system.
What's Changed
- [release/9.0.1xx] [dotnet] Fix handling binding frameworks embedded in binding assemblies remotely. by @rolfbjarne in #24548
- [release/9.0.1xx] [Foundation] Treat any exception during X509Chain.Build as a remote certificate chain error. Fixes #24739. by @rolfbjarne in #24758
- [release/9.0.1xx] Bump to Xcode 26.2. by @rolfbjarne in #24737
Full Changelog: dotnet-9.0.1xx-xcode26.0-9785...dotnet-9.0.1xx-xcode26.2.9000
.NET 11.0.1xx Preview 1 (11315)
We're excited to announce our first preview release for .NET 11!
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:
- iOS: 26.2.11315-net11-p1
- tvOS: 26.2.11315-net11-p1
- Mac Catalyst: 26.2.11315-net11-p1
- macOS: 26.2.11315-net11-p1
Full release notes: .NET 11 release notes
Known issues: Known issues in .NET 11
Installation
You can use workload set version 11.0.100-preview.1.26109.8 in order to install these versions of the SDKs, please make sure to be using the first preview of the .NET SDK 11.0.100 before issuing the dotnet workload install command below. You can validate your installed dotnet version using dotnet --version do make sure it shows 11.0.100 or greater before proceeding.
dotnet workload install <workload id(s)> --version 11.0.100-preview.1.26109.8Available workload ids
- ios
- tvos
- macos
- maccatalyst
- android (see https://github.com/dotnet/android)
- maui (see https://github.com/dotnet/maui)
Example command installing all listed workloads.
dotnet workload install ios tvos macos maccatalyst maui android --version 11.0.100-preview.1.26109.8You can use dotnet workload --info to validate the workload versions installed in your system.
What's Changed
- [net11.0] Enable CoreCLR for all platforms. by @rolfbjarne in #23977
- [net11.0] Drop support for .NET 9. by @rolfbjarne in #24388
- [net11.0] [dotnet] Don't allow setting PublishTrimmed to any value. by @rolfbjarne in #24335
- [tests] Add an AppSizeTest variation for CoreCLR, both with and without R2R. by @rolfbjarne in #24390
- [net11.0] Enable CoreCLR tests on x64. by @rolfbjarne in #24421
- [net11.0] Prevent bundling/linking with libclrjit.dylib for CoreCLR on Apple mobile platforms. by @rolfbjarne in #24429
- [Foundation] Fix nullability in NSLocale. by @rolfbjarne in #24433
- [Foundation] Fix nullability in NSKeyedArchiver. by @rolfbjarne in #24436
- [Foundation] Fix nullability in NSMutableSet. by @rolfbjarne in #24422
- [Foundation] Fix nullability in NSMutableAttributedString. by @rolfbjarne in #24431
- [Foundation] Fix nullability in NSConnection. by @rolfbjarne in #24438
- [Foundation] Fix nullability in NSMutableDictionary. by @rolfbjarne in #24428
- [msbuild] Pass the XamarinTask instance along when calling CompressionHelper.TryCompress. by @rolfbjarne in #24439
- [net11.0] Bump min macOS to 14.0, and iOS/tvOS to 13.0. Fixes #23784. by @rolfbjarne in #24420
- [Foundation] Fix nullability in NSLayoutConstraint. by @rolfbjarne in #24434
- [Foundation] Fix nullability in NSMutableSet. by @rolfbjarne in #24419
- [main] Update dependencies from dotnet/xharness by @dotnet-maestro[bot] in #24453
- [main] Update dependencies from dotnet/macios by @dotnet-maestro[bot] in #24460
- [net11.0] Disable CoreCLR tests on x64. by @rolfbjarne in #24451
- [net11.0] Update dependencies from dotnet/dotnet by @dotnet-maestro[bot] in #24446
- [Foundation] Fix nullability in NSDictionary<TKey,TValue>. by @rolfbjarne in #24457
- [docs] Move the docs about ReferenceNativeSymbol in the correct file. by @rolfbjarne in #24462
- [net11.0] Add dependency/support for .NET 10 Xcode 26.2 packages. by @rolfbjarne in #24435
- [msbuild] Remove the SdkBinPath and SdkUsrPath properties. by @rolfbjarne in #24450
- [dotnet] Fix computing the app bundle location for 'dotnet run' for desktop apps. by @rolfbjarne in #24468
- [docs] Add a step to API docs publishing about flipping monikers from 'prelease' to 'live'. by @rolfbjarne in #24465
- [apidiff] Update reference/stable versions to .NET 10 / Xcode 26.2. by @rolfbjarne in #24463
- Localized file check-in by OneLocBuild Task: Build definition ID 14411: Build ID 12987286 by @vs-mobiletools-engineering-service2 in #24472
- [Foundation] Fix nullability in NSMutableDictionary<TKey, TValue>. by @rolfbjarne in #24458
- [AuthenticationServices] ASAuthorizationPlatformPublicKeyCredentialAssertionRequest is no longer gone. by @rolfbjarne in #24477
- [Foundation] Fix nullability in NSDictionary. by @rolfbjarne in #24478
- Correct iOS to iOS and tvOS in build properties by @igormoiseev in #24485
- [Foundation] Fix nullability in NSObject. by @rolfbjarne in #24481
- [net11.0] [dotnet] Fix computing _LibMonoLinkMode when not using Mono. by @rolfbjarne in #24488
- [main] Update dependencies from dotnet/xharness by @dotnet-maestro[bot] in #24475
- [src] Remove the NO_SYSTEM_DRAWING conditional compilation define, it's never set. by @rolfbjarne in #24479
- [msbuild/dotnet] Add support for listing the devices and simulators available to run on. by @rolfbjarne in #24279
- [tests] BitmapContextTest.AdaptiveTest to not crash. by @rolfbjarne in #24500
- [SceneKit] Distribute nullability for a few properties. by @rolfbjarne in #24496
- [GLKit] Fix nullability for GLKMesh.FromAssets. by @rolfbjarne in #24498
- [src] Fix make quietness inside templates. by @rolfbjarne in #24505
- [Foundation] Improve NSArray.FromIntPtrs slightly. by @rolfbjarne in #24501
- [tests] Use existing 'SecIdentity.Import' API instead of manually trying to do the same thing. by @rolfbjarne in #24432
- [main] Update dependencies from dotnet/xharness by @dotnet-maestro[bot] in #24507
- [CarPlay] Remove extraneous [Deprecated] on a CPGridButton ctor. Fixes #24491. by @rolfbjarne in #24497
- [msbuild] Be explicit about string comparisons. by @rolfbjarne in #24513
- [dotnet] Add support for ReadyToRun. by @rolfbjarne in #24437
- [Foundation] Improve NSArray.FromNativeObjects slightly. by @rolfbjarne in #24509
- [msbuild] Simplify DetectSdkLocation to not detect whether we're building for the simulator or not. by @rolfbjarne in #24514
- [AudioUnit] Simplify code and fix leak in AudioComponent.ComponentList. by @rolfbjarne in #24511
- [msbuild] Avoid using deprecated API by @rolfbjarne in #24512
- [dotnet] Set the default RuntimeIdentifier for publishing scenarios. by @rolfbjarne in #24329
- [net11.0] Bump min Mac Catalyst to 17.0. Fixes #23784. by @rolfbjarne in #24515
- [devops] Fix a few issues with pwsh tests and test result parsing. by @rolfbjarne in #24516
- Use the full GitHub url for submodules. by @rolfbjarne in #24517
- [net11.0] Merge main into net11.0. by @rolfbjarne in #24519
- [tests] Delete most legacy msbuild tests. by @rolfbjarne in #24520
- [tests] Migrate Cecil tests to NUnit v4. by @rolfbjarne in #24525
- [devops] macOS 12 is macOS Monterey. by @rolfbjarne in #24529
- [release/11.0.1xx-preview1] Merge branch 'net11.0' into 'release/11.0.1xx-preview1' by @rolfbjarne in #24561
- [release/11.0.1xx-preview1] [dotnet] Fix publish BAR manifest step by @rolfbjarne in #24577
- [release/11.0.1xx-preview1] [msbuild] Fix listing de...
.NET 10 - Xcode 26.2 support (26.2.10197)
Note
- Xcode 26.2 is required with this release. Xcode 26.2 requires macOS 15.6+.
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/.
This release consists of the following versions:
- iOS: 26.2.10197
- tvOS: 26.2.10197
- macOS: 26.2.10197
- Mac Catalyst: 26.2.10197
Installation
You can use workload set version 10.0.103 in order to install these versions of the SDKs.
Please make sure to be using the latest .NET SDK 10.0.103 before issuing the dotnet workload install command below. You can validate your installed dotnet version using dotnet --version do make sure it shows 10.0.103 before proceeding.
dotnet workload install <workload id(s)> --version 10.0.103Available workload ids
- ios
- tvos
- macos
- maccatalyst
- android (see https://github.com/dotnet/android)
- maui (see https://github.com/dotnet/maui)
Example command installing all listed workloads.
dotnet workload install ios tvos macos maccatalyst maui android --version 10.0.103You can use dotnet workload --info to validate the workload versions installed in your system.
Full release notes: https://github.com/dotnet/macios/wiki/.NET-10-release-notes
What's Changed
- [release/10.0.1xx] [dotnet] Disable any default 'PublishRuntimeIdentifier' values. by @rolfbjarne in #24563
Full Changelog: dotnet-10.0.1xx-xcode26.2-10196...dotnet-10.0.1xx-xcode26.2-10197
.NET 10 - Xcode 26.2 support (26.2.10196)
Note
- Xcode 26.2 is required with this release. Xcode 26.2 requires macOS 15.6+.
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/.
This release consists of the following versions:
- iOS: 26.2.10196
- tvOS: 26.2.10196
- macOS: 26.2.10196
- Mac Catalyst: 26.2.10196
Full release notes: https://github.com/dotnet/macios/wiki/.NET-10-release-notes
What's Changed
- [release/10.0.1xx] [dotnet] Fix handling binding frameworks embedded in binding assemblies remotely. by @rolfbjarne in #24538
- [release/10.0.1xx] [msbuild/dotnet] Add support for listing the devices and simulators available to run on. by @rolfbjarne in #24543
Full Changelog: dotnet-10.0.1xx-xcode26.2-10191...dotnet-10.0.1xx-xcode26.2-10196
.NET 9 - Xcode 26.0 support (9785)
Note
- Xcode 26.0 is required with this release. Xcode 26.0 requires macOS 15.6+.
This is a servicing release to the previous .NET 9 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:
Installation
You can use workload set version 9.0.311 in order to install these versions of the SDKs.
Please make sure to be using the latest .NET SDK 9.0.311 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.311 or greater before proceeding.
dotnet workload install <workload id(s)> --version 9.0.311Available workload ids
- ios
- tvos
- macos
- maccatalyst
- android (see https://github.com/dotnet/android)
- maui (see https://github.com/dotnet/maui)
Example command installing all listed workloads.
dotnet workload install ios tvos macos maccatalyst maui android --version 9.0.311You can use dotnet workload --info to validate the workload versions installed in your system.
What's Changed
Full Changelog: dotnet-9.0.1xx-xcode26.0-9783...dotnet-9.0.1xx-xcode26.0-9785
.NET 10 - Xcode 26.2 support (26.2.10191)
Note
- Xcode 26.2 is required with this release. Xcode 26.2 requires macOS 15.6+.
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/.
This release consists of the following versions:
- iOS: 26.2.10191
- tvOS: 26.2.10191
- macOS: 26.2.10191
- Mac Catalyst: 26.2.10191
Installation
You can use workload set version 10.0.101.1 in order to install these versions of the SDKs.
Please make sure to be using the latest .NET SDK 10.0.101 before issuing the dotnet workload install command below. You can validate your installed dotnet version using dotnet --version do make sure it shows 10.0.101 before proceeding.
dotnet workload install <workload id(s)> --version 10.0.101.1Available workload ids
- ios
- tvos
- macos
- maccatalyst
- android (see https://github.com/dotnet/android)
- maui (see https://github.com/dotnet/maui)
Example command installing all listed workloads.
dotnet workload install ios tvos macos maccatalyst maui android --version 10.0.101.1You can use dotnet workload --info to validate the workload versions installed in your system.
Full release notes: https://github.com/dotnet/macios/wiki/.NET-10-release-notes
What's Changed
- [Foundation] Fix nullability in NSCoder. by @rolfbjarne in #24179
- [src] Fix calling ConformsToProtocol on native instances that don't have a managed peer yet. Fixes #24111. by @rolfbjarne in #24189
- [xcode26.2] Bump to use Xcode 26.2 Beta 1 by @dalexsoto in #24184
- [Foundation] Fix nullability in NSDecimal. by @rolfbjarne in #24187
- [dotnet] Fix loading oldest reference assemblies for library projects. Fixes #24043. by @rolfbjarne in #24181
- [msbuild] Add support for CoreMLCompilerPath to specify the locatio of the 'coremlc' executable. by @rolfbjarne in #24193
- [msbuild] Fix confusion about where the codesign[-bundle].items files are stored. Fixes #24052. by @rolfbjarne in #24198
- [msbuild] Remove outdated Xcode checks by @rolfbjarne in #24188
- [Foundation] Fix nullability in NSDirectoryEnumerator. by @rolfbjarne in #24192
- [dotnet] Adjust the default trimming mode to not trim when using CoreCLR. by @rolfbjarne in #24206
- [tools] Build the partial static registrar for CoreCLR when CoreCLR is enabled. by @rolfbjarne in #24207
- [dotnet] Only do Mono AOT stuff when we're using Mono by @rolfbjarne in #24204
- [runtime] Link with libcoreclr on all platforms when it's enabled there. by @rolfbjarne in #24208
- [src] Make the trimmer inline Runtime.IsCoreCLR correctly for iOS, tvOS and Mac Catalyst by @rolfbjarne in #24205
- [msbuild] Add support for CopySceneKitAssetsPath to specify the location of the 'copySceneKitAssets' executable. by @rolfbjarne in #24218
- [src] Remove 'remarks' nodes from enum fields, and add a test. by @rolfbjarne in #24232
- [docs] Update docs about how to update API docs with one last step. by @rolfbjarne in #24233
- [xcode26.1.1] Bump to Xcode 26.1.1 by @rolfbjarne in #24231
- [docs] Update docs to match the published version. by @rolfbjarne in #24227
- [apiref] Bump to latest stable published NuGet packages by @dalexsoto in #24235
- [xcode26.2] Merge main into xcode26.2 by @dalexsoto in #24238
- [system-dependencies] Make simulator runtime installation a bit more resilient. by @rolfbjarne in #24243
- [msbuild] Always run WriteItemsFromFile locally. by @rolfbjarne in #24211
- [docs] Use absolute link to update-api-docs.md in the release check list. by @rolfbjarne in #24234
- [Foundation] Fix nullability in NSError. by @rolfbjarne in #24242
- [msbuild] Remove reference to System.Collections.Immutable. by @rolfbjarne in #24237
- [devops] Disable AzDO dependabot by @mmitche in #24255
- [introspection] Tweak which assemblies ApiPInvokeTest tests. by @rolfbjarne in #24252
- [Foundation] Fix nullability in NSFastEnumerator. by @rolfbjarne in #24253
- [Foundation] Fix nullability in NSItemProvider. by @rolfbjarne in #24258
- [Foundation] Fix nullability in NSUrlRequest. by @rolfbjarne in #24263
- [Foundation] Fix nullability in NSXpcInterface. by @rolfbjarne in #24264
- [Foundation] Fix nullability in NSValue. by @rolfbjarne in #24265
- [src] Add a [DynamicDependency] attribute from the event field to exported method for generated events. Fixes #24262. by @rolfbjarne in #24270
- [xcode26.2] Update AuthenticationServices to Xcode 26.2 Beta 1 by @dalexsoto in #24284
- [xcode26.2] Update to Xcode 26.2 Beta 2 by @dalexsoto in #24289
- [xcode26.2] Update AVFoundation bindings to Xcode 26.2 Beta 1 by @dalexsoto in #24285
- [Foundation] Fix nullability in NSUrlCredential. by @rolfbjarne in #24277
- [mlaunch] Update mlaunch to 1.1.93 by @mauroa in #24257
- [Foundation] Fix nullability in NSXpcConnection. by @rolfbjarne in #24268
- [Network] Fix NWBrowseResult.TxtRecord to not throw an exception if there's no TxtRecord. by @rolfbjarne in #24295
- [xcode26.2] Update GameKit bindings to Xcode 26.2 Beta 2 by @dalexsoto in #24302
- [Foundation] Fix nullability in NSUrlDownload. by @rolfbjarne in #24275
- [Foundation] Fix nullability in NSUrlProtectionSpace. by @rolfbjarne in #24271
- [xcode26.2] Update BrowserEngineKit bindings to Xcode 26.2 Beta 1 by @dalexsoto in #24287
- [Foundation] Fix nullability in NSTimeZone. by @rolfbjarne in #24304
- [xcode26.2] Update GameController bindings to Xcode 26.2 Beta 2 by @dalexsoto in #24297
- [xcode26.2] Update HealthKit bindings to Xcode 26.2 Beta 2 by @dalexsoto in #24307
- [Foundation] Fix nullability in NSUbiquitousKeyValueStore. by @rolfbjarne in #24278
- [Foundation] Document NSUrlSessionHandler.MaxInputInMemory. Fixes #21537. by @rolfbjarne in #24305
- [xcode26.2] Update PassKit bindings to Xcode 26.2 Beta 2 by @dalexsoto in #24310
- [Foundation] Fix nullability in NSUrlSession. by @rolfbjarne in #24269
- [xcode26.2] Merge main into xcode26.2 by @dalexsoto in #24318
- [xcode26.2] Update SafariServices bindings to Xcode 26.2 Beta 2 by @dalexsoto in #24320
- [xcode26.2] Update Security bindings to Xcode 26.2 Beta 2 by @dalexsoto in #24321
- [msbuild] Fix XcodeProject output path when using artifacts folder by @Copilot in #24224
- [tools] Mark the Invoke methods for the type to create block proxies when using the static registrar. by @rolfbjarne in #24344
- [Foundation] Fix nullability in NSStream. by @rolfbjarne in #24308
- [xcode26.2] Bump to Xcode 26.2 Release Candidate by @dalexsoto in #24359
- [xcode26.2] Merge main into xcode26.2 by @dalexsoto in #24357
- [Foundation] Improve documentation and remove redundant platform attributes in NSOrderedSet. by @rolfbjarne in #24345
- [Foundation] Fix nullability in NSRange. by @rolfbjarne in #24356
- [CoreAnimation] Remove incorrect availability attributes from CASpringAnimation.SettlingDuration by @Copilot in #24341
- [Foundation] Fix nullability in NSScriptCommandDescription. by @rolfbjarne in #24351
- ...
.NET 9 - Xcode 26.0 support (9783)
Note
- Xcode 26.0 is required with this release. Xcode 26.0 requires macOS 15.6+.
This is a servicing release to the previous .NET 9 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:
Installation
You can use workload set version 9.0.308.2 in order to install these versions of the SDKs.
Please make sure to be using the latest .NET SDK 9.0.308 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.308 or greater before proceeding.
dotnet workload install <workload id(s)> --version 9.0.308.2Available workload ids
- ios
- tvos
- macos
- maccatalyst
- android (see https://github.com/dotnet/android)
- maui (see https://github.com/dotnet/maui)
Example command installing all listed workloads.
dotnet workload install ios tvos macos maccatalyst maui android --version 9.0.308.2You can use dotnet workload --info to validate the workload versions installed in your system.
What's Changed
- [release/9.0.1xx] Update mlaunch to 1.1.93 by @rolfbjarne in #24366
Full Changelog: dotnet-9.0.1xx-xcode26.0-9777...dotnet-9.0.1xx-xcode26.0-9783