In order to avoid errors and tracebacks, we should include some kind of protocol identifier in the VSM protocol, so masters and agents can detect when it's not compatible with the other end. This version number would ideally be different from the product version number.
We might actually consider using the product version number if we want to prevent mixing versions, even if they may be compatible. This would make the system enforce the official policy.