-
v2.28.0
StableCI / lint (push) Successful in 2m0sCI / parity-fast (push) SkippedCI / lint (pull_request) Successful in 2m0sCI / parity-full (pull_request) SkippedCI / sanitizers (address) (pull_request) SkippedCI / sanitizers (undefined) (pull_request) SkippedCI / fuzz-build (pull_request) SkippedCI / coverage (pull_request) SkippedCI / valgrind (pull_request) SkippedCI / parity-full (push) Successful in 19sCI / sanitizers (address) (push) Successful in 50sCI / sanitizers (undefined) (push) Successful in 44sCI / build-and-test (push) Successful in 1m8sCI / coverage (push) Successful in 42sCI / fuzz-build (push) Successful in 47sCI / parity-fast (pull_request) Successful in 19sCI / build-and-test (pull_request) Successful in 52sCI / valgrind (push) Successful in 2m13sreleased this
2026-09-20 01:11:40 +02:00 | 126 commits to main since this releaseThe rsync-parity cycle.
PROTOCOL_VERSIONmoves2.26.0 → 2.27.0 → 2.28.0; client and server must run the same version.Highlights
- Differential rsync 3.4.1 parity gate in CI (fast on PR, full strict on push; empty residual allowlist).
- Parity matrix 116 ✅ / 14 ⚠️ / 27 ❌ = 157 (was 111/13/33).
--deletenow defaults to delete-during (rsync--del); FastSync-only--delete-commitkeeps the old atomic timing.- Receiver-observed
--stats(created breakdown + exact delta literal);--progressopt-into-chkpre-count. - Receiver-side
protect/riskfilter engine —--filterand--delete-excludednow parity. - Basis dirs default to rsync's quick-check; FastSync-only
--verify-basis; streamed basis materialization. - Per-codec compression defaults +
RSYNC_*_LISTforauto;--checksum-choiceproven observable-equivalent.
Migration
- Plain
--deletenow removes reached directories' extras during the transfer; pass--delete-commit(or--delete-after) for the old commit-only-after-success behavior. - Basis verification now trusts size+mtime by default; pass
--verify-basisto require a whole-file digest.
See
CHANGELOG.mdfor details andRSYNC_COMPAT.mdfor remaining documented caveats.Downloads