A system, method implemented on a computer system, and computer program product for exchanging shared data. A consumer of shared data receives new shared data and determines whether the new shared data comprises a breaking change. In response to a determination that the new shared data does not comprise a breaking change, the new shared data is saved and set as the current shared data. In response to a determination that the new shared data does comprise a breaking change, the new shared data is saved but is not set as the current shared data. New shared data that was saved but not set as current shared data may be set as current shared data during deployment of new program code for the consumer.