Skip to content

v0.3.0

Latest

Choose a tag to compare

@sonald sonald released this 03 Nov 06:19
· 1 commit to main since this release

First tagged release. 0.2.0 was published to crates.io without a tag.

⚠️ Breaking change: cleanups go to the trash by default

clean, apply and the TUI now move targets into Dev Cleaner's trash instead of deleting them. Space is freed when you run dev-cleaner trash purge / trash gc; dev-cleaner undo restores a batch. Pass --permanent to delete directly (--trash still works and is now the default).

CLI

  • New --yes/-y (skip the confirmation only) and clean --include-in-use (allow in-use targets only); --force keeps its meaning.
  • Scan roots are made absolute, so undo from another directory restores to the right place and keep_paths match relative scans.
  • scan prints its results when piped (progress goes to stderr) and lists each profile root; JSON only with --json.
  • The TUI no longer deletes permanently on Enter: it moves to the trash and writes audit records.
  • Audit records hold each item's real result; read-only trash list/show and gc --dry-run no longer write audit records.

Detection

  • No descent into hidden directories or node_modules when looking for projects, so tool caches and dependency internals are no longer reported (home scan in testing: 79 → 12 candidates, 13.7 s → 2.9 s).
  • Folders containing git-tracked files are never cleanup targets.
  • Sizes are allocated disk blocks; hard links count only when every link is inside the target.
  • More in-use lock files: uv.lock, bun.lock(b), pdm.lock, npm-shrinkwrap.json, Package.resolved, mix.lock, packages.lock.json.

Trash

  • Items on another volume are trashed on that volume (<mount>/.dev-cleaner-trash) instead of being copied to the system disk.
  • Restored items leave the trash log, so they no longer count toward trash size.

macOS app (build from source with script/build_and_run_mac.sh)

  • Confirmation before every cleanup, permanent delete and Empty Trash; dry run, trash and permanent delete are reported separately.
  • Real data on every page, working settings, automatic trash gc by retention days, bulk selection, matched rules, per-run history details.

Project

  • dev-cleaner-core is now published as its own crate.
  • CI runs fmt, clippy and tests on Ubuntu and macOS, plus the macOS app tests.
  • Minimum Rust version: 1.85.