Releases: patridge/FileDeduplicator
Releases · patridge/FileDeduplicator
v0.2.0
- Major overhaul of the UI using Spectre.Tui
- Spectre.Tui-based UI: Reworked the duplicate results viewer and scan progress into a full TUI experience (
DuplicateResultsViewer,CacheViewer, and supporting components), which keeps the UI rendering directly to the terminal rather than adding new lines
- Spectre.Tui-based UI: Reworked the duplicate results viewer and scan progress into a full TUI experience (
- New file hash caching system
- File hash caching: Persistent file hash cache stored in app storage to speed up repeat scans (
FileHashCache,CacheCommand, cache viewer TUI) - Cache viewer: See the list of currently cached file data with options for deleting some/all entries
- File hash caching: Persistent file hash cache stored in app storage to speed up repeat scans (
- Export scan results
- Scan result export: Export scan results to JSON for later review (
Eshortcut, to current path)
- Scan result export: Export scan results to JSON for later review (
- Usability improvements
- Navigation: Navigate around match list with paging and home/end key support
- Match detail improvements: Show modified date and full root path in duplicate details view
- Display consistency: Unify file size formatting (
0.00display) - Usability: Switched from yellow to orange for better readability on light terminal backgrounds
v0.1.1
Almost a full rewrite of prototype to use a comparer system: file type comparers, interactive duplicate browser, and scan filtering options.
Interactive results browser
- Navigate a paged file match list
- Sort option to change between path name or largest file size first
- Detail view per match showing file paths, sizes, hashes, and timestamps
- Open files directly from the match file item
- Refresh option to re-verify a match after making any external changes
Scan filtering customization parameters
- Multi-directory scanning with multiple
--path(-p) parameters --min-size(-s): Prevent scanning files under a particular size using size shorthand (e.g.,--min-size 500MB,--min-size 2GB)--exclude(-x): Allow skipping entire subdirectory trees--exclude-extension: Allow skipping files by extension (e.g., .log, .tmp)--exclude-filename: Allow skipping specific filenames--exclude-system-files: Shorthand to allow excluding common OS-generated files (.DS_Store, Thumbs.db, etc.)
Content-aware file comparison
- Added file type-specific comparer system with initial implementations for audio (ID3 tags), image (EXIF data), and binary files
--allow-metadata-diffs(-m) flag: compare files by content only, ignoring embedded metadata differences
v0.1.0
NOTE: Builds removed since they had an issue with trimming a dependency library in a way that resulted in the final builds now running correctly.
Almost a full rewrite of prototype to use a comparer system: file type comparers, interactive duplicate browser, and scan filtering options.
Interactive results browser
- Navigate a paged file match list
- Sort option to change between path name or largest file size first
- Detail view per match showing file paths, sizes, hashes, and timestamps
- Open files directly from the match file item
- Refresh option to re-verify a match after making any external changes
Scan filtering customization parameters
- Multi-directory scanning with multiple
--path(-p) parameters --min-size(-s): Prevent scanning files under a particular size using size shorthand (e.g.,--min-size 500MB,--min-size 2GB)--exclude(-x): Allow skipping entire subdirectory trees--exclude-extension: Allow skipping files by extension (e.g., .log, .tmp)--exclude-filename: Allow skipping specific filenames--exclude-system-files: Shorthand to allow excluding common OS-generated files (.DS_Store, Thumbs.db, etc.)
Content-aware file comparison
- Added file type-specific comparer system with initial implementations for audio (ID3 tags), image (EXIF data), and binary files
--allow-metadata-diffs(-m) flag: compare files by content only, ignoring embedded metadata differences