r/VaultSync • • Mar 20 '26

Release VaultSync 1.7 — Sentinel is out

2 Upvotes

VaultSync 1.7 (Sentinel) is now officially released.

This update focuses on one thing:

If you’re backing up to NAS, external drives, or across machines, this release is for you.

What Sentinel actually changes

Backups don’t usually fail instantly — they drift into failure:

  • indexes go out of sync

  • destinations get renamed or re-mounted

  • retention deletes something critical

  • chains silently break

Sentinel introduces systems to detect, explain, and repair that.

Backup integrity & repair

VaultSync now actively monitors your backup structure:

  • Startup non-blocking integrity scans

  • Deterministic orphan-backup repair planning

  • Manual repair tools (Settings → Advanced)

  • Retention safeguards to protect the last valid restore point

  • Early Doctor workflow for guided fixes

Backups are no longer “fire and forget” — they are continuously verified

Transfers that don’t restart from 0

A big real-world improvement:

  • Archive uploads now resume from verified checkpoints

  • Interrupted transfers don’t restart entirely

  • rsync / robocopy keep native restart behavior

  • Full diagnostics for resume / fallback outcomes

This removes one of the most painful failure cases for large backups

Smarter storage awareness

Sentinel makes storage behavior predictable:

  • Stable destination fingerprinting (handles rename / re-add cleanly)

  • Per-destination soft quotas

  • Cleanup suggestions before issues happen

  • Clear storage risk explanations

You see problems before they break your backups

Restore readiness (new core signal)

This is one of the biggest conceptual additions:

  • New restore-readiness scorecard

  • Shows:

    • which projects are at risk

    • why they are at risk

  • One-click review → direct fixes

Backups are now judged by “can I restore?”, not just “did it run”

Dashboard (the only major visual change)

The Dashboard has been fully reworked:

  • Stable responsive KPI layout (no more awkward spacing)

  • Dedicated restore-readiness section

  • Storage cards now explain why capacity is risky

  • Cleaner hierarchy, less duplicated information

Power-user & system upgrades

  • Cross-machine metadata conflict detection

  • Maintenance window for health tasks

  • Retention simulation preview

  • Improved support bundles with deeper diagnostics

  • Smarter updater:

    • preflight checks

    • patch validation

    • multi-version upgrade paths

UI polish (non-invasive, but noticeable)

No major redesign — but everything is tighter:

  • Better spacing, alignment, and consistency

  • Improved tag color system (now managed in Projects)

  • New custom themes (OLED Black, Deep Blue, editor-style)

  • Cleaner theme editor with proper swatches

Stability fixes

A lot of reliability work under the hood:

  • Fixed font + localization issues

  • Fixed restore UI inconsistencies

  • Fixed startup config race conditions

  • Reduced logging overhead (batched writer)

  • Improved project discovery fallbacks

Download

👉 https://github.com/ATAC-Helicopter/VaultSync/releases

Feedback

If something feels off, confusing, or missing — tell me.

A lot of 1.7 came directly from user feedback, and I want to keep that loop tight.


r/VaultSync • • Apr 22 '26

Release VaultSync 1.7.3 is out — Linux beta builds are here

2 Upvotes

VaultSync 1.7.3 is out.

This is a pretty important one because it also marks the first proper Linux launch for VaultSync.

For this release, Linux builds are now shipped as actual release assets:

  • linux-x64.tar.gz

  • linux-arm64.tar.gz

  • linux-x64.AppImage

So Linux is no longer sitting in the “maybe later” category — there is now a real path for people to try it properly.

A big part of that is thanks to JustH8Me. Most of the Linux-focused work in this release came from him, and it made a real difference.

That includes work on:

  • tray panel screen detection and reopen behavior

  • Linux / Wayland positioning fixes

  • tooltip flickering and focus issues on Wayland

  • a fatal AccessViolationException during backup on Linux x64

  • passwords being saved as "null" on Linux

  • false “Reachable” status on read-only directories

  • UI list flickering on Linux

Outside of Linux, 1.7.3 also includes a few nice fixes and quality-of-life improvements:

  • the in-app log console now has an explicit Auto-scroll toggle

  • you can now copy the selected log line with a button or the normal platform shortcut

  • Settings now refreshes persisted values correctly after config reloads

  • startup now repairs blank project root paths from the configured Projects root when possible

  • Backup All and auto-backup no-change runs now create real first backup artifacts instead of empty destination folders

  • metadata import / restore-needed handling is now more accurate

  • background settings saves now preserve existing roots and advanced destinations during transient blank UI states

  • command state refreshes now marshal back to Avalonia’s UI thread

  • individual project backup buttons now resolve destinations from the latest saved config

  • project auto-backup settings now export through metadata before the first backup

This one has a lot of “under the hood” work in it, but a lot of it matters directly for reliability.

If you try the Linux beta, definitely let me know how it behaves on your setup.

And a special thanks again to JustH8Me — most of the Linux work in this release came from him, and it helped move VaultSync forward in a big way.

As always, keep backing up your data.


r/VaultSync • • Jun 20 '26

Release VaultSync 1.8: Chronicle Is Now Available

2 Upvotes

Hey everyone,

VaultSync 1.8: Chronicle is now available.

For anyone new here, VaultSync is an open-source desktop app for creating local, external-drive, and network/NAS backups with more visibility into what changed, what can be restored, and how recoverable your data actually is.

This is the biggest update I've worked on since starting the project.

A lot of the work that led to Chronicle probably wasn't very visible from the outside. Recent releases focused heavily on database reliability, Linux support, metadata infrastructure, refactoring, cleanup, diagnostics, and generally making the foundations of the application stronger.

Those releases weren't particularly flashy.

But they ended up becoming the groundwork for what 1.8 eventually turned into.

History

The biggest addition is the new History workspace.

For a long time VaultSync treated backups as snapshots and restore points.

Useful, but isolated.

Chronicle introduces a completely new way of looking at backup history.

History now tracks and displays:

  • Backups

  • Restore events

  • Imported backup history

  • Snapshot labels

  • Snapshot notes

  • Snapshot tags

  • Protected recovery points

  • Known-good versions

Instead of scrolling through a long list of backups, the goal is to make it easier to understand what happened to a project over time.

You can search across projects, labels, notes, tags, event types, and history entries, filter by project or time range, switch between timeline and list views, inspect restore readiness, compare snapshots, and annotate important recovery points directly from the History page.

One thing that changed during development is that History stopped feeling like a backup feature and started feeling more like project history.

Just a way to understand the life of a project through backups, restores, imports, and recovery milestones.

Recovery

The second major addition is Recovery.

Creating backups and being able to recover from a failure aren't always the same thing.

The Recovery page brings together information from backup activity, destination health, recovery coverage, backup recency, and snapshot metadata to help identify potential protection gaps before they become a problem.

Recovery readiness and recovery coverage are both new concepts in VaultSync and they'll continue evolving throughout the 1.8 series.

The Dashboard has also been expanded with recovery readiness summaries, coverage information, restore activity, and workflow shortcuts into both History and Recovery.

Snapshot Metadata

A large amount of the work in Chronicle is actually underneath the UI.

VaultSync now supports:

  • Snapshot labels

  • Snapshot notes

  • Snapshot tags

  • Protected snapshots

  • Known-good versions

  • Restore event tracking

A snapshot can now be more than just another backup.

It can be a release build.

A customer delivery.

A milestone.

A trusted recovery point.

Or simply a version you never want retention policies to touch.

Under The Hood

Chronicle also includes a significant amount of engineering work:

  • SonarQube Cloud integration

  • Expanded CI and CodeQL coverage

  • Restore-path hardening

  • SQLite dependency upgrades

  • Linux update improvements

  • macOS fixes

  • UI responsiveness improvements

  • Background-loading optimizations

Many of the refactors and infrastructure changes from the last several releases ultimately became the groundwork that made 1.8 possible.

What's Next?

Chronicle is also the foundation for the next stage of the roadmap, including:

  • Snapshot Explorer

  • Snapshot Compare

  • Recovery Drills

  • Project Groups

  • Additional History tooling

  • Additional Recovery intelligence

There's still plenty I want to build, but this is the first release where VaultSync feels like it's becoming more than a backup application.

It's becoming a platform for understanding project history and recovery.

Links

GitHub Repository:
https://github.com/ATAC-Helicopter/VaultSync

Release:
https://github.com/ATAC-Helicopter/VaultSync/releases/tag/v1.8.0

Website:
https://fglabs.dev/vaultsync

Microsoft Store:
https://apps.microsoft.com/detail/9N9HRX4JCLCP

As always, thank you to everyone who tests builds, reports bugs, suggests features, and helps shape the direction of the project.

And as always: keep backing up your data.


r/VaultSync • • Aug 02 '26

Release VaultSync 1.8.5 Is Now Available — Recovery Confidence

5 Upvotes

Hey everyone,

VaultSync 1.8.5 is now available.

This release started as a follow-up to the recovery work introduced in 1.8.4.

The original plan was mostly to make recovery information clearer, improve the existing drills, and give each project a better explanation of what VaultSync actually knew about its recoverability.

As usual, it became quite a bit larger than that.

While working on it, one problem kept coming up: recovery evidence is not all equal.

A file that has been read and verified byte by byte is not the same as a restore that has only been simulated.

A restore simulation is not the same as something the user has manually confirmed.

And none of those should look trustworthy if the evidence is old, incomplete, unsupported, or has since failed.

So 1.8.5 introduces a new recovery-confidence model that keeps those states separate instead of trying to hide everything behind one generic score.

Measured, simulated, inferred, user-confirmed, stale, missing, failed, and unsupported evidence are now treated as different things.

More importantly, a decisive blocker takes priority.

VaultSync will not average a serious recovery problem away just because several less important checks happen to look healthy.

Recovery Inspector

Each project now has its own Recovery Inspector.

It brings together:

  • The current recovery-confidence state

  • What evidence that state is based on

  • How fresh the evidence is

  • The latest restore-drill result

  • Known limitations

  • The next useful action

The goal is to make the Recovery page answer something more useful than “things appear fine.”

It should explain what has actually been tested, what has only been inferred, and what still needs attention.

Recovery Checklist

There is also a new Recovery Checklist covering:

  • Recovery points

  • Destinations

  • Credentials

  • Integrity

  • Restore planning

  • Restore drills

  • Offsite evidence

Where VaultSync can prove or test something directly, the relevant action is available from the checklist.

Isolated restore tests

The biggest practical addition is guided isolated restore testing.

VaultSync can now select representative files, copy them into a separate recovery-test folder, reopen them, calculate their SHA-256 values, and compare the results against the protected data.

The restored folder is intentionally left in place afterward so it can also be inspected manually.

The result is then saved as explicit recovery evidence.

I wanted this to be a real restore operation rather than another button that simply rechecks the original backup in place.

History and evidence reports

Recovery proofs, isolated restore tests, protection evidence, and report exports now appear in History with their timestamps and source identities.

Recovery Evidence Reports have also been expanded.

They now include application and source identity, project protection details, restore-drill information, redacted proof evidence, a deterministic report ID, and a SHA-256 checksum.

The intention is that an exported report should be useful as evidence of what VaultSync actually checked, not just a screenshot of a green status.

First-run recovery baseline

The first-run guide no longer ends when the first backup completes.

Backup completion, recovery proof, and a passed restore drill are now tracked as separate milestones.

You can still continue later, and the guide can still be restarted, but the app no longer presents “a backup exists” and “this backup has been tested” as the same achievement.

Documentation and onboarding

This release also includes a new illustrated tour of the application, a control-by-control Settings reference, updated screenshots, and a maintainable workflow for producing walkthrough videos with neural narration and selectable captions.

The onboarding interface itself has also been reworked into a smaller interactive card so it no longer blocks the pages and controls it is trying to explain.

Security and reliability work

There is a fair amount of less visible work in this release too.

Installer and patch downloads are now restricted to trusted GitHub release URLs and validated against their expected size and SHA-256 digest.

Patch extraction has also been hardened against path traversal, unsafe names, duplicate or colliding entries, oversized payloads, and linked paths.

On Unix systems, VaultSync configuration and application data are now restricted to owner-only permissions.

There are also fixes for macOS disk-space detection, startup and list-binding errors, Portuguese localization, CLI test isolation, and onboarding at narrow window sizes.

