What it does
dev-deps answers three questions about your dependency tree:
- Are any declared dependencies actually unused?
- Are any outdated, and by how many major versions?
- Are any flagged by policy (license, banned, source)?
Wraps cargo-udeps and cargo-outdated. Emits findings as
dev-report::Report so AI agents and CI gates can act on them
programmatically.
Quick start
[]
= "0.9"
use ;
let check = new.scope;
let result = check.execute?;
let report = result.into_report;
println!;
# Ok::
Requirements
cargo-udeps requires nightly Rust. The crate handles that transparently
when it shells out.
Scopes
| Scope | What it runs |
|---|---|
Unused |
cargo-udeps only. |
Outdated |
cargo-outdated only. |
All |
Both. |
Severity assignment
| Finding | Severity |
|---|---|
| Unused dependency | Warning |
| Outdated, 0-1 major behind | Info |
| Outdated, 2+ major behind | Warning |
Verdicts are Warn, not Fail, by default — dependency health is
advisory, not blocking. You can configure this via thresholds in
later releases.
The dev-* suite
See dev-tools for the
full suite.
Status
v0.9.0 is the foundation release: API shape defined, subprocess
integration lands in 0.9.1. Production use is discouraged until
1.0.
Minimum supported Rust version
1.85 — pinned in Cargo.toml and verified by CI.
License
Apache-2.0. See LICENSE.