Semantic Versioning for Hardware