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: CONTRIBUTING.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -117,7 +117,7 @@ For the Storage data plane project, this change log is located at `src\Storage\C
117
117
118
118
#### Breaking Changes
119
119
120
-
Breaking changes should **not** be introduced into the repository without giving customers at least six months notice. For a description of breaking changes in Azure PowerShell, see [here](documentation/breaking-changes/breaking-changes-definition.md).
120
+
Breaking changes should **not** be introduced into the repository without giving customers at least six months notice. For a description of breaking changes in Azure PowerShell and how to declare them in the code using the [various breaking change attributes](documentation/breaking-changes/breaking-changes-attribute-help.md), see [here](documentation/breaking-changes/breaking-changes-definition.md).
121
121
122
122
Whenever a service team announces a breaking change, they must add it to the `upcoming-breaking-changes.md` file in their respective service folder. When the service team is ready to release the module with the breaking change, they must move the corresponding information from `upcoming-breaking-changes.md` into the `current-breaking-changes.md` file located in their service folder.
Copy file name to clipboardExpand all lines: documentation/breaking-changes/breaking-changes-attribute-help.md
+90-3
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Breaking Changes Attribute Help
2
2
3
-
Below are descriptionsof the various types of Breaking Change Attributes (custom attributes) that can be used to decorate the cmdlet or its paramters to call out various [types of deprecations](https://github.com/praries880/azure-powershell/blob/breakingchangeattribute/documentation/breaking-changes/breaking-changes-definition.md).
3
+
Below is description of the various types of Breaking Change Attributes (custom attributes) that can be used to decorate the cmdlet or its paramters to call out various [types of breaking changes](https://github.com/praries880/azure-powershell/blob/breakingchangeattribute/documentation/breaking-changes/breaking-changes-definition.md).
4
4
5
5
## The different types of attributes
6
6
@@ -41,6 +41,24 @@ NOTE :
41
41
- The only time you will see the output (at runtime) of an attribute applied to a parameter (property or field) is if the parameter is actually invoked on the cmdline. The breaking change attributes to all parameters that are not invoked are ignored.
This document lists the various types of breaking changes and how to call them out in your code using the [breaking change attributes](./breaking-changes-attribute-help.md).
4
+
3
5
Breaking changes in cmdlets are defined as follows:
4
6
5
7
## Cmdlets
6
8
- Removing a cmdlet
9
+
- Use the breaking change attribute ["CmdletDeprecationAttribute"](./breaking-changes-attribute-help.md##cmdletdeprecationattribute), more specificallly the ["cmdlet deprecation without replacement"](./breaking-changes-attribute-help.md####when-there-is-no-replacement-cmdlet) option
7
10
- Changing a cmdlet name without an alias to the original name
11
+
- Use the breaking change attribute ["CmdletDeprecationAttribute"](./breaking-changes-attribute-help.md##cmdletdeprecationattribute), more specificallly the ["cmdlet deprecation with replacement"](./breaking-changes-attribute-help.md####when-there-is-a-replacement-cmdlet) option
8
12
- Removing or changing a cmdlet alias
13
+
- Use the generic breaking change attribute ["GenericBreakingChangeAttribute"](./breaking-changes-attribute-help.md###genericbreakingchangeattribute) with a [simple message](./breaking-changes-attribute-help.md####with-a-simple-message) calling out the alias that is being deprecated
9
14
- Removing a cmdlet attribute option (`SupportShouldProcess`, `SupportsPaging`)
15
+
- Use the generic breaking change attribute ["GenericBreakingChangeAttribute"](./breaking-changes-attribute-help.md###genericbreakingchangeattribute) with a [simple message](./breaking-changes-attribute-help.md####with-a-simple-message) calling out the cmdlet attribute that is being removed
10
16
- Breaking change in `OutputType` or removal of `OutputType` attribute
17
+
- Use the cmdlet output type breaking change attribute ["CmdletOutputBreakingChangeAttribute"](./breaking-changes-attribute-help.md##cmdletoutputbreakingchangeattribute)
18
+
- To call out the output type being changed use the above attribute [as described here](./breaking-changes-attribute-help.md####the-output-return-type-is-changing).
19
+
- To deprecate an output type use the above attribute [as described here](./breaking-changes-attribute-help.md####the-output-return-type-is-being-dropped).
11
20
12
21
## Parameters
13
22
- Removing a parameter
23
+
- Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md##cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md####a-parameter-is-being-deprecated) to call out a parameter being removed.
14
24
- Changing the name of a parameter without an alias to the original parameter name
25
+
- Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md##cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md####a-parameter-is-being-replaced) to call out a parameter name change.
15
26
- Breaking change in parameter type
27
+
- Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md##cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md####a-parameter-is-changing-its-type) to call out a parameter name change.
16
28
- Adding a required parameter to an existing parametrer set (adding new parameter sets or adding additional optional parameters is not a breaking change)
29
+
- An existing parameter becomes mandatry :
30
+
- Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md##cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md####a-parameter-is-becoming-mandatory) to call out a parameter becoming mandatory.
31
+
- Adding a new mandatory parameter to a parameter set:
32
+
- Use the generic breaking change attribute ["GenericBreakingChangeAttribute"](./breaking-changes-attribute-help.md###genericbreakingchangeattribute) with a [custom message](./breaking-changes-attribute-help.md####with-a-simple-message) calling out the new mandatiry parameter that is going to be added to the parameter set.
17
33
- Changing parameter order for parameter sets with ordered parameters
34
+
- Use the generic breaking change attribute ["GenericBreakingChangeAttribute"](./breaking-changes-attribute-help.md###genericbreakingchangeattribute) with a [custom message](./breaking-changes-attribute-help.md####with-a-simple-message) calling out the new order in the parameter set.
18
35
- Removing or changing a parameter alias
36
+
- Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md##cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md####generic-change-in-a-parameter) to call out the change by altering the change description.
19
37
- Removing or changing existing parameter attribute values
38
+
- Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md##cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md####generic-change-in-a-parameter) to call out the change by altering the change description.
20
39
- Making parameter validation more exclusive (_e.g.,_ removing values from a `ValidateSet`)
40
+
- Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md##cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md####generic-change-in-a-parameter) to call out the change by altering the change description.
21
41
22
42
## Output and Parameter Types
23
43
- Changing property names without an accompanying alias to the original name
44
+
- In the output type
45
+
- Use the cmdlet output type breaking change attribute ["CmdletOutputBreakingChangeAttribute"](./breaking-changes-attribute-help.md##cmdletoutputbreakingchangeattribute)[as follows](./breaking-changes-attribute-help.md####a-mixed-example) to call out property name changes (do not specify the attribute property "ReplacementCmdletOutputTypeName" for this purpose).
46
+
- In a parameter
47
+
- Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md##cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md####generic-change-in-a-parameter) to call out the change.
24
48
- Removing properties
49
+
- In the output type
50
+
- Use the cmdlet output type breaking change attribute ["CmdletOutputBreakingChangeAttribute"](./breaking-changes-attribute-help.md##cmdletoutputbreakingchangeattribute)[as follows](./breaking-changes-attribute-help.md####a-few-properties-in-the-output-type-are-being-deprecated) to call out derecated properties.
51
+
- In a parameter
52
+
- Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md##cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md####generic-change-in-a-parameter) to call out the change.
25
53
- Adding additional required properties
54
+
- In the output type
55
+
- Use the cmdlet output type breaking change attribute ["CmdletOutputBreakingChangeAttribute"](./breaking-changes-attribute-help.md##cmdletoutputbreakingchangeattribute)[as follows](./breaking-changes-attribute-help.md####a-few-new-properties-are-bing-added-to-the-output-type) to call out derecated properties.
56
+
- In a parameter
57
+
- Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md##cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md####generic-change-in-a-parameter) to call out the change.
26
58
- Adding required parameters, changing parameter names, or parameter types for methods or constructors
59
+
- Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md##cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md####generic-change-in-a-parameter) to call out the change.
27
60
- Changing return types of methods
61
+
- Use the parameter breaking change attribute ["CmdletParameterBreakingChangeAttribute"](./breaking-changes-attribute-help.md##cmdletparameterbreakingchangeattribute) as [described here](./breaking-changes-attribute-help.md####generic-change-in-a-parameter) to call out the change.
0 commit comments