Skip to content

[Automated][tcgc] Document server URL template parameter API version detection#4416

Open
tadelesh wants to merge 2 commits into
mainfrom
docs/tcgc-server-url-template-api-version-ccd01dc35cf23412
Open

[Automated][tcgc] Document server URL template parameter API version detection#4416
tadelesh wants to merge 2 commits into
mainfrom
docs/tcgc-server-url-template-api-version-ccd01dc35cf23412

Conversation

@tadelesh
Copy link
Copy Markdown
Member

Update versioning docs to explain that name-based API version detection applies to both HTTP metadata parameters and server URL template parameters declared in @server. This documents the fix from PR #4341 regression where server URL template params named apiVersion/api-version were not recognized.

Also update knowledge base with lessons from PR #4398 feedback.

Resolve: #4404

Update versioning docs to explain that name-based API version detection
applies to both HTTP metadata parameters and server URL template
parameters declared in @server. This documents the fix from PR #4341
regression where server URL template params named apiVersion/api-version
were not recognized.

Also update knowledge base with lessons from PR #4398 feedback.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor

⚡ Benchmark Results

⚠️ 2 metric(s) regressed above the +5% threshold:

Metric Baseline Current Change
 ↳ validation/@typespec/rest 🟢 0.4ms 🟢 0.5ms +10.8% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes 🟢 0.0ms 🟢 0.0ms +17.5% 🔴
Full details – comparing d118666 vs baseline 0f02931
Metric Baseline Current Change
total 🔴 768.5ms 🔴 565.0ms -26.5% 🟢
loader 🟢 156.8ms 🟢 105.8ms -32.5% 🟢
resolver 🟢 15.5ms 🟢 13.0ms -15.9% 🟢
checker 🟢 179.2ms 🟢 130.2ms -27.3% 🟢
validation 🟢 39.6ms 🟢 31.7ms -19.9% 🟢
 ↳ validation/@azure-tools/typespec-azure-core 🟢 6.2ms 🟢 4.3ms -29.8% 🟢
 ↳ validation/@typespec/http 🟢 5.2ms 🟢 3.9ms -24.8% 🟢
 ↳ validation/@typespec/rest 🟢 0.4ms 🟢 0.5ms +10.8% 🔴
 ↳ validation/@typespec/versioning 🔴 25.7ms 🔴 21.2ms -17.7% 🟢
 ↳ validation/compiler 🟢 1.3ms 🟢 1.2ms -6.5% 🟢
