Skip to content

🤓 Content for release: 13.6 - #1599

Merged
David Negstad (danegsta) merged 178 commits into
mainfrom
release/13.6
Sep 29, 2026
Merged

David Negstad (danegsta) merged 178 commits into
mainfrom
release/13.6

Conversation

@IEvangelist

@IEvangelist David Pine (IEvangelist) commented Sep 1, 2026 •

Copy link
Copy Markdown
Member

aspire.dev vnext (13.6)

Summary

Prepare the Aspire 13.6 documentation release. The release article is reconciled against microsoft/aspire release/13.6 at a11eca9611073f7cf66fa87faac63c2119e87713, compared with v13.5.0. The inventory contains 402 first-parent history entries, including maintenance, merges, and reversions—not 402 distinct shipped features.

Highlights cover dashboard persistence/run history and terminals; Java, Rust, Connector Namespace and Sandboxes; coordinated .NET builds; CLI and VS Code workflows; deployment and integration improvements; emulator images; and migration guidance for Cosmos DB, Front Door, connection-string aliases, and terminal namespaces.

Published documentation and ingestion work

  • 94b5f0c19: migrate Java guides from Toolkit to first-party hosting, document typed Azure provisioning customization and VS Code agent lifecycle tools, and refresh 34 container-image records from the pinned release source. Default tag changes: App Configuration 1.0.2 → 1.2.0, Cosmos DB stable → vnext-latest.
  • 27e2db77a: exact release-version selection, ATS-only package metadata, union and canonical SDK enum handling, empty C# navigation filtering, and fail-closed handling of SDK dump errors.
  • 0b64558c1: reconcile all 29 contributors against the pinned release snapshot.
  • 2696e2207: recognize const-object enum declarations, retain colliding enum-name literals in the shared Twoslash bundle while preserving exact package-specific JSON, and increase the full example-audit time budget for the larger dataset.
  • 7ab5f74bd: include the exact Dotnet package as supporting scan context for Radius's generic .NET program export; subtract core/supporting modules without dropping Radius's real IDs or receiver targets.
  • 44b9819bb: publish the complete, validated 13.6 catalog, mappings, C#/TypeScript API data, and Twoslash bundle together.
  • Concurrent release updates are preserved, including the environment badge and Document Aspire agent lifecycle options #1745's agent lifecycle options. Isolation/launch-profile inputs were confirmed in the pinned 13.6 source.
  • Related product changes: Add Java hosting integration aspire#18033, Add polyglot Azure provisioning proxy SDKs aspire#19675, and Let agents start and stop AppHosts through VS Code aspire#19134.

