Versioning in Radicle
As of late, we have run head on into the problem of versioning or the lack thereof.
The protocol already contains a version string for indicating which version it is supporting for any protocol messages. However, this is not replicated across the rest of the protocol. For example, we have recently realised that the identity document would benefit from versioning as we decide to introduce the canonical refs feature, or that we wanted to make the verification of sigrefs more robust by introducing a new, special reference.
This begs the question of what should be versioned in the protocol and how should we go about it? One worry is that we paint ourselves into a corner with the versioning system itself.