Features
- Per-repository schedule overrides: a repository can now override the global backup schedule instead of being pinned to it (#181).
Performance
- Chunk hashing:
ChunkIdandPackIdare computed withblake2b_simd, speeding up the hottest path in backup. - Index lookups:
ChunkId-keyed maps skip SipHash — the keys are already cryptographic hashes, so re-hashing them bought nothing. - Restore finalization: per-file fsync is gone from restore finalization, and the remaining fsync work runs in parallel.
- musl builds now use mimalloc as the global allocator.
- Networking:
TCP_NODELAYis set on accepted server connections, and the ureq idle connection pool is sized frommax_connections.
Bug Fixes
checknever deletes a snapshot written by a newer vykar.- Backup survives unreadable cloud-only directories and reports how many it skipped, instead of failing the run.
- Server-side operations are forwarded correctly through the throttled storage backend. A missing forward had silently disabled server-side pack verification and server init on any rate-limited REST repository.
- The
Lockederror now names the lock holder, its age, and the remedy. - User tool directories are prepended to
PATHfor spawned shell commands. - Scripts spawned without a console no longer flash a console window on Windows.
- GUI: opening a repository with an empty passphrase works again (#182).
- GUI: a repository-selection miss is logged once instead of on every attempt.
- Nix: support skia-bindings v0.99.0 (#171).
Internals
- Storage, wire-format, and fsync duplication consolidated behind shared helpers, with a
delegate_storage_backend!macro that keeps trait forwarding from rotting — the class of bug that caused the throttled-backend fix above. - Consumer projections shared across the CLI, GUI, and server;
vykar-servergained a library target; dead code and theapp::operationspass-through facade removed. - Broader path-sanitizer and traversal test coverage, and deduplicated test fixtures.
- CI: nix flake verification and build job, with the nix store cached between runs (#178).
Updating
To update to the latest version, run:
curl -fsSL https://vykar.borgbase.com/install.sh | shSee the quickstart guide for other install options.
Downloads
| Platform | Artifact |
|---|---|
| Linux x86_64 (gnu) | vykar-v0.19.0-x86_64-unknown-linux-gnu.tar.gz
|
| Linux x86_64 (musl) | vykar-v0.19.0-x86_64-unknown-linux-musl.tar.gz
|
| Linux aarch64 (gnu) | vykar-v0.19.0-aarch64-unknown-linux-gnu.tar.gz
|
| Linux aarch64 (musl) | vykar-v0.19.0-aarch64-unknown-linux-musl.tar.gz
|
| macOS aarch64 | vykar-v0.19.0-aarch64-apple-darwin.tar.gz
|
| Windows x86_64 | vykar-v0.19.0-x86_64-pc-windows-msvc.zip
|
| GUI (AppImage) | vykar-gui-v0.19.0-x86_64.AppImage
|
SHA256 checksums are attached to this release.