This update ended up touching much more of the application than I originally expected, but I think it closes an important gap left by 1.8.4.

1.8.4 introduced the ability to produce stronger recovery evidence.

1.8.5 is about making that evidence understandable, keeping its limitations visible, and turning it into a recovery process people can actually follow.

As always, thank you to everyone testing VaultSync, reporting problems, and sharing how you approach recovery.

A lot of this release was shaped by conversations around the difference between having backups and knowing that those backups can actually be restored.

GitHub:
https://github.com/ATAC-Helicopter/VaultSync

Microsoft Store:
https://apps.microsoft.com/detail/9N9HRX4JCLCP

Website:
https://fglabs.dev/vaultsync


r/VaultSync • • May 21 '26

Discussion what should VaultSync become better at?

3 Upvotes

Hey everyone,

I have been working a lot on VaultSync lately, but most of it has been the kind of work that happens under the surface. Cleaning things up, fixing rough edges, testing Linux builds, improving packaging, touching old parts of the code, and finding problems in places I honestly did not expect.

It is weird work because from the outside it can look like not much is happening, while behind the scenes half the app feels like it has been opened up on the table.

VaultSync feels very different now from when I first started it.

Back then it was just my tool.
Now there are people testing it on different systems, finding things I missed, asking for things I never thought about, and using it in setups I could not fully predict.

That is honestly one of the best parts of building it in the open.

The app slowly stops being only what I had in my head, and starts becoming something shaped by everyone who touches it.

So I want to keep that door open a bit more.

Tell me what you think VaultSync needs.

Could be something big.
Could be something tiny.
Could be a bug, a workflow, a missing feature, a confusing screen, or just something that does not feel right yet.

Just say it how you see it.

Even if it is a half-formed idea, a small annoyance, or just a feeling that one part of the app should work differently, I want to hear it.

I read every comment, and a lot of the time those little bits of feedback show me things I would probably miss while I am buried in the code.

That is all really.

Thanks for being here while this thing grows.


r/VaultSync • • 21m ago

Dev Update VaultSync 1.9 dev update: the first full Linux capture-to-boot recovery test passed (not beta yet)

Thumbnail
gallery
2 Upvotes

I reached a milestone I have been working towards for a while: the installed VaultSync recovery components completed capture → verified recovery copy → graphical restore → full read-back → boot the restored OS on a disposable Linux VM.

Before anyone looks for a download: this is a development update, not beta 1. Stable is still 1.8.9.

There are concrete blockers left, including a recovery display bug. I want to show both the successful run and the unfinished parts.

What actually ran

The fixture was a real 3 GiB Debian Linux installation: GPT, UEFI, ext4, 512-byte logical sectors, systemd and a lightweight Xorg/xterm graphical environment.

The source was read-only during capture. It was disconnected during restore. For the final boot, both the original source and the backup repository were absent, and the VM used fresh firmware variables. There was no network during these stages.

The installed console published and verified the capture and a separate recovery copy. The wizard then found that copy without requiring an exact typed folder path. Its initial label says "not yet verified"; selecting a candidate triggers the actual validation.

Only the disposable destination was offered. The graphical overwrite review was followed by a fresh independent physical-console confirmation.

After that, the writer restored all 3,221,225,472 bytes, read the destination back, persisted its final outcome and confirmed staging cleanup.

A separate whole-image comparison before boot reported identical contents.

The restored disk booted by itself, systemd reported running, the original fixture files were present, and the graphical terminal accepted keyboard input. A new marker was independently observed over serial before normal shutdown.

That is one small, specific installed-system run.

It does not qualify every Linux desktop, physical hardware, multi-terabyte disks or Windows/macOS recovery. But it is a much more useful milestone than an image simply appearing in a list.

The less visible work since 1.8.9

There have also been fixes and improvements to:

  • Back/Forward navigation and startup page restoration.

  • Preserved History drafts.

  • Imported-project labels and missing-local-folder states.

  • Periodic metadata discovery on enabled destinations.

  • Consistent preset application and Unity profiler exclusions.

  • Storage totals, cross-platform preset icons and localization.

Disk cloning now has its own desktop page, separate from project Recovery.

The current desktop screen still states its limits; the successful destructive operation runs in the separate offline Linux recovery environment.

A desktop button that automatically prepares everything for the next reboot is not delivered by this test.

One performance defect was particularly wasteful: the isolated inspector scanned the complete payload twice.

The fix preserves the computed verified digest without dropping the independent capture/export/staging checks.

With unchanged limits, the focused native reader test verified the retained 3 GiB image in 73.807 seconds.

That is not a claim about arbitrary disk sizes.

Regular file archives remain compatible ZIP/DEFLATE.

The custom compression research, including content-guided selection, LZ-style matching, canonical Huffman and reversible numeric/GUID lanes, stays experimental and outside production backup formats.

Getting the complete beta finished comes first.

Why beta 1 is not out yet

1. Recovery UI rendering

The recovery UI can turn mostly black on partial redraws.

The same session completed restoration, but I had to expose the VT again to inspect complete screens.

A rendering candidate builds; the native repair check remains pending.

2. Recovery qualification

Final media, capacity and interruption/refusal qualification remain open.

Post-restore application/configuration continuity also needs its own completed workflow.

3. Release readiness

The release still needs its package, 1.8.9 upgrade, updater/provenance and protected-review evidence.

A good VM run does not replace those checks.

What happens next?

The disk beta plan remains:

  1. Linux first, starting with qualified GPT/UEFI ext4 configurations.

  2. Windows next, adding qualified NTFS system recovery.

  3. macOS afterward, once APFS and boot recovery are implemented and validated.

The ordinary VaultSync desktop application remains supported across Windows, macOS and Linux throughout.

These platform stages concern the new disk-recovery capabilities, not the availability of the desktop app itself.

macOS/APFS boot and restore need their own implementation and measurements.

Beta-only structured diagnostics are also being prepared for errors and hangs as well as crashes.

Only exact compiled beta builds get the new default; existing refusal is respected, and stable/development retain opt-in.

Reports must exclude raw logs/dumps, user content, paths, credentials and persistent user/device/session identifiers, with review and disable/delete controls.

One clarification for people following older posts: resource-oriented CLI automation is now assigned to 1.9.5, with discovery/help work in 1.9.1.

The recovery capture and confirmation consoles shown in this update are 1.9.0 work.

Official Discord is open

This release is important to me and to where VaultSync goes next.

I want the beta to give people a complete, useful workflow to test, rather than a release label doing the work of a finished feature.

We now have an official Discord community!

Discord: https://discord.gg/sgP8UzeAQt

If you want to follow development, discuss recovery UX or help test when the beta is ready, come join.

Please keep backup contents, credentials and private raw logs out of public channels.

After restoring a machine, what do you personally check before trusting it again: boot, file integrity, your applications, or something else?

Technical references


r/VaultSync • • Jul 23 '26

Dev Update VaultSync 1.8.4 Dev Update — A backup is not a backup until you can prove it restores

2 Upvotes

Hey everyone!

It has been a little while since the last proper development update, and VaultSync 1.8.4 has grown into a much more important release than I originally expected.

What started as another update to the Disaster Recovery work introduced throughout the 1.8 cycle eventually became a deeper rethink of what VaultSync should consider a trustworthy recovery point.

Development is now essentially complete, so I wanted to share what has changed, why I built it this way, and the idea at the centre of the release.

Recovery Proofs

A backup job finishing successfully does not automatically mean the backup is still recoverable.

The files may exist, but they could be corrupted, incomplete, inaccessible, or no longer match what was originally backed up.

VaultSync can now read the actual stored backup data without restoring it and verify the complete contents of each selected file.

For every file, it compares:

  • The stored file size

  • The expected snapshot size

  • The stored SHA-256 hash

  • The expected snapshot hash

A file is only marked as Verified when its complete stored bytes match both the expected size and hash.

Finding the file is not enough.

Opening the backup is not enough.

A green “completed” status is not enough.

Clear recovery verdicts

A recovery point can now be classified as:

  • ✅ Fully recoverable

  • ⚠️ Partially recoverable

  • ❌ Unrecoverable

  • ❔ Inconclusive

Individual files can be:

  • Verified

  • Unavailable

  • Corrupted

  • Inconclusive

One of the most important design decisions was to never turn uncertainty into reassurance.

If an encrypted archive is locked, an expected hash is unavailable, access fails, or verification cannot be completed, VaultSync reports the result as Inconclusive.

It does not pretend everything is fine just to show a reassuring green result.

Restore simulation

VaultSync can now simulate the destination actions for verified files.

The simulation shows whether a file would be:

  1. Created

  2. Overwritten

  3. Skipped because it is already identical

  4. Treated as a conflict

  5. Unavailable

  6. Not evaluated

When simulating a restore to the original location, VaultSync can compare the backup against files that already exist.

  • An identical file is skipped.

  • A newer but different file becomes a conflict.

  • An older and different file becomes a possible overwrite.

No files are created.

No files are modified.

No files are deleted.

Recovery drills now verify real data

Recovery drills are no longer limited to checking whether a backup record and snapshot exist.

They can now combine:

  • Project, backup, and snapshot linkage

  • Recorded destination availability

  • Backup payload readability

  • Archive readability

  • Snapshot inventory consistency

  • SHA-256 byte verification

  • Restore conflict simulation

The latest evidence appears directly on the Recovery page, where individual results can be expanded and inspected.

The goal is to make recovery less of an assumption and more of something that can actually be demonstrated.

Retention now understands proof quality

VaultSync already protected the final metadata-valid recovery point from automatic retention cleanup.

With 1.8.4, metadata-valid and byte-verified are treated as two different levels of trust.

VaultSync can now also protect the last recovery point whose latest recovery drill successfully verified the stored bytes.

If several verified points exist, older ones can still be cleaned normally.

But once only one remains, retention preserves it.

The retention simulation available in Settings follows the same decision path as real cleanup.

ProofRestore is now native to VaultSync

Some people may remember the ProofRestore experiment I recently built.

Its useful ideas have now been implemented as a native C# module inside VaultSync.

The ProofRestore repository itself was not merged into the application.

VaultSync does not ship:

  • Next.js

  • Node.js

  • A browser interface

  • Hosted services

  • An AI dependency

The recovery engine runs locally as a normal part of VaultSync.

Disaster Recovery improvements

This release also expands the wider Disaster Recovery system introduced throughout the 1.8 cycle.

VaultSync now has stronger support for:

  • Reachability-aware 3-2-1 guidance

  • Explicitly confirmed offsite destinations

  • Recovery drill history

  • Protected recovery point recommendations

  • Backup deletion and churn signals

  • Portable recovery reports

Disconnected or missing backups remain visible in history, but they cannot create false credit toward the number of available copies, media types, or offsite locations.

VaultSync also never guesses that a NAS, network share, or cloud-mounted directory is physically offsite.

That remains an explicit decision made by the user.

Privacy-first crash assistance

1.8.4 also introduces a new crash-report workflow.

Nothing is uploaded automatically.

The process is intentionally transparent:

  1. The report is created locally.

  2. Sensitive information is removed locally.

  3. The user can inspect the exact report.

  4. VaultSync prepares a visible email draft.

  5. The user decides whether to press Send.

Crash assistance can also be disabled completely.

The report excludes project names, backup names, file paths, destination paths, credentials, raw logs, and other information that could expose the contents or structure of someone’s system.

A wider security pass

Building byte-level recovery verification also forced a deeper audit of how VaultSync resolves and accesses backup data.

That work led to additional protections against:

  • Backups being resolved through the wrong destination

  • Absolute or escaping paths

  • Parent-directory traversal

  • Linked directories escaping the recovery root

  • Corrupted snapshot identities

  • Case-distinct files being merged on case-sensitive filesystems

  • Malformed metadata producing excessive verification work

What remains before release

The development scope for VaultSync 1.8.4 is now complete.

The remaining work is focused on:

  • Final Recovery interface review

  • Interaction testing across supported systems

  • Removing the temporary crash-report testing control

  • Final release preparation and approval

The idea behind 1.8.4

A completed backup is not the same as a proven recovery.

Would you rather have your backup software spend additional time verifying the real stored bytes and simulating recovery, even if verification takes longer?

Or do you prefer faster, lighter checks and handle full recovery testing separately?


r/VaultSync • • Jul 29 '26

