⚠️ Breaking Change
The on-disk repository format has changed to enable append-only repositories (mutable manifest removed). Existing repositories created with v0.11.x are not compatible. You must run vykar delete followed by vykar init to re-create them. This will permanently remove all existing backup data in the repository — ensure you have alternative copies of critical data before upgrading.
Features
- Append-only repository layout — Eliminate the mutable manifest for a simpler, more robust on-disk format.
- TOFU repository identity pinning — Prevent silent repo swaps by pinning the repository identity on first use.
- YAML-driven scenario runner — Automated backup testing via declarative YAML scenario files.
- Proptest round-trip properties — Property-based tests for crypto, serde, and backup pipelines.
Bug Fixes
- Batch-verify packs via shard listing — Fix
verify_delta_packsto use shard directory listing instead of index walk. - REST server backward-compat — Handle v1 repo format manifest key for older repositories.
- Harden config parsing and local write durability — Stricter config validation and fsync guarantees.
Testing
- Proptest property tests for the CDC chunker.
- Corruption fixture matrix tests for
vykar check.
Infrastructure
- Bypass faker-file for fast corpus generation (30s → 1s).
- Consolidate scripts into single testbench Python project.
- Migrate benchmark script to Python.
Docs
- Clarify that each source entry produces its own snapshot.
- Expand exclude patterns section with syntax reference and common mistakes.
Downloads
| Platform | Artifact |
|---|---|
| Linux x86_64 (glibc) | vykar-v0.12.0-x86_64-unknown-linux-gnu.tar.gz
|
| Linux x86_64 (musl) | vykar-v0.12.0-x86_64-unknown-linux-musl.tar.gz
|
| Linux aarch64 (glibc) | vykar-v0.12.0-aarch64-unknown-linux-gnu.tar.gz
|
| Linux aarch64 (musl) | vykar-v0.12.0-aarch64-unknown-linux-musl.tar.gz
|
| macOS aarch64 | vykar-v0.12.0-aarch64-apple-darwin.tar.gz
|
| Windows x86_64 | vykar-v0.12.0-x86_64-pc-windows-msvc.zip
|
Checksums available in SHA256SUMS.