Skip to content

cargo-cleanme v0.2.9

Choose a tag to compare

@github-actions github-actions released this 19 Oct 20:31
· 71 commits to main since this release
Immutable release. Only release title and notes can be modified.

0.2.9

Scoped proof is the default; out-of-scope blocking was a product defect. The ownership proof now covers the selected scope — the working directory anchor for bare/--known cleanup, the explicit roots for clean ROOT, and the full system for clean --full (which keeps whole-system fail-closed blocking). Discovery and grouping still cover the whole scope, so cross-boundary output claims still force shared output. An unresolvable manifest outside the scope is reported in diagnostics and never blocks; an in-scope manifest Cargo itself refused is reported, never blocking. Only in-scope byte-capable unknowns block, and a scope that proves zero units against any unproven participant fails closed.

Exits are boundary-scoped: 0 when the boundary is fully cleaned, 1 when it is blocked or a unit fails. The never-published --partitioned flag and the result.islands field are removed.

A test with an unstated host premise was failing every CI lane. The tool was never wrong — it refuses a Cargo release it has not qualified, and it does so without invoking a Cargo clean — but the test that drove it asserted one outcome for a branch whose premise it never stated, so it broke the moment the hosted stable moved to a new patch release. The case now derives its expectation from the product's own capability check and asserts a specific outcome per premise, and a new host-independent case pins that a --profile/--package selector reaches Cargo's command line. No product behaviour changed, and no Cargo version was added to the capability allowlist.

Five prebuilt targets are attached — x86-64 and aarch64 for Linux, macOS, and Windows x64 — each with a SHA-256 sidecar, alongside the two installers and a release manifest.

See CHANGELOG.md for the full record. Pre-1.0: read the changelog before upgrading.