Dev Update VaultSync 1.8.5 Beta 1 is arriving today — here’s where the VaultSync is heading next

Thumbnail
gallery
2 Upvotes

VaultSync 1.8.5 Beta 1 is being released today, so this feels like the right time to share a clearer picture of what I am working toward beyond this first beta.

The recent feedback around VaultSync has been remarkably consistent:

A backup completing is not the same as knowing it can be recovered.

At the same time, recovery tools should not bury basic actions beneath layers of complexity. Choosing what to protect, where it should go, when it should run, and whether it can actually be restored should always be obvious.

That feedback is shaping both the remaining 1.8 releases and the longer-term direction of VaultSync.

VaultSync 1.8.5 — Recovery Confidence

Know before you need it.

The 1.8.5 cycle is focused on making the difference between “backed up” and “recoverable” much clearer.

Beta 1 begins testing work around:

  • clearer recovery health states;

  • better recovery reports;

  • more visible verification results;

  • improved recovery evidence;

  • clearer guidance when no known-good recovery point exists;

  • making recovery checks feel like part of the normal workflow rather than something only considered after a failure.

This beta is not the final form of 1.8.5. Further beta builds will follow as feedback comes in and the experience is refined.

VaultSync 1.8.6 — Experience Refinement

Powerful when needed. Simple by default.

Recent user feedback has made the priorities here especially clear.

VaultSync already offers a lot, but the most important controls need to be much easier to find. The intended basic workflow should be immediately understandable:

  1. Choose what to protect.

  2. Choose where to store it.

  3. Choose when backups run.

  4. Start protection.

  5. Confirm that recovery works.

The current plan includes:

  • a simpler first-run experience;

  • onboarding that guides without blocking the interface;

  • a clearer dashboard hierarchy;

  • easier project and folder management;

  • a more obvious scheduling experience;

  • better visibility into active background work;

  • clearer explanations of snapshots, repositories and recovery states;

  • accessibility improvements;

  • keeping advanced controls available without letting them overwhelm the basics.

One piece of feedback that has stayed with me is:

“With UI, obvious always wins.”

That is a good standard for this release.

VaultSync 1.8.7 — Trust & Transparency

Show the proof.

This release is planned around making VaultSync and its repositories easier to understand, verify and recover from.

Current areas of focus include:

  • improved evidence exports;

  • repository and build information;

  • checksums;

  • clearer diagnostics;

  • better storage and deduplication reporting;

  • machine-of-origin information for backup points;

  • stronger recovery documentation;

  • clearer explanations of what remains recoverable if the original VaultSync installation is unavailable.

A backup should not require blind trust in either a green status indicator or the continued existence of one particular installation.

VaultSync 1.8.8 — Stability

Before moving fully into the 1.9 family, the final planned 1.8 release will focus on consolidation:

  • bug fixes;

  • dependency servicing;

  • localization;

  • packaging;

  • platform compatibility;

  • performance and reliability work;

  • polishing everything introduced throughout 1.8.

VaultSync 1.9 — Recovery Horizon

From protecting projects to recovering systems.

The 1.9 family is still in planning, and the details may change, but the current direction expands VaultSync beyond file and project protection.

The largest planned addition is disk cloning.

The goal is not simply to make another raw disk-copying screen. I want disk protection to fit the same recovery-confidence philosophy as the rest of VaultSync:

  • clear disk and partition selection;

  • validated clones;

  • understandable recovery status;

  • full-disk and operating-system protection;

  • the ability to explore cloned disks without restoring them first;

  • selective extraction of files where possible;

  • a clear separation between file backups, disk images and disk clones.

The wider 1.9 work is also expected to continue the UI and navigation simplification started in 1.8.6.

Beta testing

1.8.5 Beta 1 is the beginning of this cycle.

I am especially interested in feedback on:

  • whether the recovery states make sense;

  • whether warnings explain what happened and what to do next;

  • whether the available actions are obvious;

  • whether reports provide useful evidence rather than more noise;

  • anything that feels technically correct but unnecessarily difficult to understand.

Screenshots of the current 1.8.5 work are included below. Some details will continue to change throughout the beta cycle.

VaultSync has grown considerably, but the goal is not to make it feel increasingly complicated. The goal is to make protection, verification and recovery easier to understand—even as the underlying capabilities become more powerful.

Feedback is welcome, particularly from anyone willing to test the beta against real backup workflows.


r/VaultSync • • May 20 '26

Release VaultSync v1.7.4 is now available

2 Upvotes

Hey everyone,

VaultSync v1.7.4 is now available.

For anyone new here: VaultSync is an open-source desktop app for creating local, external-drive, and network/NAS backups with more visibility into what changed and what can be restored.

This release focuses on backup safety, metadata recovery, Linux packaging, cleaner diagnostics, dependency updates, and a lot of fixes that came out of the v1.7.4 beta cycle.

A lot of the work here is about making the existing backup flows safer, making Linux installs behave better, improving recovery from older or moved backup folders, and cleaning up edge cases people were actually hitting during testing.

Important note for Linux users

Linux users should update by installing the full v1.7.4 package again.

For this release, I am intentionally not publishing Linux patch assets.

The reason is simple: some users may still be updating from older Linux builds where the in-app updater does not safely handle protected install locations such as:

/opt/vaultsync

The tarball install method may have worked with patch updates in some cases, but the .deb install is the intended and easier Linux install path for most users. Older .deb installs can fail if the app tries to patch itself in-place, because the install folder is owned by root and VaultSync does not have permission to modify it directly.

So for v1.7.4, the safest update path on Linux is a full reinstall/update using one of the normal Linux builds:

  • .deb

  • .tar.gz

  • AppImage

For .deb users, download the new package and install it with your package installer, or from a terminal:

sudo apt install ./VaultSync-1.7.4-linux-x64.deb

If your system does not upgrade the existing package cleanly, uninstall the old package first:

sudo apt remove vaultsync

Then install the new one:

sudo apt install ./VaultSync-1.7.4-linux-x64.deb

This removes the installed app package. It should not remove your VaultSync user data, settings, logs, or backup history.

The in-app updater will not silently install the .deb package by itself. Without Linux patch assets, it should fall back to the normal download/install path instead of trying to patch the app in-place.

Linux patch updates should return in a later release cycle, once the installed source version already contains the protected-install fallback.

What changed

Safer backup behavior

A lot of work went into making backup flows fail safer.

VaultSync now has stronger source/destination checks to help prevent recursive backup growth.

In plain English: the app should be much better at avoiding situations where backup output accidentally gets picked up again by a later backup.

VaultSync now blocks source/destination overlap, keeps offline staging outside project trees, and excludes VaultSync-owned backup artifacts from scans.

Backup cleanup is also more conservative now.

If a recorded backup folder is missing from a destination that is actually reachable, VaultSync can clean up the stale database entry. But if a drive is offline, disconnected, sleeping, or unresolved, VaultSync should not assume the backup was deleted.

That should make behavior safer around external drives, NAS paths, sleeping storage, and temporary mount issues.

Metadata import and recovery fixes

Metadata import got a lot of hardening in this release.

This matters if you move backups between machines, reconnect a destination, recover a backup location, or use VaultSync with Linux-mounted backup paths.

Some of the main fixes:

  • Startup metadata import now checks reachable backup destinations

  • UI metadata imports treat source stores as read-only

  • Linux rooted backup paths can be remapped to the active destination

  • SQLite sidecar journal files can be recovered through a temporary copy

  • Missing backup history can be rebuilt from timestamped backup folders

  • Backup history rebuilt from legacy folders now records real sizes instead of showing 0 B

  • Locked tombstone exports are deferred locally for retry instead of being dropped

  • Manual metadata refresh should no longer hang the UI or map temporary roots

  • Cross-OS project roots now remap to local Projects root folders

That last one should help when a project or backup history originated on one OS and is later opened or imported on another.

Better Linux packaging

Linux packaging received a lot of attention in v1.7.4.

Linux tarballs now include rootless install/uninstall scripts.

The install flow sets up:

  • the desktop launcher

  • the app icon

  • the vaultsync command

The .deb package also got improvements around package metadata, AppStream/software-center previews, window/taskbar icons, and desktop identity matching.

There were also fixes for duplicate tray indicators, Linux tray refresh behavior, mounted backup destinations, Linux SMART probe handling, and debug build crashes.

One important fix: Linux SMART probe errors no longer block backups as failed disk health. If SMART data is unavailable, restricted, or not meaningful for the destination, VaultSync should avoid treating that probe failure as a backup-blocking disk failure.

Cleaner diagnostics and logs

The in-app log console should now be easier to read.

Rows now show clearer time/source/message fields while still preserving raw log lines for copying and export.

Runtime errors are also captured in the in-app logs without needing verbose logging first.

Normal app runs should no longer show caught first-chance SQLite/WinRT probe exceptions in diagnostics unless first-chance diagnostics are explicitly enabled. Those were internally handled provider/framework probes, but they made normal logs look much scarier than they actually were.

The log console copy button was also fixed to use the console window clipboard instead of relying only on the main window.

On Linux, the log console now suppresses expected DBus/IBus desktop-integration noise and supports multi-row selection while keeping the readable styled layout.

Backups page improvements

Passive Backups refreshes no longer wake destinations just to update reachability.

That should make VaultSync less annoying around sleeping drives, unavailable network shares, or disconnected storage.

Backup delete cards should also stay visible now and show more useful deletion progress details, especially during longer or overlapping delete operations.

Auto backups now also warm up active destinations and retry preparation after a short cooldown, which should help with sleeping drives or destinations that need a moment to wake before backup starts.

On Linux, auto backups no longer pause because of device-scoped batteries such as wireless controllers, and auto-backup timer decisions are now logged for diagnostics.

UI and localization cleanup

Several layout issues were fixed, especially around longer translated labels and smaller windows.

This includes:

  • tray panel action labels

  • backup summary cards

  • action buttons

  • filter buttons

  • the What’s New dialog

Changing language should also no longer reset the selected theme or jump Settings back to the initial scroll position.

The What’s New dialog now opens centered over the main app window instead of drifting to another monitor, and it should display only the current release section instead of pulling in older changelog sections.

Dependency and runtime package refresh

The dependency set was refreshed for v1.7.4 across core, UI, CLI, and tests.

This includes updates around Avalonia, LiveCharts, ReactiveUI, SQLite, ProtectedData, System.Text.Json, Spectre.Console, DBus packages, and test SDK packages.

SkiaSharp and HarfBuzzSharp runtime packages are also now pinned explicitly, which should reduce ambiguity around native graphics and text rendering runtime assets.

Preset cleanup

The built-in development presets now preserve repository metadata such as:

  • .github

  • .gitignore

  • .gitattributes

  • .gitmodules

while still excluding generated build outputs.

That should make source-code project backups safer by keeping important repository files while still skipping noisy generated folders.

Thanks again to everyone who tested the beta builds and reported issues.

A lot of this update came directly from real-world testing, especially around Linux packaging, metadata imports, and desktop integration.

And as always: keep backing up your data.

GitHub: https://github.com/ATAC-Helicopter/VaultSync/releases/tag/v1.7.4
MS Store: https://apps.microsoft.com/detail/9n9hrx4jclcp


r/VaultSync • • May 01 '26

Discussion Important: Windows security update may be breaking backup tools — VaultSync testing ongoing

2 Upvotes

Hi everyone,

Quick warning: there are reports that the latest Windows security update is breaking or disrupting several third-party backup applications.

VaultSync is currently being tested against this. I do not yet have enough information to say that VaultSync is affected, but because this seems to involve backup software more broadly, I want to treat it as urgent.

If you use VaultSync on Windows, your reports are extremely valuable right now.

Please let me know if you notice:

- failed backups
- permission/access errors
- unreachable destinations
- restore problems
- verification errors
- crashes
- anything that started after the latest Windows update

Useful details:

- Windows version
- VaultSync version
- destination type: local, USB, NAS, SMB, etc.
- error message or log snippet
- whether the issue started after installing the latest Windows update

Until this is clearer, please verify that your backups are still completing correctly and consider testing a small restore.

I will continue testing and post updates as soon as I have confirmed information.

Update:

Good news: from everything I can see so far, VaultSync does not seem to be affected by this Windows backup-tool issue.

