Files
api-guidelines/core-principles/rules-for-extending.md
apidesigner 03d5ced19b Updates core-principles/rules-for-extending.md
Auto commit by GitBook Editor
2017-02-14 14:44:52 +00:00

17 lines
764 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](core-principles/minimal-api-surface.md)
, [Robustness Principle](core-principles/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](core-principles/robustness.md))
> NOTE: These rules covers also renaming and changes to identifiers (URIs). Names and identifiers should be stable over the time including their semantics.