[docs] Document proxyless endpoint port pre-allocation (Aspire 13.5) - #1199
Conversation
Documents the on-demand port allocation behavior for dynamic proxyless container endpoints introduced in Aspire 13.5 (microsoft/aspire#17851). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Frontend HTML artifact readyThe latest frontend build uploaded the This comment updates automatically when a new frontend build artifact is uploaded. |
There was a problem hiding this comment.
Pull request overview
Adds documentation to the inner-loop networking overview describing Aspire 13.5’s on-demand resolution behavior for proxyless container endpoints when those endpoints are referenced before container creation (to avoid deadlocks/failures in certain configuration patterns).
Changes:
- Adds a new section explaining why proxyless container endpoint ports may be unavailable prior to container creation.
- Documents Aspire 13.5’s on-demand port allocation behavior for early endpoint resolution.
- Includes a C# AppHost example showing how to inject the endpoint port as an environment variable.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| ### Resolving proxyless container endpoints before container creation | ||
|
|
||
| Proxyless container endpoints normally defer host port assignment until DCP creates the container. This means that if you reference an endpoint in a `WithEnvironment` callback or similar configuration that runs before the container is fully built, the port may not yet be available, which can cause deadlocks or failures. |
David Pine (IEvangelist)
left a comment
There was a problem hiding this comment.
Source-of-truth branch mismatch — review skipped
Cannot verify this PR against microsoft/aspire.
PR base branch (microsoft/aspire.dev) |
release/13.5 |
Matching branch in microsoft/aspire |
does not exist |
Latest release branch in microsoft/aspire |
release/13.4 (4f2189335) |
| Source PR cited in body | microsoft/aspire# — merged to main, milestone 13.5 |
My review protocol requires using the matching microsoft/aspire release branch as the single source of truth for claim verification. Because no release/13.5 branch exists on microsoft/aspire yet (13.5 has not been cut), I cannot verify the API/CLI/config claims in this PR against an authoritative source code snapshot for that release.
Possible resolutions:
- Re-target this PR to
release/13.4inaspire.devif the documented behavior is already present in 13.4. - Wait until
release/13.5is cut inmicrosoft/aspire, then re-run review against that branch.
Skipping Phase B (doc-tester) as well — running it without the Phase A claim verification would produce an incomplete review per protocol.
|
This will soon become invalid due to microsoft/aspire#17924 which will switch 13.5 to pre-allocation of undefined proxyless ports. |
David Negstad (danegsta)
left a comment
There was a problem hiding this comment.
This will need changes after another PR merges.
Source-of-truth branch mismatch — review feedback not appliedI checked the matching source-of-truth branch required by the docs-feedback protocol and cannot evaluate this PR yet.
Because there is no matching |
Source-of-truth branch mismatch - review feedback not appliedI checked the matching source-of-truth branch required by the docs-feedback protocol and cannot evaluate this PR yet.
Because there is no matching microsoft/aspire branch, I can't verify the review feedback or the documented behavior against an authoritative source snapshot. Per protocol, I'm leaving the PR unchanged and not resolving any threads. Once |
Source-of-truth branch mismatch - review feedback not appliedI checked the matching source-of-truth branch required by the docs-feedback protocol and cannot evaluate this PR yet.
Because there is no matching |
|
Copilot we need to re-evaluate these doc changes now that microsoft/aspire#17924 is merged. |
Co-authored-by: danegsta <50252651+danegsta@users.noreply.github.com>
Re-evaluated after microsoft/aspire#17924 and updated the section to describe pre-allocation from the proxyless endpoint port range, fixed ports, persistent resource reuse, and added TypeScript parity. Addressed in aaab7dd. |
|
CI has been retriggered multiple times and is still failing on validation/build checks. This appears to be caused by the current PR changes rather than a transient workflow issue and likely needs a docs/code fix in this PR. |
|
This PR has had CI retriggered multiple times and is still failing on PR-specific checks. It likely needs a change in this PR to pass. |
|
CI has been retriggered several times and is still failing for this PR. |
|
We've retriggered CI many times on this PR and it's still failing. At this point, the failure likely comes from changes in this PR rather than transient CI flakiness, so this probably needs a content/code fix in the PR itself. |
|
CI has failed repeatedly on this docs-from-code PR after multiple reruns, and the failures appear to be related to the changes in this PR. Please review and adjust the PR content so the checks can pass. |
|
CI has been retriggered multiple times on this PR and is still failing. The failures appear tied to the current PR changes rather than a transient runner issue, so this likely needs an update in the PR content before CI will pass. |
|
[docs-from-code-ci-retries] |
|
[docs-from-code-ci-retry-note] |
|
CI has been retriggered multiple times and is still failing. The failure appears to be related to the PR changes rather than transient runner issues, so this likely needs a docs/content fix in this PR. |
|
team We've retriggered CI multiple times and it is still failing on this PR. This appears to require changes in the PR itself to get green. |
…s-on-demand-allocation-26f4fee58172e063
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* [docs] Document timestamp search qualifier for telemetry filtering (#1181)
* docs: document timestamp search qualifier for telemetry filtering
Documents the new 'timestamp' search qualifier added in
microsoft/aspire#17816. Users can now filter traces and structured
logs by date/time using ISO 8601 strings with comparison operators
(>, >=, <, <=) in the dashboard filter bar.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Move timestamp qualifier docs to shared CLI references
Co-authored-by: JamesNK <303201+JamesNK@users.noreply.github.com>
* Fix severity casing in timestamp search example
Co-authored-by: JamesNK <303201+JamesNK@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: James Newton-King <james@newtonking.com>
* Apply suggestion from @JamesNK
* Apply suggestion from @JamesNK
* docs: clarify date-only timestamp search values
Co-authored-by: JamesNK <303201+JamesNK@users.noreply.github.com>
* Apply suggestion from @JamesNK
* Apply suggestion from @JamesNK
* Update timestamp example dates to use 2026
---------
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: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: JamesNK <303201+JamesNK@users.noreply.github.com>
Co-authored-by: James Newton-King <james@newtonking.com>
* [docs] Fix persistent container endpoint proxy default docs (#1227)
* Fix persistent container endpoint proxy default docs
Persistent containers use proxied endpoints by default (same as session
containers), while persistent executables and projects default to proxyless
endpoints. Also document that proxyless container endpoints with only a
targetPort immediately allocate the targetPort as the host port.
Corrects docs that previously stated all persistent resources default to
proxyless endpoints.
Documents changes from microsoft/aspire#17960.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
---------
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: David Negstad <50252651+danegsta@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Add Aspire 13.5 release scaffold
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* [docs] Update Foundry Local docs to reflect CLI-based lifecycle (aspire#17889) (#1210)
* docs: update Foundry Local section to reflect CLI-based lifecycle
The Foundry Local integration now uses the installed 'foundry' CLI
(foundry service start/stop/list and foundry model download/load)
instead of the FoundryLocalManager in-proc APIs. Aspire manages the
entire service lifecycle automatically.
Update docs to:
- Clarify users do not need to pre-start Foundry Local
- State that the 'foundry' CLI must be on PATH
- Describe the automatic start/stop lifecycle management
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
---------
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: Sébastien Ros <sebastienros@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* docs: document coding agent telemetry detection (aspire#18065)
Add a new row to the CLI telemetry data points table for Aspire CLI 13.5
documenting the new coding agent detection telemetry.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* [docs] Add WithTerminal() interactive terminal sessions page (#1244)
* docs: add WithTerminal() interactive terminal sessions page
Documents the WithTerminal() experimental API introduced in Aspire 13.5:
- Basic usage (C# and TypeScript)
- Custom terminal dimensions
- Multi-replica support
- Dashboard terminal view
- aspire terminal attach / aspire terminal ps CLI commands
Closes microsoft/aspire#17866 (docs obligation)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: address PR review feedback for withterminal docs
- remove redundant sidebar translations block
- clean up unused import and wording updates
- fix CLI reference link target
- remove duplicate build/run call in dimensions sample
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Mitch Denny <midenn@orangecake.local>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: update 13.5 banners and release notes
- Update all banners (18 files across English and 16 locale variants) from 13.4 to 13.5 with engaging messaging
- Replace 13.5 placeholder release notes with comprehensive content from the official changelog
- Include detailed release highlights covering AppHost, CLI, Dashboard, and Extensions improvements
- Document breaking changes (ServiceProvider renamed, PublishAsConnectionString obsolete, aspire ps --resources flag removed)
- Maintain consistent tone and voice with prior What's new articles
Changes cover:
- Interactive terminal sessions with WithTerminal()
- Polyglot IInteractionService across TypeScript, Python, Go, Java, Rust
- User-defined resource command arguments
- TypeScript AppHost stability fixes and optimizations
- Custom health checks for TypeScript AppHosts
- CLI enhancements (npm package, embedded skills bundle)
- Dashboard telemetry improvements (timestamp filtering, better error messages)
- VS Code extension enhancements (Dashboard side panel, Bun debugging, resource commands)
- Foundry Local integration CLI updates
- And more bug fixes and improvements
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Document OS information check in aspire doctor command
Add documentation for the new operating system check introduced in
microsoft/aspire#18252. The check appears in the Environment section
of `aspire doctor` output and includes structured metadata in JSON
format.
Changes:
- Update Environment checks description to mention OS reporting
- Add OS check to sample table output
- Add operating-system entry to JSON output example
- Document the osType/displayName/version/description metadata fields
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix broken WithTerminal link in 13.5 whats-new (#1281)
Point to /app-host/withterminal/ which is the correct slug for the
interactive terminal sessions page, fixing the starlight-links-validator
CI failure.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add dashboard troubleshooting page (#1255)
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* [docs] Add deprecation notices to GitHub Models integration docs (#1279)
* Add deprecation notices to GitHub Models integration docs
The GitHub Models service is no longer available to new customers.
Aspire.Hosting.GitHub.Models is sunset in 13.5 — all public APIs are
marked [Obsolete] and the package is hidden from aspire add. Add a
:::caution callout to all three GitHub Models documentation pages to
surface this to existing users.
Documents changes from microsoft/aspire#18405.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: add GitHub Models sunset to 13.5 breaking changes
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: recommend Azure AI Foundry integration as GitHub Models replacement
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: David Pine <david.pine@microsoft.com>
---------
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: Sebastien Ros <sebastienros@gmail.com>
Co-authored-by: David Pine <david.pine@microsoft.com>
* Fix forbidden phrases flagged by CI (#1301)
Replace 'app host' with 'AppHost' in dashboard troubleshooting docs and reword the VS Code extension branding note to avoid the literal '.NET Aspire' phrase.
Co-authored-by: David Pine <7679720+IEvangelist@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: mention Cohere and MistralAI model families in Foundry host docs (#1297)
Documents the available FoundryModel provider families including
Cohere and MistralAI, which gained new model descriptors
(CohereCommandAPlus052026 and MistralMedium35) in Aspire 13.5.
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>
* [docs] Clarify C# file-based AppHost launch profile location (#1176)
* docs: clarify C# file-based AppHost launch profile location
The empty C# AppHost template (created with `aspire new`) stores launch
profiles in `apphost.run.json`, not in `aspire.config.json`. The
`aspire.config.json` for this template only contains the `appHost.path`
reference pointing at `apphost.cs`.
Update the AppHost configuration page to distinguish between:
- Project-based AppHosts: profiles in `Properties/launchSettings.json`
- File-based AppHosts: profiles in `apphost.run.json`, with
`aspire.config.json` holding only the entry-point reference
This aligns the documentation with the fix in microsoft/aspire#17781,
which corrected a regression where the file-based template was
incorrectly emitting a duplicate `profiles` block in `aspire.config.json`.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
---------
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: David Pine <david.pine@microsoft.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* [docs] Document icon fallback behavior for resource commands (#1277)
* docs: document icon fallback behavior for resource commands
When a resource command specifies an unrecognized iconName, the
dashboard now renders a QuestionCircle (question mark circle) icon
as a fallback instead of displaying the raw display-name text.
For highlighted commands (IsHighlighted = true) with no iconName,
the dashboard uses a Flash icon by default so the inline action
button stays compact and never overflows the resource row.
Documents changes from microsoft/aspire#18389.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Apply suggestion from @JamesNK
---------
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>
* [docs] Add Nix installation path for Aspire CLI (#1286)
* docs: Add Nix installation path for Aspire CLI
Documents the first-party Nix flake for the Aspire CLI introduced in
microsoft/aspire#18410:
- Adds a 'Nix' tab to the Install CLI package manager section, with
nix run, nix profile add, and flake.nix usage examples
- Updates the 'aspire update --self' section to describe how Nix installs
print profile/flake update guidance instead of a binary download
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: address Nix CLI review comments
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: fix Nix flake CLI example
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
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: David Fowler <davidfowl@gmail.com>
* Address aspire doctor doc feedback
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* [docs] Document proxyless endpoint port pre-allocation (Aspire 13.5) (#1199)
* docs: document proxyless container endpoint on-demand allocation
Documents the on-demand port allocation behavior for dynamic proxyless
container endpoints introduced in Aspire 13.5 (microsoft/aspire#17851).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: update proxyless endpoint port allocation
Co-authored-by: danegsta <50252651+danegsta@users.noreply.github.com>
* docs: align proxyless port allocation docs
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* docs: clarify proxyless container port wording
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* docs: remove redundant proxyless port text
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
---------
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: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: danegsta <50252651+danegsta@users.noreply.github.com>
Co-authored-by: David Negstad <David.Negstad@microsoft.com>
* Add Aspire version placeholders to release docs (#1314)
* Add Aspire version placeholders to release docs
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Remove generated Nix icon safelist entry
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* Document release version placeholder checks
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* Document current version placeholder review guidance
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* Use version placeholder in seed database packages
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Fix OOM in aspire-version-placeholders build hook (#1318)
* Fix OOM in aspire-version-placeholders build hook
The astro:build:done hook re-walked the entire dist tree with a single
recursive Promise.all, holding the contents of every .html/.md/.txt file
(tens of thousands across all locales, including the large llms-full.txt
assets) in memory at once. On the full production build that exhausted the
default ~4 GB Node heap and crashed with 'JavaScript heap out of memory'.
That broad walk was almost entirely redundant. The remarkAspireVersionPlaceholders
remark plugin is already wired into markdown.remarkPlugins, so placeholders
are replaced before render: .html pages are correct, and llms*.txt is sourced
from rendered HTML via render(entry). The reference/**/*.md endpoints come from
API/sample data, not docs content. The only generated artifact that still
contains raw placeholders is the per-page .md copies emitted by
starlight-page-actions, which viteStaticCopy's raw src/content/docs/** through
a regex-only transform that bypasses the remark pipeline.
Scope the post-build pass to .md files only and stream them through a bounded
worker pool (default concurrency 16). Peak memory is now proportional to the
concurrency limit, and the bulk of dist (.html plus the large .txt assets) is
no longer re-read. Replacement semantics are unchanged.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* Address PR review: normalize concurrency and clarify test comment
- Guard against a non-finite/0/negative concurrency value: normalize to a
finite positive integer (falling back to the default) before computing the
worker count, so a stray NaN can't collapse the pool to an empty array and
silently skip every file. Adds a regression test passing NaN.
- Reword the scoping test comment so it no longer implies the seeded
.html/.txt/.mdx fixtures were already replaced; clarify the assertion is that
this pass intentionally leaves every non-.md extension untouched.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: David Pine <7679720+IEvangelist@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* Add Kubernetes persistent volume documentation (#1328)
* Add Kubernetes persistent volume documentation
Document the first-class KubernetesPersistentVolumeResource feature
(microsoft/aspire PR #16929): a dedicated Persistent volumes on
Kubernetes page under deployment/kubernetes, a concise pointer in the
Kubernetes integration reference, sidebar wiring, and cross-links from
related Kubernetes and data-persistence pages.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* Lead persistent volumes page with AddPersistentVolume API
Refocus the opening on the AddPersistentVolume fluent API with a minimal
example up front, rather than the KubernetesPersistentVolumeResource class
name, matching how developers think in terms of AppHost APIs.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* Fix TypeScript persistent-volume examples and parameter method names
- Correct withDataVolume TS calls to pass an options object
(withDataVolume({ name: 'pg-data' })) instead of a name string; the
TypeScript binding takes WithDataVolumeOptions, not a string.
- Clarify the config-method table: in TypeScript the parameter-accepting
variants are separate methods (withPvStorageClassParam,
withPvCapacityParam, withVolumeAnnotationParam), not overloads of the
string methods.
Verified against the shipped Aspire 13.5.0-preview.1 package by compiling
and publishing both examples with the dev CLI.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
---------
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>
* Add WithTerminal docs and aspire terminal CLI reference (#1329)
* Add WithTerminal docs and aspire terminal CLI reference
Document the experimental WithTerminal() AppHost API for exposing
interactive terminal sessions on resources, plus the aspire terminal,
aspire terminal attach, and aspire terminal ps CLI commands. Wires the
new pages into the docs and reference sidebars and repoints the 13.5
what's-new link to the new slug.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* Frame no-auto-debugger as a temporary NOTE callout
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* Give C# and TypeScript equal billing in with-terminal docs
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* Consolidate WithTerminal docs onto with-terminal.mdx
Remove the duplicate withterminal.mdx (from #1244) in favor of the
kebab-case with-terminal.mdx, matching the app-host directory naming
convention. Fold in the dashboard section and the TypeScript config
tracking issue reference.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* Address PR review: self-contained snippets and ASPIRETERMINAL001 guidance
Add the #pragma warning disable ASPIRETERMINAL001 suppression to the C#
examples, make the Experimental aside actionable, and make the configure
and replicas snippets self-contained (full builder bootstrap + run) for
both C# and TypeScript.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Mitch Denny <midenn@Mac.localdomain>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* Document AI agent skill-usage telemetry (#1229)
* Document AI agent skill usage telemetry in CLI telemetry reference
Extend the Microsoft-collected CLI telemetry page to cover the agent telemetry
hooks installed by 'aspire agent init': the three event types
(skill_invocation, tool_invocation, reference_file_read), the exact
low-cardinality fields recorded, the privacy guarantees (only Aspire-owned
skill/tool names and skill-relative reference paths; never absolute paths, repo
or user names, file contents, or tool arguments), and the
ASPIRE_CLI_AGENT_TELEMETRY_OPTOUT / --no-telemetry-hooks opt-out paths.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Simplify CLI telemetry docs to a single opt-out
Remove the AI-only opt-out section (ASPIRE_CLI_AGENT_TELEMETRY_OPTOUT) and the
'aspire agent init --no-telemetry-hooks' note. The single
ASPIRE_CLI_TELEMETRY_OPTOUT switch disables all CLI telemetry including AI
agent skill usage. Soften the over-claimed opt-out re-check wording.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Alistair Matthews <alistairwebdojo@live.com>
---------
Co-authored-by: David Pine <7679720+IEvangelist@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Alistair Matthews <alistairwebdojo@live.com>
* Document --skills and --skill-locations flags for init and new commands (#1348)
Add documentation for the --skills and --skill-locations options on
aspire init and aspire new commands. These flags were added in
microsoft/aspire#18191 and microsoft/aspire#18192 to support
non-interactive mode for controlling which agent skills are installed
during initialization.
* Document PromptProgressAsync API and add TypeScript examples to interaction service (#1347)
- Add PromptProgressAsync to the interaction service docs with C# and TypeScript examples
- Add CommandProgressOptions section to custom resource commands page
- Integrate TypeScript tabs throughout interaction service documentation
- Update method table and context notes to include PromptProgressAsync
Documents changes from microsoft/aspire#18493
* [docs] CLI: mention 'Stopping Aspire...' feedback message on Ctrl+C (#1353)
* docs: mention 'Stopping Aspire...' feedback message on Ctrl+C
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: David Pine <IEvangelist@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* docs: note graceful backchannel stream cancellation during aspire run shutdown (#1356)
Co-authored-by: David Pine <IEvangelist@users.noreply.github.com>
* docs: document command return values for custom resource commands (#1161)
Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>
Address review feedback: add TypeScript Markdown example, fix heading style, imp
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
* [docs] Update Bun integration docs for first-party Aspire.Hosting.JavaScript support (#1354)
* docs: update Bun integration page for first-party Aspire.Hosting.JavaScript support
* Apply suggestion from @IEvangelist
* Update bun-apps.mdx
---------
Co-authored-by: David Pine <IEvangelist@users.noreply.github.com>
* Address PR review feedback for release 13.5 docs
- search-filter: fix 'stored with UTC' -> 'stored in UTC'
- configuration: move AppHost type into code-block titles, drop redundant labels
- with-terminal: reword title/seoTitle to 'using WithTerminal', scope experimental Aside to C#, move C#/TypeScript notes inside their TabItems, split dashboard sentence
- troubleshooting: clarify firewall/security software wording
- persistent-volumes: move experimental Aside into C# TabItem, add prerequisites intro, split StatefulSet sentence
- compute/kubernetes: clarify durable storage steps
- terminal command docs: 'using WithTerminal' wording and reworded descriptions
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: d03541af-fa62-4d7c-a158-4ece169249af
* [docs] Document automatic HTTPS certificate generation for non-.NET AppHosts (#1355)
* docs: document automatic HTTPS certificate generation for non-.NET AppHosts
Documents the new behavior introduced in microsoft/aspire#17454:
- When aspire run starts a non-.NET AppHost (e.g., TypeScript) in
non-interactive mode and no HTTPS dev certificate exists, the CLI
now automatically generates one.
- The ASPIRE_CLI_GENERATE_HTTPS_CERTIFICATE environment variable can
be set to 'false' to opt out of automatic certificate generation.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Update src/frontend/src/content/docs/app-host/certificate-configuration.mdx
---------
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>
* Document Go polyglot options flattening breaking change (#1360)
* Dcument Go polyglot options flattening breaking change
* Update documentation on DTOs and code generator behavior
Clarified the behavior of TypeScript and Go code generators regarding optional parameters and DTOs.
* [docs] Obsolete PublishAsConnectionString migration guidance (#1237)
* docs: document PublishAsConnectionString obsolete, update examples to use AddConnectionString
- Update 'Parameter example' in external-parameters.mdx to use
execution-context-based pattern (IsRunMode) instead of the now-obsolete
PublishAsConnectionString() API
- Update the Japanese localized version of external-parameters.mdx to match
- Mark PublishAsConnectionString as obsolete in the azure/overview.mdx API
table and add a migration caution callout showing the AddConnectionString
pattern with execution context
Relates to microsoft/aspire#18044
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: David Pine <david.pine@microsoft.com>
* ci: retrigger CI run [skip-notes]
* docs: fix PublishAsConnectionString migration samples
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: e7ae5d3e-2af9-48ae-8920-cb7c103217a3
---------
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: David Pine <david.pine@microsoft.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: David Pine <7679720+IEvangelist@users.noreply.github.com>
* Document Aspire VS Code AppHost polling (#1382)
Add VS Code extension documentation for showing running AppHosts before workspace discovery completes, the new appHosts polling setting, and the deprecated global setting name.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* Document aspire stop --force resource cleanup (#1387)
* Document aspire stop force cleanup
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 45afd624-6e7c-4ee8-84c2-6dbda91702f5
* Apply suggestions from code review
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: David Pine <david.pine@microsoft.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* [docs] Update aspire run/stop graceful shutdown documentation (#1291)
* docs: update aspire run/stop graceful shutdown docs for #17814
- Expand aspire-run.mdx 'Stopping the AppHost' section with the full
three-step shutdown ladder (cooperative cancellation → graceful wait →
automatic force-kill) and clarify the second Ctrl+C behavior.
- Add a Windows note about isolated console session for tsx/npm AppHosts.
- Correct aspire-stop.mdx description: signal targets the AppHost process
directly, not an intermediary CLI process.
Source: microsoft/aspire#17814
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* docs: remove resource/AppHost shutdown conflation from aspire run and stop docs
Co-authored-by: danegsta <50252651+danegsta@users.noreply.github.com>
* Update aspire-run.mdx
---------
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: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: danegsta <50252651+danegsta@users.noreply.github.com>
Co-authored-by: David Pine <david.pine@microsoft.com>
* [docs] Update 13.4 what's new: aspire.config.json template profiles regression fix (#1192)
* docs: clarify aspire.config.json template regression fix for C# empty AppHost
The C# empty AppHost template (aspire new aspire-empty) in Aspire 13.4
was generating a duplicate profiles block in aspire.config.json that
was also present in apphost.run.json. This regression is fixed in
microsoft/aspire#17820: launch profiles now live exclusively in
apphost.run.json and aspire.config.json is minimal (AppHost path only).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
---------
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: David Pine <david.pine@microsoft.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* [docs] Document aspire stop socket cleanup for detached AppHosts (#1283)
* docs: document aspire stop socket cleanup for detached AppHosts
After aspire stop confirms the AppHost process has terminated, it now
removes the backchannel socket file. This prevents stale-socket errors
when running subsequent commands (aspire add, aspire describe, etc.)
after the stop/detach workflow.
Documents the fix from microsoft/aspire#18296 (fixes #17587).
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* docs: clarify aspire stop resource cleanup
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 98420587-acfe-4dcc-863d-84663af05421
---------
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: David Pine <david.pine@microsoft.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: David Pine <7679720+IEvangelist@users.noreply.github.com>
Copilot-Session: 98420587-acfe-4dcc-863d-84663af05421
* [docs] Document WithExplicitStart() callback deferral behavior (#1194)
* docs: document WithExplicitStart() callback deferral behavior
Add a new 'Defer resource start with explicit start' section to
resource-lifetimes.mdx explaining how WithExplicitStart() interacts
with execution configuration callbacks (WithEnvironment, WithArgs):
- Session-scoped explicit-start resources defer DCP registration until
manual start, so callbacks run only when the user starts the resource
from the dashboard.
- Persistent explicit-start resources are registered immediately (to
detect existing instances), but use a Spec.Start patch on manual
start so callbacks are not re-evaluated a second time.
Documents microsoft/aspire#17825.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* docs: add persistence diagnostic guidance
Clarify the explicit-start examples and document ASPIREPERSISTENCE001 suppression options.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: ca76c036-8248-4cdc-a1b2-0d4a1bef31f3
---------
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: David Pine <david.pine@microsoft.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: David Pine <7679720+IEvangelist@users.noreply.github.com>
Copilot-Session: ca76c036-8248-4cdc-a1b2-0d4a1bef31f3
* Merge main into release/13.5 (#1427)
* Revise interaction service API documentation (#1408)
Updated section headings and clarified usage instructions for the interaction service API.
* [auto-sec] Consolidate aspire.dev frontend dependency security remediations (#1392)
* build(deps): bump the npm-all group across 1 directory with 32 updates
Bumps the npm-all group with 32 updates in the /src/frontend directory:
| Package | From | To |
| --- | --- | --- |
| [@astrojs/markdown-remark](https://github.com/withastro/astro/tree/HEAD/packages/markdown/remark) | `7.2.0` | `7.2.1` |
| [@astrojs/mdx](https://github.com/withastro/astro/tree/HEAD/packages/integrations/mdx) | `7.0.0` | `7.0.3` |
| [@astrojs/rss](https://github.com/withastro/astro/tree/HEAD/packages/astro-rss) | `4.0.18` | `4.0.19` |
| [@astrojs/starlight](https://github.com/withastro/starlight/tree/HEAD/packages/starlight) | `0.41.1` | `0.41.3` |
| [@catppuccin/starlight](https://github.com/catppuccin/starlight/tree/HEAD/packages/catppuccin-starlight) | `2.0.1` | `2.1.0` |
| [@expressive-code/plugin-collapsible-sections](https://github.com/expressive-code/expressive-code/tree/HEAD/packages/@expressive-code/plugin-collapsible-sections) | `0.44.0` | `0.44.1` |
| [@expressive-code/plugin-line-numbers](https://github.com/expressive-code/expressive-code/tree/HEAD/packages/@expressive-code/plugin-line-numbers) | `0.44.0` | `0.44.1` |
| [@fontsource-variable/fira-code](https://github.com/fontsource/font-files/tree/HEAD/fonts/variable/fira-code) | `5.2.7` | `5.3.0` |
| [@fontsource-variable/outfit](https://github.com/fontsource/font-files/tree/HEAD/fonts/variable/outfit) | `5.2.8` | `5.3.0` |
| [@fontsource-variable/rubik](https://github.com/fontsource/font-files/tree/HEAD/fonts/variable/rubik) | `5.2.8` | `5.3.0` |
| [@fontsource/poppins](https://github.com/fontsource/font-files/tree/HEAD/fonts/google/poppins) | `5.2.7` | `5.3.0` |
| [asciinema-player](https://github.com/asciinema/asciinema-player) | `3.16.0` | `3.17.0` |
| [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro) | `7.0.3` | `7.1.3` |
| [astro-expressive-code](https://github.com/expressive-code/expressive-code/tree/HEAD/packages/astro-expressive-code) | `0.44.0` | `0.44.1` |
| [satori](https://github.com/vercel/satori) | `0.26.0` | `0.28.1` |
| [satteri](https://github.com/bruits/satteri) | `0.9.4` | `0.9.5` |
| [sharp](https://github.com/lovell/sharp) | `0.34.5` | `0.35.3` |
| [starlight-github-alerts](https://github.com/HiDeoo/starlight-github-alerts/tree/HEAD/packages/starlight-github-alerts) | `0.3.0` | `0.4.0` |
| [starlight-links-validator](https://github.com/HiDeoo/starlight-links-validator/tree/HEAD/packages/starlight-links-validator) | `0.25.1` | `0.25.2` |
| [starlight-llms-txt](https://github.com/delucis/starlight-llms-txt/tree/HEAD/packages/starlight-llms-txt) | `0.10.0` | `0.11.0` |
| [starlight-page-actions](https://github.com/dlcastillop/starlight-page-actions/tree/HEAD/packages/starlight-page-actions) | `0.6.2` | `0.7.0` |
| [@iconify-json/material-icon-theme](https://github.com/iconify/icon-sets) | `1.2.68` | `1.2.69` |
| [@types/hast](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/hast) | `3.0.4` | `3.0.5` |
| [@unocss/astro](https://github.com/unocss/unocss/tree/HEAD/packages-integrations/astro) | `66.6.8` | `66.7.5` |
| [astro-embed](https://github.com/delucis/astro-embed/tree/HEAD/packages/astro-embed) | `0.13.0` | `0.13.1` |
| [eslint](https://github.com/eslint/eslint) | `10.6.0` | `10.7.0` |
| [prettier](https://github.com/prettier/prettier) | `3.9.1` | `3.9.5` |
| [tsx](https://github.com/privatenumber/tsx) | `4.22.4` | `4.23.1` |
| [typescript](https://github.com/microsoft/TypeScript) | `6.0.3` | `7.0.2` |
| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.62.0` | `8.65.0` |
| [unocss](https://github.com/unocss/unocss/tree/HEAD/packages-presets/unocss) | `66.6.8` | `66.7.5` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.9` | `4.1.10` |
Updates `@astrojs/markdown-remark` from 7.2.0 to 7.2.1
- [Release notes](https://github.com/withastro/astro/releases)
- [Changelog](https://github.com/withastro/astro/blob/main/packages/markdown/remark/CHANGELOG.md)
- [Commits](https://github.com/withastro/astro/commits/@astrojs/markdown-remark@7.2.1/packages/markdown/remark)
Updates `@astrojs/mdx` from 7.0.0 to 7.0.3
- [Release notes](https://github.com/withastro/astro/releases)
- [Changelog](https://github.com/withastro/astro/blob/main/packages/integrations/mdx/CHANGELOG.md)
- [Commits](https://github.com/withastro/astro/commits/@astrojs/mdx@7.0.3/packages/integrations/mdx)
Updates `@astrojs/rss` from 4.0.18 to 4.0.19
- [Release notes](https://github.com/withastro/astro/releases)
- [Changelog](https://github.com/withastro/astro/blob/main/packages/astro-rss/CHANGELOG.md)
- [Commits](https://github.com/withastro/astro/commits/@astrojs/rss@4.0.19/packages/astro-rss)
Updates `@astrojs/starlight` from 0.41.1 to 0.41.3
- [Release notes](https://github.com/withastro/starlight/releases)
- [Changelog](https://github.com/withastro/starlight/blob/main/packages/starlight/CHANGELOG.md)
- [Commits](https://github.com/withastro/starlight/commits/@astrojs/starlight@0.41.3/packages/starlight)
Updates `@catppuccin/starlight` from 2.0.1 to 2.1.0
- [Release notes](https://github.com/catppuccin/starlight/releases)
- [Changelog](https://github.com/catppuccin/starlight/blob/main/packages/catppuccin-starlight/CHANGELOG.md)
- [Commits](https://github.com/catppuccin/starlight/commits/v2.1.0/packages/catppuccin-starlight)
Updates `@expressive-code/plugin-collapsible-sections` from 0.44.0 to 0.44.1
- [Release notes](https://github.com/expressive-code/expressive-code/releases)
- [Changelog](https://github.com/expressive-code/expressive-code/blob/main/packages/@expressive-code/plugin-collapsible-sections/CHANGELOG.md)
- [Commits](https://github.com/expressive-code/expressive-code/commits/@expressive-code/plugin-collapsible-sections@0.44.1/packages/@expressive-code/plugin-collapsible-sections)
Updates `@expressive-code/plugin-line-numbers` from 0.44.0 to 0.44.1
- [Release notes](https://github.com/expressive-code/expressive-code/releases)
- [Changelog](https://github.com/expressive-code/expressive-code/blob/main/packages/@expressive-code/plugin-line-numbers/CHANGELOG.md)
- [Commits](https://github.com/expressive-code/expressive-code/commits/@expressive-code/plugin-line-numbers@0.44.1/packages/@expressive-code/plugin-line-numbers)
Updates `@fontsource-variable/fira-code` from 5.2.7 to 5.3.0
- [Changelog](https://github.com/fontsource/font-files/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fontsource/font-files/commits/HEAD/fonts/variable/fira-code)
Updates `@fontsource-variable/outfit` from 5.2.8 to 5.3.0
- [Changelog](https://github.com/fontsource/font-files/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fontsource/font-files/commits/HEAD/fonts/variable/outfit)
Updates `@fontsource-variable/rubik` from 5.2.8 to 5.3.0
- [Changelog](https://github.com/fontsource/font-files/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fontsource/font-files/commits/HEAD/fonts/variable/rubik)
Updates `@fontsource/poppins` from 5.2.7 to 5.3.0
- [Changelog](https://github.com/fontsource/font-files/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fontsource/font-files/commits/HEAD/fonts/google/poppins)
Updates `asciinema-player` from 3.16.0 to 3.17.0
- [Release notes](https://github.com/asciinema/asciinema-player/releases)
- [Commits](https://github.com/asciinema/asciinema-player/compare/v3.16.0...v3.17.0)
Updates `astro` from 7.0.3 to 7.1.3
- [Release notes](https://github.com/withastro/astro/releases)
- [Changelog](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md)
- [Commits](https://github.com/withastro/astro/commits/astro@7.1.3/packages/astro)
Updates `astro-expressive-code` from 0.44.0 to 0.44.1
- [Release notes](https://github.com/expressive-code/expressive-code/releases)
- [Changelog](https://github.com/expressive-code/expressive-code/blob/main/packages/astro-expressive-code/CHANGELOG.md)
- [Commits](https://github.com/expressive-code/expressive-code/commits/astro-expressive-code@0.44.1/packages/astro-expressive-code)
Updates `satori` from 0.26.0 to 0.28.1
- [Release notes](https://github.com/vercel/satori/releases)
- [Commits](https://github.com/vercel/satori/compare/0.26.0...0.28.1)
Updates `satteri` from 0.9.4 to 0.9.5
- [Release notes](https://github.com/bruits/satteri/releases)
- [Commits](https://github.com/bruits/satteri/compare/satteri-v0.9.4...satteri-v0.9.5)
Updates `sharp` from 0.34.5 to 0.35.3
- [Release notes](https://github.com/lovell/sharp/releases)
- [Commits](https://github.com/lovell/sharp/compare/v0.34.5...v0.35.3)
Updates `starlight-github-alerts` from 0.3.0 to 0.4.0
- [Release notes](https://github.com/HiDeoo/starlight-github-alerts/releases)
- [Changelog](https://github.com/HiDeoo/starlight-github-alerts/blob/main/packages/starlight-github-alerts/CHANGELOG.md)
- [Commits](https://github.com/HiDeoo/starlight-github-alerts/commits/starlight-github-alerts@0.4.0/packages/starlight-github-alerts)
Updates `starlight-links-validator` from 0.25.1 to 0.25.2
- [Release notes](https://github.com/HiDeoo/starlight-links-validator/releases)
- [Changelog](https://github.com/HiDeoo/starlight-links-validator/blob/main/packages/starlight-links-validator/CHANGELOG.md)
- [Commits](https://github.com/HiDeoo/starlight-links-validator/commits/starlight-links-validator@0.25.2/packages/starlight-links-validator)
Updates `starlight-llms-txt` from 0.10.0 to 0.11.0
- [Release notes](https://github.com/delucis/starlight-llms-txt/releases)
- [Changelog](https://github.com/delucis/starlight-llms-txt/blob/main/packages/starlight-llms-txt/CHANGELOG.md)
- [Commits](https://github.com/delucis/starlight-llms-txt/commits/starlight-llms-txt@0.11.0/packages/starlight-llms-txt)
Updates `starlight-page-actions` from 0.6.2 to 0.7.0
- [Release notes](https://github.com/dlcastillop/starlight-page-actions/releases)
- [Commits](https://github.com/dlcastillop/starlight-page-actions/commits/v0.7.0/packages/starlight-page-actions)
Updates `@iconify-json/material-icon-theme` from 1.2.68 to 1.2.69
- [Commits](https://github.com/iconify/icon-sets/commits)
Updates `@types/hast` from 3.0.4 to 3.0.5
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/hast)
Updates `@unocss/astro` from 66.6.8 to 66.7.5
- [Release notes](https://github.com/unocss/unocss/releases)
- [Commits](https://github.com/unocss/unocss/commits/v66.7.5/packages-integrations/astro)
Updates `astro-embed` from 0.13.0 to 0.13.1
- [Release notes](https://github.com/delucis/astro-embed/releases)
- [Changelog](https://github.com/delucis/astro-embed/blob/main/packages/astro-embed/CHANGELOG.md)
- [Commits](https://github.com/delucis/astro-embed/commits/astro-embed@0.13.1/packages/astro-embed)
Updates `eslint` from 10.6.0 to 10.7.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v10.6.0...v10.7.0)
Updates `prettier` from 3.9.1 to 3.9.5
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.9.1...3.9.5)
Updates `tsx` from 4.22.4 to 4.23.1
- [Release notes](https://github.com/privatenumber/tsx/releases)
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs)
- [Commits](https://github.com/privatenumber/tsx/compare/v4.22.4...v4.23.1)
Updates `typescript` from 6.0.3 to 7.0.2
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Commits](https://github.com/microsoft/TypeScript/commits)
Updates `typescript-eslint` from 8.62.0 to 8.65.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.65.0/packages/typescript-eslint)
Updates `unocss` from 66.6.8 to 66.7.5
- [Release notes](https://github.com/unocss/unocss/releases)
- [Commits](https://github.com/unocss/unocss/commits/v66.7.5/packages-presets/unocss)
Updates `vitest` from 4.1.9 to 4.1.10
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.10/packages/vitest)
---
updated-dependencies:
- dependency-name: "@astrojs/markdown-remark"
dependency-version: 7.2.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: npm-all
- dependency-name: "@astrojs/mdx"
dependency-version: 7.0.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: npm-all
- dependency-name: "@astrojs/rss"
dependency-version: 4.0.19
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: npm-all
- dependency-name: "@astrojs/starlight"
dependency-version: 0.41.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: npm-all
- dependency-name: "@catppuccin/starlight"
dependency-version: 2.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: npm-all
- dependency-name: "@expressive-code/plugin-collapsible-sections"
dependency-version: 0.44.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: npm-all
- dependency-name: "@expressive-code/plugin-line-numbers"
dependency-version: 0.44.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: npm-all
- dependency-name: "@fontsource-variable/fira-code"
dependency-version: 5.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: npm-all
- dependency-name: "@fontsource-variable/outfit"
dependency-version: 5.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: npm-all
- dependency-name: "@fontsource-variable/rubik"
dependency-version: 5.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: npm-all
- dependency-name: "@fontsource/poppins"
dependency-version: 5.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: npm-all
- dependency-name: asciinema-player
dependency-version: 3.17.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: npm-all
- dependency-name: astro
dependency-version: 7.1.3
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: npm-all
- dependency-name: astro-expressive-code
dependency-version: 0.44.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: npm-all
- dependency-name: satori
dependency-version: 0.28.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: npm-all
- dependency-name: satteri
dependency-version: 0.9.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: npm-all
- dependency-name: sharp
dependency-version: 0.35.3
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: npm-all
- dependency-name: starlight-github-alerts
dependency-version: 0.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: npm-all
- dependency-name: starlight-links-validator
dependency-version: 0.25.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: npm-all
- dependency-name: starlight-llms-txt
dependency-version: 0.11.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: npm-all
- dependency-name: starlight-page-actions
dependency-version: 0.7.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: npm-all
- dependency-name: "@iconify-json/material-icon-theme"
dependency-version: 1.2.69
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-all
- dependency-name: "@types/hast"
dependency-version: 3.0.5
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-all
- dependency-name: "@unocss/astro"
dependency-version: 66.7.5
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: npm-all
- dependency-name: astro-embed
dependency-version: 0.13.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-all
- dependency-name: eslint
dependency-version: 10.7.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: npm-all
- dependency-name: prettier
dependency-version: 3.9.5
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-all
- dependency-name: tsx
dependency-version: 4.23.1
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: npm-all
- dependency-name: typescript
dependency-version: 7.0.2
dependency-type: direct:development
update-type: version-update:semver-major
dependency-group: npm-all
- dependency-name: typescript-eslint
dependency-version: 8.65.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: npm-all
- dependency-name: unocss
dependency-version: 66.7.5
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: npm-all
- dependency-name: vitest
dependency-version: 4.1.10
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: npm-all
...
Signed-off-by: dependabot[bot] <support@github.com>
* fix: revert typescript 7.x to 6.x to restore twoslash/expressive-code compatibility
TypeScript 7.0 ('Corsa') is a native Go rewrite that removes the programmatic
JS API entirely. twoslash accesses ts.ModuleKind.Cjs which is undefined in TS7,
causing ec.config.mjs -> expressive-code-twoslash -> twoslash to crash at build
time with: 'The requested module expressive-code-twoslash does not provide an
export named default' and related CJS/ESM resolution failures.
Fix:
- Revert typescript ^7.0.2 -> ^6.0.3 in package.json
- Update pnpm-lock.yaml: swap integrity hash, version specifier, remove the
@typescript/typescript-* platform-native binaries (TS7-only), and fix all
peer-dep snapshot keys to reference typescript@6.0.3
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
* fix(frontend): skip canonicalizing redirects while prerendering
Astro 7.1 runs middleware while prerendering the .md/.json API and schema endpoints, so the trailing-slash redirects were baked into dist/ as redirect stubs that shadowed the real prerendered markdown/JSON and broke the api-markdown-routes and schema-routes E2E checks. Guard the redirects behind context.isPrerendered so they only apply to on-demand (SSR/dev) requests.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 572347d9-75da-4b54-9a3d-f9589ef4e39b
* fix(security): bump dompurify to 3.4.12 (GHSA-c2j3-45gr-mqc4) and tighten brace-expansion override
- dompurify@<3.4.12: '>=3.4.12' — GHSA-c2j3-45gr-mqc4 (low): bypass in
CUSTOM_ELEMENT_HANDLING, fixed in 3.4.12
- brace-expansion@<5.0.7: '>=5.0.7' — GHSA-3jxr-9vmj-r5cp (high): DoS via
exponential-time expansion, 5.0.7 is the patched version
- postcss@8.5.20 already satisfies GHSA-r28c-9q8g-f849 (<=8.5.17) via existing
override; no change needed
- GHSA-mh99-v99m-4gvg (brace-expansion <=5.0.7): no upstream fix available,
documented as unfixable in canonical PR body
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: David Pine <7679720+IEvangelist@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 572347d9-75da-4b54-9a3d-f9589ef4e39b
* Redact connection-string passwords in generated package docs (#1410)
* Redact connection-string passwords in generated package docs
PackageJsonGenerator copies package XML doc comments verbatim into the frontend
data JSON. Several packages document example connection strings containing a
literal placeholder password (e.g. SqlServer's GetConnectionString returns
"Server=host,port;User ID=sa;Password=password;TrustServerCertificate=true").
These are not real secrets, but the literal Password=<value> token trips 1ES /
CredScan push protection (SEC101/037 SqlLegacyCredentials, VS403654) when the
public repo is mirrored to the internal AzDO remote, blocking the deploy and
deploy-vnext-release branch syncs.
Add DocumentationSanitizer.RedactConnectionStringPasswords, applied to text,
inline-code and code-block doc nodes, which rewrites connection-string
Password=/Pwd= literals to <password>. C# default parameter values
(password = null) are left untouched because the match requires no whitespace
around '='. Regenerate the four affected data files accordingly.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4125af76-bbc2-4532-adee-98add8fdb6b7
* Address PR review: markdown-safe placeholder, cover example nodes, nullable API
- Use "{password}" instead of "<password>". Angle brackets are dropped as raw
HTML when doc nodes render to Markdown (csharp-api-markdown.ts concatenates
text without escaping), which would hide the value in connection-string
examples. "{password}" is also the existing placeholder convention already
used across the generated data (e.g. mysql://{user}:{password}@{host}).
- Sanitize the <example> extraction paths in ExtractDocExample (plain-text
code, description text nodes, and example code) so connection-string
passwords there cannot re-trigger CredScan in future data refreshes.
- Make DocumentationSanitizer.RedactConnectionStringPasswords nullable-aware
(string? in/out) to match its behavior and drop the null-forgiving operator
in tests. Exclude '{'/'}' from the value class to keep redaction idempotent.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4125af76-bbc2-4532-adee-98add8fdb6b7
* Use "Placeholder" redaction token per 1ES recommendation
The connection-string password sanitizer redacted values to `{password}`.
Switch the token to a bare `Placeholder`, which is the value 1ES
recommends for scrubbed credential examples in generated content.
Update the sanitizer unit-test expectations to match, and update the four
affected package data files. The pre-existing `{password}` doc template
tokens in those files (author-written placeholders, not sanitizer output)
are intentionally left unchanged.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8c2fe46b-fcb4-48bf-8c62-5f9d3d7a470e
* fix(PackageJsonGenerator): tighten redaction regex and close doc gaps
Two hardening fixes to the connection-string password redaction added in
this PR.
F1 - the redaction regex over-consumed trailing delimiters. The value
character class only excluded ';', quotes, comma, whitespace, backslash,
and brace/angle markers. A value immediately followed by a markdown or
URI delimiter ('`', ')', ']', '&', '|') swallowed that delimiter into the
match, so an inline-code fence lost its closing backtick and a link label
lost its closing paren, corrupting the rendered doc. The class now also
stops at those delimiters. A trailing sentence period is preserved by
trimming it off the captured value in the replacement callback rather
than excluding '.' from the class, which would truncate legitimate dotted
values.
F4 - two documentation paths reached the generated JSON unsanitized. Enum
member descriptions (Description = ExtractSummary(f)) and <see href="...">
link labels were emitted verbatim, so a connection string in an enum
member's <summary> or a link label bypassed redaction. Both now run
through the sanitizer. This changes no committed data (no such values
exist in the current package set); the fix is preventive.
Also refreshes the sanitizer comment and XML docs to describe the
Placeholder token and the widened exclusion set.
Tests: added markdown/URI delimiter and trailing-period cases to the
sanitizer unit tests, and an end-to-end test asserting an enum member
whose summary contains a connection string is redacted in the generated
JSON. All 31 tests pass.
chore: sanitize placeholder connection strings in generated pkg JSON
**BYPASS_SECRET_SCANNING** — false-positive SEC101/037 placeholder in
generated pkgs/*.json, unblocking the internal mirror for historical
commit 6058fcf. Forward fix regenerates the affected files.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 8c2fe46b-fcb4-48bf-8c62-5f9d3d7a470e
---------
Co-authored-by: David Pine <7679720+IEvangelist@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Ankit Jain <radical@gmail.com>
Copilot-Session: 4125af76-bbc2-4532-adee-98add8fdb6b7
Copilot-Session: 8c2fe46b-fcb4-48bf-8c62-5f9d3d7a470e
* fix: Normalize terminology in sample updates (#1397)
* fix: Normalize terminology in sample updates
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: febf329c-97d8-41aa-bd42-43273bc57fe7
* test: Preserve spacing in terminology updates
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: febf329c-97d8-41aa-bd42-43273bc57fe7
* fix: Handle Markdown wrappers and word boundaries in terminology normalizer
Address review feedback on #1397:
- Require .NET to sit at a non-word boundary so tokens like ASP.NET Aspire and Microsoft.NET Aspire are left intact instead of corrupted into ASPAspire / MicrosoftAspire.
- Consume Markdown emphasis/link openers (**, [) between the article and the term so 'a **.NET Aspire**' and 'a [.NET Aspire](url)' correct the article to 'an'.
- Add regression tests for bold/link article correction and word-boundary cases.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 020561bf-2df6-4f8b-a730-1c72d0f6cc5e
* refactor: Make terminology normalizer data-driven
Replace the hardcoded replace-chain with a small TerminologyRule table so a new deprecated term is a single entry (pattern/replacement/optional article). Article correction, Markdown-wrapper tolerance, and word-boundary guarding are now applied generically per rule.
Also add the 'dotnet aspire' -> 'Aspire' rule that was present in .github/forbidden-words.json but missing from the normalizer, and cover it with tests.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 020561bf-2df6-4f8b-a730-1c72d0f6cc5e
* fix: Bound terminology terms by alphanumeric edges and cover Markdown wrappers
Replaces the per-rule mix of \\b\/\(?<!\w)\ boundaries with uniform alphanumeric edge guards applied centrally, so a rule core can never fuse into a longer token (e.g. \.NET AspireX\) and authors cannot forget a boundary. Underscore and inline-code wrappers now normalize correctly (\_.NET Aspire_\, \\.NET Aspire\\), and the generated-data invariant now covers the \dotnet aspire\ spelling.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 020561bf-2df6-4f8b-a730-1c72d0f6cc5e
* fix: Skip code regions and leave C# untouched in terminology normalizer
The normalizer ran a plain pass over raw Markdown and appHostCode, which could rewrite runnable sample commands (e.g. 'dotnet aspire run' -> 'Aspire run') inside fenced/inline code and corrupt compilable C#. Now fenced blocks and inline code are copied through verbatim, appHostCode is left untouched (it renders as C#, not prose), and the entry point is null-safe. Adds code-skip, mixed prose+code, idempotence, and null tests, and replaces the deprecated-term scan with an idempotence-based invariant.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 020561bf-2df6-4f8b-a730-1c72d0f6cc5e
---------
Co-authored-by: David Pine <7679720+IEvangelist@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: febf329c-97d8-41aa-bd42-43273bc57fe7
Copilot-Session: 020561bf-2df6-4f8b-a730-1c72d0f6cc5e
* Switch cookie consent runtime to WCP API (#1403)
* Switch cookie consent runtime to WCP API
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4182d84d-5dc1-4c74-be09-15995a872350
* Theme WCP consent UI, add scroll-lock, prune obsolete cookie tests
Fully restyle the WCP cookie banner and preferences dialog to match the
Aspire theme via the team-owned wcp-consent.css (our colors, spacing,
WCAG AA contrast, and the brand icon). The dialog now re-themes live when
the user toggles light/dark, and the underlying page is scroll-locked
while the preferences dialog is open.
Remove the last remnants of the old vanilla-cookieconsent integration:
- delete config/cookie.config.ts and the old cookieconsent-custom.css
- drop @jop-software/astro-cookieconsent + vanilla-cookieconsent deps
- remove the 2 obsolete behavioral cookie e2e tests and their dead
helpers; the WCP banner is geo-gated/CDN-loaded and can't be exercised
in CI, so compliance is verified by the WCP scan instead
- rework the integrations-gallery banner suppression to hide the WCP
banner element instead of pre-seeding the removed cc_cookie shape
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 4182d84d-5dc1-4c74-be09-15995a872350
* Hide "Manage cookies" buttons where consent isn't required
WCP reports whether consent is required for the visitor's region. Where it
is not (e.g. the US) there is nothing to manage, so hide the four "Manage
cookies" buttons instead of leaving inert controls on the page.
The WCP runtime sets a data-consent-not-required flag on <html> once it
knows the region; a CSS rule hides .cookie-consent-btn when the flag is
present. The flag is primed from localStorage before paint so returning
visitors in non-required regions don't see the buttons flash in. Defaulting
to visible keeps this failsafe: if WCP is slow or blocked we never hide a
control a required region needs. display:none also makes the site tour
auto-skip its cookie-preferences step, so no tour changes are needed.
Co-authored-by: Copilot App <223556219+Copi…
Documents changes from microsoft/aspire#17924 by
@danegsta.Why this PR is needed
Aspire 13.5 pre-allocates public host ports for dynamic proxyless endpoints before workload resources are created. This makes endpoint properties such as
EndpointProperty.Portavailable during resource configuration, including patterns that pass an endpoint's allocated public port into environment variables.The existing networking-overview page documents proxyless endpoints but does not cover this pre-allocation behavior or the configurable proxyless endpoint port range.
What changed
Updated
src/frontend/src/content/docs/fundamentals/networking-overview.mdxto add a new subsection “Allocate ports for dynamic proxyless endpoints” under the existing### Proxyless endpointssection. The new subsection:portbehavior versus allocation from the proxyless endpoint port range.10000-32767range and theASPIRE_PROXYLESS_ENDPOINT_PORT_RANGEoverride.Files modified
src/frontend/src/content/docs/fundamentals/networking-overview.mdx— updated (new subsection added)> Generated by PR Documentation Check for issue #17851 · sonnet46 3.3M · ◷