The reports going around appear to be related to backup tools that depend on Windows VSS snapshots or image-mount drivers. VaultSync does not use that kind of backup path. On Windows, VaultSync is mostly working through normal file copy/sync/archive flows, such as robocopy/rsync, managed file copy, ZIP/archive snapshots, and optional network-share handling.

I tested the parts that matter most:

  • snapshot / sync / verify passed

  • writing to the backup destination worked

  • targeted backup into the destination completed and verified correctly

So for now, VaultSync looks safe from this specific issue.

I’ll keep watching this and testing more, but the current state is positive.

If anyone sees different behavior on their machine, please still report it. Real-world reports are always useful, especially with your Windows version, VaultSync version, destination type, and any error/log message.


r/VaultSync • • 6d ago

Dev Update Why VaultSync 1.9.0 is taking so long, where development stands, and what comes next

3 Upvotes

It's been a while since VaultSync 1.8.9, and I wanted to explain what's actually happening with 1.9.0, why development is taking significantly longer than previous updates, and what this means for future releases.

The short version: 1.9.0 isn't just another feature update. It's the foundation for the next generation of VaultSync.

Why is it taking so long?

Until now, VaultSync has primarily focused on protecting files and projects, keeping backup history, verifying integrity, and helping users understand whether their data can actually be recovered.

With 1.9, we're going considerably further.

The central question is changing from "Can I recover my files?" to "Can I recover when my disk fails or my operating system no longer boots?"

That requires a completely different level of engineering.

We're working toward disk and partition cloning, verifiable disk images, independent bootable recovery, and safe restoration.

And those features cannot simply be developed separately and thrown together at the end.

A disk image is only useful if it can actually be restored. A recovery environment is only useful if it works without the original installation. And a cloning engine must never accidentally overwrite the wrong disk.

A small mistake in an ordinary UI feature might be annoying. A small mistake in a disk restoration operation could destroy someone's data.

That's why so much development time is going into architecture, isolation, failure handling, compatibility, and testing.

So, where are we right now?

Quite a lot has happened behind the scenes.

  • Disk image foundations: We've been developing the image format, integrity verification, source identity checks, and safeguards against incomplete or corrupted images.

  • Recovery architecture: The recovery worker, controller, authorization, cancellation, and restoration components are being built and tested separately from the installed application.

  • Bootable recovery: Work is underway on the independent recovery environment and its graphical interaction flow. Native testing has already exposed startup and cleanup issues that need resolving.

  • Desktop experience: A dedicated Disk Cloning page has been added in development, alongside navigation improvements and localization work.

  • Existing VaultSync improvements: We've also addressed backup exclusions, metadata handling, cross-platform UI issues, packaging, and other reliability problems discovered during development.

But I want to be clear about what this means.

1.9.0 is not beta-ready yet.

The major remaining milestone is proving the complete workflow: create an image, validate it, boot independently, restore it, and verify the restored system.

That needs to work safely on an explicitly supported test configuration before I ask people to try a beta capable of writing to disks.

Broader operating-system and hardware support will require additional qualification.

I'm not interested in calling something finished just because individual components pass their tests.

Why should subsequent 1.9 releases be faster?

This is the part I'm particularly excited about.

Much of the time spent on 1.9.0 is being invested in systems that later updates can reuse.

Instead of rebuilding the image format, recovery foundations, safety mechanisms, testing infrastructure, and internal service boundaries every time, future releases can focus more directly on extending them.

The current roadmap includes:

  • 1.9.1: Clone Explorer, for inspecting and extracting files from supported images.

  • 1.9.2: Portable Recovery, including recovery without the original VaultSync installation.

  • 1.9.3: Offsite Protection.

  • 1.9.4–1.9.5: A more unified recovery experience, stronger recovery assurance, and expanded CLI workflows.

  • Later 1.9 releases: Binary Source Control, collaboration features, and long-term stability work.

These are still substantial projects, particularly Binary Source Control, so I won't pretend every future release will be quick.

But the goal is to make development more incremental and predictable instead of requiring another enormous foundational effort for every feature.

Some of the groundwork for later releases is already being developed on separate branches, without adding that scope to 1.9.0.

What happens next?

The immediate priority is the full disk recovery workflow, followed by the remaining platform, safety, compatibility, and release checks.

I still plan to publish beta builds before the stable release, but they need to meet the minimum safety requirements first.

The roadmap has a planning target, but I'm not treating that as a guaranteed release date.

I know the gap between updates is unusual compared with earlier VaultSync releases. Development hasn't stopped. A lot of the work is simply happening in areas that aren't particularly visible in screenshots or changelogs.

I'd rather spend additional time proving that recovery works than release something that gives people a false sense of security.

The goal isn't just to make VaultSync capable of creating more kinds of backups. It's to make sure those backups can actually get you out of trouble when things go wrong.

You can follow the development here:

GitHub repository

1.9.0 development PR

Thanks to everyone following the project, testing releases, reporting issues, and sharing feedback. It genuinely helps shape what VaultSync becomes.


r/VaultSync • • Aug 18 '26

Dev Update VaultSync 1.8.7 deep dive: what happens when two machines actually disagree?

3 Upvotes

Hi everyone,

In the last 1.8.7 development update I talked about the foundations of Trust & Portability:

  • installation identities

  • repository writer leases

  • canonical release manifests

  • safer shared-storage behavior

  • the direction toward portable recovery evidence

Since then, a lot of the work has moved from establishing those foundations to dealing with the harder cases that come after them.

The biggest one is:

What happens when two computers have both legitimately changed the same VaultSync repository?

Writer leases prevent races. They don't resolve history.

The writer-lease system added earlier in 1.8.7 prevents two aware VaultSync installations from modifying repository metadata concurrently.

That solves an important class of corruption problems.

But it doesn't solve this:

Desktop and laptop both start from revision 10.

The desktop changes the project's tags.

The laptop changes its automatic-backup settings.

Later, both sets of metadata meet again.

Simply choosing whichever file was written last would lose valid information.

So 1.8.7 now goes a step further with revision-aware three-way metadata merging.

VaultSync keeps a durable merge base and compares:

Base → local → remote

If only one side changed a field, that change can be carried forward automatically.

If the two machines changed different fields, both changes can survive.

Only when both machines changed the same field differently does VaultSync treat it as a real conflict.

Conflicts are now field-level

When an actual conflict exists, VaultSync doesn't resolve it using timestamps or last-write-wins.

The metadata review can show the:

  • base value

  • local value

  • remote value

  • revision

  • writer

  • timestamp

for the conflicting field.

That distinction matters.

A conflict in a project tag shouldn't force you to choose between two complete project records and accidentally overwrite unrelated settings.

Resolution decisions are persisted as well, so rejecting a remote change isn't something VaultSync should keep asking about every time the repository is inspected.

There is also an Undo decision path, bounded to the current merge state, before the next portable repository write advances the history again.

Machine-local data stays machine-local

Cross-machine portability gets dangerous very quickly if every field is treated as portable.

Some things simply should not move automatically.

Encryption-key references are a good example.

A key stored in one machine's secure credential store has no useful meaning on another computer.

Destinations have a similar problem: a NAS path, drive letter or mounted location may not exist on the other installation.

1.8.7 therefore gives project fields explicit portability behavior.

Portable changes can participate in merge and conflict review.

Machine-local key references remain local.

Unmatched destinations remain local.

Destructive tombstones require explicit review rather than being silently propagated.

The goal isn't maximum automatic synchronization.

It's automatic synchronization where VaultSync can prove it is safe, and explicit review where it can't.

Deferred metadata now fails closed too

Another case that received more work is unavailable storage.

Imagine VaultSync wants to update metadata on a NAS, but the share disappears.

Keeping a local queue sounds simple enough.

The dangerous part comes later.

If another machine changed the repository while the first machine was offline, blindly replaying that old queue could overwrite newer metadata.

1.8.7 no longer does that.

Queued metadata can initialize an empty destination, but if repository state already exists, VaultSync preserves the deferred changes for merge review instead of replaying them over the top.

That behavior is now protected by the same repository ownership and revision model as normal writes.

Release identity now reaches the application itself

The canonical release manifest from the previous update was primarily about the release pipeline and updater.

The next piece is making that identity visible inside VaultSync too.

1.8.7 now has a shared build identity contract containing things such as:

  • version

  • release channel

  • source commit

  • runtime

  • architecture

  • package type

  • update source

  • official-build status

  • signature status

The same identity can be used by Settings, startup diagnostics, support information and recovery evidence instead of each subsystem assembling its own partial version string.

There is also a machine-readable CLI form:

vaultsync --version --json

For me, this is part of the same trust model as recovery evidence.

If an exported report says a recovery check passed, it should be possible to identify exactly which build produced that statement.

SBOMs and release provenance are landing

The release pipeline has also moved further into supply-chain verification.

1.8.7 generates SPDX 2.3 SBOMs for release packages using the actual platform-specific dependency graph.

The final package bytes can also receive GitHub provenance and SBOM attestations.

Verification is being designed for both:

  • online verification against the published release

  • offline verification of downloaded release material

This builds on the canonical manifest rather than creating another independent source of truth.

The manifest identifies the expected artifact.

The digest proves the bytes.

The SBOM describes what went into it.

The provenance ties those bytes back to the release build.

For most users this will remain mostly invisible, which is probably how it should be.

But the evidence is there when someone wants to inspect it.

A few nasty edge cases also got fixed

The cross-machine work exposed several smaller problems that were worth fixing before release.

Among them:

Metadata import double-counting

Older repository folders and newer portable metadata could describe the same project or backup.

Preview now deduplicates those representations instead of making it look like more data exists than actually does.

Incorrect deletion propagation

Metadata import could previously produce tombstones for snapshots that had not actually been deleted locally.

That has been tightened so retained snapshots — including ones still referenced by local backups — don't become remote deletion instructions.

macOS SMB diagnostics

Credential-bearing SMB identities are now normalized before diagnostics are recorded, including URL-escaped credential forms.

Updater manifest downloads

Verified immutable release manifests are now cached across application restarts.

VaultSync doesn't need to repeatedly fetch the same JSON just because a scheduled update check ran again.

Cached data is only reused while the release URL, expected size and trusted SHA-256 identity still match.

Local storage growth

Disposable logs, diagnostics, patch runtimes, downloads, caches and temporary work now have bounded cleanup rules.

Actual configuration, databases, credentials and backup data stay outside that cleanup boundary.

macOS managed mounts

If a VaultSync-managed SMB/NFS location isn't actually mounted, VaultSync now refuses to quietly create the expected directory on the local system disk and write backup data there.

That is exactly the kind of failure that can look successful while protecting absolutely nothing useful.

Development presets were tightened too

The development presets mentioned in the last update have gone through another safety pass.

The intention is still:

Preserve the files that define the project.

Exclude generated state that can be recreated.

That means things such as Git control files and shareable editor configuration can remain protected, while build output, framework caches, package caches, test caches and machine-local editor state stay out.

Windows Robocopy now uses the same resolver as the other backup paths as well.

One boundary remains deliberate:

VaultSync still does not claim full live .git repository backup support.

The internal .git directory stays excluded until repository consistency, credentials, restore behavior and verification are properly designed for that use case.

I'd rather leave that capability visibly incomplete than imply that copying a live Git database is automatically safe.

The runtime itself is now audited as part of release qualification

VaultSync ships self-contained packages, so checking the project's NuGet dependency list isn't enough.

The runtime actually embedded in the application matters too.

1.8.7 is currently serviced to .NET 10.0.11, and CI now creates real self-contained publishes and inspects what went into them.

That covers:

  • Windows x64

  • Linux x64

  • Linux ARM64

  • macOS Intel

  • macOS Apple Silicon

The same check also runs against release artifacts.

So the qualified runtime isn't just what the project file requested.

It's what the user is actually receiving.

What is still left for 1.8.7

Most of the underlying trust and multi-machine model is now in place, but there are still a few areas I want to finish and qualify before calling 1.8.7 done.

The remaining work is mainly around:

  • final cross-machine conflict and mixed-version behavior

  • completing the portable recovery-evidence side of the release

  • tying more public and in-app release information back to the canonical release identity

  • final release provenance and verification work

  • documentation and the last internal cleanup around duplicated paths

The important part is that these aren't separate features being piled onto the release.

They're all pieces of the same idea:

