— Changelog
Release Notes
What we shipped, when, and why.
v0.17.3UX
UI simplification — single-button SelectDrive, trimmed FileBrowser, thumbnails
- SelectDrive: single 'Start Scan' button, folder filter collapsed by default, lost-partitions demoted to Advanced link
- FileBrowser: dropped date/size filters, group-by, CSV export, update banner, onboarding banner, recent scans history, hex-dump preview
- Condition column collapsed from 5 states to 3 buckets — Good / Risky / Lost
- Image rows now show inline thumbnails (lazy-loaded, cached)
- File table extracted into PreviewDialog, RecoveryReportDialog, SettingsDialog, FileTable for maintainability
- App version sourced from package.json (no more hardcoded 0.10.0 in About dialog)
v0.15.0FEATURE
Partition scan, USN journal, EOF detectors, offset reader, validator
- New 'Find Lost Partitions' tool — scans PhysicalDrive0 for boot sectors missing from the partition table
- USN journal reader for richer deletion history
- EOF detectors for additional file formats — better Deep Scan recovery boundaries
- Offset-based scanner can begin reads at an arbitrary disk offset (used by lost-partition flow)
- Background validator re-evaluates condition after preview
v0.14.0FEATURE
VSS + OneDrive + File History auto-recovery — no more TRIM corruption
- Files surfaced from Volume Shadow Copies tagged VSS in the file table
- OneDrive sync folder scanner finds locally-stale versions
- File History snapshot recovery for users who enabled the Windows backup feature
- Source column on every row identifies where the recoverable copy came from
v0.13.7FIX
open_folder via explorer.exe + flat recovery output
- Recovery output now lands flat in the destination folder (was: mirrored full source path)
- ‘Open folder’ in recovery report uses explorer.exe directly — opens Windows Explorer reliably
v0.13.6FIX
Critical — recovered files were being written to source path, not output dir
- Fixed a recovery path-resolution bug where files could be written back to the source drive structure
- All recovery paths now anchored to the user-chosen output folder
v0.12.1UX
Vibrant theme — solid yellow blocks, navy table headers, stronger contrast
- Theme switched to vibrant #FACC15 yellow primary instead of pale variants
- Table headers go navy with white text and yellow accent line
- Selected rows show solid yellow tint, hover-on-selected fills full brand yellow
- Selected drive/scan-mode cards lift with 2px navy border and brand-yellow glow
v0.12.0UX
Switch desktop to white/yellow theme + new icon
- theme.ts rewritten in light mode with brand yellow primary
- All hardcoded dark colors replaced across FileBrowser, SelectDrive, Scanning, LicenseDialog
- New yellow rounded-square icon with navy R, regenerated across all PNG sizes + .ico
- Matches the marketing site brand mark for visual consistency
v0.11.1FIX
Remove admin password gate
- The hardcoded 123!@# password was a placeholder before licensing landed
- Recovery flow now goes Recover → Poor warning (if any) → recover, no extra prompt
v0.11.0FEATURE
Full licensing system (Phases 1–4)
- Ed25519-signed license keys, hardware fingerprint binding (MachineGuid + disk serial)
- AES-256-GCM encrypted local cache; license tied to specific PC
- Free tier 1 GB recovery cap enforced via HMAC-signed local counter + server quota mirror
- Online activation, deactivation, 30-day re-validation with 7-day offline grace period
- Anti-tamper: self-checksum, IsDebuggerPresent, scattered premium-gate checks
- Cloudflare Worker reference server with KV storage, Stripe webhook, admin blocklist
- Architecture PDF documenting threat model, components, key format, all 4 phases
v0.10.0FEATURE
UX feature bundle
- Sortable columns — click Filename / Folder / Size / Modified / Condition to sort
- Right-click context menu — Preview, Recover, Add to selection, Copy filename, Copy full path
- Recovery summary report dialog with saved/failed counts, total bytes, error list, Open folder
- Keyboard shortcuts — Ctrl+A select all, F5 new scan, Esc close dialogs, Enter preview
- Settings dialog (later trimmed to default output folder in v0.17.3)
- Toast snackbar, About dialog
v0.9.2FEATURE
Expanded signature library + Browse fix
- Signature library expanded from ~10 to 40+ formats: HEIC, WEBP, MP4, MOV, MKV, WMV, FLAC, OGG, M4A, RAR, 7z, PSD, SQLite, EXE, and more
- Added magic_offset support — signatures like WEBP (offset +8) and HEIC ftyp (offset +4) now identify the correct file start
- Fixed Browse button silently failing — removed bad defaultPath, added error handling
v0.9.1FEATURE
Deep signature scan
- Deep Scan mode now actually works — enumerates files via raw signature carving without immediately extracting
- Carved files appear with offsets stored in app state; recovery seeks to offset and writes to destination
- Default 32 GB scan cap to keep multi-TB drives manageable
v0.9.0FEATURE
Recycle Bin + Shadow Copies + scan modes
- New scan mode picker on SelectDrive: Quick / Recycle Bin / Deep / Shadow Copies
- Recycle Bin scanner parses $I metadata + $R content from $Recycle.Bin
- Volume Shadow Copy listing via vssadmin — exposes \?\GLOBALROOT shadow paths
- Folder filter has Browse button to pick a directory via native dialog
- recover_files dispatches by fs_type for clean per-mode recovery
v0.8.2UX
SSD warning + Poor file confirmation
- SelectDrive shows a TRIM warning when an SSD drive is selected
- FileBrowser blocks recovery of Poor/Unrecoverable files behind an explicit confirmation dialog
- Site redesigned to a modern white-and-yellow theme
v0.8.1FIX
Magic byte validation
- Detect cluster reuse — files whose extension is PNG/JPEG/etc. but whose first bytes don't match the format are now marked Poor
- Catches the case where deleted-file MFT runs point to clusters reallocated to other files
v0.8.0FEATURE
File preview + date/size filters
- Preview button on each file row — JPEG/PNG inline thumbnail or hex dump for other types
- Detects all-zero data and warns about TRIM
- Date range filter (From/To) and size range filter (min/max KB) in the toolbar (removed in v0.17.3)
- TRIM detection moved to post-filter so 2M-file scans don't hang on the data peek
v0.7.xFIX
Recovery correctness
- BufReader wrap around raw volume reader — fixes 0-files-recovered issue on large reads
- Chunked reads (256 KB) handle EOF gracefully instead of erroring
- Skip named NTFS $DATA streams (Zone.Identifier) so we read main file content, not the 26-byte ADS
- Per-file error reporting in recover_files