Skip to content

Releases: guenther-alka/cs-sync

v2.1.2

Choose a tag to compare

@github-actions github-actions released this 28 Jul 18:35
fix: Windows acltype override, illumos debounce, reason-priority coal…

v2.1.1

Choose a tag to compare

@github-actions github-actions released this 28 Jul 08:01
fix: illumos race condition (shared --primary lock)

v2.1.0

Choose a tag to compare

@github-actions github-actions released this 28 Jul 00:16
cs-sync v2.1.0 -- native encryption, mandatory allow-ip, service stat…

v2.0.5

Choose a tag to compare

@github-actions github-actions released this 25 Jul 11:49

Signed-off-by: Guenther Alka gea@napp-it.org
Concept Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

Tested sync variants (live, 2026-07-25)

Mode Hosts Result
Local bidir (primary <-> secondary) Linux .112 (ZFS posixacl) OK
Local bidir FreeBSD 15.1 .191 (ZFS nfs4) OK after B4 fix
Local bidir macOS .195 (APFS, acltype=none) OK after B5 fix
Local bidir Windows winpool (ZFS nfs4, ACL via SDDL) OK
Remote backup Linux -> FreeBSD .112 -> .191:9010 OK
Remote backup Linux -> OmniOS .112 -> .189:9010 OK
Remote backup Linux -> macOS .112 -> .195:9010 OK
Remote backup Linux -> Windows .112 -> .65:9010 OK
Remote backup Windows -> Linux .65 -> .112:9010 OK
Remote backup Windows -> OmniOS .65 -> .189:9010 OK
Remote backup Windows -> FreeBSD .65 -> .191:9010 OK
Rename across network .112 -> .191 OK -- metadata op, no re-transfer
Mass-delete guard + freeze/approve flow sandbox OK
Transfer key mismatch sandbox OK -- REFUSED immediately, clean log
Disconnect / reconnect + queue drain sandbox OK

Bugfixes vs v2.0.0

  • B1 Sender logged
    emote connected before receiver validated the transfer key -- fix: explicit accept-ack from receiver, sender waits for it before declaring connected
  • B2 Nil-pointer panic in Sender.connect(): double-close of already-nil connection after transport error
  • B3 Delete-freeze loop: deleting delete-freeze.txt re-tripped the same budget on the next pass -- fix: one-shot rename-to-delete-approve.txt protocol (approve file is consumed after one pass)
  • B4 FreeBSD 15.1: ZFS property acltype=posixacl is a compat label even on NFS4 datasets, caused WARN spam on every reconcile pass -- fix: FreeBSD treated like illumos, acltype read skipped, always returns nfs4
  • B5 macOS without ZFS (APFS/HFS+): FATAL on missing zfs binary -- fix: graceful fallback to acltype=none (file sync only, no ACL propagation), parallel to the existing Windows fallback
  • B6 Log line incorrectly said aclinherit=passthrough set on both parent datasets when acltype=none
  • B7 --key flag was wired through Sender/Receiver structs but missing from main.go flag definitions -- caused lag provided but not defined: -key on all platforms
  • B8 Protocol handshake incompatibility between v2.0.0 (no accept-ack) and v2.0.1+ (accept-ack added in B1 fix): receivers logged handshake recv failed: EOF when contacted by older senders -- fix: update all members to the same version; ProtoVersion bump on any handshake flow change is tracked as TODO for v2.1

v2.0.4

Choose a tag to compare

@github-actions github-actions released this 25 Jul 08:49
cs-sync v2.0.4 -- correct log line for acltype=none

v2.0.3

Choose a tag to compare

@github-actions github-actions released this 25 Jul 08:41
cs-sync v2.0.3 -- macOS APFS/HFS+ graceful fallback (no ZFS required)

v2.0.2

Choose a tag to compare

@github-actions github-actions released this 25 Jul 08:10
cs-sync v2.0.2 -- FreeBSD acltype fix (nfs4, not posixacl)

v2.0.1

Choose a tag to compare

@github-actions github-actions released this 25 Jul 08:08
cs-sync v2.0.1 -- Windows ACL sync (ZFS/NTFS/ReFS), transfer key auth

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 24 Jul 21:15
cs-sync 2.0.0 -- cross-member remote sync (one binary, replaces 1.x l…

v1.3.5

Choose a tag to compare

@github-actions github-actions released this 24 Jul 02:31
Existing-folder ACL re-sync on safety-net/sighup passes