Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

.NET 10 Preview 1 - Release Notes #9708

Draft
wants to merge 14 commits into
base: main
Choose a base branch
from
32 changes: 32 additions & 0 deletions release-notes/10.0/get-started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@

# Get Started

To get started, [install the .NET 10 SDK](https://dotnet.microsoft.com/download/dotnet/10.0).

If you're on Windows using Visual Studio, we recommend installing the latest [Visual Studio 2022 preview](https://visualstudio.microsoft.com/vs/preview/), or get started with Visual Studio Code and the [C# Dev Kit](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit) extension.

## .NET Workloads

After installing .NET 10 previews, you can install workloads by following these instructions. For more information read through the [documentation](https://learn.microsoft.com/dotnet/core/tools/dotnet-workload).

### .NET MAUI

Install the .NET MAUI workload:

```console
> dotnet workload install maui
...
Successfully installed workload(s) maui.
```

Verify installation:

```console
> dotnet workload list

Installed Workload Id Manifest Version Installation Source
--------------------------------------------------------------------------------------------
maui 10.0.0-preview.1.9973/10.0.100-preview.1 SDK 10.0.100-preview.1
```

Installing the `maui` workload includes `android`, `ios`, and `maccatalyst` workloads which may be installed independently. Run `dotnet workload search` for a full list of available workload configurations.
70 changes: 70 additions & 0 deletions release-notes/10.0/preview/preview1/10.0.0-preview.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# .NET 10 Preview 1 Binaries

.NET 10 Preview 1 installers and binaries can be downloaded for the following product versions:

- `.NET 10.0.0 Preview 1`
- `.NET SDK 10.0.100-preview.1.XXXXX.X`

See [README.md](README.md) for .NET 10 release notes and discussions.

The latest .NET releases are always listed at [.NET Releases](../../README.md).

## Downloads

// To add download links

1. Includes the .NET Runtime and ASP.NET Core Runtime
2. For hosting stand-alone apps on Windows Servers. Includes the ASP.NET Core Module for IIS and can be installed separately on servers without installing .NET Runtime.

The .NET SDK includes a matching updated .NET Runtime. Downloading the Runtime or ASP.NET Core packages is not needed when installing the SDK.

You can check your .NET SDK version by running the following command. The example version shown is for this release.

```console
$ dotnet --version
10.0.100-preview.1.XXXXX.X
```

## .NET Multi-Platform App UI (MAUI) Workload Downloads

After installing the .NET SDK, you can install .NET MAUI using the `dotnet workload install` command:

```console
dotnet workload install maui
```

The following workloads are also available to install individually:

```console
dotnet workload install android
dotnet workload install ios
dotnet workload install maccatalyst
dotnet workload install macos
dotnet workload install tvos
```

## Docker Images

The [.NET Docker images](https://hub.docker.com/_/microsoft-dotnet) have been updated for this release. The [.NET Docker samples](https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md) show various ways to use .NET and Docker together.

The following repos have been updated.

- [dotnet/sdk](https://github.com/dotnet/dotnet-docker/blob/main/README.sdk.md): .NET SDK
- [dotnet/aspnet](https://github.com/dotnet/dotnet-docker/blob/main/README.aspnet.md): ASP.NET Core Runtime
- [dotnet/runtime](https://github.com/dotnet/dotnet-docker/blob/main/README.runtime.md): .NET Runtime
- [dotnet/runtime-deps](https://github.com/dotnet/dotnet-docker/blob/main/README.runtime.md): .NET Runtime Dependencies
- [dotnet/monitor](https://github.com/dotnet/dotnet-docker/blob/main/README.monitor.md): .NET Monitor
- [dotnet/monitor/base](https://github.com/dotnet/dotnet-docker/blob/main/README.monitor-base.md): .NET Monitor Base
- [dotnet/samples](https://github.com/dotnet/dotnet-docker/blob/main/README.samples.md): .NET Samples

## Visual Studio Compatibility

.NET 10 is compatible with [Visual Studio 17.XX latest preview](https://visualstudio.microsoft.com) Users will have to [download](https://dotnet.microsoft.com/download/dotnet/9.0) and install the .NET 10 runtime/sdk standalone. Visual Studio for Mac is currently not supported for .NET 10.0 Preview releases.

## Feedback

Your feedback is important and appreciated. We've created a discussion at <https://github.com/dotnet/core/discussions/categories/news> for your questions and comments.

## Packages updated in this release

// Update packages here
36 changes: 36 additions & 0 deletions release-notes/10.0/preview/preview1/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# .NET 10 Preview 1 - Release Notes

.NET 10 Preview 1 released on February X, 2025. Find more information on new features released in .NET 10 Preview 1 by browsing through the release notes below:

- [Libraries](./libraries.md)
- [Runtime](./runtime.md)
- [SDK](./sdk.md)

## Feature Release Notes
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't find this split intuitive.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same... could just remove... technically "workloads"

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Except EF isn't a workload. It's a mix of stuff.


- [.NET Aspire](./dotnetaspire.md)
- [.NET MAUI](./dotnetmaui.md)
- [ASP.NET Core](./aspnetcore.md)
- [EF Core & Data](./efcore.md)
- [Windows Forms](./winforms.md)
- [WPF](./wpf.md)

## Get Started

Instructions on getting started with .NET 10 can be found in the [getting started guide](../../get-started.md). Installers and binaries for .NET 10 Preview 1 can be found [here on GitHub](./10.0.0-preview.1.md).

## Stay up-to-date

You can find a detailed overview of all new features in .NET 10:

- [What's new in .NET 10](https://learn.microsoft.com/dotnet/core/whats-new/dotnet-10/overview)
- [What's new in C# 14](https://learn.microsoft.com/dotnet/csharp/whats-new/csharp-14)
- [What's new in F# 10](https://learn.microsoft.com/dotnet/fsharp/whats-new/fsharp-10)
- [What's new in .NET Aspire](https://learn.microsoft.com/dotnet/aspire/whats-new/dotnet-aspire-10)
- [What's new in .NET MAUI](https://learn.microsoft.com/dotnet/maui/whats-new/dotnet-10)
- [What's new in ASP.NET Core](https://learn.microsoft.com/aspnet/core/release-notes/aspnetcore-10.0)
- [What's new in Entity Framework Core](https://learn.microsoft.com/ef/core/what-is-new/ef-core-10.0/whatsnew)
- [What's new in Windows Forms](https://learn.microsoft.com/dotnet/desktop/winforms/whats-new/net100)
- [What's new in WPF](https://learn.microsoft.com/dotnet/desktop/wpf/whats-new/net100)

The latest .NET 10 release is always available at [dotnet.microsoft.com](https://dotnet.microsoft.com/download/dotnet/10.0) and [.NET 10 Releases](../../README.md).
16 changes: 16 additions & 0 deletions release-notes/10.0/preview/preview1/aspnetcore.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# ASP.NET Core in .NET 10 Preview 1 - Release Notes

.NET 10 Preview 1 includes new ASP.NET Core features & enhancements:

- [Feature](#feature)

ASP.NET Core updates in .NET 10:

- [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)


## Feature

This is something about the feature
14 changes: 14 additions & 0 deletions release-notes/10.0/preview/preview1/csharp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# C# 14 updates in .NET 10 Preview 1 - Release Notes

.NET 10 Preview 1 includes the following C# features & enhancements:

- [Feature](#feature)

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)

## Feature

This is something about the feature
14 changes: 14 additions & 0 deletions release-notes/10.0/preview/preview1/dotnetaspire.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# .NET Aspire 10 Preview 1 - Release Notes

.NET 10 Preview 1 includes new .NET Aspire features & enhancements:

- [Feature](#feature)

.NET Aspire 10 updates:

- [What's new in .NET Aspire in .NET 10](https://learn.microsoft.com/dotnet/aspire/whats-new/dotnet-aspire-10) documentation


## Feature

This is something about the feature
15 changes: 15 additions & 0 deletions release-notes/10.0/preview/preview1/dotnetmaui.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# .NET MAUI in .NET 10 Preview 1 - Release Notes

.NET 10 Preview 1 includes new .NET MAUI features & enhancements:

- [Feature](#feature)
- [GitHub Release Notes](https://aka.ms/maui9p1)

.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.


## Feature

This is something about the feature
86 changes: 86 additions & 0 deletions release-notes/10.0/preview/preview1/efcore.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# Entity Framework Core 10 Preview 1 - Release Notes

.NET 10 Preview 1 includes new Entity Framework Core features & enhancements:

- [Support for the .NET 10 LeftJoin operator](#support-for-the-net-10-leftjoin-operator)
- [ExecuteUpdateAsync now accepts a regular, non-expression lambda](#executeupdateasync-now-accepts-a-regular-non-expression-lambda)
- [Several small improvements](#small-improvements)

Entity Framework Core 10 updates:

- [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)

## Support for the .NET 10 LeftJoin operator

`LEFT JOIN` is a common and useful operation when working with EF Core. In previous versions, implementing `LEFT JOIN` in LINQ was quite complicated, requiring `SelectMany`, `GroupJoin` and `DefaultIfEmpty` operations in a particular configuration:

```C#
var query = students
.GroupJoin(
departments,
student => student.DepartmentID,
department => department.ID,
(student, departmentList) => new { student, subgroup = departmentList })
.SelectMany(
joinedSet => joinedSet.subgroup.DefaultIfEmpty(),
(student, department) => new
{
student.student.FirstName,
student.student.LastName,
Department = department?.Name ?? "[NONE]"
});
```

.NET 10 adds first-class LINQ support for `LeftJoin` method to make those queries much simpler to write. EF Core recognizes the new method, so it can be used in EF LINQ queries instead of the old construct:

```C#
var query = students
.LeftJoin(
departments,
student => student.DepartmentID,
department => department.ID,
(student, departmentList) => new
{
student.student.FirstName,
student.student.LastName,
Department = department?.Name ?? "[NONE]"
});
```

See [#12793](https://github.com/dotnet/efcore/issues/12793) for more details.

## ExecuteUpdateAsync now accepts a regular, non-expression lambda

Creating expresion trees can be verbose, and now you can use regular, non-expression lambdas when calling `ExecuteUpdateAsync`:

```c#
await context.Blogs.ExecuteUpdateAsync(s =>
{
s.SetProperty(b => b.Views, 8);
if (nameChanged)
{
s.SetProperty(b => b.Name, "foo");
}
});
```

Thanks to [@aradalvand](https://github.com/aradalvand) for proposing and pushing for this change (in [#32018](https://github.com/dotnet/efcore/issues/32018)).

## Small improvements

- Translation for DateOnly.ToDateTime(timeOnly) ([#35194](https://github.com/dotnet/efcore/pull/35194), contributed by [@mseada94](https://github.com/mseada94)).
- Optimization for multiple consecutive `LIMIT`s ([#35384](https://github.com/dotnet/efcore/pull/35384), contributed by [@ranma42](https://github.com/ranma42)).
- Optimization for use of `Count` operation on `ICollection<T>` ([#35381](https://github.com/dotnet/efcore/pull/35381), contributed by [@ChrisJollyAU](https://github.com/ChrisJollyAU)).
- Optimization for `MIN`/`MAX` over `DISTINCT` ([#34699](https://github.com/dotnet/efcore/pull/34699), contributed by [@ranma42](https://github.com/ranma42)).
- Make SQL Server scaffolding compatible with Azure Data Explorer ([#34832](https://github.com/dotnet/efcore/pull/34832), contributed by [@barnuri](https://github.com/barnuri)).
- Translation for date/time functions using `DatePart.Microsecond` and `DatePart.Nanosecond` arguments ([#34861](https://github.com/dotnet/efcore/pull/34861)).
- Simplifying parameter names (e.g. from `@__city_0` to `city`) ([#35200](https://github.com/dotnet/efcore/pull/35200)).

## Everything else in Preview 1

Preview 1 contains:

- [18 enhancements](https://github.com/dotnet/efcore/issues?q=is%3Aissue%20is%3Aclosed%20label%3Apreview-1%20(milestone%3A9.0.1%20OR%20milestone%3A9.0.2%20OR%20milestone%3A9.0.3%20OR%20milestone%3A10.0.0)%20label%3Atype-enhancement)
- [14 regression bug fixes](https://github.com/dotnet/efcore/issues?q=is%3Aissue%20is%3Aclosed%20label%3Apreview-1%20label%3Atype-bug%20(milestone%3A9.0.1%20OR%20milestone%3A9.0.2%20OR%20milestone%3A9.0.3%20OR%20milestone%3A10.0.0)%20label%3Aregression)
- [28 non-regression bug fixes](https://github.com/dotnet/efcore/issues?q=is%3Aissue%20is%3Aclosed%20label%3Apreview-1%20label%3Atype-bug%20(milestone%3A9.0.1%20OR%20milestone%3A9.0.2%20OR%20milestone%3A9.0.3%20OR%20milestone%3A10.0.0)%20-label%3Aregression%20)
13 changes: 13 additions & 0 deletions release-notes/10.0/preview/preview1/fsharp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# F# 10 updates in .NET 10 Preview 1 - Release Notes

.NET 10 Preview 1 includes the following F# features & enhancements:

- [Feature](#feature)

F# 10 updates:

- [What's new in F# 10](https://learn.microsoft.com/dotnet/fsharp/whats-new/fsharp-10) documentation

## Feature

This is something about the feature
14 changes: 14 additions & 0 deletions release-notes/10.0/preview/preview1/libraries.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# .NET Libraries in .NET 10 Preview 1 - Release Notes

.NET 10 Preview 1 includes new .NET Libraries features & enhancements:

- [Feature](#feature)

.NET Libraries updates in .NET 10:

- [What's new in .NET 10](https://learn.microsoft.com/dotnet/core/whats-new/dotnet-10/overview) documentation


## Feature

This is something about the feature
14 changes: 14 additions & 0 deletions release-notes/10.0/preview/preview1/runtime.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# .NET Runtime in .NET 10 Preview 1 - Release Notes

.NET 10 Preview 1 includes new .NET Runtime features & enhancements:

- [Feature](#feature)

.NET Runtime updates in .NET 10:

- [What's new in .NET 10](https://learn.microsoft.com/dotnet/core/whats-new/dotnet-10/overview) documentation


## Feature

This is something about the feature
14 changes: 14 additions & 0 deletions release-notes/10.0/preview/preview1/sdk.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# .NET SDK in .NET 10 Preview 1 - Release Notes

.NET 10 Preview 1 includes new .NET SDK features & enhancements:

- [Feature](#feature)

.NET SDK updates in .NET 10:

- [What's new in .NET 10](https://learn.microsoft.com/dotnet/core/whats-new/dotnet-10/overview) documentation


## Feature

This is something about the feature
19 changes: 19 additions & 0 deletions release-notes/10.0/preview/preview1/visualbasic.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Visual Basic updates in .NET 10 Preview 1 - Release Notes

.NET 10 Preview 1 includes the following Visual Basic features & enhancements:

- [`unmanaged` constraint support](#unmanaged-constraint-support)
- [Honor overload resolution priority](#honor-overload-resolution-priority)

Visual Basic updates:

- [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)

## `unmanaged` constraint support

This is something about the feature/change and a link to the documetnation

## Honor overload resolution priority

This is something about the feature/change and a link to the documetnation
14 changes: 14 additions & 0 deletions release-notes/10.0/preview/preview1/winforms.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Windows Forms in .NET 10 Preview 1 - Release Notes

.NET 10 Preview 1 includes new Windows Forms features & enhancements:

- [Feature](#feature)

Windows Forms updates in .NET 10:

- [What's new in Windows Forms in .NET 10](https://learn.microsoft.com/dotnet/desktop/winforms/whats-new/net100) documentation


## Feature

This is something about the feature
Loading