Files
mapsize/CHANGELOG.md
T
Andy Dixon 8d9344cfef mapsize 1.2.0: permanent delete and in-map reveal when headless
On a headless Linux or BSD system (no DISPLAY or WAYLAND_DISPLAY) nothing
empties the freedesktop trash, so trashing never freed space. There, d now
deletes permanently after an explicit confirmation, checking owner and type
against the scan and removing through an os.Root on the parent so a swapped
symlink cannot redirect it. o shows the folder in the map instead of
launching a file manager. Desktop sessions, macOS and Windows are unchanged.
2026-10-03 12:50:07 +01:00

2.8 KiB
Raw Permalink Blame History

Changelog

1.2.0 — 2026-10-03

Changed

  • On a headless Linux or BSD system (no DISPLAY or WAYLAND_DISPLAY), d deletes permanently after an "are you sure" confirmation instead of moving to a trash nobody empties, and o shows the folder in the map instead of trying to open a file manager. Desktop sessions, macOS and Windows still use the trash and the file manager.

1.1.0 — 2026-10-03

Fixed

  • Map: folders that contain a single subfolder (mnt/raid/media/) now collapse into one label instead of each taking a nesting level, so the map at / reaches the shows, seasons and individual files. Nesting goes as deep as the block sizes allow (previously a fixed 3 levels), and nested blocks show their size and percentage of their parent folder.

1.0.0 — 2026-10-02

First stable release. The snapshot format (version 1) is now stable: later 1.x releases will keep reading version 1 snapshots.

Engine

  • Bounded concurrent scanner with incremental aggregation, cancellation, hard-link and symlink-loop handling, error accounting.
  • Non-interactive reports: --top, --largest-files, --json, --csv, --duplicates, --no-ui.
  • Versioned, checksummed snapshot format; --compare.

Interface

  • Interactive TUI (Bubble Tea v2): live squarified treemap with nested previews and level-of-detail grouping, spatial arrow navigation, zoom, breadcrumbs, responsive layouts, info/help/confirm/save modals, mouse.
  • Views: directory list, file types, top lists, scan info & errors, duplicates, snapshot changes.
  • Search/filter language with live treemap filtering.
  • Themes (default, dark, high-contrast, mono), --color override, perceptual 256-colour quantizer, NO_COLOR support.
  • Move to trash (freedesktop / macOS / Windows), --read-only.
  • treegen synthetic tree generator; benchmarks in PERFORMANCE.md.

Packaging and documentation

  • mapsize(1) manual page; make install installs binary and man page.
  • make release: archives for Linux, macOS, Windows and the BSDs, plus .deb, .rpm, .apk and Arch packages (with the man page) and SHA256SUMS.
  • Version stamped into release builds.
  • Homebrew formula template and make brew-formula.

Hardening

  • Snapshot loader rejects over-deep trees, decompression bombs and out-of-range sizes; aggregates saturate instead of overflowing.
  • Exclusion patterns from snapshot metadata are sanitised in reports.
  • Duplicate, trash and filter results belonging to a replaced tree (after a rescan) are discarded.
  • Linux trash refuses symlinked or foreign trash directories on shared filesystems and never overwrites an earlier trashed item.
  • Symlinks are not followed on platforms without inode identity; the unscanned-directory count and post-cancel errors are reported correctly.
  • Path filters evaluate incrementally (2× faster on 1M entries).