lading is a command-line tool for managing release workflows in Rust
workspaces. It can:
- Bump versions across the workspace (
Cargo.tomlfiles) and keep internal dependency requirements in sync. - Update version references inside TOML code fences in Markdown documentation.
- Plan and execute publication (
cargo package+cargo publish) in dependency order, with pre-flightcargo check/cargo testvalidation.
Breaking change in 0.1.0 —
--liveinterleavingPrior to 0.1.0,
lading publish --liveran a two-phase pipeline: all crates were packaged before any were published. From 0.1.0 onwards the live pipeline is interleaved — each crate is packaged and published in turn before the next crate is processed. Dry-run mode retains the original two-phase order. Workspaces that relied on the old sequencing must adopt the new per-crate ordering; no configuration knob restores the prior behaviour.
The 0.1.0 release also changes workspace README adoption:
Breaking change in 0.1.0 — workspace README adoption
Prior to 0.1.0,
lading publishcopied the workspaceREADME.mdinto crates that setreadme.workspace = truewhile preparing the staged workspace. From 0.1.0 onwards,lading bumpperforms that adoption and rewrites relative Markdown links before publishing. Commit the adopted crate README files produced bylading bumpbefore runninglading publish; publish staging no longer creates or repairs those files.