New versioning mechanism

cc @Kartones