UAVCAN v1 DSDL version detection

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 @deprecated to signify its impending removal from the system.

Types whose major version numbers are different shall use different port-IDs.