Releases: dotnet/macios
Release list
.NET 11.0.1xx Preview 7 (11996)
We're excited to announce our seventh preview release for .NET 11!
Note
- Xcode 26.6 is required with this release. Xcode 26.6 requires macOS 26.2+.
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.5.11997-net11-p7
- tvOS: 26.5.11997-net11-p7
- Mac Catalyst: 26.5.11997-net11-p7
- macOS: 26.5.11997-net11-p7
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.7.26410.2 in order to install these versions of the SDKs,
please make sure to be using the sixth 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.7.26410.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 11.0.100-preview.7.26410.2You can use dotnet workload --info to validate the workload versions installed in your system.
New features
CoreCLR
We've switched to using CoreCLR as the runtime for iOS, tvOS and Mac Catalyst (it's been the runtime for macOS since .NET 6).
Most apps will see:
- Smaller app size.
- Faster launch and runtime execution.
- Faster builds, both for debug and release.
We're looking for testers to ensure everything works as expected - using CoreCLR should be a drop-in replacement.
Please test your applications and report any issues, either if something doesn't work, or if app size or runtime performance is worse.
Known issues
Debugging doesn't work with ReadyToRun
There's an incompatibility between the debugger and ReadyToRun, causing the app to crash when launched with the debugger.
The workaround is to disable ReadyToRun in the project file:
<PropertyGroup>
<PublishReadyToRun>false</PublishReadyToRun>
</PropertyGroup>What's Changed
- [Accounts] Fix ACFacebookAudience.OnlyMe mapping in SetPermissions by @rolfbjarne in #26133
- [assembly-preparer] Compute the method-override map lazily. by @rolfbjarne in #26022
- [assembly-preparer] Don't run the preserve/optimize/mark steps when not trimming. by @rolfbjarne in #26014
- [assembly-preparer] Fix IL2036 unresolved type in DynamicDependency with link-all. Fixes #26017 by @rolfbjarne in #26040
- [assembly-preparer] Log per-step timings and whether each step modified assemblies. by @rolfbjarne in #25944
- [assembly-preparer] Only run RegistrarRemovalTrackingStep if the platform assembly is trimmed. by @rolfbjarne in #25941
- [assembly-preparer] Skip re-serializing assemblies that weren't modified. by @rolfbjarne in #25971
- [assembly-preparer] Speed up InlineDlfcnMethodsStep. by @rolfbjarne in #26039
- [assembly-preparer] Subclass AssemblyModifierStep in ListExportedSymbols. by @rolfbjarne in #25942
- [assembly-preparer] Use a trimmer feature switch for DynamicRegistrationSupported. by @rolfbjarne in #25939
- [AVFoundation] Fix signature for LoadTrack*/LoadTracks* methods. Fixes #25606 by @rolfbjarne in #25653
- [bgen] Cache attribute lookups to reduce memory allocations by @rolfbjarne in #25782
- [bgen] Propagate nullability information for generic type arguments. Fixes #16860 by @rolfbjarne in #25541
- [docs] Improve XML docs for AccountStoreOptions and AppKitThreadAccessException by @rolfbjarne in #26132
- [docs] Improve XML docs for CBCentralManager, HKAnchoredObjectQuery, and 5 other types by @rolfbjarne in #26122
- [docs] Improve XML docs for DoubleClick events and NSEdgeInsets by @rolfbjarne in #26151
- [docs] Improve XML docs for EKParticipantScheduleStatus and 19 other types by @rolfbjarne in #26059
- [docs] Improve XML docs for EKSourceType, EKAlarmProximity, EKEntityMask, EKEntityType, EKAlarmType by @rolfbjarne in #26036
- [docs] Improve XML docs for ModelAttribute by @rolfbjarne in #25964
- [docs] Improve XML docs for MPNowPlayingInfo by @rolfbjarne in #25808
- [docs] Improve XML docs for MPNowPlayingInfoCenter by @rolfbjarne in #25819
- [docs] Improve XML docs for MPSImageScale, NEFilterFlow, and 11 other types by @rolfbjarne in #26091
- [docs] Improve XML docs for MPSkipIntervalCommand by @rolfbjarne in #25788
- [docs] Improve XML docs for MPVolumeSettings by @rolfbjarne in #25796
- [docs] Improve XML docs for NSFontCollectionAction, AppKitFramework, SKReceiptRefreshRequest, NSBrowser, NSLevelIndicator, NSPopUpButton by @rolfbjarne in #26220
- [docs] Improve XML docs for ObjCException, NLLanguage, CFHTTPAuthentication, CFHTTPStream, EKParticipantType, EKErrorCode, EKWeekday by @rolfbjarne in #25976
- [docs] Improve XML docs for QLPreviewPanel by @rolfbjarne in #25926
- [docs] Improve XML docs for SKCloudServiceSetupOptions by @rolfbjarne in #25748
- [docs] Improve XML docs for SKError by @rolfbjarne in #25957
- [docs] Improve XML docs for SKReceiptProperties by @rolfbjarne in #25774
- [docs] Improve XML docs for SRAbsoluteTime, MPMediaItemArtwork, SKPaymentTransactionState, SKDownloadState, CGPDFPage, CGShading, CGLayer by @rolfbjarne in #25945
- [docs] Improve XML docs for StoreProductParameters by @rolfbjarne in #25759
- [docs] Improve XML docs for TWRequestMethod by @rolfbjarne in #25904
- [docs] Improve XML docs for TWTweetComposeViewControllerResult by @rolfbjarne in #25901
- [docs] Improve XML docs for UIImage, UIView, and 11 other types by @rolfbjarne in #26068
- [docs] Improve XML docs for WebActionMouseButton by @rolfbjarne in #25855
- [docs] Improve XML docs for WebNavigationPolicyEventArgs by @rolfbjarne in #25859
- [docs] Improve XML docs for WKWindowFeatures by @rolfbjarne in #25832
- [dotnet-linker] Gate the TypeMap proxy-attribute workaround to .NET 10 only. Fixes #25276 by @rolfbjarne in #26018
- [dotnet-linker] Gate the TypeMap workaround for dotnet/runtime#127504 on .NET 10 and earlier. Fixes #25275 by @rolfbjarne in #26010
- [dotnet] Add 'Desktop' classification to Mac Catalyst and macOS templates. Fixes #15136. by @rolfbjarne in #25863
- [dotnet] Add 'Microsoft.Win32.SystemEvents' back into SignList.xml. by @rolfbjarne in #26078
- [dotnet] Add displayName to template symbols for localization. Fixes #20718. by @rolfbjarne in #25714
- [dotnet] Add icons to the project templates. Fixes #17169 by @rolfbjarne in #26062
- [dotnet] Add WaitForExit, StandardOutputPath, StandardErrorPath MSBuild properties. Fixes #24848 by @rolfbjarne in #25715
- [dotnet] Add Xcode 27.0 packages for .NET 10. by @rolfbjarne in #26071
- [dotnet] Default PublishTrimmed=false when there's nothing for the trimmer to do. by @rolfbjarne in #25909
- [dotnet] Don't quote the 'RunCommand' property. by @rolfbjarne in #25764
- [dotnet] Enable AOT generic instantiation deduplication when PrepareAssemblies=true by @rolfbjarne in #25894
- [d...
.NET 10 - Xcode 26.6 support (26.5.10315)
Note
- Xcode 26.6 is required with this release. Xcode 26.6 requires macOS 26.2+ (Tahoe).
This is a servicing release to the previous .NET 10 release.
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.5.10315
- tvOS: 26.5.10315
- macOS: 26.5.10315
- Mac Catalyst: 26.5.10315
Installation
You can use workload set version 10.0.302.1 in order to install these versions of the SDKs.
Please make sure to be using the latest .NET SDK 10.0.302 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.302 before proceeding.
dotnet workload install <workload id(s)> --version 10.0.302.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.302.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
Preview of Xcode 27 support
This release include preview support for Xcode 27.
To build with support for Xcode 27 and any new API bindings we've implemented so far, append 27.0 to the target framework in the project file. Additionally, ignore a warning about using the Xcode 27.0 preview. Note: .NET 10 must be used, we don't have .NET 11 builds with Xcode 27 support yet.
Example:
<PropertyGroup>
<TargetFramework>net10.0-ios27.0</TargetFramework>
<NoWarn>$(NoWarn);XCODE_27_0_PREVIEW</NoWarn>
</PropertyGroup>This requires installing Xcode 27.0 beta 4.
See .NET 10 - Xcode 27.0 Beta 4 support for the release notes for the support for Xcode 27.
What's Changed
- [release/10.0.1xx] [build] Fix NuGet migration race condition workaround by @rolfbjarne in #25996
- [release/10.0.1xx] [dotnet] Update Xcode 27.0 packages for .NET 10. by @dalexsoto in #26317
- [release/10.0.1xx] Update dependencies from dotnet/dotnet by @dotnet-maestro[bot] in #26355
Full Changelog: dotnet-10.0.1xx-xcode26.6-10301...dotnet-10.0.1xx-xcode26.5-10315
.NET 10 - Xcode 27.0 Beta 4 support (27.0.10417-xcode27.0)
Note
- Xcode 27.0 Beta 4 is required with this release. Xcode 27.0 Beta 4 requires macOS 26.4+ (Tahoe).
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: 27.0.10417-xcode27.0
- tvOS: 27.0.10417-xcode27.0
- macOS: 27.0.10417-xcode27.0
- Mac Catalyst: 27.0.10417-xcode27.0
Installation
You can use workload set version 10.0.302.1 in order to install these versions of the SDKs.
Please make sure to be using the latest .NET SDK 10.0.302 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.302 before proceeding.
dotnet workload install <workload id(s)> --version 10.0.302.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.302.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
Preview of Xcode 27 support
This release include preview support for Xcode 27.
To build with support for Xcode 27 and any new API bindings we've implemented so far, append 27.0 to the target framework in the project file. Additionally, ignore a warning about using the Xcode 27.0 preview. Note: .NET 10 must be used, we don't have .NET 11 builds with Xcode 27 support yet.
Example:
<PropertyGroup>
<TargetFramework>net10.0-ios27.0</TargetFramework>
<NoWarn>$(NoWarn);XCODE_27_0_PREVIEW</NoWarn>
</PropertyGroup>This requires installing Xcode 27.0 beta 4.
What's Changed
- [Accessibility] Update bindings up to Xcode 27 Beta 3 by @dalexsoto in #25984
- [AccessoryAccess] Add bindings up to Xcode 27.0 Beta 3 by @dalexsoto in #25982
- [Accounts] Fix ACFacebookAudience.OnlyMe mapping in SetPermissions by @rolfbjarne in #26133
- [AppKit] Add bindings for the new APIs in Xcode 27. by @dalexsoto in #25777
- [AppKit] Update bindings up to Xcode 27 Beta 3 by @dalexsoto in #25983
- [AppManagedFeatures] Ignore Swift-only framework by @dalexsoto in #26284
- [ARKit] Bind new Xcode 27 APIs and deprecations by @dalexsoto in #25809
- [assembly-preparer] Compute the method-override map lazily. by @rolfbjarne in #26022
- [assembly-preparer] Create a new tool to replace pre-mark custom linker steps. by @rolfbjarne in #25652
- [assembly-preparer] Don't run the preserve/optimize/mark steps when not trimming. by @rolfbjarne in #26014
- [assembly-preparer] Fix IL2036 unresolved type in DynamicDependency with link-all. Fixes #26017 by @rolfbjarne in #26040
- [assembly-preparer] Log per-step timings and whether each step modified assemblies. by @rolfbjarne in #25944
- [assembly-preparer] Only run RegistrarRemovalTrackingStep if the platform assembly is trimmed. by @rolfbjarne in #25941
- [assembly-preparer] Skip re-serializing assemblies that weren't modified. by @rolfbjarne in #25971
- [assembly-preparer] Speed up InlineDlfcnMethodsStep. by @rolfbjarne in #26039
- [assembly-preparer] Subclass AssemblyModifierStep in ListExportedSymbols. by @rolfbjarne in #25942
- [assembly-preparer] Use a trimmer feature switch for DynamicRegistrationSupported. by @rolfbjarne in #25939
- [AudioToolbox] Bind new Xcode 27 AudioToolbox APIs. by @dalexsoto in #25811
- [AuthenticationServices] Bind new macOS 27.0 APIs. by @dalexsoto in #25822
- [AutomaticAssessmentConfiguration] Bind new Xcode 27 APIs by @dalexsoto in #25824
- [AutomaticAssessmentConfiguration] Update bindings up to Xcode 27 Beta 3 by @dalexsoto in #25985
- [AVFoundation] Bind Xcode 27 APIs by @dalexsoto in #25828
- [AVFoundation] Fix signature for LoadTrack*/LoadTracks* methods. Fixes #25606 by @rolfbjarne in #25653
- [AVFoundation] Update bindings for Xcode 27 beta 3 by @dalexsoto in #25986
- [AVKit] Update bindings to Xcode 27 beta 3 by @dalexsoto in #26055
- [AVRouting] Update bindings to Xcode 27 beta 3 by @dalexsoto in #26056
- [AVSystemRouting] Update bindings to Xcode 27 beta 3 by @dalexsoto in #26057
- [BackgroundAssets] Update bindings up to Xcode 27.0 Beta 3 by @dalexsoto in #26086
- [BackgroundTasks] Update bindings up to Xcode 27.0 Beta 3 by @dalexsoto in #26084
- [bgen] Cache attribute lookups to reduce memory allocations by @rolfbjarne in #25782
- [bgen] Cache raw GetCustomAttributesData() results per provider by @rolfbjarne in #25564
- [bgen] Propagate nullability information for generic type arguments. Fixes #16860 by @rolfbjarne in #25541
- [bgen] Propagate simulator availability attributes to smart-enum field accessors by @dalexsoto in #25681
- [bgen] Remove support for ZeroCopyStrings by @rolfbjarne in #25515
- [bgen] Replace XPath lookups with Dictionary in DocumentationManager by @rolfbjarne in #25521
- [bgen] Support BindAs parameters in protocols by @dalexsoto in #26195
- [Binding Creator] Enhance documentation for adding new frameworks and clarify Xtro checks by @dalexsoto in #26028
- [BrowserEngineKit] Add bindings up to Xcode 27.0 Beta 3 by @dalexsoto in #26083
- [CarPlay] Update bindings up to Xcode 27.0 Beta 3 by @dalexsoto in #26112
- [Cinematic] Update bindings up to Xcode 27.0 Beta 3 by @dalexsoto in #26113
- [CloudKit] Update bindings up to Xcode 27.0 Beta 3 by @dalexsoto in #26115
- [CoreAudio] Update bindings up to Xcode 27.0 Beta 3 by @dalexsoto in #26123
- [CoreBluetooth] Update bindings up to Xcode 27.0 Beta 3 by @dalexsoto in #26116
- [CoreGraphics] Update bindings up to Xcode 27.0 Beta 3 by @dalexsoto in #26114
- [CoreImage] Update bindings up to Xcode 27.0 Beta 3 by @dalexsoto in #26117
- [CoreLocation] Update bindings up to Xcode 27.0 Beta 3 by @dalexsoto in #26120
- [CoreMedia] Update bindings up to Xcode 27.0 Beta 3 by @dalexsoto in #26121
- [CoreMotion] Update bindings up to Xcode 27.0 Beta 3 by @dalexsoto in #26119
- [CoreNFC] Update bindings up to Xcode 27.0 Beta 3 by @dalexsoto in #26118
- [CoreSpotlight] Update bindings up to Xcode 27.0 Beta 3 by @dalexsoto in #26158
- [CoreSpotlight] Update bindings up to Xcode 27.0 Beta 4 by @dalexsoto in #26279
- [CoreTelephony] Update bindings up to Xcode 27.0 Beta 3 by @dalexsoto in #26160
- [CoreVideo] Update bindings up to Xcode 27.0 Beta 3 by @dalexsoto in #26157
- [CryptoTokenKit] Update bindings up to Xcode 27.0 Beta 3 by @dalexsoto in #26156
- [DeviceDiscoveryExtension] Update bindings up to Xcode 27.0 Beta 3 by @dalexsoto in #26155
- [docs] Fix reference to the ReferenceNativeSymbol item group. by @rolfbjarne in #25579
- [docs] Improve XML docs for 19 types (NSValue, MessageComposeResult, ABRecord, etc.) by @rolfbjarne in #26256
- [docs] Improve XML docs for AccountStoreOptions and AppKitThreadAccessException by @rolfbjarne in #26132
...
.NET 11.0.1xx Preview 6 (11720)
We're excited to announce our sixth preview release for .NET 11!
Note
- Xcode 26.6 is required with this release. Xcode 26.5 requires macOS 26.2+.
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.5.11720-net11-p6
- tvOS: 26.5.11720-net11-p6
- Mac Catalyst: 26.5.11720-net11-p6
- macOS: 26.5.11720-net11-p6
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.6.26364.2 in order to install these versions of the SDKs,
please make sure to be using the sixth 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.6.26364.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 11.0.100-preview.6.26364.2You can use dotnet workload --info to validate the workload versions installed in your system.
New features
CoreCLR is now the runtime
We've switched to using CoreCLR as the runtime for iOS, tvOS and Mac Catalyst (it's been the runtime on macOS since .NET 6).
Most apps will see:
- Smaller app size.
- Faster launch and runtime execution.
- Faster builds, both for debug and release.
We're looking for testers to ensure everything works as expected - using CoreCLR should be a drop-in replacement.
Please test your applications and report any issues, either if something doesn't work, or if app size or runtime performance is worse.
What's Changed
- [assembly-preparer] Create a new tool to replace pre-mark custom linker steps. by @rolfbjarne in #25652
- [bgen] Cache raw GetCustomAttributesData() results per provider by @rolfbjarne in #25564
- [bgen] Propagate simulator availability attributes to smart-enum field accessors by @dalexsoto in #25681
- [bgen] Remove support for ZeroCopyStrings by @rolfbjarne in #25515
- [bgen] Replace XPath lookups with Dictionary in DocumentationManager by @rolfbjarne in #25521
- [docs] Fix reference to the ReferenceNativeSymbol item group. by @rolfbjarne in #25579
- [docs] Improve XML docs for StatusCode by @rolfbjarne in #25730
- [docs] Improve XML docs for StatusCodeError by @rolfbjarne in #25710
- [docs] Improve XML docs for SystemConfigurationException by @rolfbjarne in #25704
- [docs] Minor update to docs about how to update api docs. by @rolfbjarne in #25595
- [dotnet-linker] Add a trimmer step to inline calls to Class.GetHandle[Intrinsic]. by @rolfbjarne in #25318
- [dotnet] Don't enable InlineClassGetHandle if we're using the static registrar as a custom trimmer step. by @rolfbjarne in #25524
- [dotnet] Fix the .NET 10 MSI minor-version computation for Xcode 27 and later by @dalexsoto in #25688
- [dotnet] Put type-map.txt into the linker cache directory. by @rolfbjarne in #25654
- [dotnet] Quote MlaunchPath in generated mobile run scripts by @rolfbjarne in #25680
- [dotnet] Use desktop MSBuild task assemblies in VS for all platforms by @kotlarmilos in #25662
- [Foundation] Simplify memory management of NSObjectData for CoreCLR. by @rolfbjarne in #25507
- [mobile] .NET 11 mobile runtime configuration updates by @kotlarmilos in #25672
- [msbuid] Fix Content items with PublishFolderType losing files that match SDK names. Fixes #25497. by @rolfbjarne in #25528
- [msbuild] Fix getting an x64 simulator if asked to build for x64. by @rolfbjarne in #25614
- [msbuild] Improve diagnostics when simulator runtimes aren't available, Fixes #25298 by @rolfbjarne in #25483
- [msbuild] Improve how we handle the path to Xcode. by @rolfbjarne in #24021
- [msbuild] Make inlined dlfcn native symbol references weak + dlsym fallback by @dalexsoto in #25683
- [mtouch] Guard RunRegistrar calls with platform ifdef checks by @rolfbjarne in #25678
- [net11.0] 'dotnet watch' works again now, so enable the corresponding tests. by @rolfbjarne in #25712
- [net11.0] [dotnet] Remove workaround for dotnet/sdk#52480 by @rolfbjarne in #25720
- [net11.0] [dotnet] Remove workaround for ResolveReadyToRunCompilers failing. Fixes #24495. by @rolfbjarne in #25719
- [net11.0] R2R-compile only System.Private.CoreLib for Debug CoreCLR arm64 builds by @rolfbjarne in #25787
- [net11.0] R2R-compile only System.Private.CoreLib for Debug CoreCLR mobile builds by @kotlarmilos in #25583
- [NSObject] Store the super handle in a ConditionalWeakTable. by @rolfbjarne in #25454
- [NSUrlSessionHandler] Reject unsupported auth methods to allow fallback to Basic. Fixes #25485. by @rolfbjarne in #25493
- [release/11.0.1xx-preview6] [msbuild] Always build referenced extension projects by default by @rolfbjarne in #25854
- [release/11.0.1xx-preview6] [net11.0] Don't run GenerateR2RModuleRegistration remotely. by @rolfbjarne in #25951
- [release/11.0.1xx-preview6] Bump mlaunch to get retry fix. by @rolfbjarne in #26025
- [release/11.0.1xx-preview6] Bump mlaunch to support Xcode 27 Device Hub (#25768) by @dalexsoto with @Copilot in #25807
- [release/11.0.1xx-preview6] Update to use stable Xcode 26.6 by @dalexsoto in #25853
- [runtime] Show the error code if calling coreclr_initialize fails. by @rolfbjarne in #25544
- [runtime] Use method_getTypeEncoding instead of the deprecated method_getDescription by @dalexsoto in #25686
- [src] Fix numerous API typos and improve the introspection typo test. Fixes #25397. by @rolfbjarne in #25706
- [src] Mark MKDistanceFormatter as thread-safe. Fixes #25617. by @rolfbjarne in #25620
- [src] NSBindingSelectionMarker is in AppKit. by @rolfbjarne in #25523
- [src] Remove CIFilterGenerator from iOS and Mac Catalyst. by @rolfbjarne in #25630
- [src] Remove NSPrintPreviewGraphicsContext. by @rolfbjarne in #25527
- Add support for Composer Icons by @rolfbjarne in #24722
- Downgrade MT2255 warning to a log message Fixes #25670 by @rolfbjarne in #25696
- Make NSUrlSessionHandler handle redirects like the .NET handlers do by @dalexsoto in #25529
- Revert "[net11.0] R2R-compile only System.Private.CoreLib for Debug CoreCLR mobile builds" by @rolfbjarne in #25735
Full Changelog: dotnet-11.0.1xx-preview5-11546...dotnet-11.0.1xx-preview6-11720
.NET 10 - Xcode 26.6 support (26.5.10301)
Note
- Xcode 26.6 is required with this release. Xcode 26.6 requires macOS 26.2+ (Tahoe).
This is a servicing release to the previous .NET 10 release.
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.5.10301
- tvOS: 26.5.10301
- macOS: 26.5.10301
- Mac Catalyst: 26.5.10301
Installation
You can use workload set version 10.0.302.0 in order to install these versions of the SDKs.
Please make sure to be using the latest .NET SDK 10.0.302 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.302 before proceeding.
dotnet workload install <workload id(s)> --version 10.0.302.0Available 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.302.0You 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
- [dotnet] Use desktop MSBuild task assemblies in VS for all platforms by @rolfbjarne in #25718
- [msbuild] Always build referenced extension projects by default by @rolfbjarne in #25846
- Bump mlaunch and xharness to the latest version by @dalexsoto in #25767
- Update to use stable Xcode 26.6 by @dalexsoto in #25851
Full Changelog: dotnet-10.0.1xx-xcode26.5-10284...dotnet-10.0.1xx-xcode26.6-10301
.NET 11.0.1xx Preview 5 (11546)
We're excited to announce our fifth preview release for .NET 11!
Note
- Xcode 26.5 is required with this release. Xcode 26.5 requires macOS 26.2+.
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.5.11546-net11-p5
- tvOS: 26.5.11546-net11-p5
- Mac Catalyst: 26.5.11546-net11-p5
- macOS: 26.5.11546-net11-p5
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.5.26309.3 in order to install these versions of the SDKs,
please make sure to be using the fifth 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.5.26309.3Available 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.5.26309.3You 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, and this is now the default runtime.
Most apps will see:
- Smaller app size.
- Faster launch and runtime execution.
- Faster builds, both for debug and release.
We're looking for 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.
If you find that CoreCLR doesn't work, you can keep using Mono by adding this to your project file:
<PropertyGroup>
<UseMonoRuntime>true</UseMonoRuntime>
</PropertyGroup>What's Changed
- [xcode26.5] Initial bump PR for Xcode 26.5 Beta 1 by @dalexsoto in #25071
- [Photos] Update bindings up to Xcode 26.5 Beta 1 by @dalexsoto in #25101
- [StoreKit] Update bindings up to Xcode 26.5 Beta 1 by @dalexsoto in #25102
- [CoreServices] Add deprecated attributes to FSEventStream RunLoop P/Invokes and fix UnscheduleFromRunLoop bug by @dalexsoto in #25103
- [MediaSetup] Add Mac Catalyst support by @dalexsoto in #25118
- [CoreMotion] Clean up xtro files by @dalexsoto in #25116
- [iTunesLibrary] Clean up xtro files by @dalexsoto in #25117
- [xcode26.5] Merge main into xcode26.5 by @dalexsoto in #25127
- [LocalAuthenticationEmbeddedUI] Update bindings and xtro by @dalexsoto in #25119
- [SafetyKit] Enable bindings in MacCatalyst by @dalexsoto in #25134
- [SystemConfiguration] Cleanup xtro files by @dalexsoto in #25132
- [PrintCore] Update bindings and clear xtro by @dalexsoto in #25128
- [SecurityUI] Clean up xtro by @dalexsoto in #25131
- [xcode26.5] Merge main into xcode26.5 by @dalexsoto in #25159
- [xcode26.5] Bump to Xcode 26.5 Beta 2 by @dalexsoto in #25167
- [devops] Fix PR latest-commit detection by @rolfbjarne in #25231
- [monotouch-test] Remove versioned code that's become dead due to min macOS version increasing. by @rolfbjarne in #25181
- [StoreKit] Fix StoreKit iTunes identifier width. Fixes #25219. by @rolfbjarne in #25221
- [net11.0] Fix PublishBuildAssets.proj path for newer Arcade SDK by @jonathanpeppers in #25260
- [main] Update dependencies from dotnet/xharness by @dotnet-maestro[bot] in #25245
- [main] Update dependencies from dotnet/macios by @dotnet-maestro[bot] in #25209
- [tests] Enable nullability in Touch.Unit. by @rolfbjarne in #25204
- [net11.0] Update dependencies from dotnet/macios by @dotnet-maestro[bot] in #25226
- [dotnet] Add test project templates for all Apple platforms by @jonathanpeppers in #25195
- [net11.0] Support multiple R2R images for ios/tvos apps by @rolfbjarne in #25077
- [CoreML] Remove the 'MLModelCollectionDidChangeNotification' field, it's not available anymore. by @rolfbjarne in #25277
- [devops] Make the API diff pipeline use a pr: trigger. by @rolfbjarne in #25284
- [net11.0] Update dependencies from dotnet/dotnet by @dotnet-maestro[bot] in #25197
- [automated] Merge branch 'main' => 'net11.0' by @github-actions[bot] in #25246
- [xtro] Enable nullability and fix any issues. by @rolfbjarne in #25274
- [AppKit] Implement manual bindings for notification event args properties that use literal strings. by @rolfbjarne in #25273
- [AudioUnit] Adjust framework for a few constants. by @rolfbjarne in #25272
- [QuartzComposer] Replace RSS-related field bindings with manual code that returns null. by @rolfbjarne in #25271
- [CoreBluetooth] Remove CBUUIDValidRangeString. by @rolfbjarne in #25270
- [github] Update aw. by @rolfbjarne in #25266
- [tests] Fix flaky TestNSUrlSessionHandlerSendClientCertificate. Fixes #25240 by @rolfbjarne in #25258
- [copilot] Add fix-random-ci-test-failure skill for diagnosing flaky tests by @rolfbjarne in #25256
- Fix flaky UrlProtocolTest.RegistrarTest race condition. Fixes #25223 by @rolfbjarne in #25255
- [dotnet] Fix CoreCLR framework signing with correct Info.plist tracking. Fixes #25248. by @rolfbjarne in #25254
- Update README.md Downloads and Feedback sections from Xamarin to .NET workloads by @rolfbjarne in #25252
- [tests] Fix flaky DeskCase_83099_InmutableDictionary keychain test by @rolfbjarne in #25251
- [devops] Remove empty directories and extract archive-html-report template by @rolfbjarne in #25250
- [tests] Use NSTemporaryDirectory instead of Xamarin.Cache in FSEventStreamTest by @rolfbjarne in #25243
- [xcode26.5] Update to use Xcode 26.5 Beta 3 by @dalexsoto in #25293
- [xcode26.5] Merge main into xcode26.5 by @dalexsoto in #25287
- [devops] Make the tests pipeline use a pr: trigger. by @rolfbjarne in #25239
- [tools] Add a new 'trimmable-static' registrar, that uses trimmable type maps. Fixes #23108. by @rolfbjarne in #25079
- Fix unclosed markdown code block in scripts/README.md by @rolfbjarne in #25267
- [too...
.NET 10 - Xcode 26.5 support (26.5.10284)
Note
- Xcode 26.5 is required with this release. Xcode 26.5 requires macOS 26.2+ (Tahoe).
This is a servicing release to the previous .NET 10 release.
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.5.10284
- tvOS: 26.5.10284
- macOS: 26.5.10284
- Mac Catalyst: 26.5.10284
Installation
You can use workload set version 10.0.300.3 in order to install these versions of the SDKs.
Please make sure to be using the latest .NET SDK 10.0.300 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.300 before proceeding.
dotnet workload install <workload id(s)> --version 10.0.300.3Available 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.300.3You 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] Delete old NuGet.config feeds. by @rolfbjarne in #25468
- [release/10.0.1xx] Fix issue #25462: Update Xamarin.MacDev by @dalexsoto in #25465
- [release/10.0.1xx] Update dependencies from dotnet/macios by @dotnet-maestro[bot] in #25459
- [release/10.0.1xx] [tools] Fix IL2009 warning for generic types in linker XML descriptors by @rolfbjarne in #25477
Full Changelog: dotnet-10.0.1xx-xcode26.5-10280...dotnet-10.0.1xx-xcode26.5-10284
.NET 9 - Xcode 26.5 support (26.5.9002)
Note
- Xcode 26.5 is required with this release. Xcode 26.5 requires macOS 26.2+ (Tahoe).
- This release adds Xcode 26.5 build support, no new APIs have 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.314.3 in order to install these versions of the SDKs.
Please make sure to be using the latest .NET SDK 9.0.314 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.314 or greater before proceeding.
dotnet workload install <workload id(s)> --version 9.0.314.3Available 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.314.3You can use dotnet workload --info to validate the workload versions installed in your system.
What's Changed
- [release/9.0.1xx] Update dependencies from dotnet/sdk by @dotnet-maestro[bot] in #25437
Full Changelog: dotnet-9.0.1xx-xcode26.5.9001...dotnet-9.0.1xx-xcode26.5.9002
.NET 9 - Xcode 26.5 support (26.5.9001)
Note
- Xcode 26.5 is required with this release. Xcode 26.5 requires macOS 26.2+ (Tahoe).
- This release adds Xcode 26.5 build support, no new APIs have 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.314.2 in order to install these versions of the SDKs.
Please make sure to be using the latest .NET SDK 9.0.314 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.314 or greater before proceeding.
dotnet workload install <workload id(s)> --version 9.0.314.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.314.2You can use dotnet workload --info to validate the workload versions installed in your system.
What's Changed
- [release/9.0.1xx] Update dependencies from dotnet/sdk by @dotnet-maestro[bot] in #25227
- [release/9.0.1xx] Backport a number of CI changes to make PRs work. by @rolfbjarne in #25345
- [release/9.0.1xx] Update build to use Xcode 26.5 no new API bindings by @dalexsoto in #25412
- [release/9.0.1xx] Update dependencies from dotnet/sdk by @dotnet-maestro[bot] in #25352
Full Changelog: dotnet-9.0.1xx-xcode26.4-9015...dotnet-9.0.1xx-xcode26.5.9001
.NET 10 - Xcode 26.5 support (26.5.10280)
Note
- Xcode 26.5 is required with this release. Xcode 26.5 requires macOS 26.2+ (Tahoe).
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.5.10280
- tvOS: 26.5.10280
- macOS: 26.5.10280
- Mac Catalyst: 26.5.10280
Installation
You can use workload set version 10.0.300.2 in order to install these versions of the SDKs.
Please make sure to be using the latest .NET SDK 10.0.300 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.300 before proceeding.
dotnet workload install <workload id(s)> --version 10.0.300.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 10.0.300.2You 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
- [src] Fix a few nullablity issues in a few places. by @rolfbjarne in #25043
- [main] Update dependencies from dotnet/xharness by @dotnet-maestro[bot] in #25048
- [CoreFoundation] Fix typo in native symbol name by @rolfbjarne in #25052
- [main] Bump dependency/support for .NET 9 Xcode 26.4 packages. by @dalexsoto in #25055
- [CryptoTokenKit] Update bindings all the way to Xcode 26.4 by @dalexsoto in #25025
- [dotnet-linker] Use [DynamicDependency] attributes instead of manual marking when optimizing generated code. by @rolfbjarne in #24979
- [bgen] Enable nullability everywhere. by @rolfbjarne in #25023
- [dotnet] Use the target framework version to compute the path to the task assembly. by @rolfbjarne in #25060
- [skills] More updates to macios-binding-creator by @dalexsoto in #25064
- [ImageCaptureCore] Bind new APIs and fix existing bindings up to Xcode 26.4 by @dalexsoto in #25028
- [xcode26.5] Initial bump PR for Xcode 26.5 Beta 1 by @dalexsoto in #25071
- [PdfKit] Implement manual bindings for PdfViewAnnotationHitEventArgs.AnnotationHit. by @rolfbjarne in #25068
- Fix xharness HTML failure summaries by @rolfbjarne in #25092
- [CoreMidi] kMIDIDriverPropertyUsesSerial is only available on macOS. by @rolfbjarne in #25095
- [Foundation] Throws a specific exception in NSUrlSessionHandler when a certificate is needed but not provided. Fixes #24532. by @rolfbjarne in #24544
- [Photos] Update bindings up to Xcode 26.5 Beta 1 by @dalexsoto in #25101
- [StoreKit] Update bindings up to Xcode 26.5 Beta 1 by @dalexsoto in #25102
- [CoreServices] Add deprecated attributes to FSEventStream RunLoop P/Invokes and fix UnscheduleFromRunLoop bug by @dalexsoto in #25103
- Bump peterjgrainger/action-create-branch from 3.0.0 to 4.0.0 by @dependabot[bot] in #25097
- [msbuild] Fix Content/BundleResource with PublishFolderType not bundled in multi-RID builds. Fixes #25053. by @rolfbjarne in #25065
- Remove duplicate @ prefix from issueAuthor in GitOps by @akoeplinger in #25100
- [introspection] Enable nullability. by @rolfbjarne in #25110
- [MediaSetup] Add Mac Catalyst support by @dalexsoto in #25118
- [CoreMotion] Clean up xtro files by @dalexsoto in #25116
- [iTunesLibrary] Clean up xtro files by @dalexsoto in #25117
- [ObjCRuntime] Add a Class.GetClassName to avoid code duplication. by @rolfbjarne in #25114
- [dotnet] Don't remove the 'LaunchProfiles' capability for macOS projects. by @rolfbjarne in #25113
- [xcode26.5] Merge main into xcode26.5 by @dalexsoto in #25127
- [LocalAuthenticationEmbeddedUI] Update bindings and xtro by @dalexsoto in #25119
- [main] Update dependencies from dotnet/macios by @dotnet-maestro[bot] in #25138
- [SafetyKit] Enable bindings in MacCatalyst by @dalexsoto in #25134
- [SystemConfiguration] Cleanup xtro files by @dalexsoto in #25132
- [PrintCore] Update bindings and clear xtro by @dalexsoto in #25128
- [SecurityUI] Clean up xtro by @dalexsoto in #25131
- [dotnet-linker] Create an xml descriptor instead of manual marking when applying the [Preserve] attribute. by @rolfbjarne in #25109
- [msbuild] Revamp finding a simulator to use when running an app in the simulator. Fixes #25112. by @rolfbjarne in #25129
- [dotnet-linker] Use [DynamicDependency] attributes instead of manual marking when marking static registrar methods. by @rolfbjarne in #25018
- [main] Update dependencies from dotnet/dotnet by @dotnet-maestro[bot] in #25140
- [main] Update dependencies from dotnet/xharness by @dotnet-maestro[bot] in #25153
- CoreSpotlight: fix 'occured' -> 'occurred' in CSEnums XML doc comment by @SAY-5 in #25164
- [xcode26.5] Merge main into xcode26.5 by @dalexsoto in #25159
- [xharness] Enable nullability, and fix any errors. by @rolfbjarne in #25160
- [AppKit] Fix the name of the userInfo 'Item' key in the WillAddItem/DidRemoveItem notifications. by @rolfbjarne in #25158
- [src] Review xml docs for grammar. by @rolfbjarne in #25165
- [xcode26.5] Bump to Xcode 26.5 Beta 2 by @dalexsoto in #25167
- [main] Bump Xcode to 26.4.1 by @dalexsoto in #25169
- [ObjCRuntime] Provide a way to remove an object from the object map. by @rolfbjarne in #25166
- [src] Unify the xml docs for the
Dispose(bool)method. by @rolfbjarne in #25175 - [tools] Improve the create-makefile-fragment script a bit. by @rolfbjarne in #25174
- [Foundation] Clean up pre-net10.0 code from NSUrlSessionHandler. by @rolfbjarne in #25177
- [main] Update dependencies from dotnet/macios by @dotnet-maestro[bot] in #25199
- [sharpie] Add docs on how to create a sharpie release. by @rolfbjarne in #25178
- [docs] Minor updates from copilot review in the dotnet/docs-mobile repository. by @rolfbjarne in #25191
- Add eng/Signing.props to sign cab files inside MSI workload packs by @rolfbjarne in #25192
- Bump mlaunch to get startup hook fix. by @rolfbjarne in #25202
- [dotnet-linker] Use [DynamicDependency] attributes instead of manual marking of NSObjects. by @rolfbjarne in #25146
- [Foundation] Enable HTTP digest auth in NSUrlSessionHandler by @rolfbjarne in #25180
- [docs] Fix typo 'embeddded' -> 'embedded'. by @rolfbjarne in #25205
- [devops] Disable implicit CI triggers on xamarin-macios-pr pipeline by @rolfbjarne in #25211
- [devops] Add a timeout to the 'Publish to Artifact Services Drop' step. by @rolfbjarne in #25210
- Add macios-reviewer skill for PR code review by @rolfbjarne in #25206
- [Foundation] Improve potential reentrancy problems in NSUrlSessionHandler. by @rolfbjarne in #25183
- [msbuild] Copy some ILLink output back to Windows when building remotely. by @rolfbjarne in #25235
- [msbuild] Add a condition to make sure empty item groups aren't processed. by @rolfbjarne in ...