Changelog

All notable changes. Follows Keep a Changelog.

v0.2.4 — 2026-04-12

  • Added: streaming mode for transfers — diffs computed and sent concurrently without staging
  • Added: .pineignore file support (glob patterns, one per line)
  • Changed: manifest format migrated from custom binary to SQLite
  • Changed: default block size from 128 KB to 64 KB (better dedup ratio on mixed workloads)
  • Fixed: race condition in concurrent pool initialization when two instances target the same directory
  • Fixed: pinemere stat miscounting hardlinked files as duplicates

v0.2.0 — 2026-03-01

  • Added: multi-target support via pinemere.toml configuration
  • Added: pinemere verify command for offline integrity checks
  • Changed: hash algorithm from SHA-256 to BLAKE3 (~3.8x faster on AMD Zen 4)
  • Fixed: symlink loops causing infinite recursion during indexing

v0.1.3 — 2026-01-22

  • Added: pinemere init and pinemere run as the core workflow
  • Added: BLAKE3 content-addressed block store
  • Added: basic Rabin chunking with fixed target size
  • Initial public binary release for linux/x86_64 and darwin/arm64

v0.0.1 — 2025-11-14

  • Internal prototype. Single-target rsync replacement with no dedup. Mostly a learning exercise in async Rust.