VaultSort 2.7.16

Directory organization, path predicates, exclude paths, bundle opacity, disk operation history, and i18n permission detection

What's New

  • Directory file category for Advanced Organization — discover, evaluate, and act on directories with isEmpty predicate, childCount discovery, and safety guardrails that block move/copy/rename on folders
  • Path predicate — new rule predicate kind to match against file paths (contains, starts_with, ends_with, matches, and negations)
  • Exclude paths — per-job excludePaths field lets discovery skip entire directory trees
  • macOS bundle opacity — .app, .framework, .bundle, .plugin, and .kext bundles are treated as opaque single entries, protecting installed applications from internal discovery
  • AI rule tree node limit raised to 100 — complex multi-category jobs with 30-60+ nodes are no longer truncated
  • Catch-all else clause for OR nodes — unmatched files now hit a default branch
  • DIRECTORY_UNSAFE_ACTION validation — static schema check blocks save when directory predicates are paired with move/copy/rename actions
  • Operation history and completion dialog — disk erase and FreeSpace Overwrite operations now record history and show a completion summary
  • Changelog authoring step — release script opens a pre-filled template in the editor during release

Bug Fixes

  • Permission errors detected in all locales — NSError domain/code tag replaces English-only string matching so non-English macOS users get proper Full Disk Access guidance
  • FreeSpace Overwrite no longer leaves custom volume icons — default volume icon is restored after operations; root cause of icon persistence addressed
  • Disk erase mount point detection on macOS 12 — partitions on Monterey are now correctly detected
  • Privileged helper fallback for orphan cleanup — scan/remove of leftover .vaultsort_freespace_* dirs uses Node.js natively, falling back to the helper only on EACCES
  • Directories pass staleness fingerprint check — doesSourceFingerprintMatch no longer hardcodes isFile===true
  • Dry-run bypasses Spotlight/Rust for directory jobs — forces TypeScript discovery so directory entries actually appear in preview
  • Quarantine no longer traps directory-aware jobs — DIRECTORY_UNSAFE_ACTION is a semantic warning exempt from quarantine; force-restore skips re-validation
  • Trash marker excluded from scope lease validation — delete actions no longer fail lease checks
  • Validation errors shown with structured detail — save errors list individual issues with bullets instead of a single generic message

Stay Updated with VaultSort

Get the latest updates, security tips, and feature announcements delivered to your inbox.

🔒We respect your privacy. Unsubscribe at any time.