Summary
After #17350 changed update notifications to opt-in, we should review which commands display the notification and establish a clear rule for when it's appropriate.
Current state
Commands that currently opt in to UpdateNotificationsEnabled:
| Command |
Purpose |
| AddCommand |
Add integrations to a project |
| DashboardRunCommand |
Run the Aspire dashboard |
| InitCommand |
Initialize an Aspire project |
| LsCommand |
List Aspire projects |
| NewCommand / TemplateCommand |
Create a new Aspire project |
| PipelineCommandBase (Deploy/Destroy/Do/Publish) |
Deploy or publish |
| RestoreCommand |
Restore project dependencies |
| RunCommand (non-detach) |
Run an AppHost interactively |
| SetupCommand |
Set up the Aspire layout |
| StartCommand |
Start an AppHost in the background |
| StopCommand |
Stop a running AppHost |
Commands that were removed from opt-in during review:
- DescribeCommand, ExportCommand, LogsCommand, PsCommand, ResourceCommand, WaitCommand
Proposed rule
Update notifications should only be displayed for project-lifecycle commands — commands that create, configure, build, run, or deploy an AppHost. Commands that interact with individual resources within a running AppHost, produce machine-readable output, or are quick utilities should NOT display update notifications.
Rationale:
- Project-lifecycle commands (new, init, run, start, deploy) are natural moments for users to learn about updates
- Resource-interaction commands (logs, ps, describe, wait, resource start/stop) are executed frequently during development and the notification becomes noise
- Machine-readable/streaming commands should never show notifications as they pollute structured output
Action items
Summary
After #17350 changed update notifications to opt-in, we should review which commands display the notification and establish a clear rule for when it's appropriate.
Current state
Commands that currently opt in to
UpdateNotificationsEnabled:Commands that were removed from opt-in during review:
Proposed rule
Rationale:
Action items
LsCommandandStopCommandshould still show notifications (they're quick commands)