When we add non-mandatory attributes to structures (for example input/output structure of a Service Action), there will be no impact on the consumer modules ONLY if the added attribute is a basic type. You can read this in the documentation Handle Changes in Exposed Functionality, 'The following changes made in the producer do not have impact on the consumer modules: '
| Add an optional Attribute (basic data types only) | Structure |
In my perspective, there should also be no impact on consumers when adding non-mandatory composite/complex attributes like adding a record, or a list, or list record...
Here is a scenario we are facing right now. We use Service Actions instead of internal REST API's to promote a loosely coupled architecture. There is benefit in using Service Actions as the platform handles the security and findability of Service Actions, whereas with REST API's, you have to do it yourself.
All our Service Actions communicate with input/output Structures. When we want to add a non-mandatory structure to the output structure of the service action, then the consumers are impacted. Now both applications have to be deployed together, which complicates loosely coupled deployment strategies. Here is an screenshot to describe the issue.