The maintainer-set planned release date remains September 29, 2026 (#1690). Published package constants remain separate from prerelease ingestion. Release membership comes from product source, not merely a docs PR's target; #1740 documents microsoft/aspire#20231 (14.0), not a 13.6 feature.

Generated data and provenance

The published snapshot contains 217 catalog entries, 161 documentation mappings (including the 26 new mappings), 210 C# records, 146 TypeScript modules, and the rebuilt Twoslash bundle. There are 132 official packages at exact version 13.6.0-preview.1.26473.12, with no 14.x imports. Independently versioned packages retain their selected catalog versions.

Generation used genuine pinned packages from the public dotnet9 feed and an isolated, locally built 13.6 CLI/RemoteHost. Package provenance remains a11eca9611073f7cf66fa87faac63c2119e87713; the scanner fixes are separate development-build provenance, not a claim that an official corrected CLI has shipped.

  • Full TypeScript ingestion with the inherited-method fix (320eed42f85a7d4b090a9429b98c7a6a8547a4b8) produced 146 modules, 0 failures, and 7 explicit skips.
  • Core/Radius regeneration with the additional target-specificity fix (435fd4eb7d06ef99702ae5106cf01c10f5c6a780) succeeded. The real compound Radius + exact Dotnet SDK dump has no diagnostics and retains both withContainerImage and withDotnetProgramContainerImage capability IDs.
  • ProjectResource/CSharpAppResource use the concrete Radius export; DotnetProjectResource uses the generic export. Dotnet's APIs are not attributed to Radius. No source-package attributes, capability identities, or missing-export checks were altered to force validation through.

Third-party links and affiliations

  • Radius documentation — no material affiliation.
  • Source/specification links remain within microsoft/aspire; Java debugger links point to the corresponding Visual Studio Marketplace extensions. No new material affiliation claims.

Validation

  • All 25 authored TypeScript guide/release examples pass against the final declaration bundle; guide samples were also compiled with the genuine generated SDK.
  • The complete annotated-site Twoslash audit passes, with no diagnostic suppression.
  • Final semantic validation passes: 217 package identities, 146 module-provenance matches, 74 DTO shapes, and 2,873 handle inheritance chains.
  • 82 structured-data tests, 75 API-reference/declaration-generator/API-route tests, and 17 ATS transformer tests pass. The final API-reference gate resolves the Radius exports without exceptions or aliases.
  • Earlier compile-only C# validation covered 24 guide methods and one type declaration without warnings or errors. Browser checks covered Java, Azure customization, VS Code and AI-agent routes and language tabs.
  • Source scanner/dispatcher/context-filter/API-export regressions: 215 pass on each product branch, including exact-package dispatch and generated-SDK compilation checks.
  • No local production site build, cloud deployment, destructive cleanup scenario, CLI self-update, or release workflow was run. Current-head CI must still complete after the latest pushes.

Remaining release gates

aspire-repo-bot Bot and others added 30 commits August 14, 2026 17:22
Co-authored-by: David Pine <david.pine@microsoft.com>
…limits (#1554)

Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: James Newton-King <james@newtonking.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: JamesNK <303201+JamesNK@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- InpageSearch: look up kindColors by own key only. With the default
  kindColors = {}, kindColors['constructor'] resolved to the inherited
  Object.prototype.constructor, so the Constructor chip was marked
  data-colored with an invalid --filter-color. That hid its color dot
  and changed its border and padding.
- Sidebar: add an aria-label to the collapsed-rail topic links and the
  GitHub link button. Rail mode hides their text with display: none, and
  the tooltip script blanks their title, which left them without an
  accessible name (axe link-name, WCAG 2.4.4 / 4.1.2).
- Add unit and axe e2e regression tests for both.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Documents changes from microsoft/aspire#19248

`@IEvangelist`

Targeting `release/13.6` based on the source PR milestone `13.6`.

## Why

microsoft/aspire#19248 fixes a bug where `aspire describe --format json`
leaked a generated secret parameter (for example, the password created
by `AddPostgres`) in plaintext via the *owning* resource's own
environment variable, even though the redaction already worked correctly
for *dependent* resources. The existing `aspire describe` docs did not
mention secret redaction at all, so there was no place documenting the
(now-fixed) guarantee that secret values are always redacted from
`describe`/`resources` output.

## What changed

-
`src/frontend/src/content/docs/reference/cli/commands/aspire-describe.mdx`:
added a note (using the `Aside` component already imported on the page)
explaining that generated secret values are redacted from `aspire
describe` output, and that this applies to the owning resource's own
environment variables as well as dependent resources.

## Notes

- Only one page was updated; no new pages were created.
- This documents user-facing behavior (what appears in
`describe`/`resources` output) rather than internal implementation
details like `SecretRedactionHistory` or the dependency-walk mechanics,
which are not part of the public docs surface.

> Generated by [PR Documentation
Check](https://github.com/microsoft/aspire/actions/runs/31822977011) for
#19248 · auto · 66.5 AIC · ⌖ 15.8 AIC · ⊞ 19.6K ·
[◷](https://github.com/search?q=repo%3Amicrosoft%2Faspire.dev+%22gh-aw-workflow-id%3A+pr-docs-check%22&type=pullrequests)

<!-- gh-aw-agentic-workflow: PR Documentation Check, engine: copilot,
model: auto, id: 31822977011, workflow_id: pr-docs-check, run:
https://github.com/microsoft/aspire/actions/runs/31822977011 -->

<!-- gh-aw-workflow-id: pr-docs-check -->
<!-- gh-aw-workflow-call-id: microsoft/aspire/pr-docs-check -->
Documents changes from microsoft/aspire#19243

`@sebastienros`

Targeting `release/13.6` based on the source PR milestone `13.6`.

## Why

The source PR fixes `aspire destroy` for AKS deployments so it no longer
depends on the caller's ambient `kubectl` context: it now acquires AKS
credentials for the target cluster itself before running Helm cleanup,
and orders Helm release removal, opted-in external charts, and
cert-manager teardown before the Azure resource group is deleted. The PR
body includes a "User-facing usage" section and a
`--apphost`/`--environment` CLI example, but the AKS docs page had no
"Clean up resources" / destroy section at all — only a deploy-time
reference to destroy-time uninstall behavior for external charts.

## What changed

Added a new **Clean up resources** section to
`deployment/kubernetes/aks.mdx` (after "Publish AKS artifacts", before
"Azure-specific considerations") that:
- Shows the basic `aspire destroy` command.
- Explains that AKS credential acquisition is now independent of the
ambient kubeconfig, and that Helm/cert-manager cleanup completes before
the resource group is deleted.
- Reproduces the PR's non-interactive `KUBECONFIG=$(mktemp) aspire
destroy --apphost ... --environment ... --non-interactive --yes` example
for CI/CD usage.
- Cross-references the existing `aspire destroy` CLI command reference
page.

## Files modified

- `src/frontend/src/content/docs/deployment/kubernetes/aks.mdx`

> Generated by [PR Documentation
Check](https://github.com/microsoft/aspire/actions/runs/33902845128) for
#19243 · auto · 63.4 AIC · ⌖ 7.73 AIC · ⊞ 19.7K ·
[◷](https://github.com/search?q=repo%3Amicrosoft%2Faspire.dev+%22gh-aw-workflow-id%3A+pr-docs-check%22&type=pullrequests)

<!-- gh-aw-agentic-workflow: PR Documentation Check, engine: copilot,
model: auto, id: 33902845128, workflow_id: pr-docs-check, run:
https://github.com/microsoft/aspire/actions/runs/33902845128 -->

<!-- gh-aw-workflow-id: pr-docs-check -->
<!-- gh-aw-workflow-call-id: microsoft/aspire/pr-docs-check -->

---------

Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Mitch Denny <midenn@microsoft.com>
## Summary

<!-- Describe what this pull request changes and why. -->

Related to #1663. Targets `release/13.6`.

- Add an overview and focused guides for resource terminals, ephemeral
terminals, terminal interactions, programmatic automation, and tape
playback. Keep them in Dashboard navigation under **Terminal features
(Preview)**, preserving the existing resource-terminal URL and
redirecting moved guides.
- Explain terminal authoring with focused sample excerpts and link to
complete terminal samples. Keep the tape walkthrough Bash-only, explain
text recordings and `Source`, and clarify ownership and Docker exec
cleanup.
- Consolidate the six integration REPL sections into one TypeScript/C#
example per guide, retaining both sets of anchors and
integration-specific connection and safety guidance.
- Reconcile the latest release branch, retaining both terminal-security
and cookie-scoping sections. Remove obsolete CLI feature-flag
instructions, duplicated Redis/TUI walkthroughs, and unused screenshots.

### Publication dependencies

This remains a draft for Aspire 13.6.

- The sample links use their intended `main` paths as requested. On
September 29, microsoft/aspire-samples#1980 was still open and
`samples/terminals` was not on `main`. Merge that sample PR before
publishing these docs. Sample excerpts were checked against PR head
`749fed3693d397081753c2ec2539c155dd88155f`.
- `https://aka.ms/aspire/dashboard-terminals` still redirects to Bing;
authorized provisioning is needed before release.
- Refresh generated API metadata as part of the release checklist. REPL
snippets deliberately omit `twoslash` while the catalog lacks the
complete surface; this does not block the editorial merge.

## Third-party links and affiliations

<!--
List any third-party links added or changed by this pull request and
disclose any
material affiliation with the linked organizations, such as employment,
sponsorship, or ownership. Write "None" if this pull request doesn't add
or
change third-party links.
-->

Links to the Charmbracelet VHS syntax reference, `mitchdenny/hex1b`
compatibility documentation, and a Docker/Moby issue. The Hex1b
repository is hosted under the PR author's GitHub account. No
affiliation with Charmbracelet or Docker/Moby has been declared. Source
and sample links point to `microsoft/aspire` and
`microsoft/aspire-samples`.

## Validation

<!-- List the checks you ran or explain why validation isn't needed. -->

September 29 release reconciliation (`ff7839b6`):

- Merged `release/13.6` at `5589ce6d`, resolved the security-doc
conflict, and consolidated six auto-merged duplicate REPL sections.
- Rendered all six integration guides: exactly one REPL section each,
both fragment IDs retained, and TypeScript/C# tabs working.
- Rendered nine terminal, security, and CLI routes. Confirmed both
security sections remain, repeated walkthroughs are gone, and current
guides no longer require the obsolete feature flag. Tape playback fits a
390px viewport without page overflow.
- Verified unconditional terminal/tape command registration against
current Aspire release source.
- Two-slash block gate: 1 file / 2 tests passed. `git diff --check`
passed.
- Used a separate preview because the pre-existing dev server returned
HTTP 500 after the release merge; did not restart the user's shared
server.

Earlier editorial/source review confirmed the rqlite excerpts, all six
`WithRepl` methods and TypeScript exports, Dashboard topic continuity,
and the section-level Preview badge. This was not a fresh runtime
execution of every example.

Earlier matching-staging runtime validation used isolated Aspire CLI
`13.6.0+34db30a7d3733229da64a403dfc4e4e4d7a1a43b` and matching packages:

- C# and TypeScript Redis REPLs returned `PONG`; C# clean exit and
reopening passed.
- Shell smoke tape returned `ASPIRE_TAPE_ready`; headless automation
returned `Received:hello`; number guessing completed with `Found 7 in 6
guesses.`
- Other database clients, Podman, Windows, and live authentication were
not runtime-tested.
- Owned test AppHosts were stopped. Pre-existing generated icon-cache
changes are excluded from commits.

No local production build; CI covers production build and broader site
checks.

Fixes: #1663

---------

Co-authored-by: Mitch Denny <midenn@orangecake.local>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Mitch Denny <midenn@Mac.localdomain>
Follow-up to #1780, which merged with two open checkboxes. Both are now
validated against the latest staging build.

This is a single commit on top of the current `release/13.6` tip
(`5589ce6d`), so it merges cleanly.

- [x] Generated API catalog refreshed from genuine 13.6 packages,
including the late `WithRepl` additions and removed attributes.
- [x] REPL samples and all other new samples checked against the real
13.6 SDK, not stale Twoslash types.

## Provenance

- **Feed:** `darc-pub-microsoft-aspire-f4c27f2d`
(`https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-microsoft-aspire-f4c27f2d/nuget/v3/index.json`).
- **Source:** microsoft/aspire `release/13.6` at
`f4c27f2d43ddc1cacd0dd083b30d1fea1cee7a62`, the newest staging build.
Every regenerated official TS module records `sourceCommit: f4c27f2d…`,
and the restored nuspecs (for example Redis, Blazor and
CodeGeneration.TypeScript) report that commit.
- **Versions:** stable packages are `13.6.0`; prerelease packages are
`13.6.0-preview.1.26478.8`. The codegen package is
`Aspire.Hosting.CodeGeneration.TypeScript 13.6.0`, mapped exclusively to
the staging feed. nuget.org has no `13.6.0`, so resolution is
unambiguous.
- **Scanner:** a locally fixed CLI/ATS scanner, built from `a11eca96`
plus `320eed42` (the microsoft/aspire#20438 content) and `435fd4eb` (the
microsoft/aspire#20443 content). Both upstream PRs are still unmerged.
- Nothing in `a11eca96..f4c27f2d` touches `AtsCapabilityScanner`,
`Aspire.TypeSystem` or `Aspire.Hosting.CodeGeneration.TypeScript`. The
last two commits (microsoft/aspire#20566 and microsoft/aspire#20562)
only change dashboard layout code and Dockerfiles.
- The layout's `dashboard` and `dcp` folders are copies from the
`8230626c` staging CLI bundle. Layout discovery requires them, but they
aren't used for scanning or code generation.
- **Isolation:** the stable version number didn't change between builds,
so generation used fresh process-local `NUGET_PACKAGES`, HTTP cache,
`TEMP` and `ASPIRE_HOME` folders. That rules out reusing `e8fd6fbb`
bits. `ASPIRE_REPO_ROOT` and `ASPIRE_REPO_PATH` were unset, and there
was no source-project substitution.
- **Pipeline:** the repo's own pipeline, in this order:
`update:integrations` → `generate-package-json.ps1` →
`normalize:api-data -- --pkgs` → `update:ts-api` (with Twoslash `.d.ts`)
→ `validate:api-data`.
- Generated JSON and `d.ts` were not hand-edited, and nothing from 14.x
was imported.

### Deviation: no `ASPIRE_RELEASE_VERSION` pin

Pinning `13.6.0` left the 50 prerelease packages stale. The feed is
commit-specific, so the unpinned run resolves every package from the
same build.

### Packages absent from the feed

These seven official packages aren't in this build, so they are carried
forward unchanged:

- `Aspire.Elastic.Clients.Elasticsearch` 13.3.0
- `Aspire.Hosting.AgentFramework.DevUI` 1.22.0-preview.260918.1
- `Aspire.Hosting.AWS` 13.7.2
- `Aspire.Hosting.ClickHouse` 13.5.3
- `Aspire.Hosting.DocumentDB` 0.116.0
- `Aspire.Hosting.Elasticsearch` 13.3.0
- `Aspire.Hosting.GitHub.Models` 13.5.4

## Changes

- **Generated data:** regenerated `aspire-integrations.json` (still 217
packages; 82 at `13.6.0` and 50 at `13.6.0-preview.1.26478.8`), `pkgs/`
(210 succeeded, 0 failed), `ts-modules/` (146 succeeded, 0 failed) and
`twoslash/aspire.d.ts`. `integration-docs.json` needed no change.
- **Generator fix** (`generate-package-json.ps1`): the 24 Provisioning
overlays restored `Aspire.Hosting` at the overlay's own prerelease
version, which doesn't exist now that `Aspire.Hosting` is stable
`13.6.0`. The script now uses the resolved `Aspire.Hosting` version, via
a new `-HostingVersion` parameter with a feed-lookup fallback for
selective runs.
- **Blazor docs:** `AddDotnetProjectBlazorGateway` and
`WithBlazorClientApp` report their own `ASPIREDOTNETPROJECT001`
diagnostic. `ASPIREBLAZOR001` applies to other experimental Blazor
hosting types, such as `BlazorWasmAppResource`.
- A compile check with the pragma removed reports only
`ASPIREDOTNETPROJECT001`, on exactly those two methods.
- The previous wording, from #1564, said the gateway methods carry both
diagnostics.
- **Dashboard docs (microsoft/aspire#20562):** the dashboard no longer
has a terminal button in the header or a terminal entry in the mobile
menu.
- `dashboard/explore.mdx` and the What's new bullet now describe the
backtick key as the way to open and hide the terminal dock.

## Validation

- **`WithRepl` coverage:** present in the C# and TS API data for all six
REPL packages (PostgreSQL, MySql, MongoDB, SqlServer, Redis, Valkey) and
in `aspire.d.ts`.
- **C# compile:** every new sample compiles with 0 warnings and 0 errors
against exact packages from the `f4c27f2d` feed (16 at `13.6.0`, 9 at
`26478.8`). This covers REPL×6, Rust, ConnectorNamespace, Foundry
Toolbox, Radius, CSI, Helm, Blazor (now matching #1564's
`WithExternalHttpEndpoints` sample), Provisioning and Dotnet. The Dotnet
samples need no `ASPIREDOTNETPROJECT001` suppression.
- **TS compile:** the SDK was generated by a real `aspire restore`
(codegen `13.6.0`, `Aspire.Hosting.Redis/13.6.0` and
`Aspire.Hosting.Blazor/13.6.0-preview.1.26478.8`, all at `f4c27f2d`).
Strict `tsc` (NodeNext) passes for all 18 `.mts` samples, including the
new Blazor gateway TS sample. A negative control (`withReplz`) fails
with TS2551.
- **Scanner warnings:**
- Radius reports no collisions; the earlier `withContainerImage`
collision on `CSharpAppResource` is gone.
- The `createRoleAssignment` overload collisions remain in 16
Provisioning overlays. They are recorded here, not suppressed; no doc
sample calls this method.
- **Tests:** `pnpm validate:api-data` passes (217 identities, 146
modules matched to C# provenance). These suites pass:
`test:unit:structured-data` (82), `api-reference` (55), `api-markdown`
(30), `ts-api` (31), `twoslash-types` (12), `twoslash-blocks` (2),
`llms-txt` (12) and `docs` (2).
- No local `pnpm build` was run; CI covers it.

## Not done

- **Contributors:** `update:release-contributors` needs the `v13.6.0`
tag, which doesn't exist yet. This is left for after the release is
tagged.

Co-authored-by: David Pine <7679720+IEvangelist@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Completes the in-progress `aspire-13-6.mdx` draft by adding the
remaining "Ship Mode" / changelog highlights, without removing any
previously approved content.

## What's added
- **Dashboard:** Native AOT standalone dashboard + Fluent UI Blazor v5
refresh.
- **Integrations:** docked database/cache REPLs (`WithRepl()`), remote
Foundry Local services (`RunAsFoundryLocal(endpoint)`), Cosmos DB
emulator OpenTelemetry.
- **App model:** multithreaded coordinated builds, Project V2 migration
skill for agents.
- **CLI:** pin the CLI via a local tool manifest
(`AspireCliInvocationMode`), MCP config now opt-in in `aspire
new`/`init`.
- **VS Code:** outdated-CLI warning.
- Reworked the "This release introduces" list into a high-level summary
rather than a section-by-section table of contents.

## Update: TODOs and review feedback addressed

- **Merged `release/13.6`** (42 commits, including #1780 and #1684).
When resolving conflicts, I kept this PR's summary list and emoji
headings and took the release branch's corrected facts: .NET project
graduation, `-mt` SDK requirements, and the Blazor gateway publish
support. I kept the Project V2 migration skill and Remote Foundry Local
bullets.
- **All TODOs resolved; the article now has none:**
- Connector Namespace (#1781): links to
`/integrations/cloud/azure/azure-connector-namespace/`.
- Connection-string naming (#1782): links to
`/fundamentals/environment-variables/#migrating-connection-string-consumers`.
  - Foundry Toolbox (#1628): links to the Toolbox walkthrough.
- Docked REPLs (#1777): links to the per-integration **Open an
interactive REPL** sections. The six REPL anchors were broken
(`#add-*-with-a-repl-command`) and are fixed to
`#open-an-interactive-repl`.
- Java (@marshalhayes): added an `addSpringBootApp` / `AddSpringBootApp`
sample, taken from the package README.
- Rust (@afscrome): used the reviewer's
`addRustApp(...).withHttpEndpoint({ env: 'PORT' })` sample.
- **Twoslash:** every TypeScript AppHost fence is now `twoslash`. New
TypeScript-first tabs cover `withRepl`, `withTerminal`, `addRustApp`,
`addSpringBootApp`, `withBuildEnvironment`, `addDenoApp`, and
`addToolbox`.
- **Preview note:** added a "Prerelease packages" note. Java, Rust,
Connector Namespace, and Sandboxes ship as `13.6.0-preview.1`.
- **Deno bullet:** now accurately says `AddDenoApp` is experimental
(`ASPIREDENO001`) and distinct from the Community Toolkit Deno
integration.
- **API vetting:** all 45 API names in the article are verified against
microsoft/aspire `release/13.6` @ `f4c27f2d`. `WithRepl` comes from
microsoft/aspire#20419 and exists on Redis, Valkey, PostgreSQL, MySQL,
SQL Server, and MongoDB.

**Validation** was run against this branch plus the #1787 13.6.0 API
data:
- `twoslash-blocks` passes. A negative control (`withReplz`,
`addSpringBootAppz`) fails with TS2551 as expected.
- 59 API-reference and SEO tests pass.
- All internal links and anchors in the article resolve.

> [!IMPORTANT]
> Merge #1787 first. The new Twoslash blocks need its regenerated 13.6.0
types (`withRepl`, Java, Rust).

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: David Pine <7679720+IEvangelist@users.noreply.github.com>
Copilot-Session: 829e510d-2b06-4301-9759-3bd760c45e5c
Documents changes from microsoft/aspire#20131

Source: microsoft/aspire#20131 by @sebastienros.

## Documentation gap and changes

The release branch already explains typed provisioning proxies and
includes Storage, Service Bus, Key Vault and Managed Redis examples. It
does not enumerate the expanded service mappings, callback-specific
lookup restrictions, IP address collection behavior or explicit member
exclusions. This updates the existing
`src/frontend/src/content/docs/integrations/cloud/azure/customize-resources.mdx`
page; no pages or executable examples are added.

- Map AppConfiguration, AppContainers, AppService, Cdn,
ContainerService, Kusto, Network, PrivateDns, PostgreSql, Redis,
RedisEnterprise and SignalR packages to selected SDK models.
- Explain separate SDK opt-ins and hosting/SDK naming differences.
- Distinguish Container Apps environment root lookups from app/job
identifier lookups, and App Service `_asplan`/`webapp` identifiers and
callback scope.
- Document IPv4/IPv6 strings and Bicep handles, validation failures,
read-only output restrictions and BinaryData projection exclusions.

## Target resolution

Base: `release/13.6`. Candidate source: `pr_milestone`; detail: `13.6`;
candidate: `release/13.6`; resolution: `exact_match`. The effective
target matches the source milestone, not `main`.

Docs base commit: `201a9af638b2454a4203bf9af900711dfbcc50a3`. Source
head inspected: `6a905d20a7bf47be2f4388b183a29ccc49b04891` (merged as
`acd827322437be2b79b84b4542cf5bb3b8a34d99`).

## Deterministic signal evidence

| Signal | Source evidence and treatment |
| --- | --- |
| `integration_readme_changed` | READMEs under all 12
`src/Aspire.Hosting.Azure.Provisioning.<SDK>/` packages plus the shared
provisioning README describe service mappings and bounded behavior.
Missing coverage is added to the existing guide. |
| `new_hosting_integration_project` | Twelve added
`Aspire.Hosting.Azure.Provisioning.<SDK>.csproj` projects and their
`AtsTypeMappings.cs` files establish opt-in packages and selected
models. |
| `new_package_added` | Those projects are packable and reference their
SDK/hosting dependencies; package identifiers are explicitly listed in
the guide. |
| `polyglot_code_generator_changed` |
`src/Aspire.Hosting.CodeGeneration.Java/AtsJavaCodeGenerator.cs`
disambiguates normalized enum names while preserving original wire
values. This supports the expanded SDK surface, not a separate
undocumented configuration API. |
| `pr_body_has_user_facing_section` | The source Usage section shows
`aspire add Aspire.Hosting.Azure.Provisioning.AppConfiguration` and
`configureInfrastructure`/`getAppConfigurationStore`. The guide already
teaches installation and equivalent tag customization; this update names
the AppConfiguration package and lookup. |
| `target_framework_changed` | The added projects declare
`$(DefaultTargetFramework)`. This is new-project registration, not
evidence of a changed user runtime prerequisite; no minimum version is
invented. |

## Source and review evidence

[Package mappings and
limits](https://github.com/microsoft/aspire/tree/6a905d20a7bf47be2f4388b183a29ccc49b04891/src/Aspire.Hosting.Azure.Provisioning)
and the per-package mappings/READMEs were checked against cached source
patches. Paginated conversation and inline review comments were read.
Resolved review feedback specifically confirms non-root app/job and
plan/site models, string-typed Bicep handles in IP collections, and
product-oriented documentation without completion counts or stacked-PR
history.

## Validation and human review

The page responds with HTTP 200 in the local Astro preview. Playwright
confirms the rendered 15-row package table and both added section
anchors. `git diff --check` passes. Edited tables were formatted with
Prettier; the complete page has pre-existing formatting differences on
both the unchanged base and this patch. No code examples were changed or
added.

This is a draft requiring human review before merge. Suggested SME:
@eerhardt. No deployment defaults, authentication changes, complete SDK
coverage, or new runtime requirements are claimed.

---------

Co-authored-by: Sébastien Ros <1165805+sebastienros@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…1785)

## Summary

Follow up on the review feedback in #1778, which merged before these
local fixes were committed.

- Move the Radius naming explanation into **Resource properties** and
use a table to distinguish password property names from complete
connection-string aliases.
- Make the Python and JavaScript examples try the original name before
the portable alias, matching the C# example and preserving explicitly
empty values.

Only
`src/frontend/src/content/docs/fundamentals/environment-variables.mdx`
changes relative to `release/13.6` (+16/-4). Preserves the wording
changes made when #1778 merged. Existing review threads are left
unresolved.

## Validation

- Executed the Python and JavaScript snippets with both aliases,
portable-only, an empty original value, and neither alias.
- MDX compilation and `git diff --check` passed.

No product code, configuration, or dependency changes.

---------

Co-authored-by: Sébastien Ros <1165805+sebastienros@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Documents changes from microsoft/aspire#20528

Author: ``@mitchdenny``

Targeting `release/13.6` — the latest release branch on
`microsoft/aspire.dev` — because `release/14.0` (from the source PR
milestone `14.0`) does not exist there (`target_resolution`:
`latest_release_fallback`).

**Why:** The source PR removed the dashboard's top-right Terminals
button and the mobile Terminal menu entry. The backtick shortcut is now
the only manual way to open the terminal dock. Triggered signal:
`pr_body_has_user_facing_section`.

**Changes:** Updated the existing page
`src/frontend/src/content/docs/dashboard/explore.mdx` (Interactive
terminals section) to describe the backtick shortcut, the absence of
header or mobile menu entries, and F6 focus behavior.

> Generated by [PR Documentation
Check](https://github.com/microsoft/aspire/actions/runs/36478835539) for
#20528 · copilot · auto · 29.5 AIC · ⌖ 13.9 AIC · ⊞ 20.2K ·
[◷](https://github.com/search?q=repo%3Amicrosoft%2Faspire.dev+%22gh-aw-workflow-id%3A+pr-docs-check%22&type=pullrequests)

<!-- gh-aw-agentic-workflow: PR Documentation Check, engine: copilot,
model: auto, id: 36478835539, workflow_id: pr-docs-check, run:
https://github.com/microsoft/aspire/actions/runs/36478835539 -->

<!-- gh-aw-workflow-id: pr-docs-check -->
<!-- gh-aw-workflow-call-id: microsoft/aspire/pr-docs-check -->

---------

Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Maddy Montaquila <maddyleger1@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Documents changes from microsoft/aspire#20477 by ``@davidfowl-unknown``

Targeting `release/13.6` — the latest release branch on
`microsoft/aspire.dev` — because `release/14.0` (from the source PR
milestone `14.0`) does not exist there.

## Why
The source PR changes the CLI/SDK skew warning: it now appears only when
the CLI is older than the SDK, build metadata is ignored, `aspire
update` compares against the target SDK, and the message text was
reworded (`CodegenVersionSkewWarning`). Triggered signals:
`cli_resource_strings_changed`, `pr_body_has_cli_flag_mention`.

## Changes (updated pages)
- `src/frontend/src/content/docs/get-started/troubleshooting.mdx`
- `src/frontend/src/content/docs/app-host/typescript-apphost.mdx`

> Generated by [PR Documentation
Check](https://github.com/microsoft/aspire/actions/runs/36487180665) for
#20477 · copilot · auto · 33.9 AIC · ⌖ 17 AIC · ⊞ 20.2K ·
[◷](https://github.com/search?q=repo%3Amicrosoft%2Faspire.dev+%22gh-aw-workflow-id%3A+pr-docs-check%22&type=pullrequests)

<!-- gh-aw-agentic-workflow: PR Documentation Check, engine: copilot,
model: auto, id: 36487180665, workflow_id: pr-docs-check, run:
https://github.com/microsoft/aspire/actions/runs/36487180665 -->

<!-- gh-aw-workflow-id: pr-docs-check -->
<!-- gh-aw-workflow-call-id: microsoft/aspire/pr-docs-check -->

Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
## Summary

<!-- Describe what this pull request changes and why. -->

Onboards the first-party Java (`Aspire.Hosting.Java`) and Rust
(`Aspire.Hosting.Rust`) hosting integrations that ship in Aspire 13.6.
The Community Toolkit–based articles are replaced by the official
three-article integration format that other official integrations use:

| Integration | Get started | Set up in the AppHost | Connect |
| --- | --- | --- | --- |
| Java | `java-get-started` (rewritten) | `java-host` (rewritten) |
`java-connect` (new) |
| Rust | `rust-get-started` (rewritten) | `rust-host` (rewritten) |
`rust-connect` (new) |

- **Get started:** why to use the integration, prerequisites, an
architecture diagram, and steps that lead to the other two articles.
- **Set up … apps in the AppHost:**
  - Installation.
- Java: Spring Boot, Quarkus, and Java apps (a Maven or Gradle task, or
a prebuilt JAR), builds, JVM options, the OpenTelemetry Java agent, and
Java containers.
- Rust: Cargo and program arguments, binary selection, and environment
variables.
- Certificate trust, debugging, and publishing, including generated
Dockerfiles.
- A concise **Migrate from the Community Toolkit** section. Rust keeps
the Toolkit-only Bacon note.
- **Connect to … apps:**
  - The connection properties that consumers receive.
  - Connecting from the AppHost and from apps in other languages.
- How the Java or Rust app reads what Aspire injects: its port,
references, connection strings, OTLP telemetry settings, and
development-certificate trust.
- Every API mention uses the new `<ApiReference />` component. Every
TypeScript AppHost sample is `twoslash`-checked, and the TypeScript tab
comes first.
- Adds **Connect to Java apps** and **Connect to Rust apps** to the
integrations sidebar.
- Updates the Java pivot of the AppHost overview
(`get-started/app-host`) to use `Aspire.Hosting.Java` and
`AddSpringBootApp`. The `ja` copy is updated too, because it shares the
`SimpleAppHostCode` sample and its highlight ranges moved.
- A separate commit changes "App Host" to "AppHost" in the EF Core
architecture diagram.

Facts were verified against the microsoft/aspire `release/13.6` sources,
READMEs, and playgrounds. The migration mappings were verified against
the Community Toolkit v13.5.0 APIs.

Notes for reviewers:

- The 📦 `Aspire.Hosting.Java` and `Aspire.Hosting.Rust` NuGet links
resolve once 13.6 ships.
- This branch is rebased on #1787, which regenerated the API data from
the 13.6.0 staging build. The `twoslash` and `ApiReference` tests pass
against the regenerated data.

## Third-party links and affiliations

<!--
List any third-party links added or changed by this pull request and
disclose any
material affiliation with the linked organizations, such as employment,
sponsorship, or ownership. Write "None" if this pull request doesn't add
or
change third-party links.
-->

This PR adds links to project documentation:

- **Java:** dev.java, spring.io, docs.spring.io, quarkus.io,
maven.apache.org, gradle.org, and docs.gradle.org.
- **Rust:** rust-lang.org, doc.rust-lang.org, docs.rs (`axum`,
`opentelemetry-otlp`, `reqwest`, and `sqlx`), and opentelemetry.io.
- **Microsoft:** nuget.org (`CommunityToolkit.Aspire.Hosting.Rust`) and
the Rust playground in github.com/microsoft/aspire. The author is a
Microsoft employee.

There is no material affiliation with the other linked organizations.

## Validation

<!-- List the checks you ran or explain why validation isn't needed. -->

- `pnpm test:unit` (after rebasing on #1787): 977 passed and 1 skipped.
This includes the `twoslash-blocks`, `api-reference`, SEO-length,
redirect, and Dev Hub catalog tests.
- `pnpm build:skip-search`, the production build without the Pagefind
index, completed before the rebase. `starlight-links-validator`
reported: "All internal links are valid."
- ESLint on the changed TypeScript files, the forbidden-words rules on
all added lines, and `git diff --check`.
- Every internal link and anchor resolves: 126 outbound links from the
changed pages and 51 inbound links to the Java and Rust pages. External
URLs were checked too.
- The Rust samples compile with `cargo check`, using
`opentelemetry-otlp` 0.33.
- All six pages were checked visually on the dev server, including the
diagrams, `ApiReference` labels, and tab sync.
- Two independent accuracy reviews against the 13.6 sources. All of
their findings were applied.

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

The large generated snapshot has unresolved version/provenance discrepancies, and upstream packaging and current-head CI gates remain incomplete.

Review effort: Balanced
Findings: 2 Medium severity · 2 Low severity

Open (4)
What changed in this PR

Prepares Aspire 13.6 documentation and API-reference data while extending ingestion and validation for the release’s expanded API surface.

Changes:

  • Adds 13.6 release notes, guides, Dev Hub pages, and migration guidance.
  • Regenerates integration, C#, TypeScript, and Twoslash data.
  • Updates generators, routes, workflows, and validation tests.
File Description
.github/​workflows/​* Updates release-data validation automation.
src/​tools/​AtsJsonGenerator/​* Supports diagnostics, unions, canonical enums, and stricter failures.
src/​tools/​PackageJsonGenerator/​* Records generated-export packages and provenance.
src/​statichost/​StaticHost/​Live/​README.md Documents live-client 404 behavior.
src/​frontend/​scripts/​* Updates integration, API, and Twoslash generation.
src/​frontend/​src/​content/​docs/​** Adds and refreshes 13.6 documentation and banners.
src/​frontend/​src/​content/​glossary/​** Expands glossary content.
src/​frontend/​src/​pages/​hub/​** Adds resource and glossary browsing routes.
src/​frontend/​src/​components/​dev-center/​** Implements Dev Hub browsing interfaces.
src/​frontend/​src/​utils/​** Updates API routing, search, package filtering, and Hub utilities.
src/​frontend/​src/​data/​aspire-integrations.json Publishes the updated package catalog.
src/​frontend/​src/​data/​integration-docs.json Adds package documentation mappings.
src/​frontend/​src/​data/​pkgs/​** Regenerates C# API-reference records.
src/​frontend/​src/​data/​ts-modules/​** Regenerates TypeScript API modules.
src/​frontend/​src/​data/​twoslash/​aspire.d.ts Rebuilds shared TypeScript declarations.
src/​frontend/​tests/​unit/​** Expands generator and semantic validation.
src/​frontend/​tests/​e2e/​** Updates metadata and navigation expectations.
src/​frontend/​vitest.structured-data.config.ts Includes new validation suites.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@@ -11,7 +11,7 @@ prev: false
next: false
banner:
content: |
<strong>✨ Aspire 13.5 is available!</strong> — <a href="/whats-new/aspire-13-5/">Explore the latest features and improvements</a>
<strong>✨ Aspire 13.6 is available!</strong> — <a href="/whats-new/aspire-13-6/">Explore the latest features and improvements</a>
"downloads": 148236,
"version": "13.5.4-preview.1.26464.4"
"downloads": 154677,
"version": "13.6.0-preview.1.26478.8"
Comment on lines +2 to +4
import HubLayout from '../../../components/dev-center/HubLayout.astro';
import ResourceBrowser from '../../../components/dev-center/ResourceBrowser.astro';
import { getResourceCatalog } from '../../../utils/dev-center/catalog';
Comment on lines +3 to +4
import HubLayout from '../../../components/dev-center/HubLayout.astro';
import GlossaryBrowser from '../../../components/dev-center/GlossaryBrowser.astro';
aspire-repo-bot Bot and others added 5 commits September 29, 2026 17:27
…ease notes (#1664)

Documents changes from microsoft/aspire#20011

`@maddymontaquila`

Targeting `release/13.6` based on the source PR milestone `13.6`.

## Why

microsoft/aspire#20011 assigns the Fluent UI `CloudCube` icon to the
`azure-environment` control resource so it no longer shows the
dashboard's generic cog fallback icon. The PR body explicitly calls this
out under a "User-facing usage" heading: "The Resources page now
displays a filled cloud-and-cube icon next to the `azure-environment`
resource instead of the generic cog." This is a dashboard-visible change
with no existing docs coverage of the `azure-environment` resource's
icon, so it needs a release-note mention.

## What changed

- Added a bullet to the existing "Other dashboard improvements" list in
the 13.6 release notes (`whats-new/aspire-13-6.mdx`), which is the page
already tracking the 13.6 milestone this PR targets.

## Files modified

- `src/frontend/src/content/docs/whats-new/aspire-13-6.mdx`

> Generated by [PR Documentation
Check](https://github.com/microsoft/aspire/actions/runs/34941223887) for
#20011 · auto · 52.5 AIC · ⌖ 6.64 AIC · ⊞ 18.5K ·
[◷](https://github.com/search?q=repo%3Amicrosoft%2Faspire.dev+%22gh-aw-workflow-id%3A+pr-docs-check%22&type=pullrequests)

<!-- gh-aw-agentic-workflow: PR Documentation Check, engine: copilot,
model: auto, id: 34941223887, workflow_id: pr-docs-check, run:
https://github.com/microsoft/aspire/actions/runs/34941223887 -->

<!-- gh-aw-workflow-id: pr-docs-check -->
<!-- gh-aw-workflow-call-id: microsoft/aspire/pr-docs-check -->

Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Maddy Montaquila <maddyleger1@gmail.com>
Documents changes from microsoft/aspire#20490 and the planned removal of
the same diagnostic from `Aspire.Hosting.Blazor`.

``@eerhardt``

## Target branch

`release/13.6`

## Summary

- Document the removal of `ASPIREDOTNETPROJECT001` in Aspire 13.6 from
`AddDotnetProject`, `DotnetProjectResource`, the related
`WithBuildEnvironment` overloads, and the Blazor
`AddDotnetProjectBlazorGateway` and matching `WithBlazorClientApp`
overload.
- Explain in the diagnostic reference and release notes that the
additional experimental designation was unnecessary because
`Aspire.Hosting.Dotnet` and `Aspire.Hosting.Blazor` are already
prerelease packages. Their APIs remain unstable and may change in future
releases.
- Keep the integration guides focused on the packages' prerelease status
and removing existing `ASPIREDOTNETPROJECT001` suppressions after
upgrading to 13.6.
- Remove `ASPIREDOTNETPROJECT001` from the Blazor gateway example while
retaining the separate `ASPIREBLAZOR001` suppression and guidance for
experimental Blazor hosting types.
- Retain the diagnostic page and suppression guidance for earlier
releases, and update the diagnostics overview and Aspire 13.6 release
notes consistently.

The Aspire 13.5 release notes and versioned API metadata remain
unchanged. No new pages were created.

## Files modified

- `src/frontend/src/content/docs/diagnostics/aspiredotnetproject001.mdx`
- `src/frontend/src/content/docs/diagnostics/overview.mdx`
- `src/frontend/src/content/docs/integrations/dotnet/blazor-hosting.mdx`
-
`src/frontend/src/content/docs/integrations/frameworks/dotnet/dotnet-get-started.mdx`
-
`src/frontend/src/content/docs/integrations/frameworks/dotnet/dotnet-host.mdx`
- `src/frontend/src/content/docs/whats-new/aspire-13-6.mdx`

> Originally generated by [PR Documentation
Check](https://github.com/microsoft/aspire/actions/runs/36189171025) for
microsoft/aspire#20490; updated following review.

<!-- gh-aw-agentic-workflow: PR Documentation Check, engine: copilot,
model: auto, id: 36189171025, workflow_id: pr-docs-check, run:
https://github.com/microsoft/aspire/actions/runs/36189171025 -->

<!-- gh-aw-workflow-id: pr-docs-check -->
<!-- gh-aw-workflow-call-id: microsoft/aspire/pr-docs-check -->

---------

Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
…1623)

Documents changes from microsoft/aspire#19810 by `@mitchdenny`.

Targeting `release/13.6` based on the source PR milestone `13.6`.

### Why

PR #19810 changes `PublishAsAzureSandbox`/`publishAsAzureSandbox` to no
longer take a sandbox-group parameter, removes
`PublicEndpointReadyTimeout` from `AzureSandboxGroupOptions`, and makes
sandbox groups work as compute environments that automatically assign
and deploy projects (kept private unless an endpoint is explicitly
external). This is a breaking change (label `breaking-change`) and the
PR body includes a dedicated "User-facing usage" section, so the What's
new in Aspire 13.6 page (which already documents the experimental Azure
Container Apps Sandboxes integration and its breaking-changes section)
needed an update to describe the new default behavior and migration
path.

### What changed

- `src/frontend/src/content/docs/whats-new/aspire-13-6.mdx`:
- Updated the release summary bullet to note **two** breaking changes
(Cosmos DB emulator default, and the new `PublishAsAzureSandbox`
signature).
- Updated the *Azure Container Apps Sandboxes* section under **New
integrations** to describe automatic compute-environment inference and
link to the new breaking-change entry.
- Added a new **Breaking changes** entry, "Azure Container Apps
Sandboxes now infer their compute environment", with C#/TypeScript
before/after code samples for `WithComputeEnvironment` +
`PublishAsAzureSandbox`, a description of the paired HTTP/HTTPS endpoint
translation behavior, and a note about the removed
`PublicEndpointReadyTimeout` option.

No new pages were created; only the existing what's-new page was
updated.

> Generated by [PR Documentation
Check](https://github.com/microsoft/aspire/actions/runs/33952610938) for
#19810 · auto · 97.6 AIC · ⌖ 6.75 AIC · ⊞ 19.6K ·
[◷](https://github.com/search?q=repo%3Amicrosoft%2Faspire.dev+%22gh-aw-workflow-id%3A+pr-docs-check%22&type=pullrequests)

<!-- gh-aw-agentic-workflow: PR Documentation Check, engine: copilot,
model: auto, id: 33952610938, workflow_id: pr-docs-check, run:
https://github.com/microsoft/aspire/actions/runs/33952610938 -->

<!-- gh-aw-workflow-id: pr-docs-check -->
<!-- gh-aw-workflow-call-id: microsoft/aspire/pr-docs-check -->

---------

Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
…utes (#1574)

Documents changes from microsoft/aspire#19430

`@mitchdenny`

Targeting `release/13.6` based on the source PR milestone `13.6`.

## Why

microsoft/aspire#19430 fixes Kubernetes hostname publishing and routing:
`WithHostname(...)` on an `AddIngress`/`AddGateway` now applies to
hostless `WithPath`/`WithRoute` calls instead of leaving them as
catch-all rules, while `WithDefaultBackend(endpoint)` keeps generating a
catch-all rule as before. The PR body's "User-facing usage" section
shows this new scoping behavior in both C# and TypeScript AppHost
samples, which triggered the `pr_body_has_user_facing_section` signal —
the existing docs describe
`WithHostname`/`WithPath`/`WithDefaultBackend` but didn't previously
explain this inheritance rule.

## What changed

- `src/frontend/src/content/docs/deployment/kubernetes-ingress.mdx`:
added a new "Hostname inheritance for paths and routes" section after
the path-routing example, explaining that `WithHostname(...)` now scopes
hostless paths/routes, that explicit per-path/route hostnames still take
precedence, and that `WithDefaultBackend(...)` remains an unscoped
catch-all (including its TLS compatibility rule). Includes a version
note that this inheritance behavior applies from Aspire 13.6 onward.

No new pages were created; this is a targeted addition to the existing
Ingress/Gateway walkthrough page since the behavior applies to both
`AddIngress` and `AddGateway` (the Gateway-specific AKS walkthrough
already links back to this page for the shared concepts).

> Generated by [PR Documentation
Check](https://github.com/microsoft/aspire/actions/runs/32791545936) for
#19430 · auto · 79.6 AIC · ⌖ 8.28 AIC · ⊞ 19.6K ·
[◷](https://github.com/search?q=repo%3Amicrosoft%2Faspire.dev+%22gh-aw-workflow-id%3A+pr-docs-check%22&type=pullrequests)

<!-- gh-aw-agentic-workflow: PR Documentation Check, engine: copilot,
model: auto, id: 32791545936, workflow_id: pr-docs-check, run:
https://github.com/microsoft/aspire/actions/runs/32791545936 -->

<!-- gh-aw-workflow-id: pr-docs-check -->
<!-- gh-aw-workflow-call-id: microsoft/aspire/pr-docs-check -->

---------

Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Maddy Montaquila <maddyleger1@gmail.com>
Co-authored-by: Alistair Matthews <alistairwebdojo@live.com>
Co-authored-by: Maddy Montaquila <maleger@microsoft.com>
…bernetes (#1565)

Documents changes from microsoft/aspire#19429

`@mitchdenny`

## Why this is needed

The source PR fixes how Aspire generates Helm values for parameters that
are embedded inside a larger environment-variable expression (e.g.
interpolated into a URL). Previously, Kubernetes publishing could emit
incomplete Helm output (e.g. `(redacted) because the embedded parameter
was not declared as its own values entry. The fix declares embedded
config/secret parameters directly in `values.yaml`, resolves
composite/conditional expressions at deploy time, and rejects
values-path conflicts instead of silently overwriting them. This is a
user-facing behavior change to the generated Helm chart output, so the
docs need to describe the new values.yaml shape.

## What changed

- `src/frontend/src/content/docs/deployment/kubernetes/clusters.mdx`:
Added a new subsection under "Environment-specific configuration" that
documents how Aspire now declares embedded parameters as their own
`values.yaml` entries (with a C#/TypeScript example matching the source
PR's reproduction), shows the generated YAML shape, and notes the
values-path conflict rejection behavior.

No new pages were created; this is an update to an existing page.

> Generated by [PR Documentation
Check](https://github.com/microsoft/aspire/actions/runs/32689590583) for
#19429 · auto · 79 AIC · ⌖ 12.6 AIC · ⊞ 19.6K ·
[◷](https://github.com/search?q=repo%3Amicrosoft%2Faspire.dev+%22gh-aw-workflow-id%3A+pr-docs-check%22&type=pullrequests)

<!-- gh-aw-agentic-workflow: PR Documentation Check, engine: copilot,
model: auto, id: 32689590583, workflow_id: pr-docs-check, run:
https://github.com/microsoft/aspire/actions/runs/32689590583 -->

<!-- gh-aw-workflow-id: pr-docs-check -->
<!-- gh-aw-workflow-call-id: microsoft/aspire/pr-docs-check -->

Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Maddy Montaquila <maleger@microsoft.com>
@danegsta
David Negstad (danegsta) merged commit aba4d4d into main Sep 29, 2026
34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.