That there are issues with feature differences is a problem with the protocol.
Good protocols are opinionated and make concrete choices.
Extensibility typically leads to compatibility issues like the ones you are describing.