Features
- GUI + CLI
diffcommand: compare regular files between two snapshots (added, removed, modified, with size deltas). - GUI – multi-row selection and batch delete on the Snapshots page.
- GUI – grouped find results by snapshot for easier scanning.
Reliability & Correctness
- Symlink validation on restore: validates symlink targets and warns on unsafe ones (absolute or escaping the restore root).
restore --verify: optional plaintext chunk hash check during restore for end-to-end integrity verification.- Harden stale lock crash recovery so a crashed maintenance run no longer blocks subsequent operations.
- Harden backup reads against TOCTOU races between stat and open.
- Bound non-segmented reads to
pre_meta.size + 1to detect files growing during backup. - Validate
Item::sizeinvariant during restore + check; surface metadata failures as errors instead of silently corrupting output. - Harden pack offset arithmetic against corrupted indexes.
- Enforce the durable commit boundary via the type system (
refactor(commit)). - Surface post-commit failures as warnings rather than aborting the snapshot.
- Surface
command_dumpfailures as typed errors instead ofexpect()panics.
Refactors
- Split
backup/pipeline.rsinto orchestrator + stage submodules. - Split
commands/restore.rsinto phase submodules; stream restore in bounded batches. - Drop redundant clones on backup/restore hot paths.
Bug Fixes
- GUI: write config files with owner-only permissions (0600).
- GUI: rephrase prune dialog to avoid tinyfd quote-rejection on Windows.
- core: format byte counts in daemon-visible summary logs.
- storage: drain PUT request body in s3_backend test mocks (test stability).
Infrastructure
- Stop stress test scripts on first failure.
- Gate the absolute-symlink warning test to Unix.
Downloads
| Platform | Artifact |
|---|---|
| Linux x86_64 (glibc) | vykar-v0.14.0-x86_64-unknown-linux-gnu.tar.gz
|
| Linux x86_64 (musl) | vykar-v0.14.0-x86_64-unknown-linux-musl.tar.gz
|
| Linux aarch64 (glibc) | vykar-v0.14.0-aarch64-unknown-linux-gnu.tar.gz
|
| Linux aarch64 (musl) | vykar-v0.14.0-aarch64-unknown-linux-musl.tar.gz
|
| Linux GUI (AppImage) | vykar-gui-v0.14.0-x86_64.AppImage
|
| macOS aarch64 | vykar-v0.14.0-aarch64-apple-darwin.tar.gz
|
| Windows x86_64 | vykar-v0.14.0-x86_64-pc-windows-msvc.zip
|