Bug Fixes
- Prune now groups by source label regardless of local config. Previously, running
prunefrom a repo without a configuredsources:block (e.g. on a central server backing up clients) pooled every snapshot into a single bucket and ignored source labels, producing wrong retention. Labels are intrinsic to each snapshot, so grouping is now consistent with how snapshots were created. (#138) - SFTP pool-acquire waits no longer masquerade as transport retries. On connection-capped servers (e.g. Hetzner Storage Box), concurrent uploads previously logged
connection error (attempt N/5)for pure pool contention and consumed the user-visible retry budget. Pool waits now log distinctly (waited Ns for connection pool slot), do not touch the retry budget, and don't trigger backoff. A wedged-pool fuse preserves liveness if a slot ever leaks. - Multi-path sources can now share the same basename. Snapshots prefix each source-path's contents by the full configured absolute path, so paths like
/etcand/var/lib/machines/base/etccan coexist in one source. Single-path single-source files keep the legacy basename layout. (#143) - Windows path normalization fixed. A
str::replaceregression in the duplicate-basename fix broke compilation onx86_64-pc-windows-msvc. The Linux/macOS builds never compile that branch, so the issue surfaced only on Windows. - GUI link error on macOS fixed. Pinned
slintandslint-buildto~1.15to avoid duplicatemudaObjective-C class registration that broke macOS release linking.
Dependencies
- Security:
russhbumped to 0.60.3 andrussh-sftpto 2.1.2 for two upstream CVEs —GHSA-f5v4-2wr6-hqmg(keyboard-interactive OOM) andCVE-2026-46673(compression ZIP-bomb that bypassed max-packet checks). - Hygiene bumps:
rusty-s30.9.1,fastcdc4.0.1,nix0.31.3,tray-icon0.22.2,lru0.18. urequnified on v3 across the workspace, eliminating a duplicate v2 from the CLI dev-dep test pipeline.
Infrastructure
- All Node.js-based GitHub Actions bumped to current majors for Node.js 24 compatibility (the runner forces Node 24 by default starting 2026-06-02).
Downloads
| Platform | Asset |
|---|---|
| Linux x86_64 (glibc) | vykar-v0.16.1-x86_64-unknown-linux-gnu.tar.gz
|
| Linux x86_64 (musl) | vykar-v0.16.1-x86_64-unknown-linux-musl.tar.gz
|
| Linux aarch64 (glibc) | vykar-v0.16.1-aarch64-unknown-linux-gnu.tar.gz
|
| Linux aarch64 (musl) | vykar-v0.16.1-aarch64-unknown-linux-musl.tar.gz
|
| Linux x86_64 (GUI AppImage) | vykar-gui-v0.16.1-x86_64.AppImage
|
| macOS aarch64 | vykar-v0.16.1-aarch64-apple-darwin.tar.gz
|
| Windows x86_64 | vykar-v0.16.1-x86_64-pc-windows-msvc.zip
|