Skip to content

[release/17.0] Prepare VS Code extension release v1.25.0 - #22010

Closed
Mitch Denny (mitchdenny) wants to merge 1 commit into
mitchdenny-backport-17-0-12-pr21565from
mitchdenny-backport-17-0-13-pr21763
Closed

Mitch Denny (mitchdenny) wants to merge 1 commit into
mitchdenny-backport-17-0-12-pr21565from
mitchdenny-backport-17-0-13-pr21763

Conversation

@mitchdenny

Copy link
Copy Markdown
Member

Description

Backport of #21763 to release/17.0 (cherry-picked from 363db70 with no modifications). Layer 13 of 55 in the release/17.0 backport stack; stacked on #22009.

Backport recommendation: No — Extension release from main.

Backport of #21763

Checklist

  • Is this feature complete?
    • Yes. Ready to ship.
    • No. Follow-up changes expected.
  • Are you including unit tests for the changes and scenario tests if relevant?
    • Yes
    • No
  • Did you add public API?
    • Yes
      • If yes, did you have an API Review for it?
        • Yes
        • No
      • Did you add <remarks /> and <code /> elements on your triple slash comments?
        • Yes
        • No
    • No
  • Does the change make any security assumptions or guarantees?
    • Yes
      • If yes, have you done a threat model and had a security review?
        • Yes
        • No
    • No

## VS Code Extension Release v1.25.0