linter 🟢 131.5ms 🟢 92.7ms -29.5% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/auth-required 🟢 0.0ms 🟢 0.0ms -16.5% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/bad-record-type 🟢 0.2ms 🟢 0.1ms -14.3% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/byos 🟢 5.5ms 🟢 3.9ms -28.1% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/casing-style 🟢 0.5ms 🟢 0.4ms -22.2% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/composition-over-inheritance 🟢 0.0ms 🟢 0.0ms -11.4% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/documentation-required 🟢 0.7ms 🟢 0.6ms -19.5% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/friendly-name 🟢 0.6ms 🟢 0.4ms -22.0% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/key-visibility-required 🟢 0.1ms 🟢 0.1ms -17.6% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/known-encoding 🟢 0.2ms 🟢 0.2ms -29.5% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/long-running-polling-operation-required 🟢 0.3ms 🟢 0.2ms -24.9% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-case-mismatch 🟢 0.2ms 🟢 0.2ms -19.9% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-closed-literal-union 🟢 0.2ms 🟢 0.2ms -18.0% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-enum 🟢 0.0ms 🟢 0.0ms -18.9% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-error-status-codes 🟢 0.1ms 🟢 0.1ms -20.4% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-explicit-routes-resource-ops 🟢 0.1ms 🟢 0.1ms -19.4% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-format 🟢 0.4ms 🟢 0.3ms -25.6% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-generic-numeric 🟢 0.3ms 🟢 0.3ms -11.2% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-header-explode 🟡 19.3ms 🟡 13.0ms -32.4% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-legacy-usage 🟢 1.0ms 🟢 0.8ms -21.0% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-multiple-discriminator 🟢 0.1ms 🟢 0.0ms -21.7% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-nullable 🟢 0.2ms 🟢 0.2ms -20.7% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-offsetdatetime 🟢 1.2ms 🟢 0.9ms -24.6% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-openapi 🟢 1.7ms 🟢 1.5ms -14.7% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-private-usage 🟢 1.6ms 🟢 1.3ms -19.0% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-query-explode 🟡 19.4ms 🟡 13.3ms -31.6% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-response-body 🔴 23.3ms 🟡 16.6ms -28.6% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-rest-library-interfaces 🟢 0.0ms 🟢 0.0ms +1.3%
 ↳ linter/@azure-tools/typespec-azure-core/no-route-parameter-name-mismatch 🟢 5.3ms 🟢 3.7ms -30.4% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-rpc-path-params 🟢 0.2ms 🟢 0.1ms -32.3% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-string-discriminator 🟢 0.0ms 🟢 0.0ms -21.0% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-unknown 🟢 0.2ms 🟢 0.1ms -30.2% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-unnamed-union 🟢 0.3ms 🟢 0.2ms -15.6% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/operation-missing-api-version 🟢 0.1ms 🟢 0.1ms -13.2% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/request-body-problem 🟢 0.2ms 🟢 0.2ms -18.1% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/require-versioned 🟢 0.0ms 🟢 0.0ms -3.3%
 ↳ linter/@azure-tools/typespec-azure-core/response-schema-problem 🔴 22.7ms 🟡 15.0ms -34.0% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/rpc-operation-request-body 🟢 0.3ms 🟢 0.2ms -32.2% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/spread-discriminated-model 🟢 0.2ms 🟢 0.2ms -20.3% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/use-standard-names 🟢 5.4ms 🟢 3.4ms -37.9% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/use-standard-operations 🟢 0.1ms 🟢 0.1ms -27.6% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-common-types-version 🟢 4.1ms 🟢 2.8ms -30.2% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key 🟢 0.1ms 🟢 0.1ms -37.8% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage 🟢 0.1ms 🟢 0.0ms -25.2% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes 🟢 5.3ms 🟢 3.8ms -29.3% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-no-path-casing-conflicts 🟢 4.4ms 🟢 3.1ms -28.7% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-no-record 🟢 0.3ms 🟢 0.3ms -18.5% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes 🟢 0.5ms 🟢 0.3ms -36.5% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes 🟢 0.0ms 🟢 0.0ms +17.5% 🔴
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-action-no-segment 🟢 0.2ms 🟢 0.2ms -26.0% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-duplicate-property 🟢 0.1ms 🟢 0.1ms -33.1% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator 🟢 0.0ms 🟢 0.0ms -3.6%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-action-verb 🟢 0.1ms 🟢 0.1ms -25.0% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property 🟢 0.1ms 🟢 0.1ms -31.4% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-version-format 🟢 0.0ms 🟢 0.0ms -17.6% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-key-invalid-chars 🟢 0.2ms 🟢 0.2ms -28.3% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-name-pattern 🟢 0.0ms 🟢 0.0ms -8.3% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-operation 🟢 0.1ms 🟢 0.1ms -13.2% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-operation-response 🟢 4.7ms 🟢 3.6ms -22.8% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-patch 🟢 0.3ms 🟢 0.2ms -27.9% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-path-segment-invalid-chars 🟢 0.2ms 🟢 0.1ms -28.3% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state 🟢 0.1ms 🟢 0.1ms -20.8% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/beyond-nesting-levels 🟢 0.1ms 🟢 0.1ms -23.9% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/empty-updateable-properties 🟢 0.1ms 🟢 0.1ms -24.8% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/improper-subscription-list-operation 🟢 0.0ms 🟢 0.0ms +0.7%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/lro-location-header 🟡 14.3ms 🟡 10.3ms -28.0% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint 🟢 0.0ms 🟢 0.0ms -11.9% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers 🟢 0.3ms 🟢 0.2ms -18.1% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/no-empty-model 🟢 0.1ms 🟢 0.1ms -22.5% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation 🟢 0.2ms 🟢 0.1ms -36.7% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/no-response-body 🔴 22.0ms 🟡 14.8ms -32.8% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/patch-envelope 🟢 0.1ms 🟢 0.1ms -32.8% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/resource-name 🟢 0.1ms 🟢 0.1ms -34.6% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/secret-prop 🟢 1.9ms 🟢 1.8ms -4.5%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/unsupported-type 🟢 0.4ms 🟢 0.3ms -31.3% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/version-progression 🟢 0.0ms 🟢 0.0ms -19.8% 🟢
 ↳ linter/@azure-tools/typespec-client-generator-core/property-name-conflict 🟢 1.0ms 🟢 0.8ms -27.7% 🟢
 ↳ linter/@azure-tools/typespec-client-generator-core/require-client-suffix 🟢 0.2ms 🟢 0.2ms -3.3%
emit 🟡 243.1ms 🟢 186.8ms -23.1% 🟢
 ↳ emit/@azure-tools/typespec-autorest 🟢 152.2ms 🟢 116.3ms -23.6% 🟢
 ↳ emit/@typespec/openapi3 🟢 134.6ms 🟢 104.5ms -22.3% 🟢
 ↳ emit/@typespec/openapi3/compute 🟢 120.6ms 🟢 93.6ms -22.4% 🟢
 ↳ emit/@typespec/openapi3/write 🟢 14.0ms 🟢 10.8ms -22.4% 🟢

Averaged across 3 specs (azure-arm-resource-manager, azure-core-dataplane, azure-full).
Threshold: changes > ±5% are highlighted.
🟢 Fast · 🟡 Moderate (stages >200ms, rules >10ms) · 🔴 Slow (stages >400ms, rules >20ms)

@azure-sdk
Copy link
Copy Markdown
Collaborator

No changes needing a change description found.

@tadelesh
Copy link
Copy Markdown
Member Author

@copilot format the change.

Agent-Logs-Url: https://github.com/Azure/typespec-azure/sessions/673960bd-3955-4b13-9781-416609bcb8f2

Co-authored-by: tadelesh <1726438+tadelesh@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI commented May 13, 2026

@copilot format the change.

Done. Formatted the changes with prettier in e162451.

@azure-sdk
Copy link
Copy Markdown
Collaborator

azure-sdk commented May 13, 2026

You can try these changes here

🛝 Playground 🌐 Website

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

eng meta:website TypeSpec.io updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Automated][tcgc] Document server URL template parameter API version detection

4 participants