Skip to content

Hotfix june-2026: tcgc@0.69.2, rulesets@0.69.2 (cherry-pick #4541) - #4792

Merged
haiyuazhang merged 3 commits into
release/june-2026from
publish/hotfix/tcgc-and-rulesets-june-2026
Jul 1, 2026
Merged

Hotfix june-2026: tcgc@0.69.2, rulesets@0.69.2 (cherry-pick #4541)#4792
haiyuazhang merged 3 commits into
release/june-2026from
publish/hotfix/tcgc-and-rulesets-june-2026

Conversation

@haiyuazhang

Copy link
Copy Markdown
Member

Hotfix patch release cherry-picking #4541 ("Add no-url-suffix linter rule") onto release/june-2026.

Packages

  • @azure-tools/typespec-client-generator-core0.69.2
  • @azure-tools/typespec-azure-rulesets0.69.2

Changes

Notes

  • Targets release/june-2026 (NOT main)
  • Only tcgc + rulesets are affected; the 5 pre-existing pending change files (private website/benchmark packages) are untouched
  • core submodule pointer unchanged
  • Backmerge to main to follow after merge

haiyuazhang and others added 2 commits July 1, 2026 13:30
Closes #4561

Add `dotnet-no-url-suffix` linter rule that flags model properties
ending with `Url` and suggests using `Uri` suffix instead, to follow
.NET SDK naming conventions.

---------

Co-authored-by: Haiyuan Zhang <haiyzhan@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@microsoft-github-policy-service microsoft-github-policy-service Bot added int:azure-specs Run integration tests against azure-rest-api-specs lib:tcgc Issues for @azure-tools/typespec-client-generator-core library meta:website TypeSpec.io updates labels Jul 1, 2026
Comment thread packages/typespec-client-generator-core/CHANGELOG.md Outdated
Comment thread packages/typespec-azure-rulesets/CHANGELOG.md Outdated
@pkg-pr-new

pkg-pr-new Bot commented Jul 1, 2026

Copy link
Copy Markdown

Open in StackBlitz

@azure-tools/typespec-autorest

npm i https://pkg.pr.new/@azure-tools/typespec-autorest@4792

@azure-tools/typespec-azure-resource-manager

npm i https://pkg.pr.new/@azure-tools/typespec-azure-resource-manager@4792

@azure-tools/typespec-azure-rulesets

npm i https://pkg.pr.new/@azure-tools/typespec-azure-rulesets@4792

@azure-tools/typespec-client-generator-core

npm i https://pkg.pr.new/@azure-tools/typespec-client-generator-core@4792

@azure-tools/typespec-ts

npm i https://pkg.pr.new/@azure-tools/typespec-ts@4792

commit: 1a5dd87

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

⚡ Benchmark Results

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

Metric Baseline Current Change
emit 🔴 5.75s 🔴 6.07s +5.5% 🔴
 ↳ emit/@typespec/http-client-js 🔴 1.10s 🔴 1.16s +5.6% 🔴
Full details – comparing 9cffd9b vs baseline 364b924
Metric Baseline Current Change
total 🔴 962.1ms 🔴 634.3ms -34.1% 🟢
loader 🟡 286.1ms 🟢 189.1ms -33.9% 🟢
resolver 🟢 40.2ms 🟢 17.7ms -55.9% 🟢
checker 🟡 346.8ms 🟡 204.1ms -41.1% 🟢
validation 🟢 85.1ms 🟢 42.2ms -50.4% 🟢
 ↳ validation/@azure-tools/typespec-azure-core 🟡 12.0ms 🟢 6.8ms -43.4% 🟢
 ↳ validation/@typespec/http 🟡 14.8ms 🟢 5.6ms -62.2% 🟢
 ↳ validation/@typespec/rest 🟢 1.7ms 🟢 0.6ms -66.2% 🟢
 ↳ validation/@typespec/versioning 🔴 52.6ms 🔴 27.6ms -47.5% 🟢
 ↳ validation/compiler 🟢 3.9ms 🟢 1.3ms -65.2% 🟢
linter 🟡 202.8ms 🟢 141.4ms -30.3% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/auth-required 🟢 0.1ms 🟢 0.0ms -81.7%
 ↳ linter/@azure-tools/typespec-azure-core/bad-record-type 🟢 0.6ms 🟢 0.2ms -64.4%
 ↳ linter/@azure-tools/typespec-azure-core/byos 🟢 8.1ms 🟢 6.0ms -26.3% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/casing-style 🟢 1.4ms 🟢 0.7ms -53.0%
 ↳ linter/@azure-tools/typespec-azure-core/composition-over-inheritance 🟢 0.2ms 🟢 0.1ms -63.4%
 ↳ linter/@azure-tools/typespec-azure-core/documentation-required 🟢 1.9ms 🟢 0.8ms -58.2% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/friendly-name 🟢 1.3ms 🟢 0.6ms -55.8%
 ↳ linter/@azure-tools/typespec-azure-core/key-visibility-required 🟢 0.4ms 🟢 0.2ms -53.0%
 ↳ linter/@azure-tools/typespec-azure-core/known-encoding 🟢 0.4ms 🟢 0.3ms -34.1%
 ↳ linter/@azure-tools/typespec-azure-core/long-running-polling-operation-required 🟢 0.8ms 🟢 0.3ms -60.8%
 ↳ linter/@azure-tools/typespec-azure-core/no-case-mismatch 🟢 0.7ms 🟢 0.2ms -64.8%
 ↳ linter/@azure-tools/typespec-azure-core/no-closed-literal-union 🟢 1.0ms 🟢 0.2ms -75.6%
 ↳ linter/@azure-tools/typespec-azure-core/no-enum 🟢 0.2ms 🟢 0.0ms -81.9%
 ↳ linter/@azure-tools/typespec-azure-core/no-error-status-codes 🟢 0.3ms 🟢 0.1ms -61.7%
 ↳ linter/@azure-tools/typespec-azure-core/no-explicit-routes-resource-ops 🟢 0.2ms 🟢 0.1ms -47.5%
 ↳ linter/@azure-tools/typespec-azure-core/no-format 🟢 0.8ms 🟢 0.6ms -29.7%
 ↳ linter/@azure-tools/typespec-azure-core/no-generic-numeric 🟢 0.8ms 🟢 0.4ms -52.5%
 ↳ linter/@azure-tools/typespec-azure-core/no-header-explode 🔴 24.5ms 🔴 20.3ms -17.2% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-legacy-usage 🟢 1.9ms 🟢 1.1ms -40.4%
 ↳ linter/@azure-tools/typespec-azure-core/no-multiple-discriminator 🟢 0.2ms 🟢 0.1ms -62.8%
 ↳ linter/@azure-tools/typespec-azure-core/no-nullable 🟢 0.4ms 🟢 0.2ms -39.4%
 ↳ linter/@azure-tools/typespec-azure-core/no-offsetdatetime 🟢 1.9ms 🟢 1.2ms -35.3%
 ↳ linter/@azure-tools/typespec-azure-core/no-openapi 🟢 2.3ms 🟢 2.0ms -12.7%
 ↳ linter/@azure-tools/typespec-azure-core/no-private-usage 🟢 3.0ms 🟢 1.9ms -37.6% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-query-explode 🔴 25.5ms 🔴 21.4ms -15.9% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-response-body 🔴 31.8ms 🔴 26.3ms -17.4% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-rest-library-interfaces 🟢 0.1ms 🟢 0.0ms -83.3%
 ↳ linter/@azure-tools/typespec-azure-core/no-route-parameter-name-mismatch 🟢 7.0ms 🟢 5.4ms -22.7% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/no-rpc-path-params 🟢 0.4ms 🟢 0.2ms -44.2%
 ↳ linter/@azure-tools/typespec-azure-core/no-string-discriminator 🟢 0.1ms 🟢 0.0ms -67.3%
 ↳ linter/@azure-tools/typespec-azure-core/no-unknown 🟢 0.3ms 🟢 0.2ms -36.4%
 ↳ linter/@azure-tools/typespec-azure-core/no-unnamed-union 🟢 0.8ms 🟢 0.3ms -55.5%
 ↳ linter/@azure-tools/typespec-azure-core/operation-missing-api-version 🟢 0.4ms 🟢 0.2ms -58.4%
 ↳ linter/@azure-tools/typespec-azure-core/request-body-problem 🟢 0.5ms 🟢 0.3ms -36.6%
 ↳ linter/@azure-tools/typespec-azure-core/require-versioned 🟢 0.1ms 🟢 0.0ms -89.4%
 ↳ linter/@azure-tools/typespec-azure-core/response-schema-problem 🔴 30.5ms 🔴 23.7ms -22.3% 🟢
 ↳ linter/@azure-tools/typespec-azure-core/rpc-operation-request-body 🟢 0.7ms 🟢 0.3ms -48.9%
 ↳ linter/@azure-tools/typespec-azure-core/spread-discriminated-model 🟢 0.4ms 🟢 0.3ms -37.4%
 ↳ linter/@azure-tools/typespec-azure-core/use-standard-names 🟢 7.0ms 🟢 6.1ms -12.3%
 ↳ linter/@azure-tools/typespec-azure-core/use-standard-operations 🟢 0.3ms 🟢 0.1ms -50.5%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-agent-base-type-child-resources 🔴 22.4ms 🟢 4.2ms -81.1% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-agent-base-type-lifecycle-operations 🟢 0.2ms 🟢 0.0ms -97.0%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-common-types-version 🟡 11.4ms 🟢 4.3ms -62.6% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key 🟢 0.2ms 🟢 0.1ms -53.2%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage 🟢 0.1ms 🟢 0.1ms -44.5%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes 🟢 6.0ms 🟢 1.1ms -81.1% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-no-path-casing-conflicts 🟡 16.6ms 🟢 4.4ms -73.6% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-no-record 🟢 0.6ms 🟢 0.4ms -40.0%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes 🟢 1.3ms 🟢 0.5ms -61.6%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes 🟢 0.2ms 🟢 0.0ms -91.5%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-action-no-segment 🟢 0.4ms 🟢 0.2ms -40.7%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-duplicate-property 🟢 0.3ms 🟢 0.1ms -65.6%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator 🟢 0.1ms 🟢 0.0ms -86.7%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-action-verb 🟢 0.2ms 🟢 0.1ms -49.1%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property 🟢 0.2ms 🟢 0.1ms -61.9%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-version-format 🟢 0.2ms 🟢 0.0ms -80.9%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-key-invalid-chars 🟢 0.4ms 🟢 0.3ms -38.9%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-name-pattern 🟢 0.1ms 🟢 0.0ms -92.5%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-operation 🟢 0.5ms 🟢 0.2ms -69.3%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-operation-response 🟢 8.3ms 🟢 5.1ms -38.7% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-patch 🟢 0.8ms 🟢 0.3ms -63.0%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-path-segment-invalid-chars 🟢 0.4ms 🟢 0.2ms -43.7%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state 🟢 0.4ms 🟢 0.1ms -75.1%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/beyond-nesting-levels 🟢 0.2ms 🟢 0.1ms -56.4%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/empty-updateable-properties 🟢 0.4ms 🟢 0.2ms -59.5%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/improper-subscription-list-operation 🟢 0.1ms 🟢 0.0ms -95.3%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/lro-location-header 🟡 17.6ms 🟡 15.1ms -13.8% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint 🟢 0.1ms 🟢 0.0ms -84.0%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers 🟢 1.0ms 🟢 0.3ms -71.2%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/no-empty-model 🟢 0.2ms 🟢 0.1ms -44.5%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/no-override-props 🟢 0.3ms 🟢 0.1ms -78.4%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation 🟢 0.4ms 🟢 0.2ms -47.0%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/no-response-body 🔴 26.9ms 🔴 21.8ms -19.0% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/patch-envelope 🟢 0.4ms 🟢 0.2ms -59.2%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/resource-name 🟢 0.4ms 🟢 0.2ms -63.4%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/secret-prop 🟢 5.4ms 🟢 2.2ms -59.9% 🟢
 ↳ linter/@azure-tools/typespec-azure-resource-manager/unsupported-type 🟢 0.7ms 🟢 0.4ms -40.7%
 ↳ linter/@azure-tools/typespec-azure-resource-manager/version-progression 🟢 0.3ms 🟢 0.0ms -90.6%
 ↳ linter/@azure-tools/typespec-client-generator-core/property-name-conflict 🟢 2.3ms 🟢 1.1ms -51.6% 🟢
 ↳ linter/@azure-tools/typespec-client-generator-core/require-client-suffix 🟢 1.6ms 🟢 0.2ms -90.0% 🟢
emit 🔴 5.75s 🔴 6.07s +5.5% 🔴
 ↳ emit/@azure-tools/typespec-autorest 🟡 241.3ms 🟢 170.1ms -29.5% 🟢
 ↳ emit/@azure-tools/typespec-python 🔴 4.27s 🔴 4.47s +4.8%
 ↳ emit/@typespec/http-client-js 🔴 1.10s 🔴 1.16s +5.6% 🔴
 ↳ emit/@typespec/openapi3 🟡 207.2ms 🟢 154.0ms -25.7% 🟢
 ↳ emit/@typespec/openapi3/compute 🟢 179.5ms 🟢 134.1ms -25.3% 🟢
 ↳ emit/@typespec/openapi3/write 🟢 27.1ms 🟢 20.0ms -26.0% 🟢

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-automation

Copy link
Copy Markdown
Contributor

You can try these changes here

🛝 Playground 🌐 Website

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@haiyuazhang
haiyuazhang merged commit ebfbdae into release/june-2026 Jul 1, 2026
26 of 27 checks passed
@haiyuazhang
haiyuazhang deleted the publish/hotfix/tcgc-and-rulesets-june-2026 branch July 1, 2026 06:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

int:azure-specs Run integration tests against azure-rest-api-specs lib:tcgc Issues for @azure-tools/typespec-client-generator-core library meta:website TypeSpec.io updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants