You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/how_to_introduce_breaking_changes.md
+42-9Lines changed: 42 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,21 +36,50 @@ All breaking changes **must** be pre-announced two sprints ahead Release. It giv
36
36
1. (**Mandatory**) Breaking Changes must be pre-announced through Warning Log while executing.
37
37
2. (*Automatic*) Breaking Changes would be collected automatically and listed in [Upcoming Breaking Change](https://learn.microsoft.com/en-us/cli/azure/upcoming-breaking-changes) Document.
38
38
39
+
### Breaking Changes in Extensions
40
+
41
+
All breaking changes in GA extensions **must** be pre-announced at least **30** days prior to their Release.
42
+
43
+
Extensions don't need to follow the breaking change window. However, we still strongly recommend releasing breaking changes only in breaking change windows along with Core Azure CLI.
44
+
45
+
```text
46
+
[GA Release with Breaking Change Pre-Announcement]
47
+
│
48
+
├─ Must include complete Breaking Change Information
│ - Other unrelated GA versions (vX.(Y+1), v(X+1).Y) │
54
+
│ - Multiple preview releases (Beta) │
55
+
│ │
56
+
▼ ▼
57
+
[GA Release Containing Breaking Changes]
58
+
(Must fulfill 30-day announcement requirement)
59
+
```
60
+
39
61
## Workflow
40
62
41
-
### Overview
63
+
### CLI Workflow Overview
42
64
43
-
* CLI Owned Module
44
-
* Service Team should create an Issue that requests CLI Team to create the pre-announcement several sprints ahead Breaking Change Window. The issue should include the label `Breaking Change`. The CLI team will look at the issue and evaluate if it will be accepted in the next breaking change release.
65
+
***CLI Owned Module**
66
+
* Service Team should create an Issue that requests CLI Team to create the pre-announcement at least **2**sprints ahead of Breaking Change Window. The issue should include the label `Breaking Change`. The CLI team will look at the issue and evaluate if it will be accepted in the next breaking change release.
45
67
* Please ensure sufficient time for CLI Team to finish the pre-announcement.
46
-
* The pre-announcement should be released ahead of Breaking Change Window.
47
-
* Service Owned Module
48
-
* Service Team should create a Pull Request that create the pre-announcement several sprints ahead Breaking Change Window.
49
-
* The pre-announcement should be released ahead of Breaking Change Window.
68
+
* The pre-announcement should be released at least **2** sprints ahead of Breaking Change Window.
69
+
***Service Owned Module**
70
+
* Service Team should create a Pull Request that adds the pre-announcement at least **2**sprints ahead of Breaking Change Window.
71
+
* The pre-announcement should be released at least **2** sprints ahead of Breaking Change Window.
50
72
* After releasing the pre-announcement, a pipeline would be triggered, and the Upcoming Breaking Change Documentation would be updated.
51
73
* At the start of Breaking Change window, the CLI team would notify Service Teams to adopt Breaking Changes.
52
74
* Breaking Changes should be adopted within Breaking Change Window. Any unfinished pre-announcements of breaking changes targeting this release will be deleted by the CLI team.
53
75
76
+
### Extensions Workflow Overview
77
+
78
+
* Service Team should create a Pull Request that includes the pre-announcement.
79
+
* The pre-announcement should be released after merged.
80
+
* After releasing the pre-announcement, a pipeline would be triggered, and the Upcoming Breaking Change Documentation would be updated.
81
+
* After 30 days, the Pull Request that contains the actual breaking changes could be merged and released.
82
+
54
83
### Pre-announce Breaking Changes
55
84
56
85
The breaking change pre-announcement must be released at least two sprints before the breaking change itself. It is strongly recommended to follow the best practice of providing the new behavior along with the pre-announcement. This allows customers to take action as soon as they discover the pre-announcement.
@@ -72,7 +101,7 @@ You can then pre-announce breaking changes for different command groups or comma
72
101
from azure.cli.core.breaking_change import register_required_flag_breaking_change, register_default_value_breaking_change, register_other_breaking_change
0 commit comments