Files
api-guidelines/general-guidelines/rules-for-extending.md
2018-07-23 07:49:01 +00:00

17 lines
723 B
Markdown

# Rules for Extending
Any modification to an existing API **MUST** avoid breaking changes and **MUST** maintain backward compatibility.
In particular, any change to an API **MUST** follow the following **Rules for Extending**:
1. **You MUST NOT take anything away** \(related: [Minimal Surface Principle](minimal-api-surface.md)
, [Robustness Principle](robustness.md)\)
2. **You MUST NOT change processing rules**
3. **You MUST NOT make optional things required**
4. **Anything you add MUST be optional** \(related [Robustness Principle](robustness.md)\)
> NOTE: These rules cover also renaming and change to identifiers \(URIs\). Names and identifiers should be stable over the time including their semantics.