This release includes breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
Summary
AI summaryUpdates Bug Fixes, Performance, and Internals across a mixed release.
Full changelog
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 | sh
See 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.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Earlier breaking changes
- v0.17.0 Snapshots now use format version 1; older binaries cannot read them.
Beta — feedback welcome: [email protected]