-
Notifications
You must be signed in to change notification settings - Fork 963
13.5 Change log
9 new features, 18 improvements, 16 bug fixes
โน๏ธ This changelog is automatically generated from merged pull requests and may contain inaccuracies. For official release notes, see https://aka.ms/aspire/update-latest.
- 2026-06-05 00:21 โ ๐ Bun debugging support in VS Code extension
- 2026-06-04 21:34 โ ๐ณ TypeScript AppHosts support container file copying
- 2026-06-03 23:48 โ ๐ค Foundry Local integration updated to use foundry CLI
- 2026-06-03 22:10 โ ๐ Fix proxyless endpoint on-demand allocation
- 2026-06-03 21:14 โ ๐ Security fixes in VS Code extension dependencies
- 2026-06-03 09:33 โ ๐ Fix CLI Ctrl+C/SIGTERM shutdown responsiveness
- 2026-06-03 02:11 โ ๐ dotnet run delegates to aspire run for bundled AppHosts
- 2026-06-03 01:29 โ ๐ฎ Resource commands in VS Code tree view
- 2026-06-02 21:05 โ ๐ Fix Redis TLS persistent container startup deadlock
- 2026-06-02 18:59 โ โธ๏ธ Defer explicit-start resource configuration
1 new feature, 9 improvements, 3 bug fixes
-
๐ณ TypeScript AppHosts support container file copying
TypeScript (ATS) AppHosts can now export withContainerFiles to copy host files into container resources, with support for owner, group, and umask options. This brings TypeScript polyglot AppHosts to parity with C# AppHosts that use WithContainerFiles.
Owner: @sebastienros
Changes: #17877
๐ Documentation required
-
๐ค Foundry Local integration updated to use foundry CLI
The Foundry Local integration (RunAsFoundryLocal) now uses the installed foundry CLI for service lifecycle management instead of internal SDK APIs, ensuring compatibility with Foundry Local 1.1.0. The AppHost API is unchanged, but the foundry CLI must be installed and available on PATH.
Owner: @sebastienros
Changes: #17889
๐ Documentation required -
โธ๏ธ Defer explicit-start resource configuration
Session-scoped resources marked with WithExplicitStart() no longer run their execution configuration callbacks (arguments, environment variables, certificates) until the user manually starts them. Previously these callbacks ran at AppHost startup, which could prompt for user input prematurely.
Owner: @danegsta
Changes: #17825 -
๐ DevTunnel region configuration
Added a Region property to DevTunnelOptions, allowing you to specify the region where the dev tunnel is created. The fully qualified tunnel ID now includes the region.
Owner: @DamianEdwards
Changes: #14112
๐ Documentation required
๐ Community contribution by @kola-tm -
๐ค Updated Foundry hosted agent builder APIs
The Aspire.Hosting.Foundry hosted-agent builder APIs have been updated with a cleaner project-first API (AsHostedAgent). Publish-mode agents now attach the Foundry project reference to the correct deployment target resource, and Azure Container Registry is only added for publish/deploy scenarios.
Owner: @tommasodotNET
Changes: #17545, #17687
Docs: microsoft/aspire.dev#1130
๐ Documentation required -
๐ TypeScript/polyglot AppHost support is GA
TypeScript/polyglot AppHost support is now generally available. The ASPIREATS001 experimental diagnostic has been removed, so projects no longer need to suppress it.
Owner: @sebastienros
Changes: #17600
๐ Documentation required -
โ๏ธ Standardize resource service endpoint URL config name
The resource service endpoint URL is now resolved using KnownConfigNames (ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL) with a legacy fallback to DOTNET_RESOURCE_SERVICE_ENDPOINT_URL, improving consistency with Aspire naming conventions.
Owner: @JamesNK
Changes: #17385 -
โ Helm v4.2.0+ version validation for Kubernetes deploy
Aspire now validates that Helm v4.2.0 or later is installed before running Kubernetes deployments. Previously, missing or outdated Helm produced cryptic low-level errors; users now see a clear, actionable message.
Owner: @mitchdenny
Changes: #17491
Docs: microsoft/aspire.dev#1090, microsoft/aspire.dev#1097
๐ Documentation required -
๐ Blazor gateway Docker Compose publish support
Adds Docker Compose publish support for the Blazor gateway and addresses various review feedback items including resource name attributes and improved OTLP warning placement.
Owner: @davidfowl
Changes: #17384
๐ Documentation required
๐ Community contribution by @javiercn -
๐ Backchannel property compatibility improvements
Preserves auxiliary backchannel backward compatibility while enabling rich JSON property values (numbers, booleans, arrays) for clients that advertise the new aux.v4 capability. The CLI now sends its client capabilities when using v2 resource snapshots.
Owner: @adamint
Changes: #17507
-
๐ Fix proxyless endpoint on-demand allocation
Fixed failures when proxyless container endpoint references were accessed before container creation. Endpoint allocation now uses dependency analysis to distinguish circular or unsafe references from safe lazy ones, so only truly unsafe references trigger early fallback allocation.
Owner: @danegsta
Changes: #17851, #17879 -
๐ Fix TypeScript AppHost async callback deadlock
Fixed a deadlock in TypeScript AppHosts where async callbacks stored in IOptions.Configure were invoked on the StreamJsonRpc non-concurrent dispatcher during BeforeStartEvent, causing the AppHost to hang.
Owner: @IEvangelist
Changes: #17575 -
๐ Fix aspire run with .dev.localhost resource service URLs
Fixed aspire run failing for polyglot AppHosts that use *.dev.localhost URLs. The resource service endpoint validation now accepts localhost subdomains in addition to loopback IPs.
Owner: @danegsta
Changes: #17639
2 new features, 6 improvements, 7 bug fixes
-
๐ฆ Aspire CLI available via npm
The Aspire CLI is now available as an npm package (@microsoft/aspire-cli), providing an alternative installation method. The update command and update notifier now detect and handle npm-installed versions.
Owner: @adamint
Changes: #17297
๐ Documentation required -
๐ฆ Embedded Aspire skills bundle fallback
The Aspire skills bundle is now embedded in the CLI as a reliable fallback. When GitHub release asset acquisition is unavailable, the CLI uses the embedded bundle and shows a non-fatal warning instead of failing the entire command.
Owner: @IEvangelist
Changes: #17537, #17547
Docs: microsoft/aspire.dev#1137
๐ Documentation required
-
๐ dotnet run delegates to aspire run for bundled AppHosts
When AspireUseCliBundle is enabled, running dotnet run on an AppHost project now automatically delegates to aspire run, ensuring bundled CLI behavior is used consistently. This means aspire run orchestration is applied even when developers use the familiar dotnet run command.
Owner: @davidfowl
Changes: #17748
๐ Documentation required -
๐ Aspire skills catalog loaded from bundle manifest
The aspire agent init skill catalog is now loaded dynamically from the bundle manifest instead of being hardcoded to three skills. All skills published in the microsoft/aspire-skills bundle are now discoverable by the CLI.
Owner: @IEvangelist
Changes: #17553
Docs: microsoft/aspire.dev#1077
๐ Documentation required -
๐๏ธ aspire ps --resources flag removed
The --resources flag (and --include-hidden) has been removed from aspire ps, which now focuses on AppHost-level summaries. Use aspire describe to stream detailed resource data.
Owner: @mitchdenny
Changes: #17479
โ ๏ธ Breaking change
๐ Documentation required -
๐ Updated --search option help text
The --search option in aspire logs and telemetry commands now includes a link to aka.ms/aspire/cli-search and clarifies support for both full-text search and field filters.
Owner: @JamesNK
Changes: #17544
Docs: microsoft/aspire.dev#948, microsoft/aspire.dev#1081, microsoft/aspire.dev#1121 -
๐ Enriched AppHost codegen TypeLoadException diagnostics
When AppHost code generation fails due to a TypeLoadException (typically caused by a version mismatch between the CLI and the user project), the CLI now provides enriched diagnostic output to help identify the cause.
Owner: @IEvangelist
Changes: #17262
Docs: microsoft/aspire.dev#1101, microsoft/aspire.dev#1103
๐ Documentation required -
๐จ Improved aspire agent init install output
The aspire agent init command now collects updated skill/location pairs and prints one compact summary instead of repeating a success line for every skill at every install target.
Owner: @IEvangelist
Changes: #17519
-
๐ Fix CLI Ctrl+C/SIGTERM shutdown responsiveness
Multiple CLI shutdown improvements: fixed Ctrl+C responsiveness during AppHost startup, fixed a double-signal bug causing immediate force-kill, and added an immediate "Stopping Aspire..." message after 200ms when shutdown is in progress.
Owner: @JamesNK
Changes: #17588, #17652 -
๐ Fix duplicate profiles block in empty AppHost template
Fixed a bug where the empty C# AppHost template generated an aspire.config.json with a duplicated profiles block.
Owner: @mitchdenny
Changes: #17781 -
๐ Fix aspire ls discovery and settings bugs
Fixed five bugs in aspire ls related to the settings discovery pipeline: settings.json compatibility, aspire.config.json handling, parallel discovery races, macOS symlink resolution, and discovery path normalization.
Owner: @adamint
Changes: #17631 -
๐ง Fix localhive.sh CLI install with subdirectories
Fixed localhive.sh CLI installation failing when the publish output contains subdirectories such as culture-specific resource folders. The script now uses cp -r to correctly copy all files and directories.
Owner: @sebastienros
Changes: #17670
Docs: microsoft/aspire.dev#1128 -
๐ Fix aspire stop false failure on Unix
Fixed a bug where aspire stop falsely reported failure on Unix because the AppHost process was orphaned during the shutdown cascade instead of being properly reaped.
Owner: @danegsta
Changes: #17612 -
๐ฌ Friendly error for aspire do --list-steps without a step
Running aspire do --list-steps without specifying a step now gives a clear validation error instead of launching the AppHost and crashing with an obscure exception.
Owner: @mitchdenny
Changes: #17535
Docs: microsoft/aspire.dev#1091
๐ Documentation required -
๐ Fix Aspire skills attestation verification
Fixed a bug where aspire agent init failed to install the Aspire skills bundle because the attestation verifier used a stale SLSA build type URL. The verifier now accepts the current GitHub Actions build type URL.
Owner: @IEvangelist
Changes: #17521
1 new feature, 2 improvements, 1 bug fix
-
๐ Timestamp filter for telemetry
You can now filter telemetry logs and traces by timestamp using a dedicated timestamp search qualifier in the Aspire Dashboard filter dialog.
Owner: @JamesNK
Changes: #17816
๐ Documentation required
-
๐ข Equality operators in numeric telemetry filter
The telemetry filter dialog now includes == and != operators for numeric fields, making it easier to filter for exact values in logs and traces.
Owner: @JamesNK
Changes: #17708
๐ Community contribution by @ellahathaway -
๐ Dashboard startup log formatting improvements
Dashboard startup log output now uses indented bullet formatting for URLs and emits the container access warning as a separate log entry. The legacy login URL line is also restored so dotnet watch can detect AppHost readiness and auto-launch the browser.
Owner: @JamesNK
Changes: #17595, #17610
-
๐ Fix telemetry streaming with resource filter
Fixed a bug where streaming telemetry (spans/logs) with a resource filter would return empty immediately if the resource had not yet emitted any telemetry. The stream now waits for the resource to appear before returning results.
Owner: @JamesNK
Changes: #17821
5 new features, 1 improvement, 3 bug fixes
-
๐ Bun debugging support in VS Code extension
The Aspire VS Code extension now supports debugging Bun applications via the WebKit Inspector Protocol debug adapter. Set breakpoints in your Bun code and debug it directly from VS Code when running an AppHost with a Bun resource (requires the oven.bun-vscode extension).
Owner: @adamint
Changes: #17848
๐ Documentation required
๐ Community contribution by @ellahathaway -
๐ฎ Resource commands in VS Code tree view
Resource commands (such as Start, Stop, and custom commands) are now displayed as child items under each resource in the Aspire VS Code extension tree view. Both enabled and disabled commands are shown.
Owner: @adamint
Changes: #17698
๐ Documentation required
๐ Community contribution by @shivamgoel008 -
๐ก VS Code extension telemetry
The VS Code extension now collects telemetry signals including extension activation, debug session start/stop, and dashboard interactions to help improve the product. Data collection follows Microsoft privacy policies.
Owner: @adamint
Changes: #17723
๐ Documentation required -
๐ Support launchUrl in launchSettings.json
The VS Code extension now respects the launchUrl property in launchSettings.json, using it as the serverReadyAction URI format when launching the debugger.
Owner: @adamint
Changes: #17634
๐ Documentation required
๐ Community contribution by @neoGeneva -
๐๏ธ Show discovered AppHosts in VS Code Aspire pane
The VS Code Aspire pane now displays idle (non-running) AppHosts discovered via aspire ls, with right-click context menu actions to Run, Debug, Open Source, or Copy Path.
Owner: @adamint
Changes: #17506
๐ Documentation required
๐ Community contribution by @ellahathaway
-
๐ท๏ธ VS Code extension renamed to Aspire
The VS Code extension has been rebranded from ".NET Aspire" to "Aspire". Users will see the updated display name and icon in the VS Code marketplace and extension panel.
Owner: @adamint
Changes: #17843
-
๐ Security fixes in VS Code extension dependencies
Upgraded the undici dependency in the VS Code extension to 7.27.0 to address three security vulnerabilities: CRLF injection via the upgrade option, a WebSocket 64-bit length parser crash, and HTTP request/response smuggling.
Owner: @IEvangelist
Changes: #17868 -
๐ Security update: tmp package path traversal fix
Updated the tmp npm package to 0.2.6 in the VS Code extension to resolve a path traversal vulnerability (GHSA-ph9p-34f9-6g65).
Owner: @IEvangelist
Changes: #17594
Docs: microsoft/aspire.dev#1123 -
๐ ๏ธ Fix VS Code AppHost launch path resolution
Fixed an issue in the VS Code extension where starting an Aspire debug session from a source file (e.g., Program.cs) would pass the source path to the CLI instead of the project file path, causing the session to fail.
Owner: @davidfowl
Changes: #17408
2 bug fixes
-
๐ Fix Redis TLS persistent container startup deadlock
Fixed a deadlock that could occur during Redis container startup when TLS was enabled and the container used a persistent lifetime. The TLS startup arguments now correctly use target-port bindings instead of allocated ports.
Owner: @danegsta
Changes: #17827 -
๐ Fix EF Hosting migration pipeline step handling
Fixed issues in the Entity Framework hosting integration migration pipeline where migration steps were unconditionally added to the bundle-generate step. Improves reliability of EF migration orchestration in AppHost.
Owner: @AndriySvyryd
Changes: #16966
To provide feedback, comment on the Changelog feedback issue (e.g., "Exclude PR #1234", "Rename: X โ Y", "Merge PRs #1234 and #5678").
PRs processed: โ 48 included ยท โ 39 excluded ยท โณ 0 unprocessed ยท 87 total merged in milestone (View full PR tracker) Docs PRs: โ 13 included ยท โ 46 excluded ยท โณ 0 unprocessed ยท 59 total from microsoft/aspire.dev (View docs PR tracker) PRs analyzed through: #17848 merged 2026-06-05 00:21 UTC