|  | name: Incompatible Change | 
|  | description: Use this template to track the rollout of an incompatible change in Bazel | 
|  | title: '[Incompatible Flag] OR [Incompatible Change Title]' | 
|  | labels: ["untriaged", "incompatible-change"] | 
|  | assignees: | 
|  | - sgowroji | 
|  | - iancha1992 | 
|  | - satyanandak | 
|  | body: | 
|  | - type: markdown | 
|  | attributes: | 
|  | value: > | 
|  | **Attention:** | 
|  | Please read https://bazel.build/release/backward-compatibility | 
|  | and https://bazel.build/contribute/breaking-changes for best practices of rolling out | 
|  | incompatible changes in Bazel. | 
|  |  | 
|  | - type: textarea | 
|  | id: motivation | 
|  | attributes: | 
|  | label: Motivation | 
|  | description: Describe the motivation behind this change. Why is this change needed? What problem does it solve? | 
|  | validations: | 
|  | required: true | 
|  |  | 
|  | - type: textarea | 
|  | id: description | 
|  | attributes: | 
|  | label: Description | 
|  | description: Provide a clear and concise description of the incompatible change. Explain what the incompatible change is and what impact it will have. | 
|  | validations: | 
|  | required: true | 
|  |  | 
|  | - type: input | 
|  | id: incompatible_flag | 
|  | attributes: | 
|  | label: Incompatible Flag | 
|  | description: The incompatible flag used to guard this change. If no incompatible flag is used, briefly explain why (e.g. minor incompatible change that's trivial to migrate for). | 
|  | validations: | 
|  | required: true | 
|  |  | 
|  | - type: textarea | 
|  | id: migration | 
|  | attributes: | 
|  | label: Migration Guide | 
|  | description: Provide guidance on how users can migrate to the new behavior. Include examples, code snippets, or links to relevant documentation. | 
|  | validations: | 
|  | required: true | 
|  |  | 
|  | - type: dropdown | 
|  | id: bazel_version | 
|  | attributes: | 
|  | label: In which Bazel LTS version will this incompatible change be enabled? | 
|  | multiple: false | 
|  | options: | 
|  | - Bazel 8 | 
|  | - Bazel 9 | 
|  | - Bazel 10 | 
|  |  | 
|  | - type: textarea | 
|  | id: additional_context | 
|  | attributes: | 
|  | label: Additional Context | 
|  | description: Add any other context about the incompatible change here. | 
|  |  | 
|  | - type: textarea | 
|  | id: todo_list | 
|  | attributes: | 
|  | label: TODO List | 
|  | description: > | 
|  | Choose a todo list based on whether incompatible flag is used, feel free to edit based on your needs. | 
|  |  | 
|  |  | 
|  | With incompatible flag (highly recommend for incompatible changes having large impact): | 
|  |  | 
|  | \- \[ \] Implement the incompatible change at Bazel HEAD and guard it behind a flag. | 
|  |  | 
|  | \- \[ \] Backport the incompatible flag to the latest LTS release. | 
|  |  | 
|  | \- \[ \] Test the incompatible change with [downstream projects](https://github.com/bazelbuild/continuous-integration/blob/master/docs/downstream-testing.md#bazel-downstream-testing) and inform broken projects. | 
|  |  | 
|  | \- \[ \] Flip the incompatible flag at Bazel HEAD. | 
|  |  | 
|  | \- \[ \] Delete the incompatible flag and the old behavior at Bazel HEAD. | 
|  |  | 
|  |  | 
|  | Without incompatible flag (good for minor incompatible changes that are trivial to migrate for): | 
|  |  | 
|  | \- \[ \] Implement the incompatible change at Bazel HEAD. | 
|  |  | 
|  | \- \[ \] Check the [downstream pipeline](https://github.com/bazelbuild/continuous-integration/blob/master/docs/downstream-testing.md#bazel-downstream-testing) result and inform broken projects. | 
|  |  |