Skip to content

Releases: denisix/bsync

v0.11

Choose a tag to compare

@denisix denisix released this 28 May 16:44
  • 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).

image

v0.10

Choose a tag to compare

@denisix denisix released this 25 May 01:34

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

Choose a tag to compare

@denisix denisix released this 18 Apr 12:56
  • little fixes
  • skip blocks fix
  • cache for synced blocks

v0.8

Choose a tag to compare

@denisix denisix released this 07 Apr 14:43

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

Choose a tag to compare

@denisix denisix released this 28 Mar 18:41
  • fix -n flag for remote ssh
  • add auto-copy binary to remote via ssh
  • optimize binary size

v0.6

Choose a tag to compare

@denisix denisix released this 25 Mar 00:14

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

Choose a tag to compare

@denisix denisix released this 24 Mar 20:47
  • 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

Choose a tag to compare

@denisix denisix released this 21 Mar 20:03
Add parallel hash+compression pipeline for HDD-friendly multi-worker …

v0.3

Choose a tag to compare

@denisix denisix released this 10 Nov 10:48

added download mode

added binding to specific IP address

Choose a tag to compare

@denisix denisix released this 26 Oct 07:32
  • added binding to specific IP address