From time to time, as Projector evolves and new features are added, we extend the web services accordingly. This usually happens in conjunction with a new release of Projector, but occasionally, we may also make such changes and deploy them as a patch. We classify all web services changes into either breaking changes or non-breaking changes. We make every effort to implement changes as non-breaking, and we do not generally notify clients about these non-breaking changes because they are designed to be just that -- non-breaking. However there are situations that require breaking changes, and in those cases, we are committed to notifying our clients in advance, so that the change may be anticipated and reacted to in a timely manner.
To be notified of changes, please subscribe to our
Breaking Changes
We consider the following to be examples of non-breaking changes:
- Addition of a new optional parameter at the end of the list of input parameters, so long as behavior of the service is unmodified if the parameter is not specified
- Addition of new response fields at the end of existing structures
- A change in behavior to fix a bug in the service (which is by definition a change in behavior, but hard to consider as "breaking" the software)
- Addition of a new web service
Non-Breaking Changes
We consider the following to be examples of breaking changes:
- Addition of a new required input parameter
- Removal of an existing input parameter (whether required or optional)
- Removal of a response value
- Re-ordering or re-structuring of the input or output format (including adding parameters at the start of or in the middle of existing structures)
- Changing the name or data type of an existing input parameter or output value
- Deprecation of a service
- A change in behavior in response to previously existing inputs that is not a bug fix