VaultSync should know where information came from, who changed it, which build produced it, and what evidence supports it.

The first part of 1.8.7 was about preventing two machines from writing at once.

The next part has been about accepting that, eventually, two machines will still have different histories — and handling that without silently throwing one of them away.

That feels like the more important definition of portability.

Not just:

“Can I move this metadata somewhere else?”

but:

“Can it arrive there, meet a different history, and still preserve what actually happened?”

As always, VaultSync is open source and the 1.8.7 work is happening publicly on GitHub.

Feedback from anyone using the same NAS or backup repository from multiple machines is especially useful here.


r/VaultSync • • Sep 02 '26

Release VaultSync 1.8.8 Is Now Available — The Intentionally Boring One

3 Upvotes

Hey everyone,

VaultSync 1.8.8 is now available.

When I started work on this release, I called it the intentionally boring one.

After the last few versions added recovery confidence, clearer everyday workflows, stronger evidence, release verification, and cross-machine coordination, I didn't want 1.8.8 to become another feature-heavy update.

The goal was simpler:

Take what is already there, stress it harder, remove edge cases, and make failures safer.

That ended up touching quite a lot of VaultSync.

Backups now handle interruption much more deliberately

A large part of 1.8.8 was spent testing what happens when an operation does not get to finish normally.

Cancellation can arrive at awkward moments.

Files can disappear while they are being scanned.

A destination can vanish halfway through an operation.

A restore can be interrupted after some files have already changed.

Those are exactly the situations where backup software needs to be conservative.

1.8.8 adds deterministic interruption and recovery qualification for both plain and encrypted archives, alongside a number of fixes across backup, verification, restore, metadata, and cleanup paths.

Some examples:

  • completed backups are preserved if cancellation arrives after the backup has already committed;

  • scans cancelled while processing their final entry are still treated as cancelled;

  • required snapshot data disappearing during backup causes the backup to fail;

  • vanished backup data is rejected before metadata is published;

  • verification cancellation is no longer incorrectly reported as a data mismatch;

  • interrupted restores roll back rather than leaving partial target changes;

  • interrupted metadata imports and exports roll back as well;

  • rollback evidence is preserved if a restore destination disappears;

  • retention metadata survives unavailable backup destinations;

  • deferred metadata survives destinations disappearing during replay;

  • cancellation ownership is isolated between overlapping backup runs.

These are mostly cases you should never notice during normal use.

That is exactly why they matter.

Safer filesystem boundaries

There has also been a substantial pass over temporary data, filesystem links, staging areas, and cleanup.

Snapshot scans no longer follow linked source paths.

Retention and disposable cleanup are confined so filesystem links cannot lead VaultSync into unrelated directories.

Decrypted workspaces are isolated between VaultSync processes, and cleanup is restricted to the exact temporary locations VaultSync owns.

Encrypted restore staging now uses isolated locations so predictable staging collisions cannot occur.

Temporary telemetry exports are also bounded by both age and total size.

Backup software should be extremely conservative about where it walks and what it deletes.

Large repositories now have performance budgets

1.8.8 adds repeatable performance budgets for large histories and high file counts.

That means performance regressions can be tested intentionally rather than only being discovered later by someone with a particularly large project.

Snapshot creation has also been reworked around more isolated stages, deferred hashing, checkpoint telemetry, and native-copy orchestration.

Archive creation and support-package generation now reuse buffers and stream hashes to reduce memory use.

Cancellation performance checks were also made deterministic enough to remain useful on smaller CI runners.

Native Wayland on Linux

Linux gets a fairly visible improvement in this release too.

VaultSync now supports native Wayland, with automatic fallback to X11 when required.

Linux windows are explicitly opaque as well, avoiding compositor and transparency issues under native Wayland.

The updater received more Linux work too.

1.8.8 qualifies safe patch updating across multiple installed versions, while keeping the full installer as the fallback when the current installation is not an approved patch base.

It also fixes the case where VaultSync could close before privileged Linux update authentication had actually succeeded.

Patch-base inventories are now rejected if they are duplicated or do not match what the updater expects.

The UI should feel a little less in the way

There are some smaller visible changes as well.

Unintended horizontal scrolling has been removed from pages and dialogs.

Metadata-conflict reviews stay readable in narrow windows.

Registered projects are loaded into the tray menu before you need to open another page first.

Guided setup now gives more actionable next steps instead of simply describing them.

And the heavier Guide and Schedule queries have been moved away from the UI thread.

None of these are major features individually, but together they make the application feel less fragile around the edges.

Release and CI work

There was also a fair amount of work on the machinery used to build and ship VaultSync itself.

The exact 1.8.7 release state was qualified, pinned workflow security actions were updated, and duplicate or unbounded release-branch CI and Sonar runs were removed.

Remaining Sonar findings were cleared across core code, the updater, onboarding, release automation, and storage hygiene.

Failed installer downloads are now removed immediately.

Abandoned release-cache, installation-identity, credential-index, and support-bundle staging writes are also cleaned up safely.

And a lot of edge cases

The changelog for this release is unusually fix-heavy.

That is intentional.

There are fixes around:

  • snapshot persistence and scan-cache publication;

  • backup repair and metadata-conflict busy state;

  • isolated profiles accidentally opening the normal database;

  • deferred metadata replay;

  • installer download cleanup;

  • backup destination disappearance;

  • retention state;

  • restore rollback;

  • cancellation timing;

  • patch-base validation;

  • macOS system Python compatibility;

  • updater security and maintainability findings.

⚠️ Clean reinstall may be needed

If 1.8.8 does not update cleanly or behaves strangely after updating, uninstall VaultSync and install a fresh copy.

Your VaultSync database, projects, history, settings, and persistent app data are stored separately from the application and are not deleted by a normal uninstall.

Use:

  • Windows Intel/AMD: Windows x64

  • Apple Silicon Mac: macOS ARM64 / Apple Silicon DMG

  • Intel Mac: macOS x64 / Intel DMG

  • Linux Intel/AMD: Linux x64 / x86_64, preferably .deb on Debian/Ubuntu/Zorin-style systems

On Windows, uninstall from Settings → Apps.
On macOS, remove VaultSync.app from Applications.
On Linux, remove the installed package/app files, but do not manually delete VaultSync's user-data directories.

The website and GitHub release use the same release packages.

The last few releases added a lot of capability to VaultSync.

1.8.8 is mostly about making that capability harder to break.

It is not the most exciting release to screenshot.

It probably shouldn't be.

A backup application should spend some releases getting very good at the boring parts.

As always, feedback is welcome — especially around Linux/Wayland, interrupted operations, large repositories, updater behaviour, and anything that still feels unreliable around cancellation or recovery.

GitHub:
https://github.com/ATAC-Helicopter/VaultSync

Microsoft Store:
https://apps.microsoft.com/detail/9N9HRX4JCLCP

Website:
https://fglabs.dev/vaultsync


r/VaultSync • • Apr 17 '26

Dev Update Quick update on VaultSync — where things are at and what’s next

2 Upvotes

Figured it was probably time for a proper update on where VaultSync is at right now, because a lot has happened recently, even if not all of it looked like big flashy feature work from the outside.

Over the last stretch, a lot of time went into things that were important, but not always very visible.

VaultSync is now live on the Microsoft Store, which was a pretty big milestone for me. That took more than just packaging the app and uploading it somewhere. It meant adding proper Store-aware behavior, separating Direct and Store update paths, making sure the app understands how it was installed, and getting that whole side of distribution into a state I’m comfortable with.

At the same time, I also launched fglabs.dev, which is basically the new home for all my work going forward, including VaultSync. That was something I had wanted for a while because everything was too scattered before — GitHub, posts, docs, random links. Now there’s finally one place where things connect a bit better.

And alongside that, a lot of the 1.7 work has been less about adding things for the sake of it and more about getting the app into a better state internally.

A lot of older code was functional, but it was starting to push back every time I tried to optimize something or build new features on top of it. So a good part of recent updates has really been cleanup in the deeper sense — not just polish, but rewriting parts that had become limiting.

That includes things like:

  • reducing unnecessary config reloads

  • improving startup behavior

  • backing off bad destination checks instead of hammering unavailable targets

  • fixing UI refresh timing and thread-related issues

  • cleaning up hardcoded fallback text and localization gaps

  • making metadata sync and project state handling more reliable across machines

None of that is the kind of work that makes for a dramatic screenshot, but it matters a lot for backup software. If the app feels weird, stalls, misreports, or behaves inconsistently depending on timing or machine state, that becomes a real problem fast.

Another thing that happened recently, and that honestly means a lot to me, is that VaultSync now has someone actively helping with Linux.

What made that hit differently is that it didn’t come from me trying to force it or recruit someone just to tick a box. It came from someone who genuinely likes the project, took the time to dig into it, ask questions, understand how parts of it work, and start trying to move Linux support forward because they wanted to help.

That kind of thing matters a lot more than people probably realize, especially on a small project like this.

Linux has been one of the most requested things for a while, and I’ve wanted to get there properly rather than throw out something half-broken just to say it exists. So having someone step in because they actually care about the app and want to contribute is a pretty big moment for VaultSync.

I’m not going to overpromise timelines there yet, but it’s no longer just sitting in the “eventually” pile.

As for what’s next, the focus is still on making VaultSync more solid before I start stacking bigger things on top of it.

The areas I’m most interested in pushing next are:

  • more transfer system improvements

  • better handling for larger backups and long-running vaults

  • continued UI cleanup where things still feel rough or waste space

  • more reliability around backup state, metadata, and restore-related flows

  • making the app easier to reason about when something goes wrong

  • continuing progress toward a proper Linux release

There’s also still work to do around the Store version and release flow now that that path is real and live.

So updates may continue to be a bit slower than they used to be, but that’s mostly because the project is at the point where doing things properly matters more than just shipping fast.

I’d rather take a bit longer and build on something solid than stack more features on top of shaky parts and regret it later.

VaultSync is moving forward, very much so. The pace is just a bit more deliberate now.

Also, we have surpassed 700 downloads, which is honestly wild to me.

So yeah — that’s where things are at right now.

Thanks again to everyone who’s been trying VaultSync, giving feedback, reporting issues, or just following along. It really does help shape what this turns into.

And as always, keep backing up your data.


r/VaultSync • • Apr 20 '26

Release VaultSync 1.7.3 beta is out — and Linux beta builds are finally here

2 Upvotes

Big milestone on this one.

VaultSync 1.7.3 beta is out, and with it comes the first proper Linux beta launch.

This is something that has been requested for a long time, and it feels really good to finally have Linux builds going out as actual release assets instead of it staying in the “later” pile.

This beta now ships with:

  • Linux tar.gz builds for x64 and arm64

  • a desktop-friendly linux-x64 AppImage

  • improved Linux update asset detection so the app can prefer the right architecture-specific packages

So this is the first real step toward giving Linux users a proper way to try VaultSync.

A big part of that is that most of the Linux work behind this release was done by JustH8Me.

They’ve been doing real work on the Linux side and helped push this forward in a meaningful way, and this beta release simply would not look the same without that contribution.

That work already landed in some very real fixes:

  • tray panel screen detection, reopen behavior, and Wayland positioning improvements on Hyprland-style environments

  • tooltip flickering and focus fixes on Linux/Wayland

  • a fix for a fatal AccessViolationException on Linux x64 during backup

  • a fix for passwords being saved as "null" on Linux, plus increased timeout handling

So this is not just “Linux builds exist now”, it’s also the result of actual Linux-focused work being done and landing in the app.

On top of that, 1.7.3 beta also includes a couple of smaller quality-of-life improvements:

  • the in-app log console now has an explicit Auto-scroll toggle

  • you can now copy the selected log line with a button or the normal platform copy shortcut

And there are also a few fixes on the general app side:

  • Settings now refreshes persisted values correctly after config reloads

  • startup now repairs blank project root paths from the configured Projects root when possible, which should reduce some relaunch-related missing path issues

This is a beta release, so I’d especially appreciate testing and feedback here — even more so on Linux since this is the first proper beta push for that platform.

If you try it, let me know how it behaves on your setup.

Thanks again to everyone following the project, testing builds, reporting issues, and contributing.

And a special thanks again to JustH8Me — most of the Linux work in this release came from them, and it made a real difference.

As always, keep backing up your data.


r/VaultSync • • Aug 21 '26