**Version bump:** 1.24.0 → 1.25.0
**Commit range:**
[`92a66a5`](https://github.com/microsoft/aspire/commit/92a66a541b19c5b6347d551ab76053177b7b1217)..[`52afb3a`](https://github.com/microsoft/aspire/commit/52afb3acb7ad2af5529804361e9b8ffcd1b9d3d3)
**Baseline:** VS Code Marketplace v1.24.0 (from the shipped VSIX
`extension/.version`)

### Proposed release notes (deterministic fallback)

The `extension-changelog` agentic workflow generates the final, polished
`extension/CHANGELOG.md` entry and replaces the placeholder on this
branch. The commit-derived list below is the human-reviewable fallback —
if the agent does not run, paste it into `extension/CHANGELOG.md` before
merging.

### Changes (auto-generated from commits)
- Add Go AppHost editor support and debugger readiness coverage
- Remove the Go AppHost experimental feature flag
- Give the Deno AppHost inspector attach the AppHost startup budget
- Add Windows CI resource telemetry to test and extension E2E jobs
- Wait for resource lifecycle command outcomes instead of the 10s E2E
control apply timeout
- Wait for C# project initialization before coordinated-build E2E
fixtures
- Honor nested AppHost launch profiles without the C# extension
- Hold storage-diagnostics test locks in-process instead of via
PowerShell
- Support configurable named integration sources
- Wait for the settings command outcome instead of the 10s E2E control
apply timeout
- Address component governance alerts
- Fail fast when a VS Code E2E AppHost debug session ends before startup
- Gate the shared ps refresh in the apphost-tree loading E2E test
- Accept natural ps leader exit racing a failed Windows taskkill (Fixes
#20869)
- Support configurable named skill sources
- Wait for resources to respond before attaching in resource debug E2E
- Fix flaky VS Code storage diagnostics lock tests killed by the holder
timeout
- Deprecate AddProject and complete Project V2 migration
- Wait for breakpoint removal before detaching in resource debug attach
proof
- Stop persisting ambient NuGet policy into AppHost configs
- Launch and debug Go AppHosts from the VS Code extension
- Harden VS Code dashboard debug browser launch
- Add VS Code resource debugging for .NET and Go
- Fix Azure Functions Node debugger E2E startup race
- Catch up localizations from OneLoc build 20261027.3
- Prevent extension E2E fan-out when VSIX packaging fails
- Fix stale AppHost telemetry context in the VS Code extension
- Guard native Blazor WASM debugging against abandoned connections
- Add opt-in AppHost Server v2 to the CLI bundle
- Fix VS Code CLI update warning version display
- Select CLI terminal replicas by resource instance ID
- Add VS Code debugging for Node Azure Functions
- Deprecate Aspire.AppHost.Sdk (ASPIRE012)
- Fix VS Code extension re-adding nonexistent configured AppHost path
- Add polyglot hosting integrations through ATS projection
- Fix VS Code AppHost watcher lifecycle and duplicate startup RPCs
- Migrate Dashboard product telemetry and add CLI Azure Monitor log
export
- Graduate core pipeline APIs to stable

### Release instructions

1. Confirm `extension/CHANGELOG.md` is specific, user-facing, and free
of internal-only changes. The `extension-changelog` agentic workflow
replaces the placeholder entry with generated notes shortly after this
PR is opened; if the placeholder is still present, fill it in from the
deterministic fallback above before merging.
2. Get a signed Azure DevOps `microsoft-aspire` source build of the
merge commit that published the `aspire-vscode-extension` artifact with
exactly one `.vsix`, matching `.manifest`, and matching
`.signature.p7s`:
- **Stable release:** use the build that runs automatically on merge —
it packages the extension as a stable (non-pre-release) VSIX.
- **Pre-release:** the automatic merge build is stable-only, so manually
queue the
[`microsoft-aspire`](https://dev.azure.com/dnceng/internal/_build?definitionId=1602)
pipeline on the merge commit with `Package VS Code Extension as
Pre-Release=true`, then use that build instead. The publish job fails if
the VSIX pre-release flag does not match `IsPrerelease`.
3. Run Azure DevOps pipeline
[`release-publish-nuget`](https://dev.azure.com/dnceng/internal/_build?definitionId=1600&_a=summary)
and select that build under **Resources** → `aspire-build`.
4. For an extension-only release, use these parameters:

   | Parameter | Value |
   |-----------|-------|
   | `ReleaseVersion` | `auto` |
| `IsPrerelease` | `false` for a stable release, `true` for a
pre-release |
   | `DryRun` | `false` |
   | `SkipNuGetPublish` | `true` |
   | `SkipNpmRidPublish` | `true` |
   | `SkipNpmPointerPublish` | `true` |
   | `SkipChannelPromotion` | `true` |
   | `SkipWinGetPublish` | `true` |
   | `SkipGitHubTasks` | `true` |
   | `SkipReleaseAssets` | `true` |
   | `SkipNixPackageUpdate` | `true` |
   | `SkipVSCodeExtensionPublish` | `false` |

5. For a full Aspire release, keep the normal NuGet/channel/GitHub task
settings and additionally set `SkipVSCodeExtensionPublish=false`. For a
pre-release extension, also use a source build queued with `Package VS
Code Extension as Pre-Release=true` and set `IsPrerelease=true`.
6. To validate without publishing, run the same pipeline with
`DryRun=true` and `SkipVSCodeExtensionPublish=false`; the release job
validates the VSIX/manifest/signature triplet and verifies the
Marketplace service connection can acquire an Azure credential and read
publisher role assignments, but skips `vsce publish`. Separately confirm
the service connection identity is a Contributor on the
`microsoft-aspire` Marketplace publisher before live publishing.

> **Note:** This preparation workflow can also be tested from a fork
with `dry_run=true`. Dry-run mode resolves the Marketplace baseline,
generates the changelog entry, uploads the proposed files as a workflow
artifact, and skips bot-token branch/PR creation.

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@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: Ella Hathaway <ellahathaway@microsoft.com>
(cherry picked from commit 363db70)
@github-actions

github-actions Bot commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

Tests selector

0 / 101 PR test projects · 2 PR jobs, from 1 changed file.

Selected PR test projects (0 / 101)

none — no PR-gated .NET test projects run for this change.

Selected PR jobs (2)

extension-e2e, extension-unit


How these were chosen — grouped by what changed

Job reasons

Job Triggered by
extension-e2e extension/package.json
extension-unit extension/package.json

Selection computed for commit c403a8b.

@mitchdenny
Mitch Denny (mitchdenny) force-pushed the mitchdenny-backport-17-0-13-pr21763 branch 2 times, most recently from 4cbcf12 to c403a8b Compare November 10, 2026 04:23
@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

@github-actions

Copy link
Copy Markdown
Contributor

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 22010

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 22010"

@github-actions

Copy link
Copy Markdown
Contributor

Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt.

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.

1 participant