Skip to content

eng, add management-breaking-changes-mitigation.md#49531

Draft
weidongxu-microsoft wants to merge 1 commit into
Azure:mainfrom
weidongxu-microsoft:eng_management-breaking-changes-mitigation.md
Draft

eng, add management-breaking-changes-mitigation.md#49531
weidongxu-microsoft wants to merge 1 commit into
Azure:mainfrom
weidongxu-microsoft:eng_management-breaking-changes-mitigation.md

Conversation

@weidongxu-microsoft

@weidongxu-microsoft weidongxu-microsoft commented Jun 17, 2026

Copy link
Copy Markdown
Member

fix Azure/azure-sdk-tools#15562

Description

Please add an informative description that covers that changes made by the pull request and link all relevant issues.

If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.

All SDK Contribution checklist:

  • The pull request does not introduce [breaking changes]
  • CHANGELOG is updated for new features, bug fixes or other significant changes.
  • I have read the contribution guidelines.

General Guidelines and Best Practices

  • Title of the pull request is clear and informative.
  • There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

  • Pull request includes test coverage for the included changes.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new documentation page under docs/ to help reviewers classify and mitigate breaking changes in Azure Java management-plane SDKs, particularly those encountered during Swagger → TypeSpec migrations.

Changes:

  • Added a mitigation guide that maps common Revapi/changelog breaking-change patterns to likely TypeSpec/generator causes.
  • Documented recommended mitigation approaches via TypeSpec customization (client.tsp) and generator configuration (tspconfig.yaml).
  • Included concrete examples for common break categories (manager naming, client/type renames, accessor renames, type-shape changes, etc.).

Comment on lines +5 to +8
For Java management libraries, the main mitigation surfaces are:

1. `client.tsp` for Java-specific client customizations such as `@@clientName`, `@@clientLocation`, and `@@alternateType`
2. `tspconfig.yaml` for generator options under `@azure-tools/typespec-java`
@@clientName(Microsoft.Example.Assessment, "AssessmentResource", "java");
```

If the model is not present, inspect `back-compatible.tsp` for an existing `@@clientName` that maps to this name, and add a Java-specific override in `client.tsp`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Java SDK] changelog-breakingchange pattern markdown File

2 participants