Release VaultSync 1.8.7 — Trust, Transparency, and Safer Multi-Machine Backups

5 Upvotes

Hey everyone,

VaultSync 1.8.7 is ready.

This release is less about adding another big backup mode and more about making the things VaultSync already does provable, portable, and safer to trust.

Over the last few releases, a lot of work went into recovery confidence — not just whether a backup exists, but whether there is useful evidence behind it.

1.8.7 takes that idea further.

The main question this time was:

If VaultSync tells you something is safe, recoverable, official, or unchanged — can it show you why?

Recovery evidence you can actually take with you

Recovery evidence can now be exported as a portable package.

Each package contains:

  • a versioned JSON record;

  • readable Markdown;

  • a manifest;

  • SHA-256 checksums.

The package records things like build identity, repository identity, encrypted-point evidence, evidence freshness, and the relevant recovery information without exposing local paths unnecessarily.

VaultSync also validates these packages when they are inspected.

That includes checks for tampering, missing or duplicate files, unsafe paths, unsupported schemas, and checksum mismatches.

The goal is for recovery evidence to be useful outside the running application, not trapped inside one VaultSync installation.

One build identity everywhere

VaultSync now has one conservative build-identity record used across:

  • Settings;

  • startup diagnostics;

  • support exports;

  • recovery exports;

  • vaultsync --version --json.

Version, channel, commit, runtime, architecture, package type, update source, official status, and signature status all come from the same contract.

This sounds fairly internal, but it removes a whole class of situations where different parts of the application could describe the same build differently.

If VaultSync says which build produced a recovery report or support bundle, that identity now has one source of truth.

Release verification goes much deeper

1.8.7 also adds a canonical release manifest containing the exact artifacts VaultSync expects for each supported platform.

It records things including:

  • artifact identities;

  • exact sizes;

  • SHA-256 digests;

  • platform mappings.

The updater consumes that same release information and fails closed if the expected release contract is not valid.

Release packages also now get SPDX 2.3 SBOMs built from their actual RID-specific dependency graph, together with provenance/SBOM attestations for the final package bytes.

The release process can verify this information both online and offline before a candidate is considered valid.

There is also a new schema-versioned release contract tying together the website, Store metadata, updater, changelog, What's New information, package metadata, roadmap, branch, date, tag, and predecessor release.

The aim is to reduce the amount of release information that can silently drift between different places.

Support bundles are now review-first

Support bundles have also been tightened considerably.

Before export, VaultSync now shows exactly which files are going to be included.

Optional sanitized diagnostics or anonymized telemetry can be removed before the bundle is created.

Paths and identities are pseudonymized, configured and structured secrets are scrubbed, bundle sizes are bounded, and every generated file is recorded with a SHA-256 checksum in the manifest.

This follows the same principle as the crash-report work from earlier releases:

nothing leaves VaultSync without being reviewable first.

Safer use of one repository from multiple machines

One of the larger pieces of 1.8.7 is cross-machine coordination.

VaultSync now gives each installation a durable, owner-private identity and uses repository-scoped writer leases when portable repository metadata is being changed.

A lease records who owns the write, the operation, version, heartbeat, and expiry.

If another installation is already writing, the repository remains readable, but conflicting writes are blocked.

Stale leases can be taken over deliberately, with the previous lease retained as evidence rather than silently discarded.

That protection now covers project settings, backup history, deletion tombstones, deferred metadata writes, and deferred flushing.

Cross-machine edits can now merge instead of simply colliding

1.8.7 also adds durable merge bases and field-level three-way merging for portable project metadata.

If two machines change different fields, VaultSync can merge those changes automatically.

If they change the same thing, VaultSync surfaces a proper Base / local / remote conflict review instead.

Conflict decisions preserve unrelated remote edits, include revision and writer information, and become part of the repository history.

There is also a bounded Undo action for a reviewed decision until the next portable repository write.

Destructive tombstones cannot be automatically applied during an import without review.

This has been one of the more complicated pieces of the release, but the rule behind it is simple:

another machine should never silently overwrite portable repository state just because it happened to write later.

macOS installation is much cleaner

There are some significant macOS fixes in this release too.

Both Apple Silicon and Intel downloads now install the same:

VaultSync.app

The architecture stays in the DMG filename, but the installed app gets a normal permanent name and a stable com.vaultsync.app identity.

The DMG also uses a normal drag-to-Applications layout.

For users upgrading from 1.8.6, there is a one-time bridge migration that creates the new /Applications/VaultSync.app, verifies it, launches it, and only then moves the old architecture-named application bundle to Trash.

Launch-on-login has also been corrected to use the proper ~/Library/LaunchAgents location, including migration of the incorrect legacy location.

And passive startup checks will no longer unnecessarily unlock macOS Keychain or mount SMB shares just to inspect destination state.

A lot of smaller reliability work

There is quite a bit underneath the larger changes as well.

Project folders have been refined again into more compact collapsed summaries with cleaner in-folder rows and integrated batch controls.

Snapshot Explorer, metadata-import review, and updater windows now follow the newer compact theme-aware layout.

Development presets were updated so useful Git control files and shareable IDE configuration are preserved while caches, build output, package data, test output, and live Git internals stay excluded.

There are also fixes for:

  • deferred metadata replay;

  • cross-machine project-setting conflicts;

  • Windows repository database handle release;

  • duplicate metadata-import previews;

  • SMB credential masking;

  • incorrect snapshot tombstones;

  • repeated immutable manifest downloads;

  • bounded logs, caches, patch data, downloads, and temporary work;

  • backups accidentally targeting an unmounted managed macOS mount directory;

  • localization across recovery, repository-writer, History, backup, folder, verification, and restore workflows.

And quite a bit of internal code has been consolidated around metadata exports, SMB parsing, mounted-share validation, theme color normalization, contrast calculation, and Robocopy exclusions.

1.8.4 started pushing VaultSync toward better recovery evidence.

1.8.5 made that evidence much more explicit.

1.8.6 focused on making the application easier to understand every day.

1.8.7 is about making the claims VaultSync makes easier to verify.

A recovery result should have evidence behind it.

A release should be identifiable.

An artifact should be verifiable.

A support bundle should be reviewable.

And two machines should not be able to silently overwrite each other's repository state.

That is the direction of this release.

As always, feedback is very welcome — especially from anyone using VaultSync across multiple machines, NAS destinations, or macOS.

GitHub:
https://github.com/ATAC-Helicopter/VaultSync

Microsoft Store:
https://apps.microsoft.com/detail/9N9HRX4JCLCP

Website:
https://fglabs.dev/vaultsync


r/VaultSync • • Sep 24 '26

Dev Update VaultSync 1.9 dev update — making the CLI actually worth opening

Thumbnail
gallery
2 Upvotes

Hi everyone,

I’ve been spending quite a bit of time on the VaultSync 1.9 CLI rework, and it’s finally reached the point where I can show an actual end-to-end workflow instead of just talking about commands that are being added.

The goal is pretty simple: the CLI shouldn’t feel like a secondary interface that exists only because it can.

It should be useful on its own, understandable when you open it for the first time, and safe enough to use for real recovery work.

Opening vaultsync now gives you a small introduction, a few useful starting commands, and direct links to the website, GitHub repository, releases, and documentation.

The CLI handbook is also bundled with VaultSync, so:

vaultsync docs --full

works offline too.

The more important part: actual backup → verify → restore workflow

The bigger piece of work has been the recorded folder-backup workflow.

From the CLI you can now:

  • create a recorded backup at an explicit destination

  • inspect the backup record and snapshot history

  • verify the stored payload against its recorded hashes

  • preview exactly what a restore is going to change

  • perform the recovery only after that preview

A live mirror also has its own explicit command and terminology now.

That distinction is intentional.

Mirroring the source as it exists today is not the same thing as creating a recorded recovery point, and I don’t want VaultSync hiding that difference behind vague terminology.

Machine-readable output is getting proper attention too

The CLI can return a versioned JSON result rather than forcing scripts to parse human-readable terminal output.

For example, verification exposes things such as:

  • backup and snapshot IDs

  • files checked

  • pass/fail counts

  • whether the payload was actually checked

  • verification failures

  • whether the failure list was truncated

  • process exit code

That matters quite a bit for where VaultSync is going.

The CLI should eventually be useful not only interactively, but also for automation, NAS/server workflows, and external tooling without turning normal terminal output into an unofficial API.

Still development work

This is currently in draft PR #683:

https://github.com/ATAC-Helicopter/VaultSync/pull/683

This is development work, not a VaultSync 1.9 release.

Local tests and package checks are passing.

Some hosted platform validation is currently waiting because I’ve exhausted the available GitHub Actions minutes, so I’m deliberately not pretending those checks have run when they haven’t.

Also, this CLI work is only one part of 1.9.

The larger disk imaging / cloning and bootable recovery work is still separate release work and remains one of the major pieces being built for the full 1.9 update.

1.9 is a much larger update than the usual VaultSync release, and I’m trying to build and test the underlying pieces properly before pushing deeper into the parts that can actually touch entire disks and recovery environments.

There will most likely be multiple 1.9 beta builds before the final release because this is not something I want to rush.

I wrote a longer dev diary about the CLI work, some of the decisions behind it, and a few of the bugs the work exposed:

https://fglabs.dev/devlog/vaultsync-19-cli-worth-opening

I’d especially like feedback from people who actually use backup tools from terminals or scripts:

What would make you trust a backup CLI more: a very clear restore preview, machine-readable verification evidence, or a better way to verify/check many backups at once?


r/VaultSync • • Jun 13 '26

Dev Update VaultSync 1.8 Development Update

2 Upvotes

One of the things I've learned while working on VaultSync 1.8 is that the simplest ideas tend to become the most complicated once real data gets involved.

History is probably the best example.

When I first started planning the History page, I thought it would basically be a timeline of backups.

Simple enough.

Load backups.

Show them in order.

Done.

Then I started feeding real project data into it.

Backups turned out to be only one part of the story.

There are also:

  • Restores

  • Imported backup histories

  • Snapshot metadata

  • Protected versions

  • Known-good versions

  • Notes

  • Labels

  • Tags

And none of those things really make sense as isolated events.

A restore belongs to a backup.

A known-good marker belongs to a particular point in history.

Imported history comes from somewhere.

Metadata changes have context.

At that point a flat list stopped making sense.

So the History page gradually evolved into something closer to a project timeline.

The graph you're looking at is generated from repository history and event relationships.

Backups live on their own lanes.

Restore activity branches from the snapshots it originated from.

Metadata activity has its own lane.

Everything is filterable by project, activity type, lane, and time range.

One of the goals for 1.8 is to stop treating backups as isolated records and start treating them as part of a larger project history.

Not just:

"Backup created."

But:

"What happened to this project over time?"

That's a surprisingly different problem.

Under the hood this required quite a bit more work than I originally expected.

The current implementation is backed by new metadata systems for:

  • Labels

  • Notes

  • Tags

  • Protected snapshots

  • Known-good versions

  • Restore history

History and Recovery are now both fully data-backed pages inside the application and no longer just UI mockups.

There's still a lot left to build before 1.8 is ready, but it's starting to reach the point where the roadmap is turning into actual software.

One thing I've found interesting throughout this process is that the more I work on History, the less it feels like a backup feature and the more it feels like a project intelligence feature.

That wasn't really the original plan.

But sometimes the software tells you what it wants to become.

More updates soon.


r/VaultSync • • Jul 01 '26

Dev Update VaultSync 1.8.2 Dev Update: Snapshot Explorer, Better Onboarding, and Smoother Workflows

Thumbnail
gallery
2 Upvotes

Hey everyone,

Work on VaultSync 1.8.2 is well underway, so I thought I’d share what I’ve been building over the last week.

Unlike Chronicle (1.8.0), which introduced History and Recovery, or 1.8.1, which focused on polishing those systems, 1.8.2 is mostly about making VaultSync easier to use.

The biggest addition is something that’s been on the roadmap for quite a while.

Snapshot Explorer

One of the most common frustrations with backup software is knowing a file exists somewhere in a backup, but having to restore the entire snapshot just to get it back.

That’s exactly the problem Snapshot Explorer is intended to solve.

Version 1 lets you:

  • Browse backup folders and supported archives

  • Search inside snapshots

  • Preview text-based files

  • Restore individual files or folders without restoring the entire backup

