SemanticVersion library