[release/13.5] Preserve TypeSystem compatibility with older CLIs - #19524
Conversation
Fixes: microsoft#19503 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 19524Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 19524" |
There was a problem hiding this comment.
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
|
Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt. |
|
Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt. |
|
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. |
aa5a2ac
into
microsoft:release/13.5
| legacyRuntimeSpec, | ||
| "NODE_EXTRA_CA_CERTS"); | ||
|
|
||
| Assert.NotNull(legacyRuntimeSpec); |
There was a problem hiding this comment.
What is this test actually verifying? That it doesn't throw an exception?
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.Testspassed 100/100 onrelease/13.5. The source PR also validated physical CLI 13.4.6 and current CLI scenarios, confirming older CLIs omitNODE_EXTRA_CA_CERTSwhile 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.5does not contain theCommandSpec.UpToDateCheckfeature.Regression?
Yes — introduced in 13.5 by #19365.