Backward Compatibility Guidelines
These guidelines are recommendations for developers to reduce the number and extent of code updates when new API versions are released:
Developers should not depend on the order of events or messages unless that order is documented. The order of events and/or messages may change. For example, if:
A feature invocation involves two or more independent transactions; the events or messages may be interleaved
In such cases, events related to the second transaction may precede messages related to the first
Or, events or messages may be delayed due to situations beyond control of the interface (for example, network or transport failures)
Applications should be able to recover from out-of-order events or messages, even when the order is required for protocol operation
Developers must avoid unnecessary dependence on the order of elements when interpreting data. The order of elements within the interface event or message may change, within the constraints of the protocol specification
Developers must disregard or provide generic treatments for any unknown elements or unknown values of known elements encountered. New interface events, methods, responses, headers, parameters, attributes, other elements, or new values of existing elements may be introduced
Previous interface events, methods, responses, headers, parameters, attributes, and other elements will remain and maintain their previous stated meaning and behavior in every way possible. They will remain consistent even when defects with them need to be corrected
Applications must never be dependent on interface behavior resulting from defects. That is, not consistent with the published interface specifications. Application behavior might change when a defect is fixed
Remove deprecated methods, handlers, events, responses, headers, parameters, attributes, or other elements from applications as soon as possible to avoid issues when those deprecated items are removed from Cisco Unified CM
Application Developers must be aware that not all new features or new supported devices will be forward compatible. New features and devices (for example, phones) may require application modifications to work properly