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 asWithEnvironment(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 toStart = truerather 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
BuildContainerPortsruns, normal DCP dynamic port assignment takes over for any later resolution. (#17851, backported via #17859,@danegsta) - ๐ Empty C# AppHost template emitted duplicate
profilesblock โaspire new aspire-emptyon 13.4 produced anaspire.config.jsonwith aprofilesblock that duplicated the content already present inapphost.run.json, causing redundant launch configuration. The embedded template now contains only the requiredappHost.pathbinding; profile configuration lives exclusively inapphost.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: 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