ReleaseMicrosoftMicrosoftpublished Jun 3, 2026seen 5d

microsoft/aspire v13.4.1

microsoft/aspire

Open original ↗

Captured source

source ↗
published Jun 3, 2026seen 5dcaptured 10hhttp 200method plain

Aspire 13.4.1

Repository: microsoft/aspire

Tag: v13.4.1

Published: 2026-06-03T19:38:38Z

Prerelease: no

Release notes:

What's New in Aspire 13.4.1

Patch release for Aspire 13.4 with fixes for explicit-start resource lifecycle callbacks, Redis persistent container startup, proxyless endpoint allocation, and a duplicated profiles block in the empty C# AppHost template.

🐛 Fixes

  • ⏱️ Explicit-start resources triggered lifecycle callbacks too early — Session-scoped resources marked with WithExplicitStart() were having their execution configuration callbacks (environment variables, arguments, certificates) evaluated at AppHost startup instead of at manual start. This meant user-interaction callbacks such as WithEnvironment(ctx => PromptForValueAsync(...)) were called before the user triggered the resource. DCP registration is now deferred until the user manually starts the resource; persistent explicit-start resources still register immediately but patch the existing DCP record to Start = true rather than deleting and recreating it. Fixes #17813. (#17825, backported via #17826, @danegsta)
  • 🔴 Redis with `WithLifetime(ContainerLifetime.Persistent)` could deadlock on startup — Redis TLS startup arguments used the public/allocated host ports instead of the internal target ports. When the public port differed from the target port (or was not yet allocated) the container would listen on an unexpected port and become unreachable. The TLS and non-TLS startup arguments now bind to target ports, matching what Redis expects internally. Fixes #17822. (#17827, backported via #17850, @danegsta)
  • 🔌 Proxyless container endpoint could hang when resolved before container creation — Referencing a proxyless container endpoint in an environment variable callback (before the container port spec was finalized) could deadlock. An on-demand allocation path now commits the target port as the fallback host port in that case; once BuildContainerPorts runs, normal DCP dynamic port assignment takes over for any later resolution. (#17851, backported via #17859, @danegsta)
  • 📄 Empty C# AppHost template emitted duplicate `profiles` blockaspire new aspire-empty on 13.4 produced an aspire.config.json with a profiles block that duplicated the content already present in apphost.run.json, causing redundant launch configuration. The embedded template now contains only the required appHost.path binding; profile configuration lives exclusively in apphost.run.json. Fixes #17660. (#17781, backported via #17820, @mitchdenny)

🏷️ Housekeeping

  • 📦 Added Aspire CLI npm package to the release pipeline so the npm distribution is published as part of stable releases. (#17297, backported via #17766, @adamint)
  • 🚀 Bumped branding to 13.4.1 (#17819)

--- *Full Changelog: https://github.com/microsoft/aspire/compare/v13.4.0...v13.4.1*

*Full commit: cf985fa817dd5863e7f62eb74fa1725ab5069ed2*

> Generated by Generate release notes for a new stable Aspire release · ● 1.0.40

> Generated by Generate release notes for a new stable Aspire release · ● 3.9M

Notability

notability 1.0/10

Minor patch release of existing tool