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:
-
You MUST NOT take anything away (related: Minimal Surface Principle
-
You MUST NOT change processing rules
-
You MUST NOT make optional things required
-
Anything you add MUST be optional (related Robustness Principle)
NOTE: These rules cover also renaming and change to identifiers (URIs). Names and identifiers should be stable over the time including their semantics.