.NET 11.0.1xx Preview 4 (11514)
Pre-releaseWe're excited to announce our fourth preview release for .NET 11!
Note
- Xcode 26.4 is required with this release. Xcode 26.4 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.4.11514-net11-p4
- tvOS: 26.4.11514-net11-p4
- Mac Catalyst: 26.4.11514-net11-p4
- macOS: 26.4.11514-net11-p4
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.4.26261.2 in order to install these versions of the SDKs,
please make sure to be using the fourth 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.4.26261.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.4.26261.2You 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
- [Accessibility] Update bindings to Xcode 26.4 Beta 3 by @dalexsoto in #24877
- [apidiff] Update reference/stable versions to latest .NET 10 / Xcode 26.3 by @dalexsoto in #25157
- [AppKit] Fix the name of the userInfo 'Item' key in the WillAddItem/DidRemoveItem notifications. by @rolfbjarne in #25158
- [AuthenticationServices] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24993
- [AutomaticAssessmentConfiguration] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24998
- [AVFoundation] Updated bindings to Xcode 26.4 RC by @dalexsoto in #24933
- [AVKit] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24945
- [BackgroundAssets] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24940
- [bgen] Enable nullability everywhere. by @rolfbjarne in #25023
- [BrowserKit] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24939
- [CarPlay] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24961
- [ClassKit] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24946
- [copilot] Tell copilot to not report potential compiler errors. by @rolfbjarne in #25038
- [CoreData] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24951
- [CoreFoundation] Fix typo in native symbol name by @rolfbjarne in #25052
- [CoreMidi] kMIDIDriverPropertyUsesSerial is only available on macOS. by @rolfbjarne in #25095
- [CoreNFC] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24958
- [CoreTelephony] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24959
- [CoreText] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24960
- [CoreWlan] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24995
- [CryptoTokenKit] Update bindings all the way to Xcode 26.4 by @dalexsoto in #25025
- [docs] Fix typo 'embeddded' -> 'embedded'. by @rolfbjarne in #25205
- [docs] Minor updates from copilot review in the dotnet/docs-mobile repository. by @rolfbjarne in #25191
- [dotnet-linker] Create an xml descriptor instead of manual marking when applying the [Preserve] attribute. by @rolfbjarne in #25109
- [dotnet-linker] Use [DynamicDependency] attributes instead of manual marking in MarkIProtocolHandler. by @rolfbjarne in #24931
- [dotnet-linker] Use [DynamicDependency] attributes instead of manual marking of NSObjects. by @rolfbjarne in #25146
- [dotnet-linker] Use [DynamicDependency] attributes instead of manual marking when marking static registrar methods. by @rolfbjarne in #25018
- [dotnet-linker] Use [DynamicDependency] attributes instead of manual marking when optimizing generated code. by @rolfbjarne in #24979
- [dotnet-linker] Use [DynamicDependency] attributes instead of manual marking when preserving block code. by @rolfbjarne in #24936
- [dotnet-linker] Use [DynamicDependency] attributes instead of manual marking when preserving smart enum methods. by @rolfbjarne in #24934
- [dotnet] Add net10.0 msbuild tool DLLs to SignList.xml by @dalexsoto in #25006
- [dotnet] Don't remove the 'LaunchProfiles' capability for macOS projects. by @rolfbjarne in #25113
- [dotnet] Make 'dotnet watch' work. by @rolfbjarne in #24922
- [dotnet] Quote the path to our TrimAttributes.LinkDescription.xml file. Fixes #24964. by @rolfbjarne in #24994
- [dotnet] Use the target framework version to compute the path to the task assembly. by @rolfbjarne in #25060
- [Foundation] Add KeepHeadersAfterDecompression app context switch to NSUrlSessionHandler by @rolfbjarne in #24957
- [Foundation] Clean up pre-net10.0 code from NSUrlSessionHandler. by @rolfbjarne in #25177
- [Foundation] Enable HTTP digest auth in NSUrlSessionHandler by @rolfbjarne in #25180
- [Foundation] Improve nullability in NSArray.FromArrayOfArray. by @rolfbjarne in #24919
- [Foundation] Improve nullability in NSArray.ToArray. by @rolfbjarne in #24974
- [Foundation] Improve potential reentrancy problems in NSUrlSessionHandler. by @rolfbjarne in #25183
- [Foundation] Remove Content-Encoding and Content-Length headers for auto-decompressed responses in NSUrlSessionHandler. Fixes #23958. by @rolfbjarne in #24924
- [Foundation] Throws a specific exception in NSUrlSessionHandler when a certificate is needed but not provided. Fixes #24532. by @rolfbjarne in #24544
- [Foundation] Update to Xcode 26.4 Release Candidate by @dalexsoto in #24966
- [FSKit] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24996
- [GameController] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24973
- [HomeKit] Ignore HMError.QuotaExceeded removed by Apple in Xcode 26.4 by @dalexsoto in #25024
- [ImageCaptureCore] Bind new APIs and fix existing bindings up to Xcode 26.4 by @dalexsoto in #25028
- [introspection] Enable nullability. by @rolfbjarne in #25110
- [main] Bump Xcode to 26.4.1 by @dalexsoto in #25169
- [main] Merge branch xcode26.4 into main by @dalexsoto in #25009
- [Metal] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24980
- [MetalKit] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24976
- [MetalPerformanceShaders] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24977
- [msbuild] Add a condition to make sure empty item groups aren't processed. by @rolfbjarne in #25236
- [msbuild] Copy some ILLink output back to Windows when building remotely. by @rolfbjarne in #25235
- [msbuild] Enable nullability for the remaining files in this directory. by @rolfbjarne in #25035
- [msbuild] Fix Content/BundleResource with PublishFolderType not bundled in multi-RID builds. Fixes #25053. by @rolfbjarne in #25065
- [msbuild] Ignore CS1685 in Xamarin.MacDev.Tasks tests. by @rolfbjarne in #25130
- [msbuild] Include iPads when looking for devices for apps built for iPhones. by @rolfbjarne in #24921
- [msbuild] Put all the tasks in the same assembly (Xamarin.MacDev.Tasks.dll). by @rolfbjarne in #24932
- [msbuild] Revamp finding a simulator to use when running an app in the simulator. Fixes #25112. by @rolfbjarne in #25129
- [msbuild] Ship the net10.0 version of our msbuild tasks. by @rolfbjarne in #24546
- [msbuild] Update CODEOWNERS. by @rolfbjarne in #25090
- [net11.0] [dotnet] Sign net11.0 workload msbuild task DLLs by @rolfbjarne in #25078
- [net11.0] [tests] Expand the AppSizeTest to more platforms. by @rolfbjarne in #25080
- [net11.0] Bump dependency/support for .NET 10 Xcode 26.4 packages by @dalexsoto in #25058
- [net11.0] Make CoreCLR the default runtime. by @rolfbjarne in #25050
- [net11.0] Remove temporary PublishReadyToRunStrip{Debug,Inlining}Info workaround by @kotlarmilos in #25176
- [NetworkExtension] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24984
- [ObjCRuntime] Add a Class.GetClassName to avoid code duplication. by @rolfbjarne in #25114
- [ObjCRuntime] Provide a way to remove an object from the object map. by @rolfbjarne in #25166
- [PassKit] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24982
- [PdfKit] Implement manual bindings for PdfViewAnnotationHitEventArgs.AnnotationHit. by @rolfbjarne in #25068
- [Photos] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24981
- [PushKit] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24985
- [release/11.0.1xx-preview4] [net11.0] Fix PublishBuildAssets.proj path for newer Arcade SDK by @rolfbjarne in #25269
- [release/11.0.1xx-preview4] Keep using the desktop MSBuild assemblies when building from within Visual Studio. by @rolfbjarne in #25262
- [runtime] Fix a race condition when switching between weak and strong GCHandles. Fixes #24702. by @rolfbjarne in #24841
- [scripts] Make 'rsp-to-csproj' add included files into folders. by @rolfbjarne in #25096
- [SensorKit] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24983
- [sharpie/xtro] VersionTuple.IsEmpty is incorrect, so use an extension property with the correct implementation. by @rolfbjarne in #25034
- [sharpie] Add --custom-delegates option to generate named delegates instead of Func<>/Action<> by @rolfbjarne in #24975
- [sharpie] Add docs on how to create a sharpie release. by @rolfbjarne in #25178
- [sharpie] Bump ClangSharp to v21.1.8.3 by @dalexsoto in #25004
- [skills] Add macios-binding-creator skill v1 by @dalexsoto in #24937
- [skills] More updates to macios-binding-creator by @dalexsoto in #25064
- [skills] Update macios-binding-creator skill by @dalexsoto in #24962
- [skills] Update macios-binding-creator skill with new learnings by @dalexsoto in #24947
- [skills] Update protocol skills by @dalexsoto in #24972
- [Speech] Ignore SFSpeechErrorCode tvOS xtro entries by @dalexsoto in #25033
- [src] Add ObjectiveCFrameworkAttribute to specify which Objective-C framework a type belongs to. by @rolfbjarne in #25039
- [src] Enable nullability in error.cs by @rolfbjarne in #24991
- [src] Fix a few nullablity issues in a few places. by @rolfbjarne in #25043
- [src] Review xml docs for grammar. by @rolfbjarne in #25165
- [src] Unify the xml docs for the
Dispose(bool)method. by @rolfbjarne in #25175 - [System.Net.Http] Enable nullability in this framework. by @rolfbjarne in #24978
- [tools] Enable xml doc generation for dotnet-linker. by @rolfbjarne in #24950
- [tools] Improve the create-makefile-fragment script a bit. by @rolfbjarne in #25174
- [tools] IOSurface is now working in the simulator. by @rolfbjarne in #25022
- [UIKit] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24992
- [VideoToolbox] Update bindings all the way to Xcode 26.4 by @dalexsoto in #25027
- [WebKit] Update bindings to Xcode 26.4 Release Candidate by @dalexsoto in #24990
- [WidgetKit] Cleanup xtro todo files for this Swift only framework by @dalexsoto in #25026
- [xcode26.4] Bump PR to Xcode 26.4 Beta 2 by @dalexsoto in #24817
- [xcode26.4] Update to Xcode 26.4 Beta 3 by @dalexsoto in #24864
- [xcode26.4] Update to Xcode 26.4 Release Candidate by @dalexsoto in #24927
- [xcode26.4] Update to Xcode 26.4 Stable by @dalexsoto in #25005
- [xharness] Add TestReporter implementation to detect crashes properly. by @rolfbjarne in #25150
- [xharness] Enable nullability, and fix any errors. by @rolfbjarne in #25160
- [xharness] Unify test variation creation. by @rolfbjarne in #25156
- [xtro] Small todo xtro cleanup by @dalexsoto in #25021
- Bump mlaunch to get a logging fix. by @rolfbjarne in #25017
- Bump mlaunch to get fix for #24935. by @rolfbjarne in #24952
- Bump mlaunch to get fix for detecting launched simulators. by @rolfbjarne in #24971
- Bump mlaunch to get startup hook fix. by @rolfbjarne in #25202
- Bump peterjgrainger/action-create-branch from 3.0.0 to 4.0.0 by @dependabot[bot] in #25097
- CoreSpotlight: fix 'occured' -> 'occurred' in CSEnums XML doc comment by @SAY-5 in #25164
- Remove duplicate entries in Directory.Build.props. by @rolfbjarne in #25126
- Update MessagingVersion to 18.3.99-g08330b37ad by @emaf in #24870
New Contributors
Full Changelog: dotnet-11.0.1xx-preview3-11588...dotnet-11.0.1xx-preview4-11514