SyncWatcher
Plug in. Back up. Done.
The moment you plug in your camera SD card, SyncWatcher copies your files automatically. Critical transfers are verified with a checksum, and scheduled backups run on their own. No more manual copying.
✅ Free to use, forever · A license purchase supports the developer
View Source on GitHubKey Features
Automatic File Watch & Copy
SyncWatcher monitors your folders continuously and copies changed files to the destination instantly. Set it up once, and let it handle the rest.
Camera SD Card Auto-Backup
Plug in an SD card or USB drive and SyncWatcher detects it instantly, copying your files automatically. Shoot, plug in, done.
Checksum Verification
For files that truly matter, xxHash64 checksum validation runs after the copy to confirm every byte transferred without corruption.
Scheduled Backup & Safe Cleanup Review
Schedule automatic backups at regular intervals. SyncWatcher also lets you review files that exist only in the backup but are gone from the source — so you can decide what to clean up manually, safely, without any surprise deletions.
Why SyncWatcher?
- → Native macOS App — Built with Tauri (Rust), not Electron. Runs lean with a tiny memory footprint.
- → Dry-run Preview — See exactly what will change before any file is touched.
- → Reusable SyncTasks — Save your backup rules once and reuse them whenever you need.
- → Multilingual — Available in English, Korean, Chinese, Japanese, and Spanish.
Release Notes
SyncWatcher v1.4.9 Apr 13, 2026
Highlights
- Confirmation and warning prompts now appear inside the app for a more consistent workflow.
- Watch Mode now recovers more reliably after you unplug and reinsert an SD card or other removable media.
- When Watch Mode finds nothing new to copy, SyncWatcher again asks whether to unmount the card or keep it mounted.
- The conflict review window keeps the Close button styling consistent while action confirmations are open.
Full Changelog: https://github.com/studiojin-dev/SyncWatcher/compare/v1.4.7…v1.4.9
SyncWatcher v1.4.7 Apr 9, 2026
Highlights
- Adds visible pre-copy scan and compare progress for manual sync so long-running planning work no longer looks stalled.
- Adds Dry Run result reuse via
Sync Now, backed by a backend-owned artifact with non-mutating stale detection. - Fixes cancellation during planning and prevents late terminal sync events from resurrecting a cleared stale-fallback session.
Notes
- Freshness validation remains a light check: new filesystem changes outside the previously detected dry-run diff/conflict candidate paths can still require a new Dry Run for full recomputation.
Full Changelog: https://github.com/studiojin-dev/SyncWatcher/compare/v1.4.6…v1.4.7
v1.4.6 Apr 6, 2026
v1.4.5 Apr 4, 2026
v1.4.4 Apr 4, 2026
SyncWatcher v1.4.2 Apr 1, 2026
See the assets to download this version and install.
SyncWatcher v1.4.1 Apr 1, 2026
Highlights
- Improve tooltip accessibility by attaching the description to the actual focused trigger.
- Preserve recurring schedules when a task update omits
recurringSchedulesinstead of clearing them. - Allow editing UUID-based tasks even when the source media is currently unmounted, including legacy
[UUID:...]sources. - Lock the SyncTask save form while validation and persistence are in flight to prevent duplicate submissions.
Included fixes
- Keep save/edit flows usable for unmounted UUID sources when only the task name, target path, or source subpath changes.
- Show a saved UUID source hint in the task form when the original device is not mounted.
- Add targeted regression coverage for tooltip accessibility, recurring schedule updates, unmounted UUID edits, and save-pending UX.
Notes
- macOS release artifacts are built and published through the GitHub Actions release workflow for this tag.
SyncWatcher v1.4.0 Mar 30, 2026
Summary
SyncWatcher 1.4.0 adds recurring schedule management for sync tasks, including guided validation, improved hourly scheduling input, and recurring run log drill-in so scheduled runs are easier to inspect and maintain.
This release also tightens sync task flows and validation, adds privacy and terms policy documents, and hardens the release pipeline with cleaner signing/notarization behavior and quieter CI warnings.
Highlights
- Added recurring schedule management for sync tasks
- Restored and hardened recurring schedule validation flows
- Added recurring schedule run log drill-in in the UI
- Polished hourly recurring minute input and sync task flow details
- Added privacy policy and terms documents
- Cleaned release warnings and updated GitHub Actions pnpm setup for newer runner Node versions
SyncWatcher v1.3.4 Mar 27, 2026
Detailed Changelog
03c4594 - Fix runtime sync races and move sidebar version badge
- Refactored the Sync Tasks screen into dedicated list, form, action, and controller modules to separate UI state from runtime operations.
- Fixed race conditions around runtime-driven sync state updates so task actions and backend status stay in sync more reliably.
- Moved the app version badge in the sidebar as part of the Sync Tasks UI cleanup.
- Added regression coverage for runtime bridge behavior and sync task hooks.
cfd140f - Adjust sidebar version label sizing
- Tuned the sidebar version label sizing after the badge move so it fits the layout more cleanly.
- Reduced visual crowding in the sidebar footer area.
4727528 - Fix watch bootstrap sync and task status fallback
- Fixed watch bootstrap behavior so the initial watch-triggered sync is re-enqueued correctly when runtime watch activation starts.
- Improved task status fallback behavior in the task list when runtime state is not yet fully available.
- Added localized copy updates tied to the refined runtime/task status behavior.
- Recorded the watch activation decision in ADR-20260327-0019.
fd2c94f - Bump version to 1.3.4
- Updated app version metadata for the 1.3.4 release.
Full Changelog: https://github.com/studiojin-dev/SyncWatcher/compare/v1.3.3…v1.3.4
SyncWatcher v1.3.3 Mar 26, 2026
Release Notes
- Improved watch-chain safety so downstream sync execution is gated more carefully.
- Hardened runtime validation and related conflict handling during watch-driven sync flows.
- Fixed dock reopen behavior when the main window is hidden.
- Updated GitHub Actions compatibility for the release workflow.
Full Changelog: https://github.com/studiojin-dev/SyncWatcher/compare/v1.3.2…v1.3.3
SyncWatcher v1.3.2 Mar 25, 2026
Release Notes
- Updated the release pipeline for the ARM-first distribution workflow.
Full Changelog: https://github.com/studiojin-dev/SyncWatcher/compare/v1.3.1…v1.3.2
SyncWatcher v1.3.1 Mar 25, 2026
Release Notes
- Improved the license activation flow and support entry points.
- Reworked dry-run results to render as a clearer tree view with better icon handling.
- Expanded product documentation, SyncTask guides, and related screenshots/GIFs.
- Added more robust startup and modal refresh handling for license state.
Full Changelog: https://github.com/studiojin-dev/SyncWatcher/compare/v1.3.0…v1.3.1
SyncWatcher v1.3.0 Mar 23, 2026
Release Notes
- Added an in-app updater entry so update checks are easier to access from the app.
- Refreshed release workflow reliability for manual runs and frontend dependency updates.
- Updated core frontend and i18n-related dependencies to keep the app current.
Full Changelog: https://github.com/studiojin-dev/SyncWatcher/compare/v1.2.1…v1.3.0
SyncWatcher v1.1.6 Mar 11, 2026
Release Notes
- Cleaned up YAML-related type handling and store integration.
- Removed outdated dashboard UI code as part of the release cleanup.
- Updated app version metadata for the
v1.1.6release.
Full Changelog: https://github.com/studiojin-dev/SyncWatcher/compare/v1.1.5…v1.1.6
SyncWatcher v1.1.5 Mar 10, 2026
Release Notes
- Improved target path preflight and missing-target handling in the sync flow.
- Refined Sync Tasks and dry-run UI behavior around target validation and status presentation.
- Updated install and README guidance alongside the release.
Full Changelog: https://github.com/studiojin-dev/SyncWatcher/compare/v1.1.4…v1.1.5
SyncWatcher v1.1.4 Mar 10, 2026
Release Notes
- Consolidated exclusion-set defaults into the program so default behavior is managed more consistently.
- Updated exclusion-set loading and related frontend handling to match the new defaulting model.
- Added ADR documentation for the exclusion-defaults decision.
Full Changelog: https://github.com/studiojin-dev/SyncWatcher/compare/v1.1.3…v1.1.4
SyncWatcher v1.1.3 Mar 10, 2026
Release Notes
- This release re-publishes the same code as
v1.1.2under thev1.1.3tag. - No application code changes were introduced between
v1.1.2andv1.1.3. - Use this release if you need the corrected release tag/version alignment.
Full Changelog: https://github.com/studiojin-dev/SyncWatcher/compare/v1.1.2…v1.1.3
SyncWatcher v1.1.1 Mar 9, 2026
Release Notes
- Fixed the stable release attestation policy in the GitHub release workflow.
- Updated the release SBOM and attestation documentation to match the corrected policy.
- Reduced the chance of shipping a stable release with the wrong attestation behavior.
Full Changelog: https://github.com/studiojin-dev/SyncWatcher/compare/v1.1.0…v1.1.1
Requires macOS 11+ · Supports Apple Silicon & Intel
Get Started with SyncWatcher →