github borgbase/vykar v0.19.0

5 hours ago

Features

  • Per-repository schedule overrides: a repository can now override the global backup schedule instead of being pinned to it (#181).

Performance

  • Chunk hashing: ChunkId and PackId are computed with blake2b_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_NODELAY is set on accepted server connections, and the ureq idle connection pool is sized from max_connections.

Bug Fixes

  • check never 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 Locked error now names the lock holder, its age, and the remedy.
  • User tool directories are prepended to PATH for 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-server gained a library target; dead code and the app::operations pass-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.

Don't miss a new vykar release

NewReleases is sending notifications on new releases.