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-After header — could saturate API quota in large repos.
  • Fix: fh restore --dry-run printed incorrect byte counts when chunks spanned pack boundaries.
  • Improvement: fh snapshots --json now includes chunk_count and unique_bytes fields.
  • Dependency: bumped zeebo/blake3 to v1.1.0 (no API changes).

v0.4.1 2026-03-21

  • Fix: fh check --full would 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 of O_TRUNC overwrites.

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 v4 to upgrade.
  • New: fh diff <snap1> <snap2> command shows changed files between snapshots.
  • Improvement: fh restore now downloads chunks in parallel (configurable with --parallelism, default 4).
  • Fix: fh forget --keep-within 7d was 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 prune could leave orphaned pack files when interrupted mid-run.
  • Improvement: index cache now persists between fh backup runs (was flushed on exit).

v0.3.5 2025-11-30

  • New: fh snapshots --tag filtering.
  • New: fh backup --exclude-larger-than flag.
  • Improvement: S3 backend now supports --endpoint for 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 check command for integrity verification without full restore.
  • New: fh forget with 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.