Update C# client emitter TCGC dependency to 0.71.2 - #11748
Update C# client emitter TCGC dependency to 0.71.2#11748Dapeng Zhang (ArcturusZhang) wants to merge 2 commits into
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Updates the C# client emitter to TCGC 0.71.2 and adapts affected test fixtures.
Changes:
- Updates TCGC dependency ranges and lockfile.
- Scopes
@convenientAPIfixtures to C#. - Adds a Chronus dependency entry.
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
packages/http-client-csharp/package.json |
Updates TCGC dependency constraints. |
packages/http-client-csharp/package-lock.json |
Locks TCGC 0.71.2. |
packages/http-client-csharp/emitter/test/Unit/usage.test.ts |
Scopes convenience API fixtures to C#. |
packages/http-client-csharp/emitter/test/Unit/operation-paging.test.ts |
Scopes paging fixtures to C#. |
.chronus/changes/deps-csharp-tcgc-0.71.2-2026-08-24.md |
Records the dependency update. |
Files not reviewed (1)
- packages/http-client-csharp/package-lock.json: Generated file
Suppressed comments (2)
packages/http-client-csharp/emitter/test/Unit/usage.test.ts:636
@protocolAPI(false)is still unscoped at lines 617 and 623 in this same TCGC fixture. In 0.71.2,decorator-requires-scopeapplies to@protocolAPIas well as@convenientAPI, so this compile still emits validation diagnostics even though these adjacent convenience decorators are scoped. Please change both calls to@protocolAPI(false, "csharp").
@convenientAPI(false, "csharp")
packages/http-client-csharp/package.json:75
- The C# generator fixtures are not covered by this scoping update:
generator/TestProjects/Local/Sample-TypeSpec/Sample-TypeSpec.tspandgenerator/TestProjects/Plugin/Sample-TypeSpec/Sample-TypeSpec.tspstill contain unscoped@convenientAPI(true/false)calls (and unscoped@protocolAPI(false)). TCGC 0.71.2 requires these decorators to carry the"csharp"scope, so the generator inputs still producedecorator-requires-scopediagnostics. Please update those fixtures before accepting the dependency bump.
"@azure-tools/typespec-client-generator-core": "0.71.2",
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
You can try these changes here
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
There is a PR out for this here #11739 |
commit: |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 6 changed files in this pull request and generated 2 comments.
Files not reviewed (1)
- packages/http-client-csharp/package-lock.json: Generated file
Suppressed comments (2)
Previously missed (1) — in code that hasn't changed since the last review.
packages/http-client-csharp/readme.md:60
- The package-local
docs/emitter.mdstill describesapi-versionas only astringand omits multi-service/nested namespace selection, so this update leaves the package references contradictory to this README and the generated website page. Please update that reference alongside the new schema documentation.
Use this flag if you would like to generate the sdk only for a specific version. Default value is the latest version. Also accepts values `latest` and `all`. For multi-service packages, provide a map from each service namespace to its desired version. Nested namespaces must be represented as nested objects in `tspconfig.yaml`; services not listed default to their latest version.
packages/http-client-csharp/readme.md:60
- The generated contract now documents nested namespace objects, but the exported
CSharpEmitterOptionsstill typesapi-versionasstring | Record<string, string>(emitter/src/options.ts:12). A TypeScript consumer cannot pass the documented nested form without a cast, so the public type diverges from the runtime schema. Update this to a recursive map type and cover the shape in the options test.
Use this flag if you would like to generate the sdk only for a specific version. Default value is the latest version. Also accepts values `latest` and `all`. For multi-service packages, provide a map from each service namespace to its desired version. Nested namespaces must be represented as nested objects in `tspconfig.yaml`; services not listed default to their latest version.
| "@azure-tools/azure-http-specs": "0.1.0-alpha.44", | ||
| "@azure-tools/typespec-azure-core": "0.71.0", | ||
| "@azure-tools/typespec-client-generator-core": "0.71.1", | ||
| "@azure-tools/typespec-client-generator-core": "0.71.2", |
| **Type:** `string | object` | ||
|
|
||
| Use this flag if you would like to generate the sdk only for a specific version. Default value is the latest version. Also accepts values `latest` and `all`. For multi-service packages, provide a map from each service namespace's full name to its desired version; services not listed default to their latest version. | ||
| Use this flag if you would like to generate the sdk only for a specific version. Default value is the latest version. Also accepts values `latest` and `all`. For multi-service packages, provide a map from each service namespace to its desired version. Nested namespaces must be represented as nested objects in `tspconfig.yaml`; services not listed default to their latest version. |
|
No changes needing a change description found. |
|
Closing this in favor of #11739 |
Summary
@convenientAPItest fixtures to C# for the new TCGC validationValidation
npm installnpm run gen-extern-signaturenpm run regen-docseng/scripts/Generate.ps1npm run buildnpm run test:emitter(239 passed, 2 skipped)npm run test:generatornpm run coppnpm chronus verify