CLI tool for Rust library crate semantic versioning checks
Top 53.2% on sourcepulse
This project provides a tool for automatically checking semantic versioning compliance in Rust library crates. It is intended for Rust developers and maintainers to ensure backward compatibility and prevent breaking changes in their published libraries.
How It Works
The tool compiles both the old and new versions of a Rust crate into rlibs. These are then linked as dependencies to an empty dummy crate. A custom compiler driver analyzes this setup, leveraging type information and compiler resources to identify semantic versioning violations according to the Rust API evolution RFC.
Quick Start & Requirements
cargo install --git https://github.com/rust-lang/rust-semverver
.nightly-2022-08-03
). Install with rustup install nightly-2022-08-03
and add components: rustup component add rustc-dev llvm-tools-preview --toolchain nightly-2022-08-03
.cmake
and common system libraries may be needed.cargo semver
within a project directory.Highlighted Details
name:version
strings.Maintenance & Community
This project is deprecated. Alternatives include cargo-semver-checks
and cargo-public-api
.
Licensing & Compatibility
Limitations & Caveats
The project is deprecated, and its type checking may have edge-case inaccuracies. The README notes that a long-term goal was to fix these in the compiler, but the project's deprecated status suggests this may not have been fully realized.
2 years ago
1 day