Open-source C++ Semantic Versioning (SemVer) library
Softwares and libraries often evolve to include new features, security patches, bug fixes, and refactorings. When software evolves, it may introduce breaking changes (BCs) in its API, breaking the previous contract or compatibility with its clients.
Semantic Versioning (SemVer) is a specification for assigning version numbers to software to communicate the degree of change between software releases and updates. However, it turned out the world was missing a proper semantic version library for C++, so we implemented one.