Releases: denisix/bsync
Releases · denisix/bsync
Release list
v0.11
- add terminal visualizer with Win98-style block grid
Add -v flag rendering real-time colored block grid showing transfer progress.
States: pending (dim □), processing (blink □), zero (grey), compressed (blue),
raw (orange), skipped (green). Async non-blocking render, cross-platform terminal
size detection (TIOCGWINSZ for Unix, GetConsoleScreenBufferInfoEx for Windows).

v0.10
Optimize HDD transfer throughput
- server: shared OrderedWriter serializes concurrent writes into a near-sequential stream (SubmitAndWait keeps per-block acks)
- writer: periodic async SyncFileRange writeback to smooth flushing
- reader: zero-copy block handoff + AdviseDontNeed to preserve read-ahead
- sysfstune: best-effort 4MB read-ahead for /dev/ block devices
- verified live over SSH: full upload/download matrix passes
- harden protocol, SSH transfer, and edge-case test coverage for remote/local transfers
v0.9
v0.8
network: robustness fixes and Windows support
- Add Windows build with drive enumeration (-a flag) and physical drive access
- Add server-side progress stats with -P flag to suppress in SSH mode
- Add TCP keep-alive, per-loop deadlines, and io.ReadFull throughout
- Add retry loop with reconnect for failed blocks (client)
- Fix: reset deadline before data payload read in serverHandleReq
- Fix: check connWrite error on hash send, return on failure
- Fix: remove double SetWriteDeadline from AutoReconnectTCP.Write
- Remove dead processBlockJob function
v0.7
v0.6
feat: add sparse file support, encryption, compression levels, and comprehensive tests
- Add ChaCha20-Poly1305 encryption with auto-generated keys (-e flag)
- Add compression level control (-L fast/default/better/best)
- Add IP binding option (-i flag)
- Optimize zero block handling - no network transfer, preserves sparse holes
- Fix block calculation off-by-one bug affecting truncation
- Add buffer pools for decompression to reduce GC pressure
- Increase zero buffer from 1MB to 100MB
- Add 20 new flag tests (multi-worker, encryption, compression, block sizes)
- Update README with all features and examples
All 63 tests passing.
v0.5
- Added stream encryption/decryption
- Performance optimizations and memory leak fixes:
- Optimize isZeroBlock with 8-byte chunk comparison (~10x faster)
- Add TCP buffer tuning (4MB buffers, TCP_NODELAY)
- Add compression level flag (-L fast/default/better/best)
- Add FNV hash pool for reduced allocations
- Fix goroutine leak in server with context cancellation
- Add ChecksumCache.Delete() for optional memory cleanup
- Clear original data when compressed version is used
- Cache AEAD cipher instance globally
- Add shared zero buffer for zero block writes
- Add safety check for nil data in processPrecomputedBlock
v0.4
v0.3
added binding to specific IP address
- added binding to specific IP address