Skip to content

Commit 3e25a06

Browse files
author
Cam Soper
authored
Breaking Change
1 parent c4e83bb commit 3e25a06

File tree

3 files changed

+56
-3
lines changed

3 files changed

+56
-3
lines changed

docs/core/compatibility/10.0.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,10 @@ If you're migrating an app to .NET 10, the breaking changes listed here might af
4848

4949
## SDK
5050

51-
| Title | Type of change | Introduced version |
52-
|-----------------------------------------------------------------------------------------------|-------------------|--------------------|
53-
| [MSBUILDCUSTOMBUILDEVENTWARNING escape hatch removed](sdk/10.0/custom-build-event-warning.md) | Behavioral change | Preview 1 |
51+
| Title | Type of change | Introduced version |
52+
|----------------------------------------------------------------------------------------------------------------------|-------------------|--------------------|
53+
| [Default workload configuration from 'loose manifests' to 'workload sets' mode](sdk/10.0/default-workload-config.md) | Behavioral change | Preview 2 |
54+
| [MSBUILDCUSTOMBUILDEVENTWARNING escape hatch removed](sdk/10.0/custom-build-event-warning.md) | Behavioral change | Preview 1 |
5455

5556
## Windows Forms
5657

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
title: "Breaking change - Change default workload configuration from 'loose manifests' to 'workload sets' mode"
3+
description: "Learn about the breaking change in .NET 10 Preview 2 where the default workload update mode changed."
4+
ms.date: 3/11/2025
5+
ai-usage: ai-assisted
6+
ms.custom: https://github.com/dotnet/docs/issues/45000
7+
---
8+
9+
# Change default workload configuration from 'loose manifests' to 'workload sets' mode
10+
11+
In .NET 10 Preview 2, the default workload update mode changed from "manifests" to "workload-set". This change ensures users use a single, coherent set of workload versions that do not individually float, making it easier to maintain consistency and manage workloads.
12+
13+
## Version introduced
14+
15+
.NET 10 Preview 2
16+
17+
## Previous behavior
18+
19+
Previously, workloads operated in 'loose manifest' mode by default. Errant `dotnet workload update` commands could install new versions that might not work well together, making it difficult for users to keep a consistent set of workload versions aligned.
20+
21+
## New behavior
22+
23+
Workloads will never float unless the user:
24+
25+
* Updates their SDK
26+
* Performs an explicit update command
27+
28+
When a user performs an update, all workloads will use known-matching versions from the workload set that is used.
29+
30+
## Type of breaking change
31+
32+
This is a [behavioral change](../../categories.md#behavioral-change).
33+
34+
## Reason for change
35+
36+
Users requested more control and predictability in workload management. This new system allows for pinning and coherent updates, ensuring a consistent set of workload versions.
37+
38+
## Recommended action
39+
40+
No corrective action is necessary. If users experience issues, they can revert to loose manifest mode by running the following command:
41+
42+
```dotnetcli
43+
dotnet workload config --update-mode manifests
44+
```
45+
46+
## Affected APIs
47+
48+
None.

docs/core/compatibility/toc.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ items:
4040
href: globalization/10.0/version-override.md
4141
- name: SDK and MSBuild
4242
items:
43+
- name: Default workload configuration from 'loose manifests' to 'workload sets' mode
44+
href: sdk/10.0/default-workload-config.md
4345
- name: MSBUILDCUSTOMBUILDEVENTWARNING escape hatch removed
4446
href: sdk/10.0/custom-build-event-warning.md
4547
- name: Windows Forms
@@ -1894,6 +1896,8 @@ items:
18941896
items:
18951897
- name: .NET 10
18961898
items:
1899+
- name: Default workload configuration from 'loose manifests' to 'workload sets' mode
1900+
href: sdk/10.0/default-workload-config.md
18971901
- name: MSBUILDCUSTOMBUILDEVENTWARNING escape hatch removed
18981902
href: sdk/10.0/custom-build-event-warning.md
18991903
- name: .NET 9

0 commit comments

Comments
 (0)