Releases: denisix/bsync
Releases · denisix/bsync
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
first release
this is the first release, binary for Linux
Full Changelog: https://github.com/denisix/bsync/commits/release