Regarding statement below it makes to create a new version of the message in case of breakage, but how do you know as a receiver which version of the DSDL message you’re receiving? are the mechanisms to detect this?
If the scope of the changes to a data type cannot be accommodated by the available means of type extensibility, the designer should consider releasing a new major version of the type. This comes with the breakage of backward compatibility. If a soft transition to the new interface is desired, the affected services should be constructed with the support for both versions of the interface (the old and the new one) for the duration of the transitory period. Immediately upon the commencement of the transitory period the old data type definition should be annotated with a special directive
@deprecatedto signify its impending removal from the system.