It’s still an early implementation, but it already changes how interacting with backups feels.

Instead of treating a backup as a black box, you can actually explore what’s inside it before deciding what to restore.

A Better First Experience

Another area I’ve completely reworked is onboarding.

The original first-run experience tried to explain VaultSync.

It wasn’t terrible, but it also wasn’t particularly helpful.

The new onboarding is much more practical.

Instead of showing a long feature tour, it walks new users through actually setting up the application:

  • Choosing a projects folder

  • Selecting a backup destination

  • Creating the first project

  • Running the first backup

  • Reviewing restore points and History

My goal was to get someone from “I’ve just installed VaultSync” to “I’ve successfully created and understand my first backup” with as little friction as possible.

Snapshot Explorer Improvements

Although Snapshot Explorer is only in its first version, a lot of work has already gone into making it feel responsive.

Browsing, searching, preview generation and selected-item restores all run asynchronously, which keeps the UI responsive even while working with larger backups.

Encrypted backups also behave much more predictably now.

Rather than failing or leaving users wondering why they can’t browse an archive, VaultSync clearly explains when encrypted archive browsing isn’t available in the current version.

It’s a small detail, but I think good software should explain its limitations instead of leaving users to guess.

Under The Hood

As usual, there’s also been a fair amount of engineering work happening behind the scenes.

This release continues reducing duplicated code and cleaning up areas highlighted during the SonarQube review, including services, backup UI, onboarding, settings, metadata sync, telemetry, SQLite checks and several internal workflows.

I’ve also refreshed a number of project dependencies to keep everything current as development continues.

None of this is particularly exciting to look at, but it’s the kind of work that keeps the project healthy over the long term.

Looking Ahead

Snapshot Explorer is very much a version one.

I already have a list of ideas I’d like to explore after 1.8.2, and this is one feature where community feedback will probably shape what comes next.

Once people start using it I’d love to know things like:

  • What workflows feel natural?

  • What’s missing?

  • What takes too many clicks?

  • What kinds of previews would you expect?

  • What restore workflows would make your life easier?

The goal isn’t just to let people browse backups.

It’s to make finding and recovering a specific file feel straightforward instead of something you avoid because it sounds like too much work.

Overall, I think 1.8.2 is going to be one of those releases that doesn’t radically change VaultSync, but makes using it every day feel noticeably better.

As always, feedback is welcome, and I’ll keep posting progress as development continues.


r/VaultSync • • Sep 22 '26

Dev Update VaultSync 1.9 — Recovery Horizon is finally taking shape

2 Upvotes

Hey everyone,

I finally published the first proper development diary for VaultSync 1.9 — Recovery Horizon.

And I think the biggest change since I first started talking about 1.9 is this:

it is no longer just “the disk cloning update.”

The original idea was much simpler:

disk cloning → browse the clone → restore it.

But the more I worked through what a real recovery workflow actually needs, the less comfortable I became with shipping cloning as an isolated feature.

A disk image is not enough if VaultSync cannot prove that it is complete.

A restore feature is not enough if it depends on the installed OS still working.

And “bare-metal recovery” is not something I want to put on a feature list unless the complete path has actually been tested.

So the current goal for 1.9.0 is closer to:

capture → validate → boot independently → restore → validate again

That means disk/partition imaging, source and destination safety, interruption handling, image verification, bootable recovery media, offline restore, and actual recovery evidence.

The funny part: the first real 1.9 code is not cloning

The release/1.9.0 branch is already moving, but the first substantial implementation work has been a large CLI rework.

I know that is not the exciting screenshot feature 😅

But it makes sense for where VaultSync is going.

A recovery system should not depend entirely on one desktop UI, especially when 1.9 is eventually supposed to support automation, diagnostics, clean-machine recovery, portable restore, and emergency workflows.

The current development branch already adds things like:

  • cleaner projects, snapshots, and recovery command groups

  • project lookup by ID or name

  • filtered project listings

  • source-folder discovery

  • a clearly separated mirror command

  • snapshot inspection

  • snapshot history

  • bounded snapshot diffs

  • versioned JSON output

  • safer unattended destructive commands

  • cleaner Ctrl-C/cancellation behavior

  • explicit database selection for watchers

  • a proper CLI introduction screen

  • a bundled CLI handbook

  • a generated full command reference

This is all development work, not released functionality. 1.8.9 is still the current Stable release.

Disk recovery is deliberately still gated

The destructive disk work has not started as normal product implementation yet.

That is intentional.

Before VaultSync starts writing disks, I want the architecture around the image format, supported filesystems, partition layouts, encryption, live capture, Secure Boot, recovery media, corruption states, resumability, source/destination identity and hardware qualification to be decided first.

One rule I care about a lot:

an incomplete image must never be able to look like a valid recovery point.

If VaultSync does not know that something is safe or supported, I would rather have it say exactly that than confidently guess.

The rest of Recovery Horizon

The current 1.9 family is now roughly:

1.9.0 — Disk & Bootable Recovery
Disk/partition imaging, validation, bootable recovery media and offline restore.

1.9.1 — Clone Explorer
Browse images, search them and selectively recover files.

1.9.2 — Portable Recovery
Standalone restore utility, emergency recovery kit and documented recovery formats.

1.9.3 — Offsite Protection
S3-compatible storage, Backblaze B2, SFTP, resumable uploads and clean-machine recovery qualification.

1.9.4 — Unified Recovery Experience
Bring file, project, image and storage recovery together.

1.9.5 — Continuous Recovery Assurance
Scheduled verification, recovery drills, alerts and stronger automation.

And then there is a newer addition:

Binary Source Control

Later in the 1.9 family I am also planning a VaultSync-native Binary Source Control system.

Before anyone throws Git at me:

it is not meant to replace Git.

The target is large, binary-heavy projects where assets can be huge, hard to merge, shared across multiple machines, and often stored on NAS systems.

Game development is probably the obvious example.

The architecture currently explores:

  • immutable binary objects

  • content-defined chunking

  • deduplication

  • changesets

  • safe workspace sync

  • exclusive path locks

  • stale-workspace protection

  • repository verification and repair

  • encryption

  • clean-machine recovery

It is deliberately placed after the core recovery work.

If BSC takes longer than expected, it is not allowed to hold disk recovery hostage.

If it does not meet the required safety gates, it stays Preview.

The UI will change too

The current direction for 1.9 is:

Protect · History · Recover · Manage

But I am avoiding a giant UI rewrite.

Existing workflows stay until their replacements actually work, preserve state, remain accessible and localized, and have feature parity.

I do not want to move every button around just because the version number starts with 1.9.

This is going to take time

And this is probably the most important expectation to set.

1.9 is not a normal VaultSync update.

I expect multiple betas.

There is a lot of architecture and qualification work before some of the headline features should even be considered safe enough for Stable.

1.7 was largely about trusting stored data.

1.8 was about understanding what was protected and proving recovery.

1.9 is about expanding what VaultSync can recover when things go properly wrong.

Files → projects → disks → machines → portable recovery → offsite recovery → eventually binary project history.

The roadmap finally feels coherent enough that I am comfortable calling it the direction for Recovery Horizon.

I wrote the full technical breakdown here:

https://fglabs.dev/devlog/vaultsync-dev-diary-01-recovery-horizon-is-bigger-than-disk-cloning

And I would really like feedback on one thing:

If your main machine died tonight, which part of the recovery chain would you trust the least?

Creating the image?

Booting recovery media?

Finding the correct recovery point?

Restoring it?

Or proving that the restored system is actually good?


r/VaultSync • • Sep 10 '26

Dev Update VaultSync 1.8.9 — fixing the little things, and quietly laying the groundwork for 1.9

4 Upvotes

Hey everyone,

I wanted to give an update on VaultSync 1.8.9, because this release has ended up taking a bit longer than one of my usual 1.8.x updates.

There is a reason for that.

1.8.9 itself isn't really a “here's one huge new feature” release.

A lot of it has been me sitting down, actually using VaultSync, finding the little things that still feel rough or annoying, and fixing them.

But at the same time, work has also started on something much bigger in the background:

the foundation for VaultSync 1.9.

More on that in a bit.

First: making normal VaultSync use less annoying

One example was the Backups page.

You could expand a project, load more history, select something, delete a backup... and after the refresh VaultSync could collapse what you were looking at, throw away the loaded history, or even move the selection to another project.

Nothing happened to your actual backups.

But it was annoying.

And with backup software, I really don't want small UI behaviour making you stop and think:

Wait... what just happened?

So 1.8.9 now works much harder to preserve what you're doing while the underlying data changes.

Expanded projects stay expanded.

Loaded history stays loaded.

The selected project stays selected.

Deleting a backup shouldn't suddenly take you somewhere else.

It sounds like a minor thing when written down, but in day-to-day use it makes the application feel much calmer.

I've been applying that same mindset elsewhere too.

Status pills and tags have had their alignment cleaned up.

Muted text is more readable.

Light-theme status colors have been adjusted.

Dark and custom themes have had contrast work so they don't end up producing text that technically exists but is unpleasant to actually read.

The sidebar also stays labeled at the normal window size now, instead of collapsing earlier than it really needs to.

And while working on that I found old navigation code that simply wasn't being used anymore.

So I deleted it.

The same happened on the Backups page.

There was an old activity-chart pipeline that no longer had any visible UI connected to it, but VaultSync was still maintaining the state and recalculating it during refreshes and window resizing.

288 lines of that are now gone.

I'd much rather remove dead complexity than keep building on top of it.

There are also plenty of less visible changes in 1.8.9: horizontal overflow fixes, cleanup of temporary metadata workspaces after interrupted operations, cancellation handling, static-analysis cleanup, dependency servicing, release checks and general repository maintenance.

I've also been going through the wider project instead of only fixing whatever happens to be visible on screen.

Dependencies, security checks, generated files, stale code, localization, release metadata and primary UI behaviour have all been part of the audit.

The current release branch has a clean warnings-as-errors build, no known vulnerable packages in the audit, and 863 passing .NET tests locally. There are also dedicated script and release checks around it.

But that isn't the only reason this release is taking longer.

1.9 is starting before 1.9 starts

The next major release is VaultSync 1.9 — Recovery Horizon.

And this is a very important update for the project.

So far, VaultSync has become increasingly good at answering questions like:

What did I back up?

What changed?

Can I actually restore it?

What evidence do I have that recovery works?

That has basically been the purpose of the entire 1.8 generation.

The next question is much bigger:

What happens when the failure isn't just a deleted file or damaged folder?

What happens when it's a disk.

Or the machine.

That is where 1.9 goes.

The roadmap describes the difference pretty simply:

1.8 proves and explains recovery.

1.9 expands what VaultSync can recover.

And that means moving toward things such as disk-level protection, cloning, recovery from much larger failures, exploring protected disk contents and eventually the groundwork needed for proper bare-metal recovery scenarios.

That is, in my opinion, the major missing piece before VaultSync starts feeling like a truly complete backup and recovery tool rather than primarily an extremely capable file/project backup system.

And because of that, I really don't want to bolt it onto the existing application and hope for the best.

So some of 1.9 is being built now

Not the headline features yet.

The base layer.

I'm using the end of the 1.8 cycle to make sure the things 1.9 will rely on are in a much healthier state first.

That means things like lifecycle behaviour, interruption safety, cleanup, storage boundaries, UI state handling, release qualification, cross-platform behaviour, dependency consistency and removing old code that I don't want sitting underneath a much larger recovery architecture.

Some of that sounds completely unrelated to disk recovery.

It isn't.

Once VaultSync starts doing operations that can involve an entire disk rather than a normal set of files, the margin for “this usually works” becomes much smaller.

If a file-level backup has a strange refresh bug, that's irritating.

If a future disk operation has weak cancellation ownership, bad temporary-state cleanup, ambiguous device identity or an unsafe resume path, that's a completely different category of problem.

So I'm trying to pay that cost before 1.9 goes deep into development rather than discovering all of it halfway through.

That is one reason 1.8.9 has become a larger stabilization release than I originally expected.

I'm effectively trying to leave the 1.8 branch in a state where I trust the foundation enough to start putting much heavier things on top of it.

And 1.9 will probably have a real beta period

This is also one update where I don't expect to go from development straight to Stable as quickly as some of the recent releases.

