All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Massive Performance Boost for Tiny Files: Completely refactored the internal database architecture to use a dedicated asynchronous writer thread and transaction batching.
- Benchmark Milestone: This optimization eliminated the disk I/O bottleneck for the embedded
redbdatabase, dropping deduplication latency on 15,000 tiny files from ~20.1 seconds down to ~211 milliseconds (nearly a 100x speedup), makingbdstoragefaster than bothrmlintandjdupesin all tested scenarios.
- Implemented metadata preservation (xattrs, permissions, timestamps) during the deduplication process (#25).
- Implemented atomic vault renaming to prevent master file corruption during unexpected interruptions (#29).
- Fixed a critical safety issue to ensure the master file is fully restored if a subsequent reflink operation fails (#27).
- Fixed and improved the hardlink fallback logic for filesystems that do not support CoW reflinks (#24).
- Hardened the integration test suite to strictly validate sparse files, bit-rot simulations, and CI runner isolation (#30).