Repository navigation
Full details for every item are in CHANGELOG.md.
What you'll see
- Queue rows: card name, a plain state ("Keep the card", "Didn't verify", "Didn't copy", "Safe to erase"), finish time, backups and size; running rows show phase, file and rate and fill as they copy. Repeated attempts collapse to one row; Remove from queue always works.
- Finish names each backup by volume and folder, says what was verified for the mode, and Eject carries through to "Ejected · safe to remove" and "Removed". Notifications say "safe to erase" or "keep the card".
- Mac: tab strip stays in History, a bottom bar holds the one missing step and the Start/Check/Scan button, and the window follows its content without fighting resize, zoom or tiling.
- "Card" and "backup" everywhere instead of source and destination; the mode chooser is a row under the prompt; the two wells are equal.
- One motion system (settle spring, 200 ms ease, the safe-to-erase commit) and nothing moves on its own. Spacing, radius and text tokens; iOS light and Increase Contrast tints clear 4.5:1.
- iPhone and iPad keep Start, Pause, Resume and Cancel at the bottom; the source name has more room at large accessibility text.
- Fixed: queue row ⋯ menu and expand chevron ignored clicks in the rebuilt row.
- A paused queue now says "Review, skip, or remove the paused card first." instead of a silently disabled Start.
Safer copies, honest evidence
- Only backups proven to be on different physical drives count toward required copies.
- A backup that runs out of space pauses for the rest of the attempt; other backups finish, and it resumes next attempt.
- A file that fails verification is re-copied once and verified again; History records the recovery or the second failure.
- A file that still fails readback is renamed
<name>.bitmatch-failedon the backup, bytes preserved; History says what happened to it. - Fixed: cancelling a queued card during preparation could still let copying start.
- Older Quick transfers keep their "not verified" counts even when an old record used a verified label.
- Ignored AppleDouble metadata stays out of warnings and counts when everything selected verifies; PDFs tuck selected files behind a disclosure, CSV/JSON keep the full list.
- Better Standard retries for empty files on exFAT; other file changes still stop the transfer.
- Diagnostics handle overlapping writers, say which final backup check stopped a transfer (no footage names or paths), and count dropped events in exports.
Check
- Reads classic MHL 1.1 checksum files, checking contents without claiming to validate history or authenticity.
- Reads MD5-only and SHA-1-only classic MHL inventories; size-only and XXH64 stay unsupported.
- Rejects classic MHL records with conflicting modification dates for one file.
Faster and lighter
- History opens faster with large journals: collapsed rows defer their details and evidence is scanned once (50,000-row attach went from ~2 s to under 0.5 s). Clip-name search runs only when asked.
- PDF reports with many files or long filenames use less memory.
- Drive discovery, drive checks, camera hints and card readability checks run off the main thread with cancellation; late checks never replace your selection or pick a removed card.
- Selections are re-checked after mount changes (identity, name, capacity, readiness).
- Saved path comparisons stay consistent when files or symlinks come and go; safety checks recognise source-folder aliases before child folders exist.
Under the hood
- Tests pin the Dock badge (unresolved count, nothing when clean), idle Quit and queued-card removal.
- Ordinary test runs no longer touch real drives (real-volume checks are opt-in).
- History profiling covers model preparation and window attach on Mac plus an opt-in iPad probe.