It’s a great time to check out the latest .NET 9 Preview! We just shipped our seventh preview release, adding to some major enhancements across the .NET Runtime, SDK, libraries, C#, ASP.NET Core, Blazor, and .NET MAUI. Check out the full release notes linked below and get started today.
This release contains the following improvements.
📚Libraries
- Removal of
BinaryFormatter
is complete - Enumerate over
ReadOnlySpan<char>.Split()
segments Debug.Assert
now reports assert condition, by default.- Compression APIs now use
zlib-ng
Guid.CreateVersion7
enables creating GUIDs with a natural sort orderInterlocked.CompareExchange
for more types- AES-GCM and ChaChaPoly1305 algorithms enabled for iOS/tvOS/MacCatalyst
- Changes to X.509 Certificate Loading
- Support for XPS documents from XPS virtual printer
- Marking
Tensor<T>
asExperimental
- Full release notes
⏱️Runtime
- ARM64 SVE Support
- Post-Indexed Addressing on ARM64
- Strength Reduction in Loops
- Object Stack Allocation for Boxes
- GC Dynamic Adaptation To Application Sizes
- Full release notes
C#
🛠️ SDK
- Container publishing improvements for insecure registries
- More consistent environment variables for container publishing
- Introduction of Workload Sets for more control over workloads
- Mitigating analyzer mismatch issues aka ‘torn SDK’
- Full release notes
🌐 ASP.NET Core
- SignalR supports trimming and Native AOT
- Microsoft.AspNetCore.OpenApi supports trimming and Native AOT
- Improvements to transformer registration APIs in Microsoft.AspNetCore.OpenApi
- Call
ProducesProblem
andProducesValidationProblem
on route groups - Construct
Problem
andValidationProblem
result types withIEnumerable<KeyValuePair<string, object?>>
values OpenIdConnectHandler
support for Pushed Authorization Requests (PAR)- Data Protection support for deleting keys
- Customize Kestrel named pipe endpoints
- Improved Kestrel connection metrics
- Opt-out of HTTP metrics on certain endpoints and requests
ExceptionHandlerMiddleware
option to choose the status code based on the exception- Full release notes
📱 .NET MAUI
- Introduction of
HybridWebview
- New
TitleBar
Control andWindow.TitleBar
for Windows CollectionView
&CarouselView
improvements with a new opt-in handler for iOS and Mac Catalyst- Ability to bring a
Window
to the foregrond withActivateWindow
BackButtonBehavior
OneWay
binding modeBlazorWebView
backward compatibility host address- Native Embedding improvements
MainPage
is Obsolete- New Handler Disconnect Policy
- New
ProcessTerminated
event onWebView
Control - New lifecycle methods for remote notifications on iOS & Mac Catalyst
- Xcode Sync for CLI and Visual Studio Code
- Full release notes
🚀 Get started
To get started with .NET 9, install the .NET 9 SDK.
If you’re on Windows using Visual Studio, we recommend installing the latest Visual Studio 2022 preview. .NET 9 can now be installed directly through the Visual Studio installer starting with Visual Studio 2022 17.12 Preview 1.
You can also use Visual Studio Code and the C# Dev Kit extension with .NET 9.
📢 Team Announcements & Discussions
The team has been making monthly announcements alongside full release notes on the dotnet/core GitHub Discussions and has seen great engagement and feedback from the community. We will continue to post each new release on GitHub, but as we get closer to launch this November alongside .NET Conf 2024 (save the date today!), we wanted to cross-post our release details on the .NET blog.
🔔 Stay up-to-date with .NET 9
You can stay up-to-date with all the features of .NET 9 with:
- What’s new in .NET 9
- What’s new in ASP.NET Core
- What’s new in .NET MAUI
- What’s new in EF Core
- Breaking Changes in .NET 9
- .NET 9 Releases
Additionally, be sure to subscribe to the GitHub Discussions RSS news feed for all release announcements.
We want your feedback, so head over to the .NET 9 Preview 7 GitHub Discussion to discuss features and give feedback for this release.