Skip to content

Releases: qtld88/FilmCan

FilmCan 1.3.1

20 Jun 09:52

Choose a tag to compare

Security & integrity remediation + dead-code sweep. No new features. Universal (Apple Silicon + Intel), ad-hoc signed.

Security

  • Webhook/ntfy: refuse cross-host / https→http redirects so the bearer token & auth headers can't be exfiltrated by an attacker-controlled 30x; ephemeral session, no cookies.
  • Keychain: report set failures, set accessibility.

Integrity

  • ASC MHL seal failure now surfaced to the operator (non-fatal warning, footage stays verified) instead of being silently swallowed; warnings/errors now log in release builds.
  • Encode-all-before-write to avoid truncated config saves; entitlements DOCTYPE repair.
  • Orphan-cleaner TOCTOU fix (register temp name before the file exists).
  • Failed-dest repair seals a fresh ASC MHL generation (chain of custody) and honors F_FULLFSYNC on exFAT/USB.
  • Removed O(N²) per-file manifest flush (checkpoint + seal only).
  • Verify: skip dest re-read for skip-policy files (regression fix).

Cleanup

  • Removed CustomCopierSupport; slimmed CustomCopierService and CancellationState (dropped dead cancel/pause surface).
  • Memory-safe sibling repair (per-chunk autorelease drain).

⚠️ Ad-hoc signed (not notarized): on first launch, right-click the app → Open to bypass Gatekeeper.

Release 1.3.0

17 Jun 11:08

Choose a tag to compare

FilmCan 1.3.0

Netflix Camera/Sound routing

  • Per-source Camera/Sound toggle — click the icon at the top-right of each source card to switch (🎥 → Camera_Media/, 🔊 → Sound_Media/). Camera and sound back up in one pass; each sound roll gets its own ascmhl/, verify and resume.
  • Sound auto-detect drive/folder patterns (Options › Sources) — adds and tags matching drives live, mirroring camera detection.
  • Editable Camera & Sound folder templates (Options › Destinations › Folder templates).
  • Destination Save To path preview reflects the camera/sound tag + shoot metadata.

Hash-list style

  • Choose ASC MHL (Netflix-ready, generation chain) vs a simple hidden hash list per backup.

Engine integrity & progress (per-destination resume)

  • Per-destination resume: a file is copied only where missing; up-to-date destinations skip it.
  • Progress bar spans the whole job (e.g. 30/500 GB on resume, not 0/470).
  • Copy bar = bytes actually finalized + current file; on stop it snaps back to what's fully on disk.
  • Manifest reflects only what was truly backed up — no phantom entries, no empty ascmhl/.
  • Live per-destination failure surfacing (write/verify/corruption flips the card red while others continue).
  • Empty shoot-metadata tokens no longer leave stray underscores in folder names.

Release 1.2.0

14 Jun 22:29

Choose a tag to compare

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+.

Release 1.1.0

18 Mar 00:02

Choose a tag to compare

  • Add webhook notifications (JSON + custom headers)
  • Improve notifications + dock badge handling
  • Add optional hash verification for FilmCan Engine and better hash list error handling
  • Improve progress/preview calculations and surface verification differences
  • Harden DMG packaging flow and refresh docs (privacy, AI usage, architecture, QA)

FilmCan v1.0.0 – First Stable Release

17 Mar 12:55

Choose a tag to compare

FilmCan v1.0.0

First stable release of FilmCan with the custom copy engine and rsync integration.

✨ Highlights

  • High-performance copy engine
  • Rsync integration for reliable and resumable transfers
  • Hash list generation and verification
  • Streaming hashing (XXHash) for faster integrity checks
  • Multi-destination and multi-origin support
  • Transfer history and monitoring
  • Improved UI and workflow

📦 Download

Download the .dmg file below and drag FilmCan into your Applications folder.

⚠️ Notes

  • macOS only (Apple Silicon + Intel supported)
  • First launch may require right-click → Open (Gatekeeper) or System Settings → Privacy & Security → Open Anyway

🧪 Known limitations

  • Some advanced rsync options are still experimental
  • Edge cases on very large file trees are being refined

🔜 Next

  • Performance optimizations
  • Improved error handling
  • Extended verification options

Feedback and contributions welcome:
https://github.com/qtld88/FilmCan