Skip to content

Commit d8520a6

Browse files
authored
Add preview 4 breaking change (#46587)
1 parent 1701de2 commit d8520a6

File tree

4 files changed

+112
-68
lines changed

4 files changed

+112
-68
lines changed

.github/prompts/breaking-change.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
When you're assigned an issue that's labeled "breaking-change", or when you're given a link to an issue that's labeled "breaking-change" and asked to create a new breaking change document, follow the following guidelines:
1+
When you're assigned an issue that's labeled "breaking-change", or when you're given a link to an issue with this prompt file as context and asked to create a new breaking change document, follow these guidelines:
22

33
The document should be in Markdown format.
44

docs/core/compatibility/10.0.md

Lines changed: 49 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Breaking changes in .NET 10
33
titleSuffix: ""
44
description: Navigate to the breaking changes in .NET 10.
5-
ms.date: 04/21/2025
5+
ms.date: 06/05/2025
66
ai-usage: ai-assisted
77
no-loc: [Blazor, Razor, Kestrel]
88
---
@@ -18,78 +18,79 @@ If you're migrating an app to .NET 10, the breaking changes listed here might af
1818
1919
## Containers
2020

21-
| Title | Type of change | Introduced version |
22-
|----------------------------------------------------------------------------------------------------------------------------|---------------------|--------------------|
23-
| [Default .NET images use Ubuntu](containers/10.0/default-images-use-ubuntu.md) | Behavioral change | Preview 1 |
21+
| Title | Type of change | Introduced version |
22+
|--------------------------------------------------------------------------------|-------------------|--------------------|
23+
| [Default .NET images use Ubuntu](containers/10.0/default-images-use-ubuntu.md) | Behavioral change | Preview 1 |
2424

2525
## Core .NET libraries
2626

27-
| Title | Type of change | Introduced version |
28-
|----------------------------------------------------------------------------------------------------------------------------|---------------------|--------------------|
29-
| [ActivitySource.CreateActivity and ActivitySource.StartActivity behavior change](core-libraries/10.0/activity-sampling.md) | Behavioral change | Preview 1 |
30-
| [C# 14 overload resolution with span parameters](core-libraries/10.0/csharp-overload-resolution.md) | Behavioral change | Preview 1 |
31-
| [Consistent shift behavior in generic math](core-libraries/10.0/generic-math.md) | Behavioral change | Preview 1 |
32-
| [Default trace context propagator updated to W3C standard](core-libraries/10.0/default-trace-context-propagator.md) | Behavioral change | Preview 4 |
33-
| [LDAP DirectoryControl parsing is now more stringent](core-libraries/10.0/ldap-directorycontrol-parsing.md) | Behavioral change | Preview 1 |
34-
| [MacCatalyst version normalization](core-libraries/10.0/maccatalyst-version-normalization.md) | Behavioral change | Preview 1 |
35-
| [System.Linq.AsyncEnumerable included in core libraries](core-libraries/10.0/asyncenumerable.md) | Source incompatible | Preview 1 |
27+
| Title | Type of change | Introduced version |
28+
|-------|-------------------|--------------------|
29+
| [ActivitySource.CreateActivity and ActivitySource.StartActivity behavior change](core-libraries/10.0/activity-sampling.md) | Behavioral change | Preview 1 |
30+
| [C# 14 overload resolution with span parameters](core-libraries/10.0/csharp-overload-resolution.md) | Behavioral change | Preview 1 |
31+
| [Consistent shift behavior in generic math](core-libraries/10.0/generic-math.md) | Behavioral change | Preview 1 |
32+
| [Default trace context propagator updated to W3C standard](core-libraries/10.0/default-trace-context-propagator.md) | Behavioral change | Preview 4 |
33+
| [LDAP DirectoryControl parsing is now more stringent](core-libraries/10.0/ldap-directorycontrol-parsing.md) | Behavioral change | Preview 1 |
34+
| [MacCatalyst version normalization](core-libraries/10.0/maccatalyst-version-normalization.md) | Behavioral change | Preview 1 |
35+
| [System.Linq.AsyncEnumerable included in core libraries](core-libraries/10.0/asyncenumerable.md) | Source incompatible | Preview 1 |
3636

3737
## Extensions
3838

39-
| Title | Type of change | Introduced version |
40-
|-----------------------------------------------------------------------------------------------------------|---------------------|--------------------|
41-
| [ProviderAliasAttribute moved to Microsoft.Extensions.Logging.Abstractions assembly](extensions/10.0/provideraliasattribute-moved-assembly.md) | Source incompatible | Preview 4 |
39+
| Title | Type of change | Introduced version |
40+
|-------|---------------------|--------------------|
41+
| [ProviderAliasAttribute moved to Microsoft.Extensions.Logging.Abstractions assembly](extensions/10.0/provideraliasattribute-moved-assembly.md) | Source incompatible | Preview 4 |
4242

4343
## Globalization
4444

45-
| Title | Type of change | Introduced version |
46-
|-------------------------------------------------------------------------------------------------------|-------------------|--------------------|
47-
| [Environment variable renamed to DOTNET_ICU_VERSION_OVERRIDE](globalization/10.0/version-override.md) | Behavioral change | Preview 1 |
45+
| Title | Type of change | Introduced version |
46+
|-------|-------------------|--------------------|
47+
| [Environment variable renamed to DOTNET_ICU_VERSION_OVERRIDE](globalization/10.0/version-override.md) | Behavioral change | Preview 1 |
4848

4949
## Cryptography
5050

51-
| Title | Type of change | Introduced version |
52-
|----------------------------------------------------------------------------------------------------------|---------------------------------------|--------------------|
53-
| [X500DistinguishedName validation is stricter](cryptography/10.0/x500distinguishedname-validation.md) | Behavioral change | Preview 1 |
54-
| [X509Certificate and PublicKey key parameters can be null](cryptography/10.0/x509-publickey-null.md) | Behavioral/source incompatible change | Preview 3 |
55-
| [Environment variable renamed to DOTNET_OPENSSL_VERSION_OVERRIDE](cryptography/10.0/version-override.md) | Behavioral change | Preview 1 |
51+
| Title | Type of change | Introduced version |
52+
|-------|-------------------|--------------------|
53+
| [X500DistinguishedName validation is stricter](cryptography/10.0/x500distinguishedname-validation.md) | Behavioral change | Preview 1 |
54+
| [X509Certificate and PublicKey key parameters can be null](cryptography/10.0/x509-publickey-null.md) | Behavioral/source incompatible change | Preview 3 |
55+
| [Environment variable renamed to DOTNET_OPENSSL_VERSION_OVERRIDE](cryptography/10.0/version-override.md) | Behavioral change | Preview 1 |
5656

5757
## Interop
5858

59-
| Title | Type of change | Introduced version |
60-
|------------------------------------------------------------------------------------------------------------------------------------|-------------------|--------------------|
61-
| [Specifying DllImportSearchPath.AssemblyDirectory only searches the assembly directory](interop/10.0/search-assembly-directory.md) | Behavioral change | Preview 5 |
59+
| Title | Type of change | Introduced version |
60+
|-------|-------------------|--------------------|
61+
| [Specifying DllImportSearchPath.AssemblyDirectory only searches the assembly directory](interop/10.0/search-assembly-directory.md) | Behavioral change | Preview 5 |
6262

6363
## Networking
6464

65-
| Title | Type of change | Introduced version |
66-
|------------------------------------------------------------------------------------------------------------------|-------------------|--------------------|
67-
| [Streaming HTTP responses enabled by default in browser HTTP clients](networking/10.0/default-http-streaming.md) | Behavioral change | Preview 3 |
65+
| Title | Type of change | Introduced version |
66+
|-------|-------------------|--------------------|
67+
| [Streaming HTTP responses enabled by default in browser HTTP clients](networking/10.0/default-http-streaming.md) | Behavioral change | Preview 3 |
6868

6969
## SDK and MSBuild
7070

71-
| Title | Type of change | Introduced version |
72-
|------------------------------------------------------------------------------------------------------------------------------|---------------------------------------|--------------------|
73-
| [.NET CLI `--interactive` defaults to `true` in user scenarios](sdk/10.0/dotnet-cli-interactive.md) | Behavioral change | Preview 3 |
74-
| [Default workload configuration from 'loose manifests' to 'workload sets' mode](sdk/10.0/default-workload-config.md) | Behavioral change | Preview 2 |
75-
| [`dotnet restore` audits transitive packages](sdk/10.0/nugetaudit-transitive-packages.md) | Behavioral change | Preview 3 |
76-
| [MSBUILDCUSTOMBUILDEVENTWARNING escape hatch removed](sdk/10.0/custom-build-event-warning.md) | Behavioral change | Preview 1 |
77-
| [MSBuild custom culture resource handling](sdk/10.0/msbuild-custom-culture.md) | Behavioral change | Preview 1 |
78-
| [NU1510 is raised for direct references pruned by NuGet](sdk/10.0/nu1510-pruned-references.md) | Source incompatible | Preview 1 |
79-
| [HTTP warnings promoted to errors in `dotnet package list` and `dotnet package search`](sdk/10.0/http-warnings-to-errors.md) | Behavioral/source incompatible change | Preview 4 |
71+
| Title | Type of change | Introduced version |
72+
|-------|-------------------|--------------------|
73+
| [.NET CLI `--interactive` defaults to `true` in user scenarios](sdk/10.0/dotnet-cli-interactive.md) | Behavioral change | Preview 3 |
74+
| [Default workload configuration from 'loose manifests' to 'workload sets' mode](sdk/10.0/default-workload-config.md) | Behavioral change | Preview 2 |
75+
| [`dotnet package list` performs restore](sdk/10.0/dotnet-package-list-restore.md) | Behavioral change | Preview 4 |
76+
| [`dotnet restore` audits transitive packages](sdk/10.0/nugetaudit-transitive-packages.md) | Behavioral change | Preview 3 |
77+
| [MSBUILDCUSTOMBUILDEVENTWARNING escape hatch removed](sdk/10.0/custom-build-event-warning.md) | Behavioral change | Preview 1 |
78+
| [MSBuild custom culture resource handling](sdk/10.0/msbuild-custom-culture.md) | Behavioral change | Preview 1 |
79+
| [NU1510 is raised for direct references pruned by NuGet](sdk/10.0/nu1510-pruned-references.md) | Source incompatible | Preview 1 |
80+
| [HTTP warnings promoted to errors in `dotnet package list` and `dotnet package search`](sdk/10.0/http-warnings-to-errors.md) | Behavioral/source incompatible change | Preview 4 |
8081

8182
## Windows Forms
8283

83-
| Title | Type of change | Introduced version |
84-
|-----------------------------------------------------------------------------------------------------------------------------------------------|---------------------|--------------------|
85-
| [API obsoletions](windows-forms/10.0/obsolete-apis.md) | Source incompatible | Preview 1 |
86-
| [Applications referencing both WPF and WinForms must disambiguate MenuItem and ContextMenu types](windows-forms/10.0/menuitem-contextmenu.md) | Source incompatible | Preview 1 |
87-
| [Renamed parameter in HtmlElement.InsertAdjacentElement](windows-forms/10.0/insertadjacentelement-orientation.md) | Source incompatible | Preview 1 |
88-
| [TreeView checkbox image truncation](windows-forms/10.0/treeview-text-location.md) | Behavioral change | Preview 1 |
89-
| [StatusStrip uses System RenderMode by default](windows-forms/10.0/statusstrip-renderer.md) | Behavioral change | Preview 1 |
84+
| Title | Type of change | Introduced version |
85+
|--------------------------------------------------------|---------------------|--------------------|
86+
| [API obsoletions](windows-forms/10.0/obsolete-apis.md) | Source incompatible | Preview 1 |
87+
| [Applications referencing both WPF and WinForms must disambiguate MenuItem and ContextMenu types](windows-forms/10.0/menuitem-contextmenu.md) | Source incompatible | Preview 1 |
88+
| [Renamed parameter in HtmlElement.InsertAdjacentElement](windows-forms/10.0/insertadjacentelement-orientation.md) | Source incompatible | Preview 1 |
89+
| [TreeView checkbox image truncation](windows-forms/10.0/treeview-text-location.md) | Behavioral change | Preview 1 |
90+
| [StatusStrip uses System RenderMode by default](windows-forms/10.0/statusstrip-renderer.md) | Behavioral change | Preview 1 |
9091

9192
## Windows Presentation Foundation (WPF)
9293

93-
| Title | Type of change | Introduced version |
94-
|--------------------------------------------------------------------------------------------------|---------------------------------------|--------------------|
94+
| Title | Type of change | Introduced version |
95+
|-------|---------------------------------------|--------------------|
9596
| [Incorrect usage of DynamicResource causes application crash](wpf/10.0/dynamicresource-crash.md) | Source incompatible/behavioral change | Preview 4 |
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
title: "Breaking change - dotnet package list command now performs restore by default"
3+
description: "Learn about the breaking change in .NET 10 where the dotnet package list command now performs a restore before listing packages."
4+
ms.date: 06/05/2025
5+
ai-usage: ai-assisted
6+
ms.custom: https://github.com/dotnet/docs/issues/46103
7+
---
8+
9+
# dotnet package list command now performs restore by default
10+
11+
The `dotnet package list` command now automatically performs a restore operation before listing packages to ensure accurate and up-to-date results. This is a behavioral change from the previous implementation where the command did not require a restore step. Additionally, if the restore operation fails, an error message is logged.
12+
13+
## Version introduced
14+
15+
.NET 10 Preview 4
16+
17+
## Previous behavior
18+
19+
The `dotnet package list` command listed project packages without performing a restore. If a restore was needed, you had to run it manually before using the command.
20+
21+
## New behavior
22+
23+
The `dotnet package list` command now automatically performs a restore before listing packages. If the restore fails, the command doesn't list packages and instead logs an error message in both plain text and JSON formats, depending on the command usage.
24+
25+
## Type of breaking change
26+
27+
This change is a [behavioral change](../../categories.md#behavioral-change).
28+
29+
## Reason for change
30+
31+
This change ensures the `dotnet package list` command provides accurate and up-to-date package information.
32+
33+
## Recommended action
34+
35+
If this change causes issues in your workflow:
36+
37+
- Use the `--no-restore` option with `dotnet package list` if you want to bypass the implicit restore step.
38+
- Make sure your project is ready for restore before running the `dotnet package list` command.
39+
- Alternatively, run `dotnet restore` manually before using `dotnet package list` to decouple the restore step.
40+
41+
## Affected APIs
42+
43+
None.

0 commit comments

Comments
 (0)