"Putting an End to Accidental SemVer-Breaking Changes"
summary
A study finds more than one in six of the top 10,000 crates accidentally ship SemVer-breaking releases; the top 1,000 average one to two breaking releases per week. cargo-semver-checks compares the crates.io baseline to a candidate release using the Trustfall query engine over rustdoc JSON, runs ~90 lints (55% deletions, ~25% additions, ~10% auto-traits, ~5% signature changes), aims for zero false positives, supports Rust 1.77 through current beta, and plans integration with cargo-semver-checks into cargo publish.
AI-written summary · about
chapters (10)
- 0:00Accidental SemVer breakage
- 1:36Fearless cargo update magic
- 4:06Cost of accidental breakage
- 7:46Why SemVer accidents happen
- 9:46Examples of breaking changes
- 13:09Adding items can break SemVer
- 16:04Introducing cargo-semver-checks
- 18:38How cargo-semver-checks detects breakage
- 21:35SemVer lint behind the scenes
- 24:55Preventing SemVer accidents
related talks
35mWhat it'll take to eradicate unintended breakage from Rust
29mPublishing High-Quality Crates
17mShipping a stable compiler every six weeks
48mRelease-plz: releasing crates like it's 2023
50mCrate security in 2025
30mRust Release Changelog - 1.97.0
31mImproving Your Rust Life
28mBuild bigger in less time: code testing beyond the basics
