You should never break backwards compatibility - observe that most DOS programs still run. No matter how bad the old version, if one needs to introduce compatibility breaking changes, you need a compatibility mode and an implicit or explicit protocol negotiation phase.