Skip to content

BitMatch 0.2.11

Latest

Choose a tag to compare

@mikecerisano mikecerisano released this 22 Oct 04:59
· 8 commits to main since this release

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-failed on 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.