Skip to content

Release 1.2.0

Choose a tag to compare

@qtld88 qtld88 released this 14 Jun 22:29
· 108 commits to main since this release

FilmCan 1.2.0 (build 22) — a major reliability, speed, and verification overhaul built on the new fan-out copy engine.

New copy engine (FilmCan Engine)

  • Single-pass fan-out: read each source once, broadcast to N destinations in parallel (one bounded channel per dest)
  • Multi-source and directory sources via race-safe enumeration
  • rsync retired from the UI — the FilmCan Engine now handles every backup (no Homebrew dependency)
  • Per-destination MHL hash lists (atomic write, XML-escaped, partial/seal markers)

Reliability

  • Stop actually stops — cooperative cancellation; no half-written final files left behind
  • Disk-space pre-flight per destination before touching any file
  • 1s settle delay before paranoid verify on F_FULLFSYNC drives (exFAT/SD) to prevent false hash mismatches
  • exFAT / F_FULLFSYNC warning banner
  • Sibling repair: retry a failed destination from a healthy sibling, one click
  • Correct per-destination history (✓/✗ exploded per dest), fixed verify-path mismatches and MHL aggregation races

Speed & memory

  • Bounded memory: F_NOCACHE on read/write + autorelease draining in verify (paranoid runs went from >15–30 GB down to a small bounded footprint)
  • Throttled progress emits (was flooding the main thread)
  • Verify pipelined behind copy — verification of one file overlaps the next file's copy
  • Smart parallel/sequential copy mode (Automatic / Parallel / Sequential)

Verification

  • Off / Fast / Paranoid picker — Fast is the new default for new projects
  • Fast = checks the hash computed during copy; Paranoid = re-reads both source and dest from disk

Progress & ETA

  • Finder-grade windowed combined-throughput ETA — stable, honest speed/time remaining
  • Two-color copy/verify progress bar inside each destination card, with speed, ETA, current file and per-dest status

Resume

  • Resume skip — re-running skips files already backed up to every destination and still present on disk; only the rest copies ("N files already backed up")
  • Presence check (a file deleted from a destination is re-copied) and a Force re-copy override
  • Re-running a fully-present backup shows an Already backed up popup instead of a new history card

UI & polish

  • Settings card restyled with a darker, distinct grey
  • Full-frame app icon (edge-to-edge)
  • Destination capacity bar: free space light, occupied dark (was inverted), order occupied · backup · free
  • Destinations options tab no longer lags on open/close

Build

  • Universal (arm64 + x86_64), signed
  • Hardened DMG packaging (reliable background art)

macOS 13+.