1
0
mirror of synced 2025-12-19 18:06:02 -05:00

Add release notes for .NET 10 RC 2 across various components (#10112)

* Add release notes for .NET 10 RC 2 across various components

* Clarify scaffold replacement instructions for RC2 PR generation

* chore: clean markdownlint issues in preview/RC automation prompt files

* [RC2] F# release notes (#10095)

* Update fsharp.md for RC 2 scaffold

* Update release-notes/10.0/preview/rc2/fsharp.md

---------

Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com>

* [RC2] WPF release notes (#10101)

* Add RC2 scaffold to WPF release notes

* Nothing for WPF

* Adjust wording with WinForms and WPF to match

---------

Co-authored-by: Andy (Steve) De George <67293991+adegeo@users.noreply.github.com>

* [RC2] ASP.NET Core release notes (#10089)

* [RC2] EF Core release notes (#10094)

* Update efcore.md for RC 2 scaffold

* EF Core release notes for rc.2

---------

Co-authored-by: Shay Rojansky <roji@roji.org>

* Update libraries.md for RC 2 scaffold (#10096)

* Update runtime.md for RC 2 scaffold (#10097)

* [RC2] SDK release notes (#10098)

* Add RC2 scaffold to SDK release notes and normalize list markers

* Add notes for .NET TaskHost

* Fix linting

---------

Co-authored-by: Chet Husk <chusk3@gmail.com>

* [RC2] .NET MAUI release notes (#10093)

* Update dotnetmaui.md for RC 2 scaffold

* Update .NET MAUI release notes for RC 2

This update includes new features and improvements for .NET MAUI in the .NET 10 RC 2 release, such as microphone permission handling, SafeAreaEdges support, and XAML source generation enhancements.

* Update release-notes/10.0/preview/rc2/dotnetmaui.md

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>

* Update dotnetmaui.md with Android API 36.1 details

Added details about Android API 36.1 bindings, usage instructions, and installation steps.

---------

Co-authored-by: David Ortinau <david.ortinau@microsoft.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com>

* Update release-notes/10.0/preview/rc2/README.md

---------

Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com>
Co-authored-by: Andy (Steve) De George <67293991+adegeo@users.noreply.github.com>
Co-authored-by: Shay Rojansky <roji@roji.org>
Co-authored-by: Chet Husk <chusk3@gmail.com>
Co-authored-by: David Ortinau <david.ortinau@microsoft.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com>
Co-authored-by: James Montemagno <james.montemagno@gmail.com>
This commit is contained in:
Jon Galloway
2025-10-14 23:25:15 +01:00
committed by GitHub
parent acce489e24
commit 32e794cf88
15 changed files with 451 additions and 65 deletions

View File

@@ -1,6 +1,6 @@
# .NET 10 RC 2 - Release Notes
.NET 10 RC 2 released on October 14, 2025. Find more information on new features released in .NET 10 RC 2 by browsing through the release notes below:
.NET 10 RC 2 released on October 14th, 2025. Find more information on new features released in .NET 10 RC 2 by browsing through the release notes below:
- [Libraries](./libraries.md)
- [Runtime](./runtime.md)

View File

@@ -0,0 +1,18 @@
# ASP.NET Core in .NET 10 RC 2 - Release Notes
This release was focused on bug fixes and other quality improvements.
ASP.NET Core updates in .NET 10 RC2:
- [What's new in ASP.NET Core in .NET 10](https://learn.microsoft.com/aspnet/core/release-notes/aspnetcore-10.0) documentation.
- [Breaking changes](https://docs.microsoft.com/dotnet/core/compatibility/10.0#aspnet-core)
- [Roadmap](https://aka.ms/aspnet/roadmap)
.NET 10 RC2:
- [Discussion](https://aka.ms/dotnet/10/rc2)
- [Release notes](README.md)
## Community contributors
Thank you everyone who tested and provided feedback on the .NET 10 Release Candidate!

View File

@@ -0,0 +1,3 @@
# Containers in .NET 10 RC 2 - Release Notes
This RC 2 release does not contain new Container image features.

View File

@@ -0,0 +1,8 @@
# C# 14 updates in .NET 10 RC 2 - Release Notes
This RC 2 release does not contain new C# features.
C# 14 updates:
- [What's new in C# 14](https://learn.microsoft.com/dotnet/csharp/whats-new/csharp-14) documentation
- [Breaking changes in C# 14](https://learn.microsoft.com/dotnet/csharp/whats-new/breaking-changes/compiler%20breaking%20changes%20-%20dotnet%2010)

View File

@@ -0,0 +1,107 @@
# .NET MAUI in .NET 10 RC 2 - Release Notes
Here's a summary of what's new in .NET MAUI in this RC 2 release:
- .NET MAUI
- [Microphone permission](#microphone-permission)
- [SafeAreaEdges](#safeareaedges)
- [XAML Source Generation](#xaml-source-generation)
- [.NET for Android](#net-for-android)
- [Android API 36.1](#android-api-36.1)
- [.NET for iOS, Mac Catalyst, macOS, tvOS](#net-for-ios-mac-catalyst-macos-tvos)
- [Xcode 26](#xcode-26)
## Feature
Feature summary
.NET MAUI updates in .NET 10:
- [What's new in .NET MAUI in .NET 10](https://learn.microsoft.com/dotnet/maui/whats-new/dotnet-10) documentation.
## .NET MAUI
This release has been focused on stabilizing the SDK.
### Microphone permission
We have added the Windows implementation for `Permissions.RequestAsync<Permissions.Microphone>()` to request and check access permission for the device microphone.
### SafeAreaEdges
Support for `SafeAreaEdges` has been added to Android for supporting edge-to-edge and managing content relative to keyboard and unsafe areas of the device display.
### XAML Source Generation
This release includes improvements to XAML source generation with notable improvements to debug time view inflation. To enable this in your project add the following to your project file.
```xml
<PropertyGroup>
<MauiXamlInflator>SourceGen</MauiXamlInflator>
</PropertyGroup>
```
## .NET for Android
This release includes continued integration with multiple .NET runtimes, and several bug fixes.
### Android API 36.1
Android API 36.1 bindings are now available thanks to the contribution and collaboration of the [Uno Platform](https://platform.uno/) team.
To try out the new APIs, you can opt your project into the new `net10.0-android36.1` target framework:
```xml
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0-android36.1</TargetFramework>
<EnablePreviewFeatures>true</EnablePreviewFeatures>
<!-- Remainder of your .csproj -->
```
Note that if omitted, `net10.0-android` will default to API 36.0. `$(EnablePreviewFeatures)` will not be required in future .NET 10 releases.
To *use* an Android 36.1-only API you can use the `OperatingSystem` class to check the Android version at runtime:
```csharp
if (OperatingSystem.IsAndroidVersionAtLeast(36, 1))
{
// Call some Android 36.1 API here
}
else
{
// Fallback for older OS versions
ShowToast("Android 36.1+ is required for this feature");
}
```
For a full sample using Android 36.1 APIs, see our [Pdf Annotator sample on GitHub](https://github.com/dotnet/android-samples/tree/main/PdfAnnotator).
To install the Android 36.1 platform, you can go to **Tools** > **Android** > **Android SDK Manager**. Under the gear icon in the bottom right, change **Repository*** to **Full List**. This allows you to install `Android SDK Platform 36.1`.
### (Experimental) CoreCLR
We continue to work on enabling Android apps to run on the CoreCLR runtime (instead of Mono). To use it, add the following to your project file for Android builds:
```xml
<!-- Use CoreCLR on Android -->
<PropertyGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
<UseMonoRuntime>false</UseMonoRuntime>
</PropertyGroup>
```
Please try this in your applications and report any issues; when filing feedback, state that you are using UseMonoRuntime=false. Expect that application size is currently larger than with Mono and that debugging and some runtime diagnostics are not fully functional yet; these areas are actively being improved. This is an experimental feature and not intended for production use.
A detailed list of Android changes can be found on the [dotnet/android GitHub releases](https://github.com/dotnet/android/releases/).
## .NET for iOS, Mac Catalyst, macOS, tvOS
This release includes continued integration with multiple .NET runtimes, and several bug fixes.
### Xcode 26
Xcode 26 bindings have been updated and are available now for both for targeting .NET 9 and .NET 10 RC2. This is compatible with Xcode 26.0 and 26.1.
## Contributors
Thank you contributors! ❤️

View File

@@ -0,0 +1,13 @@
# Entity Framework Core in .NET 10 RC 2 - Release Notes
Here's a summary of what's new in Entity Framework Core in this RC 2 release:
- Numerous fixes for [the new EF complex JSON support](https://learn.microsoft.com/ef/core/what-is-new/ef-core-10.0/whatsnew#json).
- [Stop spanning all migrations with a single transaction](https://github.com/dotnet/efcore/issues/35096).
- [Use ExecutionStrategy for query execution (for retrying)](https://github.com/dotnet/efcore/issues/35692).
- [Analyzer warnings for string concatenation in raw SQL APIs](https://learn.microsoft.com/ef/core/what-is-new/ef-core-10.0/whatsnew#warn-for-string-concatenation-with-raw-sql-apis).
For a full list of changes completed in RC 2, [see this](https://github.com/dotnet/efcore/issues?q=is%3Aissue%20state%3Aclosed%20label%3Arc-2%20milestone%3A10.0.0).
- [What's new in Entity Framework Core 10](https://learn.microsoft.com/ef/core/what-is-new/ef-core-10.0/whatsnew) documentation
- [Breaking change in Entity Framework Core 10](https://learn.microsoft.com/ef/core/what-is-new/ef-core-10.0/breaking-changes)

View File

@@ -0,0 +1,3 @@
# F# in .NET 10 RC 2 - Release Notes
This RC 2 release does not contain new F# language features. View the [What's new in F#](https://fsharp.github.io/fsharp-compiler-docs/release-notes/Language.html) documentation to learn more.

View File

@@ -0,0 +1,13 @@
# Libraries in .NET 10 RC 2 - Release Notes
Here's a summary of what's new in Libraries in this RC 2 release:
- [Feature](#feature)
## Feature
Feature summary
.NET Libraries updates in .NET 10:
- [What's new in .NET 10](https://learn.microsoft.com/dotnet/core/whats-new/dotnet-10/overview) documentation

View File

@@ -0,0 +1,23 @@
# Runtime updates in .NET 10 Release Candidate 2
Here's a summary of what's new in Runtime in this RC 2 release:
- [Feature](#feature)
## Feature
Feature summary
This release was focused on quality improvements as we near general availability of .NET 10. It is covered by a go-live license, and we encourage developers today to try it out and provide feedback on anything that you find in your development so we can incorporate any additional enhancements into the final release.
Runtime updates in .NET 10 Release Candidate 2:
- [What's new in the .NET Runtime in .NET 10](https://learn.microsoft.com/dotnet/core/whats-new/dotnet-10/overview) documentation
- (Changelog link to be updated when tag is available)
.NET 10 RC 2:
- [Discussion](https://aka.ms/dotnet/10/rc2)
- [Release notes](README.md)
- [SDK release notes](sdk.md)
- [Libraries release notes](libraries.md)

View File

@@ -0,0 +1,102 @@
# SDK in .NET 10 RC 2 - Release Notes
Here's a summary of what's new in SDK in this RC 2 release:
- [Use .NET MSBuild Tasks with .NET Framework MSBuild](#use-net-msbuild-tasks-with-net-framework-msbuild
- [What's new in the .NET Runtime in .NET 10](https://learn.microsoft.com/dotnet/core/whats-new/dotnet-10/overview) documentation
- (Changelog link to be updated when tag is available)
.NET 10 RC 2:
- [Discussion](https://aka.ms/dotnet/10/rc2)
- [Release notes](README.md)
- [Runtime release notes](runtime.md)
- [Libraries release notes](libraries.md)
## Use .NET MSBuild Tasks with .NET Framework MSBuild
MSBuild is the underlying build system for .NET, driving both build of projects (as seen in commands like
`dotnet build` and `dotnet pack`), as well as acting as a general provider of information about projects
(as seen in commands like `dotnet list package`, and implicitly used by commands like `dotnet run` to
discover how a project wants to be executed).
When running `dotnet` CLI commands, the version of MSBuild that is used is the one that is shipped with the .NET SDK.
However, when using Visual Studio, or invoking MSBuild directly, the version of MSBuild that is used is the one that
is installed with Visual Studio. This has a few important differences, the _most_ important of which is that MSBuild
running in Visual Studio (or through `msbuild.exe`) is a .NET Framework application, while MSBuild running in the
`dotnet` CLI is a .NET application. This means that any MSBuild tasks that are written to run on .NET cannot be used
when building in Visual Studio or when using `msbuild.exe`.
Until this release! Starting with .NET 10, `msbuild.exe` and Visual Studio 2026 will be able to run MSBuild tasks
that are built for .NET. This means that you can now use the same MSBuild tasks when building in Visual Studio or
using `msbuild.exe` as you do when building with the `dotnet` CLI. For most .NET users, this won't change anything,
but for authors of custom MSBuild tasks, this means that you can now write your tasks to target .NET and have them
work everywhere. Our goal with this change is to make it easier to write and share MSBuild tasks, and to allow
task authors to take advantage of the latest features in .NET - in addition to reducing the difficulties around
multi-targeting tasks to support both .NET Framework and .NET, and dealing with versions of .NET Framework dependencies
that are implicitly-available in the MSBuild .NET Framework execution space.
### Configuring .NET Tasks
For Task Authors, opting in to this new behavior should be pretty simple - all it should take is changing
your `UsingTask` declaration to tell MSBuild about your Task.
```xml
<UsingTask TaskName="MyTask"
AssemblyFile="path\to\MyTask.dll"
Runtime="NET" # This is new!
TaskFactory="TaskHostFactory" # And so is this!
/>
```
The `Runtime="NET"` and `TaskFactory="TaskHostFactory"` attributes tell the MSBuild engine how to run the Task:
- `Runtime="NET"` tells MSBuild that the Task is built for .NET (as opposed to .NET Framework)
- `TaskFactory="TaskHostFactory"` tells MSBuild to use the `TaskHostFactory` to run the Task, which is an existing capability of MSBuild that allows tasks to be run out-of-process.
### Caveats and performance tuning
The above example is the simplest way to get started using .NET Tasks in MSBuild, but it has some limitations -
because the `TaskHostFactory` always runs tasks out-of-process, our new .NET Task will always run in a separate
process from MSBuild. This means that there is some minor overhead to running the Task because the MSBuild engine
and the Task communicate over inter-process communication (IPC) instead of in-process communication. For most tasks,
this overhead will be negligible, but for tasks that are run many times in a build, or that do quite a lot of
logging, this overhead may be more significant.
With just a bit more work, the Task can be configured to still run in-process when running via `dotnet`:
```xml
<UsingTask TaskName="MyTask"
AssemblyFile="path\to\MyTask.dll"
Runtime="NET"
TaskFactory="TaskHostFactory"
Condition="$(MSBuildRuntimeType) == 'Full'" # Applies to Visual Studio and msbuild.exe
/>
<UsingTask TaskName="MyTask"
AssemblyFile="path\to\MyTask.dll"
Runtime="NET"
Condition="$(MSBuildRuntimeType) == 'Core'" # Applies to the `dotnet` CLI
/>
```
Thanks to the `Condition` feature of MSBuild, you can load a Task differently depending on whether MSBuild is running in .NET
Framework (Visual Studio or `msbuild.exe`) or .NET (the `dotnet` CLI). In this example, the Task will run out-of-process when
running in Visual Studio or `msbuild.exe`, but will run in-process when running in the `dotnet` CLI. This gives the best
performance when running in the `dotnet` CLI, while still allowing the Task to be used in Visual Studio and `msbuild.exe`.
There are also small technical limitations to be aware of when using .NET Tasks in MSBuild - the most notable of which is
that the `Host Object` feature of MSBuild Tasks is not yet supported for .NET Tasks running out-of-process. This means
that if your Task relies on a Host Object, it will not work when running in Visual Studio or `msbuild.exe`. We are actively
working on adding support for Host Objects in future releases.
### Future work
This is the first step in a longer journey to make MSBuild more flexible and capable.
In future releases, we plan to add additional capabilities to MSBuild to make it easier to write and use .NET Tasks, including:
- Automatically discovering and loading .NET Tasks without needing to specify `Runtime` or `TaskFactory` metadata
- Reducing the performance overhead of IPC between the MSBuild Engine and the Tasks when running out-of-process
- Supporting the `Host Object` feature for .NET Tasks running out-of-process
Task Authors, give this a try and reach out to us with feedback at [dotnet/msbuild](https://github.com/dotnet/msbuild/issues/new).
We're excited to enable a simpler way of working with MSBuild Tasks for everyone (including ourselves)!

View File

@@ -0,0 +1,6 @@
# Visual Basic in .NET 10 RC 2 - Release Notes
This RC 2 release does not contain new Visual Basic features. Please checkout the latest documentation:
- [What's new in Visual Basic](https://learn.microsoft.com/dotnet/visual-basic/whats-new/) documentation
- [Breaking changes](https://learn.microsoft.com/dotnet/visual-basic/whats-new/breaking-changes)

View File

@@ -0,0 +1,7 @@
# WinForms .NET 10 RC2 Release Notes
The RC 2 release does not contain new Windows Forms feature additions.
Key Windows Forms updates in previous releases of .NET 10:
- [What's new in Windows Forms](https://learn.microsoft.com/dotnet/desktop/winforms/whats-new/net100) documentation

View File

@@ -0,0 +1,7 @@
# WPF in .NET 10 RC 2 - Release Notes
The RC 2 release does not contain new WPF feature additions.
Key WPF updates in previous releases of .NET 10:
- [What's new in WPF in .NET 10](https://learn.microsoft.com/dotnet/desktop/wpf/whats-new/net100) documentation