Repository navigation
docs: rewrite What's new in Aspire 13.5 with verified detail - #1489
Conversation
Expand the 13.5 what's-new article from a thin changelog into a narrative article matching prior releases: thematic sections, compiled C# and validated TypeScript samples, Aside callouts for experimental/breaking APIs, and cross-links to corresponding aspire.dev pages. Every claim is verified against microsoft/aspire release/13.5. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Rewrites the “What’s new in Aspire 13.5” documentation page into a structured, narrative release article aligned with prior “what’s new” pages, including feature-focused sections, cross-links, and updated/verified samples.
Changes:
- Replaces the prior changelog-style content with a themed H2/H3 narrative covering AppHost/app model, TypeScript AppHost improvements, deployment/integrations, CLI, dashboard, VS Code extension, templates, breaking changes, and known issues.
- Adds new C#/TypeScript tabbed samples and callouts (Aside/LearnMore) for key 13.5 features (terminal sessions, interaction service additions, resource command arguments, certs, K8s volumes, etc.).
- Expands and reformats the Breaking changes section into a more comprehensive enumerated list.
Suppressed comments (1)
src/frontend/src/content/docs/whats-new/aspire-13-5.mdx:272
- The file-upload sample indexes
fileInput.Files![0]without marking the input required or checking for a missing/empty upload. This can throw at runtime if the user submits without selecting a file (or if the CLI invocation doesn’t provide one). The interaction-service docs show the safer pattern:Required = trueplus a null check onFiles?[0].
var fileInput = result.Data["dataFile"];
var bytes = await fileInput.Files![0].ReadAllBytesAsync(ctx.CancellationToken);
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Frontend HTML artifact readyThe latest frontend build uploaded the This comment updates automatically when a new frontend build artifact is uploaded. |
Adam Ratzman (adamint)
left a comment
There was a problem hiding this comment.
I left a few factual issues inline that I think should be fixed before merge, but they all look fixable in place.
Apply maintainer and reviewer corrections to the Aspire 13.5 what's-new article: - WithTerminal: note the aspire terminal CLI command is behind the features.terminalCommandsEnabled flag; scope the dashboard terminal view to running resources. - Interaction samples: guard C# commands with IInteractionService.IsAvailable (CLI runs NonInteractive), and return early in the TypeScript sample when the prompt is canceled before reading inputs. - File-upload sample: mark the file input Required, null-check Files?[0], and move processing into ProgressInteractionOptions.Work so the progress dialog completes instead of hanging on the command token. - Resource command arguments: the dashboard prompts; the CLI exposes each argument as a --<name> option and errors on missing required options. - WithUniqueResourceNaming: scope to the same resource group and warn that enabling it on an existing deployment renames and recreates the environment. - aspire stop --force: describe the persistent-resource cleanup and data loss. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Every C#-only code sample in the What's new in Aspire 13.5 article now has a synced TypeScript tab, mirroring the CI-typecheck-validated polyglot fixtures on microsoft/aspire release/13.5. The two TypeScript AppHost improvement sections (custom health checks, container file copying) call out the equivalent C# APIs for parity. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Summary
Rewrites the What's new in Aspire 13.5 article (
src/frontend/src/content/docs/whats-new/aspire-13-5.mdx) from a thin, changelog-style draft into a full narrative article matching the depth and structure of prior what's-new content (13.4 / 13.3).Every factual claim is verified against the
microsoft/aspirerelease/13.5branch (the source of truth), every code sample is compiled or type-checked, and each section cross-links to the corresponding aspire.dev page.What changed
<Tabs syncKey='aspire-lang'>C#/TypeScript samples for the flagship APIs,<Aside>callouts for experimental/breaking notes, and<LearnMore>cross-links.WithTerminal()(experimental), polyglotIInteractionServicewith stable prompt/input APIs, file uploads + progress dialogs, user-defined resource command arguments, TypeScript custom health checks & container file copying, HTTPS developer certificates, cross-scope AzureAsExisting*references, Kubernetes/AKS persistent volumes, ACA unique resource naming, VNet integration, new/updated integrations (Radius,Aspire.Hosting.Dotnet, Redis modules, Dev Tunnels region, Foundry Local), CLI install via npm/Nix + CLI-bundle-by-default, the dashboard refresh + telemetry filtering, and the rebranded VS Code extension.Verification
WithTerminal, interactionChoiceprompt, file-upload +PromptProgressAsync, resource-command arguments, HTTPS dev cert, AzureAsExistingInResourceGroup, K8sAddPersistentVolume, ACAWithUniqueResourceNaming,AddDotnetProject, RedisWithModule.tests/PolyglotAppHosts/.../TypeScript/apphost.mts).release/13.5source: diagnosticsASPIRE009/ASPIRE010/ASPIRE011,AspireUseCliBundle,AspireCliInvocationMode=Dnx,ASPIRE_PROXYLESS_ENDPOINT_PORT_RANGE,RedisModules, andInteractionInput.Files/FileFilter/MaxFileSize.astro dev; all 27 internal cross-links resolve (HTTP 200).Notes
release/13.5.