You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
π Python AppHost code generator
Adds a code generator for Python AppHosts that scaffolds the AppHost project structure and dependency wiring automatically, enabling polyglot Python-based distributed applications.
Changes: PythonAppHost Code GeneratorΒ #13947
π Azure Kubernetes Service (AKS) hosting support
New Aspire.Hosting.Azure.Kubernetes package provides first-class AKS support, including Helm-based deployment and AKS-specific resource configuration.
Changes: Add Azure Kubernetes Service (AKS) hosting supportΒ #16088
π Documentation required
π Azure Front Door hosting integration
New Aspire.Hosting.Azure.FrontDoor package provisions an Azure Front Door (Standard SKU) profile with endpoints, origins, and routing rules from the AppHost.
Changes: Add Azure Front Door hosting integrationΒ #16137
π Documentation required
π JavaScript (Next.js) app support with YARP Aspire.Hosting.JavaScript adds AddNextJsApp and publish methods (PublishAsStaticWebsite, PublishAsDockerFile), using YARP for static site serving and API reverse-proxying.
Changes: Add JavaScript publish methods, AddNextJsApp, and switch to YARPΒ #15736
π Documentation required
β Java polyglot AppHost support
Java polyglot AppHosts now have near-full parity with TypeScript: union types, callback ergonomics, and the full ATS pipeline surface are now generated for Java SDK consumers.
Changes: Add Java polyglot AppHost parityΒ #15470
π Tracked browser logs and network capture
New WithBrowserLogs(...) on endpoint-capable resources attaches a child resource that launches a tracked Chromium browser and streams browser console logs and network activity back into Aspire.
Changes: Add tracked browser logs and network captureΒ #16310
π Documentation required
π TryGetByName on IResourceCollection
New TryGetByName extension method provides an efficient, case-insensitive resource lookup by name, replacing verbose SingleOrDefault LINQ expressions throughout the codebase.
Changes: Add TryGetByName to IResourceCollectionΒ #16389
π Container tunnel enabled by default
Container-to-host networking via the Aspire tunnel is now on by default, enabling containers to consume resources on the host network without requiring Docker Desktop.
Changes: Enable container tunnel by defaultΒ #14557
π§ ASPIRE_ENVIRONMENT read by DistributedApplicationBuilder
The ASPIRE_ENVIRONMENT environment variable is now honored by the AppHost itself (not just the CLI), so setting it via dotnet run, azd, or other launchers correctly configures the environment.
Changes: Read ASPIRE_ENVIRONMENT in DistributedApplicationBuilderΒ #16098
π Documentation required
π WithEndpoint updates existing endpoints instead of throwing
Calling WithEndpoint, WithHttpEndpoint, or WithHttpsEndpoint with an already-registered endpoint name now updates the existing endpoint rather than throwing an exception.
Changes: Make WithEndpoint update existing endpoints instead of throwingΒ #16039
π Filter endpoints from the default reference set
Resources can exclude specific endpoints from the default reference connection string using the new endpoint filtering annotation, enabling fine-grained control over which endpoints are exposed to dependent services.
Changes: Allow filtering endpoints from the default reference setΒ #15558 β οΈBreaking change
π Use ASP.NET Core dev cert for DCP TLS
If the ASP.NET Core developer certificate is available and trusted, Aspire now uses it to secure DCP communication rather than an ephemeral certificate, reducing cert trust issues on macOS and Linux.
Changes: Use ASP.NET Core dev cert for DCP to avoid issues with ephemeral cert trustΒ #15718
π€ Support alternative TypeScript AppHost toolchains
TypeScript AppHosts now detect and use the project's configured package manager (npm, Bun, Yarn, pnpm) for install, run, watch, and diagnostic commands instead of always defaulting to npm.
Changes: Support alternative TypeScript AppHost toolchainsΒ #16162
π Detect system-assigned managed identities in AzureCredentialHelper AzureCredentialHelper now recognizes system-assigned managed identities alongside user-assigned ones, improving Azure credential resolution in managed environments.
Changes: Detect system-assigned managed identities in AzureCredentialHelperΒ #15885
π¦ Dockerfile generation ignores package.json engines.node
Aspire no longer uses the engines.node field from package.json to select the Node.js base image version when generating Dockerfiles, avoiding incorrect version picks from compatibility ranges like >=18.0.0.
Changes: Ignore package.json engines.node when generating DockerfilesΒ #16295 β οΈBreaking change
π Fix OTLP endpoint resolution in isolated mode
When running under aspire start --isolated, the OTLP endpoint URL is now resolved correctly so services can export telemetry to the dashboard.
Changes: Fix OTLP endpoint resolution in isolated modeΒ #16367
β¨οΈ CLI
9 new features, 11 improvements, 10 bug fixes
CLI new features
π aspire dashboard command
New aspire dashboard command starts a standalone Aspire Dashboard instance and opens it in the browser, without requiring an AppHost project.
Changes: Add aspire dashboard CLI commandΒ #15607
π Documentation required
π₯ aspire destroy command
New aspire destroy command tears down previously deployed Aspire environments, completing the deployment lifecycle alongside aspire publish and aspire deploy.
Changes: Add aspire destroy command for tearing down deployed environmentsΒ #16097
π Documentation required
π --list-steps flag for aspire do aspire do --list-steps prints all pipeline steps in topological order with their dependencies and tags, without running them β useful for inspecting what a publish pipeline will do.
Changes: Add --list-steps flag to aspire do commandΒ #16085
π Support F# and VB project upgrades with aspire update aspire update can now upgrade AppHost projects written in F# (.fsproj) and Visual Basic (.vbproj), not just C#.
Changes: Support upgrading F# and VB projectsΒ #15799
π PromptBinding for non-interactive CLI mode
New PromptBinding infrastructure centralizes argument resolution in non-interactive mode, allowing CLI commands to consistently fall back to provided arguments instead of prompting when running in scripts or CI pipelines.
Changes: Add PromptBinding infrastructure for non-interactive CLI modeΒ #16235
π Telemetry activity tracking for app host runs
The CLI now emits an aspire/cli/run_apphost telemetry activity that tracks app host runs with metadata like language, run duration, and resource counts.
Changes: Add telemetry activity for running app host in CLIΒ #16346
π Show authentication token with dashboard URL in aspire ps aspire ps now includes the login token alongside the dashboard URL so users can directly authenticate when opening the dashboard from the terminal.
Changes: Add token for Dashboard url when running aspire psΒ #16165
π Clickable hyperlinks in CLI URL output
All CLI URL output now uses Spectre.Console [link] markup, producing clickable hyperlinks in terminals that support OSC 8 escape sequences.
Changes: Use Spectre.Console link markup for CLI URL outputΒ #15573
π Hierarchical publish summary with timeline
The aspire do publish step summary now shows steps organized hierarchically with a Unicode timeline ruler and per-step duration bars, making it easier to identify bottlenecks.
Changes: Render publish summary hierarchy and timelineΒ #15530
πΊοΈ Disambiguate duplicate paths in aspire ps aspire ps now shows enough path context to distinguish apps with the same project name or directory suffix, preventing ambiguous output.
Changes: Disambiguate duplicate paths in aspire ps outputΒ #16199
π Handle describe --follow disconnects gracefully aspire describe --follow now reconnects automatically when the stream is interrupted rather than exiting with an error.
Changes: Handle describe --follow disconnectsΒ #16271
π±οΈ Clickable trace ID link in trace detail view
The trace ID shown in aspire traces --trace-id detail view is now a clickable hyperlink that opens the trace directly in the dashboard.
Changes: Make trace ID a clickable link in trace detail viewΒ #16345
π‘ Enable dashboard telemetry API by default with API key auth
The standalone dashboard now enables its telemetry API by default with API key authentication, and the CLI performs automatic token exchange so aspire otel commands work without manual configuration.
Changes: Enable dashboard telemetry API by default with ApiKey auth and login token exchangeΒ #16326
π Fix bundle extraction crash when aspire-managed.exe is locked
The CLI no longer crashes during self-extraction when the managed bundle executable is locked by another process (e.g., antivirus or prior run).
Changes: Fix bundle extraction crash when aspire-managed.exe is lockedΒ #15790
π Notification center with command response messages and markdown support
The dashboard now has a notification center (bell icon) that shows resource command responses. Command results can include a Message field rendered as markdown, and the text visualizer also gains markdown rendering support.
Changes: Add notification center, command response message, and markdown support to DashboardΒ #15906
π Documentation required
iοΈ State column InfoPopover with clickable links
The resource state column now shows an information popover with contextual details and clickable links, making it easier to navigate from resource state to related diagnostics.
Changes: Dashboard: Add InfoPopover for state column with clickable linksΒ #15996
Dashboard improvements
π‘ Enable dashboard telemetry API by default
The dashboard's telemetry API is now enabled by default with API key authentication. Combined with the CLI's automatic token exchange, telemetry commands (aspire otel, aspire traces, aspire logs) work against a standalone dashboard without manual configuration.
Changes: Enable dashboard telemetry API by default with ApiKey auth and login token exchangeΒ #16326
π·οΈ Use display names in lifecycle command response messages
Start, stop, and restart command response messages in the dashboard now use the resource's display name instead of its internal DCP resource ID.
Changes: Use display name in lifecycle command response messagesΒ #16143
π Remove MCP server and UI from the dashboard
The experimental Model Context Protocol server and its UI have been removed from the Aspire Dashboard to reduce surface area and avoid confusion.
Changes: Remove MCP server and UI from the dashboardΒ #15528
Dashboard bug fixes
π Fix open redirect security vulnerability
Fixed an open redirect vulnerability in ValidateTokenMiddleware where an attacker-controlled returnUrl query parameter could redirect users to an external site after authentication.
Changes: Fix open redirect vulnerabilityΒ #15952
π Fix FluentSelect/FluentCombobox value binding when options change FluentSelect and FluentCombobox components in interaction inputs now correctly preserve or clear their selected value when the available options list changes.
Changes: Fix FluentSelect/FluentCombobox value binding when options changeΒ #16315
π Fix OTLP JSON deserialization of numeric histogram bucketCounts
The OTLP exporter (e.g., VS Code Copilot Chat) can now correctly send histogram bucketCounts as JSON numbers instead of strings, fixing parse errors from non-conforming exporters.
Changes: Fix OTLP JSON deserialization of numeric histogram bucketCountsΒ #16376
π§ Environment variables in Aspire debug launch configuration
The VS Code extension's Aspire debug launch configuration now supports env and args fields, allowing per-launch environment variables and arguments to be specified in .vscode/launch.json.
Changes: Add env support to Aspire debug launch configurationΒ #16449
π Documentation required
π₯οΈ Simple Browser option for dashboard launch
A new simpleBrowser option for aspire.dashboardBrowser in VS Code settings opens the Aspire Dashboard inside VS Code's built-in Simple Browser panel instead of the system browser.
Changes: Add Simple Browser option for dashboard launchΒ #15896
ποΈ Open Aspire Dashboard from Command Palette
The VS Code extension now exposes an "Open Aspire Dashboard" command in the Command Palette, providing quick keyboard-driven access to the dashboard.
Changes: Add 'Open Aspire Dashboard' to Command PaletteΒ #15499
Extensions improvements
π Auto-restore on workspace open and config change
The VS Code extension now automatically runs aspire restore when a workspace is opened or when aspire.config.json changes, keeping integrations up to date without manual intervention.
Changes: VS Code extension: Auto-restore on workspace open and config changeΒ #15546
π Open AppHost source action in VS Code extension
A new "Open AppHost source" action in the VS Code extension lets developers navigate directly to the AppHost project that defines a given resource.
Changes: Add open AppHost source action to VS Code extensionΒ #15668
π« Smarter non-linkable endpoint URL detection
Non-HTTP endpoint URLs in the extension's resource panel are now identified using a deny-list approach matching the dashboard's logic, reducing false negatives for unusual URL schemes.
Changes: Use deny list for non-linkable endpoint URLs in extensionΒ #15894
π Fix CodeLens positioned inside preceding code blocks
CodeLens items in the VS Code extension are no longer incorrectly rendered inside preceding code blocks in the editor.
Changes: Fix CodeLens positioned inside preceding code blocksΒ #15893
π Integrations
5 new features, 2 improvements, 1 bug fix
Integrations new features
ποΈ EF Core migration management hosting integration
New Aspire.Hosting.EntityFrameworkCore package adds AddEFMigrations extension methods that expose EF Core migration commands as Aspire resource commands, enabling migrations to be run from the dashboard or CLI.
Changes: Add Aspire.Hosting.EntityFrameworkCore hosting integration for EF Core migration managementΒ #13481
π Documentation required
β²οΈ Durable Task Scheduler for Azure Functions
The Aspire.Hosting.Azure.Functions library now supports adding Durable Task Scheduler resources, enabling local development of durable orchestrations with the Azure Functions host.
Changes: Addition of Durable Task Scheduler resources to Azure Functions host libraryΒ #13711
π Documentation required
π‘ RabbitMQ component v7 tracing support
Distributed tracing is now enabled by default in the Aspire.RabbitMQ.Client component when using the RabbitMQ.Client v7 library.
Changes: Enable tracing for RabbitMQ Component (v7)Β #15659
π Documentation required
π Multiple DNS zones for Foundry private endpoint
The Foundry hosting integration now provisions multiple DNS zones when configuring private endpoint connectivity, covering all required Foundry service endpoints.
Changes: Add multiple DNS zones for Foundry private endpointΒ #16051
Integrations improvements
π§Ή Remove custom Npgsql histogram view on .NET 10+
The custom OpenTelemetry histogram view workaround for Npgsql is no longer applied on .NET 10 and later, which natively supports the required histogram configuration.
Changes: Remove custom Npgsql histogram view on .NET 10+Β #16044
β οΈ Deprecate Aspire.Hosting.NodeJs Aspire.Hosting.NodeJs is now marked as deprecated in the CLI integration listings. Users should migrate to the JavaScript-native polyglot AppHost approach.
Changes: Deprecate Aspire.Hosting.NodeJs in CLI integration listingsΒ #15677
This changelog is automatically generated. Add a comment to this issue to provide
feedback (e.g., "Exclude PR #1234", "Rename: X β Y", "Merge PRs #1234 and #5678").
Table of Contents
What's New
π§ AppHost
9 new features, 8 improvements, 7 bug fixes
App Host new features
π Python AppHost code generator
Adds a code generator for Python AppHosts that scaffolds the AppHost project structure and dependency wiring automatically, enabling polyglot Python-based distributed applications.
Changes: PythonAppHost Code GeneratorΒ #13947
π Azure Kubernetes Service (AKS) hosting support
New
Aspire.Hosting.Azure.Kubernetespackage provides first-class AKS support, including Helm-based deployment and AKS-specific resource configuration.Changes: Add Azure Kubernetes Service (AKS) hosting supportΒ #16088
π Documentation required
π Azure Front Door hosting integration
New
Aspire.Hosting.Azure.FrontDoorpackage provisions an Azure Front Door (Standard SKU) profile with endpoints, origins, and routing rules from the AppHost.Changes: Add Azure Front Door hosting integrationΒ #16137
π Documentation required
β‘ Command results for resource commands
Resource commands can now return structured output (text or JSON) via
ExecuteCommandResult.ResultandResultFormat. The result flows through the entire stack: AppHost β Dashboard UI β CLI β MCP tools. HTTP-based commands can also surface response bodies.Changes: Add command result support for resource commandsΒ #15622, Add HTTP command result support for AppHost HTTP commandsΒ #15664
π JavaScript (Next.js) app support with YARP
Aspire.Hosting.JavaScriptaddsAddNextJsAppand publish methods (PublishAsStaticWebsite,PublishAsDockerFile), using YARP for static site serving and API reverse-proxying.Changes: Add JavaScript publish methods, AddNextJsApp, and switch to YARPΒ #15736
π Documentation required
β Java polyglot AppHost support
Java polyglot AppHosts now have near-full parity with TypeScript: union types, callback ergonomics, and the full ATS pipeline surface are now generated for Java SDK consumers.
Changes: Add Java polyglot AppHost parityΒ #15470
π Tracked browser logs and network capture
New
WithBrowserLogs(...)on endpoint-capable resources attaches a child resource that launches a tracked Chromium browser and streams browser console logs and network activity back into Aspire.Changes: Add tracked browser logs and network captureΒ #16310
π Documentation required
π TryGetByName on IResourceCollection
New
TryGetByNameextension method provides an efficient, case-insensitive resource lookup by name, replacing verboseSingleOrDefaultLINQ expressions throughout the codebase.Changes: Add TryGetByName to IResourceCollectionΒ #16389
π withImagePushOptions, ACA custom domain, and ConfigureEnvFile for polyglot AppHosts
Polyglot AppHosts (TypeScript, Python, Java) gain several new capabilities:
withImagePushOptionsfor container registry configuration,ConfigureCustomDomainfor Azure Container Apps,ConfigureEnvFilefor Docker app hosts, and endpoint mutation callbacks viaEndpointUpdateContext.Changes: Add polyglot withImagePushOptions supportΒ #15809, Add polyglot ACA custom domain supportΒ #15811, Add ConfigureEnvFile support to polyglot Docker app hostsΒ #15819, Add polyglot endpoint callback exportsΒ #15856
App Host improvements
π Container tunnel enabled by default
Container-to-host networking via the Aspire tunnel is now on by default, enabling containers to consume resources on the host network without requiring Docker Desktop.
Changes: Enable container tunnel by defaultΒ #14557
π§ ASPIRE_ENVIRONMENT read by DistributedApplicationBuilder
The
ASPIRE_ENVIRONMENTenvironment variable is now honored by the AppHost itself (not just the CLI), so setting it viadotnet run, azd, or other launchers correctly configures the environment.Changes: Read ASPIRE_ENVIRONMENT in DistributedApplicationBuilderΒ #16098
π Documentation required
π WithEndpoint updates existing endpoints instead of throwing
Calling
WithEndpoint,WithHttpEndpoint, orWithHttpsEndpointwith an already-registered endpoint name now updates the existing endpoint rather than throwing an exception.Changes: Make WithEndpoint update existing endpoints instead of throwingΒ #16039
π Filter endpoints from the default reference set
β οΈ Breaking change
Resources can exclude specific endpoints from the default reference connection string using the new endpoint filtering annotation, enabling fine-grained control over which endpoints are exposed to dependent services.
Changes: Allow filtering endpoints from the default reference setΒ #15558
π Use ASP.NET Core dev cert for DCP TLS
If the ASP.NET Core developer certificate is available and trusted, Aspire now uses it to secure DCP communication rather than an ephemeral certificate, reducing cert trust issues on macOS and Linux.
Changes: Use ASP.NET Core dev cert for DCP to avoid issues with ephemeral cert trustΒ #15718
π€ Support alternative TypeScript AppHost toolchains
TypeScript AppHosts now detect and use the project's configured package manager (npm, Bun, Yarn, pnpm) for install, run, watch, and diagnostic commands instead of always defaulting to npm.
Changes: Support alternative TypeScript AppHost toolchainsΒ #16162
π Detect system-assigned managed identities in AzureCredentialHelper
AzureCredentialHelpernow recognizes system-assigned managed identities alongside user-assigned ones, improving Azure credential resolution in managed environments.Changes: Detect system-assigned managed identities in AzureCredentialHelperΒ #15885
π¦ Dockerfile generation ignores package.json engines.node
β οΈ Breaking change
Aspire no longer uses the
engines.nodefield frompackage.jsonto select the Node.js base image version when generating Dockerfiles, avoiding incorrect version picks from compatibility ranges like>=18.0.0.Changes: Ignore package.json engines.node when generating DockerfilesΒ #16295
App Host bug fixes
π Fix event order during container creation
Corrected event ordering and callback invocation during container lifecycle to prevent race conditions.
Changes: Fix event order and callback calling during container creationΒ #15503
π Fix TypeScript codegen for reusable packages
Resolved type generation issues in TypeScript SDK codegen that caused compile errors when consuming reusable packages.
Changes: Fix TypeScript codegen typing for reusable packagesΒ #15631
π Fix config boolean handling in aspire config
Fixed a crash when reading boolean values from
aspire.config.jsonand incorrect types written back on save.Changes: [main] Fix config boolean handling: crash on read, wrong types on writeΒ #15638
π Fix Durable Task Scheduler ATS export annotations
Corrected ATS export annotations for Durable Task Scheduler resources to ensure correct polyglot code generation.
Changes: Fix Durable Task Scheduler ATS export annotationsΒ #15684
π Fix default publish output path for TypeScript AppHosts
TypeScript AppHost publish now writes to the correct output directory instead of an unexpected location.
Changes: Fix default publish output path for TypeScript AppHostsΒ #16157
π Fix Next.js standalone Dockerfile cache permissions
The generated Next.js standalone Dockerfile now sets correct cache directory permissions, preventing permission-denied errors during container builds.
Changes: Fix Next.js standalone Dockerfile cache permissionsΒ #16290
π Fix OTLP endpoint resolution in isolated mode
When running under
aspire start --isolated, the OTLP endpoint URL is now resolved correctly so services can export telemetry to the dashboard.Changes: Fix OTLP endpoint resolution in isolated modeΒ #16367
β¨οΈ CLI
9 new features, 11 improvements, 10 bug fixes
CLI new features
π aspire dashboard command
New
aspire dashboardcommand starts a standalone Aspire Dashboard instance and opens it in the browser, without requiring an AppHost project.Changes: Add
aspire dashboardCLI commandΒ #15607π Documentation required
π₯ aspire destroy command
New
aspire destroycommand tears down previously deployed Aspire environments, completing the deployment lifecycle alongsideaspire publishandaspire deploy.Changes: Add aspire destroy command for tearing down deployed environmentsΒ #16097
π Documentation required
π aspire docs api command
New
aspire docs api *sub-commands expose reference documentation fromaspire.devdirectly in the terminal, enabling offline and quick access to API docs.Changes: Add
aspire docs api *sub-commands to exposeaspire.devreference materialΒ #15814π Documentation required
π --list-steps flag for aspire do
aspire do --list-stepsprints all pipeline steps in topological order with their dependencies and tags, without running them β useful for inspecting what a publish pipeline will do.Changes: Add --list-steps flag to aspire do commandΒ #16085
π --dashboard-url and --api-key for aspire agent mcp and aspire otel
The
aspire agent mcpandaspire otelcommands now accept--dashboard-urland--api-keyflags, enabling connections to external or remote dashboard instances.Changes: Add --dashboard-url and --api-key options to aspire agent mcp and aspire otel commandsΒ #15595
π Support F# and VB project upgrades with aspire update
aspire updatecan now upgrade AppHost projects written in F# (.fsproj) and Visual Basic (.vbproj), not just C#.Changes: Support upgrading F# and VB projectsΒ #15799
π PromptBinding for non-interactive CLI mode
New
PromptBindinginfrastructure centralizes argument resolution in non-interactive mode, allowing CLI commands to consistently fall back to provided arguments instead of prompting when running in scripts or CI pipelines.Changes: Add PromptBinding infrastructure for non-interactive CLI modeΒ #16235
π Telemetry activity tracking for app host runs
The CLI now emits an
aspire/cli/run_apphosttelemetry activity that tracks app host runs with metadata like language, run duration, and resource counts.Changes: Add telemetry activity for running app host in CLIΒ #16346
π Show authentication token with dashboard URL in aspire ps
aspire psnow includes the login token alongside the dashboard URL so users can directly authenticate when opening the dashboard from the terminal.Changes: Add token for Dashboard url when running
aspire psΒ #16165CLI improvements
π¨ Suppress animated banner in CI and non-interactive environments
The CLI startup animation is no longer shown in CI pipelines or non-interactive terminals, reducing noise in automated workflows.
Changes: Suppress animated banner auto-display in CI/non-interactive environmentsΒ #14792
π Clickable hyperlinks in CLI URL output
All CLI URL output now uses Spectre.Console
[link]markup, producing clickable hyperlinks in terminals that support OSC 8 escape sequences.Changes: Use Spectre.Console link markup for CLI URL outputΒ #15573
π Hierarchical publish summary with timeline
The
aspire do publishstep summary now shows steps organized hierarchically with a Unicode timeline ruler and per-step duration bars, making it easier to identify bottlenecks.Changes: Render publish summary hierarchy and timelineΒ #15530
π Hide internal resources by default in describe/logs/export
aspire describe,aspire logs, andaspire exportnow hide Aspire-internal resources by default. Use--include-hiddento show them.Changes: CLI: Hide hidden resources by default in describe/logs/export, add --include-hidden optionΒ #16146
πΊοΈ Disambiguate duplicate paths in aspire ps
aspire psnow shows enough path context to distinguish apps with the same project name or directory suffix, preventing ambiguous output.Changes: Disambiguate duplicate paths in aspire ps outputΒ #16199
π Handle describe --follow disconnects gracefully
aspire describe --follownow reconnects automatically when the stream is interrupted rather than exiting with an error.Changes: Handle describe --follow disconnectsΒ #16271
aspire updateno longer fails hard when a package is absent from the current channel; it now emits a warning and continues.Changes: Warn instead of failing when a package is missing from the channel during
aspire updateΒ #16337π±οΈ Clickable trace ID link in trace detail view
The trace ID shown in
aspire traces --trace-iddetail view is now a clickable hyperlink that opens the trace directly in the dashboard.Changes: Make trace ID a clickable link in trace detail viewΒ #16345
π©Ί Remove obsolete Docker Engine tunnel warning from aspire doctor
aspire doctorno longer shows the outdated warning about Docker Engine lacking container-to-host tunnel support, since the tunnel is now enabled by default.Changes: Remove obsolete Docker Engine tunnel warning from
aspire doctorΒ #16343π‘ Enable dashboard telemetry API by default with API key auth
The standalone dashboard now enables its telemetry API by default with API key authentication, and the CLI performs automatic token exchange so
aspire otelcommands work without manual configuration.Changes: Enable dashboard telemetry API by default with ApiKey auth and login token exchangeΒ #16326
π Reduce CLI diagnostic log noise
Lowered verbosity of routine diagnostic log messages in the CLI and improved process execution logging clarity.
Changes: Reduce CLI diagnostic log noise and improve process loggingΒ #15956
CLI bug fixes
π Fix aspire stop not cleaning up application containers
aspire stopnow correctly terminates and removes all containers associated with the running application.Changes: Fix issue 15806 ("aspire stop" is not cleaning up application containers)Β #16006
π Fix aspire wait for JSON-emitted resource names
aspire waitnow correctly resolves resource names emitted in JSON format from the AppHost.Changes: Fix aspire wait for JSON-emitted resource namesΒ #16224
π Fix aspire start --format json restart output
The JSON output mode for
aspire startno longer produces malformed output when the AppHost restarts.Changes: Fix
aspire start --format jsonrestart outputΒ #16228π Fix ANSI escape leaks in plain log and telemetry output
ANSI color codes no longer appear in plain (non-terminal) log output or telemetry payloads.
Changes: Fix ANSI leaks in plain logs and telemetry outputΒ #16225
π Fix installer SHA-256 mismatch on Windows
The Aspire CLI installer on Windows no longer fails SHA-256 validation due to MicroBuild repackaging
tar.gzarchives.Changes: Fix installer SHA-256 mismatch caused by MicroBuild repacking tar.gz on WindowsΒ #16231
π Fix bundle extraction crash when aspire-managed.exe is locked
The CLI no longer crashes during self-extraction when the managed bundle executable is locked by another process (e.g., antivirus or prior run).
Changes: Fix bundle extraction crash when aspire-managed.exe is lockedΒ #15790
π Fix migration from .aspire/settings.json to aspire.config.json
The migration path from the old
.aspire/settings.jsonformat toaspire.config.jsonnow correctly transfers all settings.Changes: Fix migration from .aspire/settings.json to aspire.config.jsonΒ #15524
π Fix aspire start failing in VS Code integrated terminal
aspire startno longer fails when launched from the VS Code integrated terminal due to terminal environment issues.Changes: Fix aspire start failing in VS Code integrated terminalΒ #15980
π Fix install script silently swallowing file-lock errors
The CLI install script now surfaces file-lock errors instead of silently reporting success when installation actually failed.
Changes: Fix install script swallowing file-lock errors and reporting false successΒ #15419
π Fix aspire config list --all showing no features when no config exists
aspire config list --allnow correctly lists all available features even when noaspire.config.jsonfile has been created yet.Changes: Fix
aspire config list --allshowing no features when no config existsΒ #15821π Dashboard
2 new features, 5 improvements, 4 bug fixes
Dashboard new features
π Notification center with command response messages and markdown support
The dashboard now has a notification center (bell icon) that shows resource command responses. Command results can include a
Messagefield rendered as markdown, and the text visualizer also gains markdown rendering support.Changes: Add notification center, command response message, and markdown support to DashboardΒ #15906
π Documentation required
iοΈ State column InfoPopover with clickable links
The resource state column now shows an information popover with contextual details and clickable links, making it easier to navigate from resource state to related diagnostics.
Changes: Dashboard: Add InfoPopover for state column with clickable linksΒ #15996
Dashboard improvements
π‘ Enable dashboard telemetry API by default
The dashboard's telemetry API is now enabled by default with API key authentication. Combined with the CLI's automatic token exchange, telemetry commands (
aspire otel,aspire traces,aspire logs) work against a standalone dashboard without manual configuration.Changes: Enable dashboard telemetry API by default with ApiKey auth and login token exchangeΒ #16326
π Support short trace IDs
The dashboard telemetry API now accepts and resolves shortened trace IDs, making it easier to look up traces by a partial identifier.
Changes: Port: Simplify TelemetryApiService.GetTrace and support short trace IDsΒ #15641
π·οΈ Use display names in lifecycle command response messages
Start, stop, and restart command response messages in the dashboard now use the resource's display name instead of its internal DCP resource ID.
Changes: Use display name in lifecycle command response messagesΒ #16143
π Remove telemetry API data limits
Removed the per-request data size limits on the telemetry API endpoints, eliminating truncation for large traces and log batches.
Changes: Remove telemetry API data limits and refactor URL buildersΒ #16020
π Remove MCP server and UI from the dashboard
The experimental Model Context Protocol server and its UI have been removed from the Aspire Dashboard to reduce surface area and avoid confusion.
Changes: Remove MCP server and UI from the dashboardΒ #15528
Dashboard bug fixes
π Fix open redirect security vulnerability
Fixed an open redirect vulnerability in
ValidateTokenMiddlewarewhere an attacker-controlledreturnUrlquery parameter could redirect users to an external site after authentication.Changes: Fix open redirect vulnerabilityΒ #15952
π Fix FluentSelect/FluentCombobox value binding when options change
FluentSelectandFluentComboboxcomponents in interaction inputs now correctly preserve or clear their selected value when the available options list changes.Changes: Fix FluentSelect/FluentCombobox value binding when options changeΒ #16315
π Fix OTLP JSON deserialization of numeric histogram bucketCounts
The OTLP exporter (e.g., VS Code Copilot Chat) can now correctly send histogram
bucketCountsas JSON numbers instead of strings, fixing parse errors from non-conforming exporters.Changes: Fix OTLP JSON deserialization of numeric histogram bucketCountsΒ #16376
π Fix language dropdown arrow-key navigation and duplicate zh-CN locale
The language selection dropdown in dashboard settings now responds correctly to keyboard arrow keys, and the duplicate zh-CN entry has been removed.
Changes: Fix language dropdown arrow-key behavior and duplicate zh-CN entry in dashboard settingsΒ #16094
π§© Extensions
3 new features, 4 improvements, 2 bug fixes
Extensions new features
π§ Environment variables in Aspire debug launch configuration
The VS Code extension's Aspire debug launch configuration now supports
envandargsfields, allowing per-launch environment variables and arguments to be specified in.vscode/launch.json.Changes: Add env support to Aspire debug launch configurationΒ #16449
π Documentation required
π₯οΈ Simple Browser option for dashboard launch
A new
simpleBrowseroption foraspire.dashboardBrowserin VS Code settings opens the Aspire Dashboard inside VS Code's built-in Simple Browser panel instead of the system browser.Changes: Add Simple Browser option for dashboard launchΒ #15896
ποΈ Open Aspire Dashboard from Command Palette
The VS Code extension now exposes an "Open Aspire Dashboard" command in the Command Palette, providing quick keyboard-driven access to the dashboard.
Changes: Add 'Open Aspire Dashboard' to Command PaletteΒ #15499
Extensions improvements
π Auto-restore on workspace open and config change
The VS Code extension now automatically runs
aspire restorewhen a workspace is opened or whenaspire.config.jsonchanges, keeping integrations up to date without manual intervention.Changes: VS Code extension: Auto-restore on workspace open and config changeΒ #15546
π Improved resource state indicators in gutter, code lens, and tree view
Resource state is now shown consistently across the VS Code extension's gutter decorations, code lens items, and the Aspire tree view sidebar.
Changes: VS Code extension: Improve gutter, code lens, and tree view resource state indicatorsΒ #15688
π Open AppHost source action in VS Code extension
A new "Open AppHost source" action in the VS Code extension lets developers navigate directly to the AppHost project that defines a given resource.
Changes: Add open AppHost source action to VS Code extensionΒ #15668
π« Smarter non-linkable endpoint URL detection
Non-HTTP endpoint URLs in the extension's resource panel are now identified using a deny-list approach matching the dashboard's logic, reducing false negatives for unusual URL schemes.
Changes: Use deny list for non-linkable endpoint URLs in extensionΒ #15894
Extensions bug fixes
π Fix JSON-RPC error on disconnect and auto-restart debug session
The VS Code extension no longer shows a JSON-RPC error dialog when the AppHost disconnects; the debug session now auto-restarts when the AppHost restarts.
Changes: Fix JSON-RPC error on disconnect and auto-restart Aspire debug session on AppHost restartΒ #14548
π Fix CodeLens positioned inside preceding code blocks
CodeLens items in the VS Code extension are no longer incorrectly rendered inside preceding code blocks in the editor.
Changes: Fix CodeLens positioned inside preceding code blocksΒ #15893
π Integrations
5 new features, 2 improvements, 1 bug fix
Integrations new features
ποΈ EF Core migration management hosting integration
New
Aspire.Hosting.EntityFrameworkCorepackage addsAddEFMigrationsextension methods that expose EF Core migration commands as Aspire resource commands, enabling migrations to be run from the dashboard or CLI.Changes: Add Aspire.Hosting.EntityFrameworkCore hosting integration for EF Core migration managementΒ #13481
π Documentation required
β²οΈ Durable Task Scheduler for Azure Functions
The
Aspire.Hosting.Azure.Functionslibrary now supports adding Durable Task Scheduler resources, enabling local development of durable orchestrations with the Azure Functions host.Changes: Addition of Durable Task Scheduler resources to Azure Functions host libraryΒ #13711
π Documentation required
π Private endpoint support for Azure OpenAI and Foundry
AzureOpenAIResourceandFoundryResourcenow implementIAzurePrivateEndpointTarget, enabling them to be connected via Azure Private Endpoints for secure, network-isolated access.Changes: Add IAzurePrivateEndpointTarget support to AzureOpenAIResource and FoundryResourceΒ #15945
π‘ RabbitMQ component v7 tracing support
Distributed tracing is now enabled by default in the
Aspire.RabbitMQ.Clientcomponent when using the RabbitMQ.Client v7 library.Changes: Enable tracing for RabbitMQ Component (v7)Β #15659
π Documentation required
π Multiple DNS zones for Foundry private endpoint
The Foundry hosting integration now provisions multiple DNS zones when configuring private endpoint connectivity, covering all required Foundry service endpoints.
Changes: Add multiple DNS zones for Foundry private endpointΒ #16051
Integrations improvements
π§Ή Remove custom Npgsql histogram view on .NET 10+
The custom OpenTelemetry histogram view workaround for Npgsql is no longer applied on .NET 10 and later, which natively supports the required histogram configuration.
Changes: Remove custom Npgsql histogram view on .NET 10+Β #16044
Aspire.Hosting.NodeJsis now marked as deprecated in the CLI integration listings. Users should migrate to the JavaScript-native polyglot AppHost approach.Changes: Deprecate Aspire.Hosting.NodeJs in CLI integration listingsΒ #15677
Integrations bug fixes
Updated the Redis Commander container image reference to
ghcr.io/joeferner/redis-commanderfollowing the upstream registry migration.Changes: Update Redis Commander container image to ghcr.io/joeferner/redis-commanderΒ #12945
βοΈ Engineering
1 bug fix
Engineering bug fixes
Updated
Microsoft.Bcl.Memoryto 10.0.5 to address CVE-2026-26127.Changes: Bump Microsoft.Bcl.Memory to 10.0.5 to fix CVE-2026-26127Β #15410
This changelog is automatically generated. Add a comment to this issue to provide
feedback (e.g., "Exclude PR #1234", "Rename: X β Y", "Merge PRs #1234 and #5678").