Full release history. Breaking changes are marked ⚠ breaking.
Repository format changes require fh migrate.
v0.4.2 2026-04-01
- Fix: B2 backend would silently retry on 429 without respecting
Retry-Afterheader — could saturate API quota in large repos. - Fix:
fh restore --dry-runprinted incorrect byte counts when chunks spanned pack boundaries. - Improvement:
fh snapshots --jsonnow includeschunk_countandunique_bytesfields. - Dependency: bumped
zeebo/blake3to v1.1.0 (no API changes).
v0.4.1 2026-03-21
- Fix:
fh check --fullwould stall indefinitely on B2 repos larger than ~50 GB due to a missing channel close in the verification pipeline. - Fix: Progress bar rendering broke on terminals reporting width < 40 columns.
- Improvement: Local backend now uses
rename(2)for atomic pack-file commits instead ofO_TRUNCoverwrites.
v0.4.0 2026-03-14
- New: Backblaze B2 native backend — uses B2's multipart upload API instead of S3-compat layer. 15–20% lower API call overhead on large snapshots.
- New: FastCDC-inspired chunker replaces the old Rabin-fingerprint chunker. ~30% throughput improvement on large file trees. ⚠ breaking: existing repositories can still be read, but new chunks use the new format — run
fh migrate v4to upgrade. - New:
fh diff <snap1> <snap2>command shows changed files between snapshots. - Improvement:
fh restorenow downloads chunks in parallel (configurable with--parallelism, default 4). - Fix:
fh forget --keep-within 7dwas off-by-one on the boundary day.
v0.3.7 2026-01-19
- Fix: key derivation used 32-byte salt but index stored 16 bytes — mismatch broke unlock on repos created between v0.3.0 and v0.3.5. Affected users: run
fh rekey --repair. - Fix:
fh prunecould leave orphaned pack files when interrupted mid-run. - Improvement: index cache now persists between
fh backupruns (was flushed on exit).
v0.3.5 2025-11-30
- New:
fh snapshots --tagfiltering. - New:
fh backup --exclude-larger-thanflag. - Improvement: S3 backend now supports
--endpointfor self-hosted MinIO / Wasabi. - Fix: symlinks were followed during backup; now preserved as symlinks.
v0.3.0 2025-09-12
- New: S3-compatible backend (AWS, Wasabi, MinIO). ⚠ breaking: repository config format changed —
fh migrate v3. - New:
fh checkcommand for integrity verification without full restore. - New:
fh forgetwith retention policies (--keep-last,--keep-daily,--keep-weekly). - Improvement: Argon2id time parameter bumped from 1 to 3 iterations (new repos only).
v0.2.0 2025-06-07
- New: Encryption. All repos created from v0.2.0 onward are encrypted at rest with ChaCha20-Poly1305. ⚠ breaking: v0.1.x plaintext repos are no longer writable; read-only legacy support until v0.5.0.
- New:
fh mount(FUSE, Linux/macOS) — browse snapshots as a filesystem. - Fix: large files (>4 GB) silently truncated chunk manifest on 32-bit offset paths. Now validated at write time.
v0.1.0 2025-02-28
- Initial public release. Local-only backend, Rabin-fingerprint CDC, no encryption.
- Commands:
fh init,fh backup,fh restore,fh snapshots,fh prune. - Published to pkg.go.dev; builds for linux/amd64, linux/arm64, darwin/arm64, windows/amd64.