Understand the scope of the semver crate
masterThe semver crate is specifically designed to implement Cargo's interpretation of Semantic Versioning.
While many ecosystems (npm, RubyGems, Composer, etc.) follow SemVer, they often differ in implementation details. This crate follows the specific implementation choices made by Cargo. If you are working with version numbers from a different ecosystem, you should use a library tailored to that ecosystem instead.
For details on how Cargo interprets versioning, refer to the [Specifying Dependencies] chapter of the Cargo reference.