-
Notifications
You must be signed in to change notification settings - Fork 6k
Document breaking change: dotnet CLI commands log non-command-relevant data to stderr #48924
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
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: gewarren <[email protected]>
dotnet
CLI commands will log verbose/non-command-relevant data to stderr instead of stdoutThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR documents a breaking change in .NET 10 RC 2 where dotnet CLI commands now emit non-command-relevant data (such as first-run messages) to stderr instead of stdout to improve scriptability and keep stdout clean for parsing.
- Creates comprehensive breaking change documentation with clear before/after behavior examples
- Updates compatibility index and navigation to include the new breaking change
- Adds cross-reference note in telemetry documentation about the stderr behavior change
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
File | Description |
---|---|
docs/core/compatibility/sdk/10.0/dotnet-cli-stderr-output.md | New breaking change document explaining the stderr output behavior change |
docs/core/compatibility/10.0.md | Added entry to SDK breaking changes table |
docs/core/compatibility/toc.yml | Added navigation entry for the new breaking change document |
docs/core/tools/telemetry.md | Minor wording change from "may" to "might" for consistency |
Co-authored-by: Copilot <[email protected]>
Updated the link in the breaking change note to use a relative path.
@gewarren I approved a Copilot suggestion that messed up the linting, sorry about that! Fixed the issue. |
Description
This PR documents the breaking change introduced in .NET 10 RC 2 where
dotnet
CLI commands now emit non-command-relevant data (such as first-run messages) tostderr
instead ofstdout
. This change addresses the requirement to keepstdout
clean for parsing and interpretation in scripting and noninteractive scenarios.Changes
New Documentation
docs/core/compatibility/sdk/10.0/dotnet-cli-stderr-output.md
: Comprehensive breaking change document that includes:$Error
)DOTNET_NOLOGO
to disable messagesUpdated Documentation
docs/core/compatibility/10.0.md
: Added entry to SDK and MSBuild section tabledocs/core/compatibility/toc.yml
: Added TOC entry for navigationdocs/core/tools/telemetry.md
: Added NOTE in the Disclosure section explaining the stderr behavior change with cross-reference to the breaking change documentContext
Starting with .NET 10 RC 2 (SDK PR #50472), the .NET CLI has been improved to separate command output from informational messages. Currently, this affects first-run messages, but the set of messages emitted to stderr will grow over time as the SDK evolves.
This change improves the developer experience by:
stdout
for piping and parsing in scriptsFixes https://dev.azure.com/msft-skilling/Content/_workitems/edit/494515
Original prompt
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.
Internal previews