[AutoPR @azure-arm-selfhelp]-generated-from-SDK Generation - JS-6361907#38712
Conversation
…elp/tspconfig.yaml', API Version: 2024-03-01-preview, SDK Release Type: beta, and CommitSHA: '6ace746acb1d79c3da7700a767fa2de77883e952' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6361907 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.
…elp/tspconfig.yaml', API Version: 2024-03-01-preview, SDK Release Type: beta, and CommitSHA: '3777e08b3bbee8bbaa26947169788dbdc4dd3a2a' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6363493 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.
Next Steps to MergeOnly failed checks and required actions are listed below.
|
There was a problem hiding this comment.
No API design issues found. The @azure/arm-selfhelp 2.0.0-beta.7 PR passes all guideline checks: package version is consistent across package.json, helpRPContext.ts, and CHANGELOG.md; the CHANGELOG compares against stable 1.0.0 (no alpha version references); the public API surface has no naming issues (_N suffix, AutoGenerated, _ prefix), no problematic unknown types, and void returns are only on action operations. Breaking changes are properly documented in CHANGELOG.md.
📊 Structured Report
{"agent":"mgmt-reviewer","pr":38712,"summary":"clean","findings":[]}⚡ Benchmarked by Management Release Assistant
|
Note This analysis was generated by AI. Please review the classifications and root causes for accuracy. Breaking Change Analysis:
|
| Old SDK (main) | New SDK (PR) | |
|---|---|---|
| Generator | Swagger / AutoRest | TypeSpec / emitter |
| API Version | 2023-06-01 | 2024-03-01-preview |
| Package Version | 1.0.0 | 2.0.0-beta.7 |
Spec References:
- Original Swagger (Layer A): help.json @
0724e72 - TypeSpec config: tspconfig.yaml @
6ace746 - Pre-TypeSpec Swagger (Layer B): help.json @
2d710d2
Type 1: API Version Upgrade (2023-06-01 -> 2024-03-01-preview) -- 9 items
| # | Breaking Change | Root Cause |
|---|---|---|
| 1 | Removed operation Diagnostics.checkNameAvailability |
Operation moved to its own operation group. Layer A operationId Diagnostics_CheckNameAvailability became CheckNameAvailability_CheckAvailability in Layer B. New SDK exposes it via CheckNameAvailabilityOperations. |
| 2 | Operation DiscoverySolution.list has a new signature |
(1) scope parameter removed: Layer A path is /{scope}/providers/.../discoverySolutions; Layer B path is /providers/.../discoverySolutions (no scope). (2) Cascading from row 5: return type SolutionMetadataResource was restructured. |
| 3 | Removed Interface DiagnosticsCheckNameAvailabilityOptionalParams |
Cascading from row 1: options type for the removed Diagnostics.checkNameAvailability operation. |
| 5 | Interface SolutionMetadataResource no longer has parameter description |
Layer A had SolutionMetadataProperties (with flat properties) flattened into SolutionMetadataResource via x-ms-client-flatten. Layer B restructured the inner reference to a Solutions wrapper containing solutions: SolutionMetadataProperties[] (an array). The flat properties are replaced by the nested array. |
| 6 | Interface SolutionMetadataResource no longer has parameter requiredParameterSets |
Same as row 5. Additionally, the property was renamed to requiredInputs in the Layer B SolutionMetadataProperties definition. |
| 7 | Interface SolutionMetadataResource no longer has parameter solutionId |
Same as row 5. |
| 8 | Interface SolutionMetadataResource no longer has parameter solutionType |
Same as row 5. |
| 9 | Removed Type Alias ProvisioningState |
Layer A defined provisioningState as an inline x-ms-enum on DiagnosticResourceProperties. Layer B splits it into per-resource definitions (DiagnosticProvisioningState, SolutionProvisioningState, TroubleshooterProvisioningState). The shared ProvisioningState type no longer exists. |
| 10 | Removed Enum KnownProvisioningState |
Same as row 9. Paired KnownXxx enum for the removed ProvisioningState type alias. |
Type 2: TypeSpec / Emitter Migration -- 1 item
| Root Cause | Sub-Type | Count | Accepted |
|---|---|---|---|
Collection wrapper type removed; emitter returns PagedAsyncIterableIterator<T> directly |
Emitter | 1 | ✅ |
Details
Removed Interface DiscoveryResponse-- Emitter ✅Collection wrapper type with
nextLinkandvaluearray. Definition is identical in Layer A and Layer B swagger. AutoRest exposed it as a named interface; TypeSpec emitter inlines the paging and returnsPagedAsyncIterableIterator<SolutionMetadataResource>directly.
Total: 9 (Type 1: API Version Upgrade) + 1 (Type 2: TypeSpec/Emitter Migration) = 10 breaking changes
Type 2 breakdown: 0 items from TypeSpec conversion, 1 item from emitter differences.
Methodology
Compared Layer A (old swagger 2023-06-01 at commit 0724e72) with Layer B (pre-TypeSpec swagger 2024-03-01-preview at commit 2d710d2). Layer A and Layer B differ in API version (2023-06-01 -> 2024-03-01-preview), confirming 9 Type 1 changes. The remaining 1 entry has identical swagger across both layers, classified as Type 2b (emitter artifact).
Configurations: 'specification/help/resource-manager/Microsoft.Help/Help/tspconfig.yaml', API Version: 2024-03-01-preview, SDK Release Type: beta, and CommitSHA: '6ace746acb1d79c3da7700a767fa2de77883e952' in SpecRepo: 'https://github.com/Azure/azure-rest-api-specs' Pipeline run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=6361907 Refer to https://eng.ms/docs/products/azure-developer-experience/develop/sdk-release/sdk-release-prerequisites to prepare for SDK release.