Skip to content

[release/13.5] Preserve TypeSystem compatibility with older CLIs - #19524

Merged
Jose Perez Rodriguez (joperezr) merged 1 commit into
microsoft:release/13.5from
adamint:adamint-backport-pr-19506
Aug 20, 2026
Merged

[release/13.5] Preserve TypeSystem compatibility with older CLIs#19524
Jose Perez Rodriguez (joperezr) merged 1 commit into
microsoft:release/13.5from
adamint:adamint-backport-pr-19506

Conversation

@adamint

Copy link
Copy Markdown
Member

Backport of #19506 to release/13.5

/cc Jose Perez Rodriguez (@joperezr)

Customer Impact

TypeScript AppHosts using the 13.5 SDK/codegen fail to start under CLI 13.4.6 with a MissingMethodException, even though this CLI/SDK version skew is intended to remain compatible.

Testing

Aspire.Hosting.CodeGeneration.TypeScript.Tests passed 100/100 on release/13.5. The source PR also validated physical CLI 13.4.6 and current CLI scenarios, confirming older CLIs omit NODE_EXTRA_CA_CERTS while current CLIs still populate it.

Risk

Low. The change is localized to capability-probing one additive TypeSystem property; current CLIs retain existing behavior and older CLIs skip only the unsupported certificate metadata. The source PR's Java follow-up is not applicable because release/13.5 does not contain the CommandSpec.UpToDateCheck feature.

Regression?

Yes — introduced in 13.5 by #19365.

Fixes: microsoft#19503

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings August 20, 2026 02:24
@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 -- 19524

Or

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

@github-actions github-actions Bot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Aug 20, 2026

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.

Pull request overview

Backports the TypeSystem compatibility fix so TypeScript AppHosts using SDK 13.5 can run with CLI 13.4.6.

Changes:

  • Capability-probes certificate metadata before setting it.
  • Adds regression coverage for legacy runtime contracts.
  • Documents additive-member compatibility requirements.
Show a summary per file
File Description
TypeScriptLanguageSupportTests.cs Tests legacy contract handling.
Aspire.TypeSystem.csproj Documents compatibility constraints.
TypeScriptLanguageSupport.cs Sets certificate metadata conditionally.

Review details

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

  • Files reviewed: 3/3 changed files
  • Comments generated: 0
  • Review effort level: Balanced

@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

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

@joperezr

Jose Perez Rodriguez (joperezr) commented Aug 20, 2026

Copy link
Copy Markdown
Member

Failures are unrelated, they are caused because we are still producing 13.5.0 versions which are already released. I have fixed that by bumping the patch in a different PR. Merging this.

@joperezr
Jose Perez Rodriguez (joperezr) merged commit aa5a2ac into microsoft:release/13.5 Aug 20, 2026
1675 of 1695 checks passed
@microsoft-github-policy-service microsoft-github-policy-service Bot added this to the 13.5 milestone Aug 20, 2026
legacyRuntimeSpec,
"NODE_EXTRA_CA_CERTS");

Assert.NotNull(legacyRuntimeSpec);

@eerhardt Eric Erhardt (eerhardt) Aug 20, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

What is this test actually verifying? That it doesn't throw an exception?

This was referenced Aug 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants