Use cargo-semver-checks or such to enforce stability in high-level APIs
The arti-client
crate depends on, and exposes, APIs from a bunch of other crates. As such, it is tricky to make sure that we haven't made any changes that unintentionally break compatibility with past versions of arti-client
.
We should open other tickets (eg #710, #712) to limit the risk of breaking changes. But it would also be good to use what tooling we can to detect breaking changes, possibly as part of CI. We could, for example, enforce that there is a breaking semver change iff there is a BREAKING comment in semver.md.
The current front-runner seems to be cargo-semver-checks
, which claims to have no false positives (only false negatives). I haven't been able to figure out out to make it work, but hey, who knows.
Edited by Nick Mathewson