Files
api-guidelines/general-guidelines/rules-for-extending.md
apidesigner af1190a761 Deletes core-principles/functional.md
Auto commit by GitBook Editor
2018-06-23 12:39:37 +00:00

16 lines
761 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 cover also renaming and change to identifiers (URIs). Names and identifiers should be stable over the time including their semantics.