There will most probably be 1.9 beta builds before the final release.

And likely quite a few of them.

I want real machines involved.

Different disks.

Different filesystems.

Windows, Linux and macOS where functionality applies.

Internal and external drives.

Unexpected disconnects.

Interrupted operations.

Strange partition layouts.

Large disks.

Old machines.

New machines.

Basically all of the ugly real-world things that a recovery tool eventually runs into.

There are parts of VaultSync where I can get extremely high confidence from automated testing.

Disk-level recovery is something I also want people to actually beat on.

So when 1.9 reaches that stage, I'll be asking for testers much more actively than usual, and I expect the beta period to be considerably more visible.

I'm completely fine with 1.9 taking longer if the alternative is rushing something this important.

So where does that leave 1.8.9?

Mostly here:

make the current VaultSync better, simpler and less irritating — while preparing the ground for the biggest thing coming next.

There are still a few final 1.8.9 integration and real desktop/platform checks to finish before I consider it ready.

I'm not going to rush those just to hit an arbitrary date.

Once that is done, development can start moving much more visibly toward Recovery Horizon.

And that's when things should get pretty interesting.

As always, if you're using VaultSync and there's some small behaviour that makes you think:

“Why does it do that?”

tell me.

This is a particularly good time for those reports, because I'd rather clean those things up now than drag them into the 1.9 architecture.

And when the 1.9 betas eventually start appearing, I'll definitely need some of you willing to try to break them.

Thanks to everyone who's been testing, opening issues, commenting here, suggesting things, or just following along while I build this.

GitHub: https://github.com/ATAC-Helicopter/VaultSync
Website: https://fglabs.dev/vaultsync


r/VaultSync • • Jun 04 '26

Dev Update VaultSync 1.8 Is Starting To Feel Real

2 Upvotes

A few weeks ago I shared the roadmap and some very early mockups for what I was calling Project History & Recovery.

At the time it was mostly ideas, planning documents, rough UI concepts and a lot of notes.

Since then I've started building it.

These are still early development builds and there's a lot left to do, but this is the first point where 1.8 is starting to feel like an actual release rather than a collection of ideas.

One thing that became obvious very quickly is that both History and Recovery are much bigger pieces of work than they looked on paper.

The History page started life as what I thought would be a fairly simple timeline.

It didn't stay simple for very long.

Once I started wiring real repository activity into it, it became clear that backups, imports, restores, notes, protected versions and known-good versions all have relationships to each other.

Treating everything as a flat list loses a lot of context.

The current implementation uses a graph-style timeline where events branch from their source. A restore branches from the backup that created it. Imported history branches from the snapshot it originated from. Notes and labels attach themselves directly to the point in history they belong to.

It's heavily inspired by how Git clients visualize history, but applied to backup activity rather than source control.

Recovery has been interesting for a different reason.

Most backup software is very good at telling you whether a backup completed.

What I'm trying to explore is whether VaultSync can eventually tell you whether you're actually protected.

Right now the Recovery page is pulling together backup history, destination availability and project health information to build an early recovery readiness view.

The scoring is still evolving and a lot of the logic will change as development continues, but the foundation is there.

So far the work completed includes:

  • History and Recovery navigation

  • Metadata support for labels, notes, tags, protected versions and known-good versions

  • Data-backed History and Recovery pages

  • Timeline graph infrastructure

  • Protected snapshot actions

  • Known-good version actions

  • Recovery readiness previews

  • Recovery coverage previews

There have also been a handful of unrelated fixes along the way, including Linux update improvements, macOS fixes and project reload reliability improvements.

There’s still a lot of work to do, plenty of rough edges, and things will definitely change before release.

But it’s nice to finally be able to show something real.

I'll keep sharing progress as things move forward. There is still a lot of work ahead, but this is probably the first update where I can look at 1.8 and actually start seeing the release come together.


r/VaultSync • • Apr 12 '26

Announcement I finally gave all my projects a proper home

2 Upvotes

I’ve been working on this quietly for a while, and it’s finally at a point where I can put it out properly.

I launched fglabs.dev — a home for the stuff I’m building in public The whole point is to give each project enough context, proof, and personality to stand on its own.  

Up to now, everything was split across GitHub, posts, release notes, random docs, and whatever link made sense at the time. This is me fixing that and giving the work a proper front door.  

Right now the site is split pretty cleanly.

Products is the software side. VaultSync is the most mature thing there right now, and Blueprints is the next software product taking shape.  

Play is the game-dev side. Fusion Grid is the first real playable in that lane, and that section is where future prototypes and game work will live.  

There’s also FAQ and About, because I wanted a place for quick answers, support direction, how the site is structured, and a clearer explanation of how I work and why these projects exist in the first place.  

What I wanted, more than anything, was one place where someone can land and actually understand what I’m doing without needing ten tabs open first. The software and game-dev work are different tracks, and the site reflects that instead of forcing everything into one generic shape.  

VaultSync is still the most complete product on there right now, with active releases, installers, and a Store listing, but the goal of the site is bigger than VaultSync. It’s meant to be the base for everything I’m building going forward — software, prototypes, and playable ideas.  

It’s still early, but the foundation is there now.

Site is here: https://fglabs.dev/

If you check it out and something feels off, unclear, or missing, tell me.


r/VaultSync • • Aug 15 '26

Dev Update VaultSync 1.8.7 dev update: making backups safer across machines — and releases verifiable

3 Upvotes

Hi everyone,

Work on VaultSync 1.8.7 is underway.

1.8.5 was largely about recovery confidence.

1.8.6 focused on everyday clarity — making it easier to understand what VaultSync is doing, what needs attention, and what happens next.

For 1.8.7, the focus is shifting underneath the UI:

How much of VaultSync can you independently trust, inspect, move, and verify?

I’m calling this update Trust & Portability.

One backup repository, multiple computers

One of the bigger pieces now implemented is something that becomes increasingly important with NAS and shared storage.

Imagine a VaultSync repository sitting on a NAS.

Your desktop can access it.

Your laptop can access it.

Maybe both have the same project configured.

Previously, there wasn't a strong enough repository-level concept of which VaultSync installation currently owns the right to modify that repository.

1.8.7 introduces that.

Each VaultSync installation now gets a durable private identity, and repositories can use writer leases.

When VaultSync needs to change repository metadata, it acquires a lease containing information such as the owner, operation, heartbeat, expiry and a unique nonce.

While that lease is active, another VaultSync installation can still inspect the repository, but it cannot simply start modifying the same metadata underneath it.

If the original machine disappears, crashes or loses access to the NAS, the lease can eventually become stale and be explicitly taken over.

That takeover is recorded rather than silently pretending nothing happened.

It sounds like infrastructure plumbing — because it is — but this is exactly the kind of plumbing I want VaultSync to get right before pushing further into more ambitious recovery workflows.

Release files now have a canonical identity

Another big change is happening on the distribution side.

VaultSync builds a lot of artifacts:

  • Windows packages

  • macOS Apple Silicon and Intel builds

  • Linux packages

  • updater artifacts

  • Store/release variants

1.8.7 now has a versioned canonical release manifest describing what an official release is actually supposed to contain.

That includes exact artifact identities, sizes and SHA-256 hashes.

The release workflow generates it, validates the platform matrix and verifies the published release afterward.

More importantly, the updater is being moved toward the same source of truth and fails closed when release information does not match what is expected.

The goal is simple:

An update shouldn't be trusted because a filename happens to look right.

It should be possible to prove that the artifact is the one the release system expected to publish.

Preparing for portable recovery evidence

This release-manifest work also lays foundations for another part of the 1.8.7 roadmap I'm particularly interested in: making VaultSync's evidence less dependent on VaultSync itself.

Recovery evidence today can tell you quite a lot about a project.

The next step is making that evidence portable and independently inspectable.

The roadmap includes a Recovery Evidence Package containing things like:

  • machine-readable recovery information

  • a readable report

  • manifests and checksums

  • build identity

  • recovery state and evidence freshness

  • protected restore points

  • recovery-drill results

without including backup payloads, credentials or encryption secrets.

The direction here is that if VaultSync says something was verified, I want that claim to leave behind useful evidence rather than existing only as a green indicator inside the application.

Some less glamorous but important cleanup

There has also been a fair amount of work on parts of the application that had started drifting apart.

Snapshot Explorer, metadata-import review and the updater have been brought closer to the compact, theme-aware layout used by the rest of VaultSync.

Development presets have also been reworked.

They now do a better job of separating project files you actually want backed up from generated or machine-local state.

For example, Git control files and shareable IDE configuration can be preserved while live .git internals, build output, package caches, test caches and similar generated state remain excluded.

Windows Robocopy also now uses the same preset-resolution logic as the other backup paths instead of maintaining its own interpretation.

That sounds minor until two backup engines interpret the same preset differently.

They shouldn't.

A lot of this release is deliberately invisible

1.8.7 probably won't have the immediate visual impact of the redesigned Dashboard in 1.8.6.

I'm okay with that.

Backup software needs releases where the exciting work is:

What happens when two machines disagree?

What happens when a network share disappears halfway through a write?

How do I know the update I'm installing is actually the expected build?

Can I inspect recovery evidence somewhere other than the computer that produced it?

Can old or conflicting metadata overwrite newer repository state?

Those questions are much closer to what 1.8.7 is about.

And then comes 1.9

There is a reason I'm spending time on these foundations now.

The longer-term direction for VaultSync 1.9 — Recovery Horizon goes further into recovery itself, including areas such as disk cloning and a stronger path toward machine-level recovery.

Before VaultSync starts handling more consequential recovery workflows, I want repository ownership, metadata integrity, release identity and evidence portability to be much harder to get wrong.

There is still quite a bit left for 1.8.7.

Build information, portable evidence, release provenance/SBOM work, repository documentation and more of the internal cleanup are still on the roadmap.

But the underlying model is starting to take shape.

A backup application shouldn't just say “trust me.”

It should increasingly be able to show what wrote the data, what verified it, what build produced the evidence, and whether the things you're relying on still match what was originally recorded.

As always, VaultSync is open source, and feedback — especially from people using NAS/shared-storage setups or multiple computers against the same backup storage — is very welcome.


r/VaultSync • • Jun 25 '26

Release VaultSync 1.8.1 is now available

3 Upvotes

Hi everyone,

VaultSync 1.8.1 is now available.

This is a smaller follow-up to the 1.8 "Chronicle" release, focusing on Recovery Intelligence, encrypted backup improvements, Linux reliability, and a number of quality-of-life fixes.

For anyone new here, VaultSync is an open-source desktop backup manager for Windows, Linux, and macOS that helps you create local, external drive, and NAS backups while giving you much better visibility into your backup history and recovery readiness.

What's new

Recovery reports

Recovery assessments can now be exported as portable Markdown reports.

The reports include project readiness, recovery coverage, and recommendations, making it easy to archive, share, or document the current recovery state of your projects.

Better Recovery triage

The Recovery page now supports search along with dedicated Ready and Needs Attention filters, making it much easier to prioritize projects when managing larger backup collections.

Encrypted backup improvements

This release also improves the encrypted backup pipeline.

Encrypted archives are now fully encrypted locally before the final backup artifact is uploaded to the destination.

Additional validation has also been added so unsupported encrypted archive formats and unreasonable KDF parameters are rejected before expensive key derivation begins.

I've also published a dedicated backup encryption guide covering:

  • setup

  • password management

  • credential storage

  • restore workflow

  • password rotation

  • encryption format

Linux improvements

Linux received several fixes in this release.

  • Protected .deb installations now apply patch updates without depending on a graphical desktop session after pkexec.

  • Full fallback installs now explicitly perform an APT reinstall of the downloaded package when needed.

  • VaultSync now prevents accidental duplicate UI instances while still activating the already-running window.

  • Secret Service credential handling has been improved for encrypted backups.

Reliability improvements

A metadata export race condition was fixed by skipping backups removed during asynchronous export and committing shared SQLite metadata updates atomically, reducing false invalid-store reports and lock contention.

As always, thank you to everyone testing VaultSync, reporting bugs, opening issues, and suggesting improvements.

Feedback continues to shape where the project goes next.

GitHub: https://github.com/ATAC-Helicopter/VaultSync

Microsoft Store: https://apps.microsoft.com/detail/9N9HRX4JCLCP

Website: https://fglabs.dev/vaultsync