microsoft / microsoft/aspire.dev
[What's New Analysis] Create Aspire 13.x migration guide
Open
@IEvangelist is already working on this.
Since Feb 18, 2026.
external feedback
- Dominant language
- MDX
- Stars
- 193
- Forks
- 87
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 73
Description
Summary
Aspire 13.0 and 13.1 have significant breaking changes that are only documented in what's-new. Need a dedicated migration guide.
Breaking Changes to Document
Package Renames
<!-- Before (9.x) -->
<PackageReference Include="Aspire.Hosting.NodeJs" Version="9.x.x" />
<!-- After (13.0) -->
<PackageReference Include="Aspire.Hosting.JavaScript" Version="13.0.0" />
API Signature Changes
AddNodeApp refactored:
// Before (9.x) - absolute scriptPath with optional workingDirectory
builder.AddNodeApp("frontend", "/absolute/path/to/app.js",
workingDirectory: "/absolute/path/to");
// After (13.0) - appDirectory with relative scriptPath
builder.AddNodeApp("frontend", "../frontend", "app.js");
AddNpmApp removed:
// Before (9.x)
builder.AddNpmApp("frontend", "../frontend", scriptName: "dev");
// After (13.0)
builder.AddJavaScriptApp("frontend", "../frontend")
.WithRunScript("dev");
Lifecycle Hooks → Events
// Before (9.x)
public class MyHook : IDistributedApplicationLifecycleHook { ... }
builder.Services.TryAddLifecycleHook<MyHook>();
// After (13.0)
public class MySubscriber : IDistributedApplicationEventingSubscriber { ... }
builder.Services.TryAddEventingSubscriber<MySubscriber>();
Publishing Callbacks → Pipeline Steps
// Before (9.x)
.WithPublishingCallback(async (context, ct) => { ... });
// After (13.0)
.WithPipelineStepFactory(context => new PipelineStep() { ... });
Connection Property Renames (13.1)
| Resource | Old | New |
|---|---|---|
| GitHub Models | Model |
ModelName |
| OpenAI model | Model |
ModelName |
| Milvus database | Database |
DatabaseName |
| MongoDB database | Database |
DatabaseName |
| MySQL database | Database |
DatabaseName |
Azure Redis Rename (13.1)
// Before
builder.AddAzureRedisEnterprise("cache");
// After
builder.AddAzureManagedRedis("cache");
Suggested Content
- Quick migration checklist - package updates, API changes
- Package rename mapping - old → new
- API signature changes - with before/after examples
- Lifecycle hooks migration - step-by-step
- Publishing callbacks migration - step-by-step
- Breaking behavior changes - EndpointReference.GetValueAsync now waits
Why It Matters
Users upgrading from 9.x hit compilation errors with no clear guidance. What's-new is comprehensive but not organized as a migration checklist.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.