2026-09-02 - 2026-10-02
Overview
5 Releases published by 1 user
Published
v2.29.0
Published
v2.28.0
v2.28.0
Published
v2.26.0
v2.26.0 — rsync 3.4.1 drop-in parity
Published
v2.21.0
Published
v2.19.0
21 Pull requests merged by 1 user
Merged
#329 quality: refactors (#321-#326) + fake-super directories (#319)
Merged
#328 feat: no-wire parity — delay-updates (#317), >256 MiB streaming (#318)
Merged
#327 feat: wire backlog — client-msg, partial exit 23, dir itemize, stats, per-dir merge (protocol 2.30.0)
Merged
#312 Release v2.29.0
Merged
#311 feat: transport I/O vtable + symlink-xattr wire block (protocol 2.29.0)
Merged
#310 test: restore dumpable flag so ASan/LSan can run
Merged
#309 feat: parity burn-down — inc-recursive, temp-dir, delete-before, fake-super, devices, daemon config
Merged
#308 fix: close valid residuals of issues #286-#297 (triage cycle)
Merged
#307 refactor: structural splits, delete-engine consolidation, Config cleanup (no behavior change)
Merged
#306 fix(audit): security, correctness, refactors, docs (no wire change)
Merged
#305 feat(parity): rsync-parity cycle 2.29 (120/10/27, no wire change)
Merged
#304 Release v2.28.0
Merged
#303 feat(parity): rsync parity tracks 1-6 (protocol 2.28.0)
Merged
#302 test(parity): empty allowlist, assert max_delete invariants
Merged
#301 fix(parity): ⚠️ residual burn-down + review fixes (protocol 2.27.0)
Merged
#300 test(parity): differential rsync 3.4.1 parity gate + CI
Merged
#284 Release v2.26.0
Merged
#299 fix(test): stop the valgrind hang, init per_dir_filter_count
Merged
#298 rsync 3.4.1 drop-in parity (#285-#297) + parity completion (protocol 2.26.0)
Merged
#283 chore(opencode): fix drifted agent/skill docs and repo hygiene
Merged
#282 fix(benchmark): use real FastSync flags and Release builds
41 Issues closed from 1 user
Closed
#325 quality: decompose delete_walk_fd and delete_missing_args_budgeted_observed
Closed
#326 quality: name remaining magic constants
Closed
#321 quality: decompose receive_delta_file (236-line god function)
Closed
#322 quality: share file-entry construction between the sequential and parallel scanners
Closed
#323 quality: extract shared client connect/session setup and delete preamble
Closed
#324 quality: decompose server.c main()
Closed
#319 parity: --fake-super faking for directories
Closed
#318 parity: stream a single file >256 MiB (unblocks basis-dir and fuzzy rows)
Closed
#317 parity: --delay-updates unique staging name + implied --delete-after ordering
Closed
#315 parity: receiver-side per-directory merge rules for --filter/-F (+ merge e/n/w/- modifiers)
Closed
#316 parity: --stats per-type deleted breakdown
Closed
#320 parity: map receiver file errors to rsync partial exit code 23
Closed
#314 parity: answer STATUS_MKDIR/STATUS_SYMLINK with destination state (-i/--progress/--out-format)
Closed
#313 parity: implement --stderr=client client-message channel (wire)
Closed
#293 --chmod parity: implies -p, no D/F/X, no append, sanitized
Closed
#294 Identity maps/chown/fake-super parity
Closed
#295 Timeouts/max-alloc/temp-dir parity
Closed
#296 Connectivity/daemon parity details
Closed
#297 Docs: RSYNC_COMPAT.md/README overclaim parity and stale facts
Closed
#289 Checksum/compression parity: -c no-op without --incremental; choice subsets; seed/default
Closed
#290 Deletion data-loss and semantics: files-from over-delete, delete-excluded, symlinks, max-delete
Closed
#291 Selection/output: -x drops mount-point dir; --include/--exclude ordering and inline = forms
Closed
#292 Output formatting parity: -i, --out-format, --list-only, --stats, -h units, --progress
Closed
#219 Share TCP connection setup between plain and TLS transports
Closed
#220 Replace CMake source globs with explicit targets and shared target configuration
Closed
#286 Ownership: --numeric-ids enables chown under any metadata flag; directory ownership/xattrs/ACLs not applied
Closed
#287 Symlink: --safe-links/--copy-unsafe-links semantics inverted; --munge-links is a no-op
Closed
#288 Special nodes: --specials refuses sockets although mknod(S_IFSOCK) works unprivileged; --copy-devices is a no-op
Closed
#217 Refactor duplicated receiver dispatch into one protocol-processing core
Closed
#218 Refactor Config wire serialization to eliminate parallel field lists
Closed
#285 CLI: rsync short options and short-option clustering unsupported
Closed
#257 [BUG][med] Single files >64MiB cannot be transferred at all (receiver cap vs client streaming mismatch); client dies with SIGPIPE on abort
Closed
#252 [BUG][high] --backup / --suffix broken: NULL-vs-empty wire loss (plain --backup fails every file; --suffix silently keeps no backup)
Closed
#253 [BUG][high] --partial --partial-dir DIR writes completed files into DIR and never installs them in the destination
Closed
#255 [PERF][med] Incremental STATUS_CHECK reads the ENTIRE old file (<=64MiB) before the size/mtime quick-check; wasted I/O on every unchanged file + amplification DoS
Closed
#256 [BUG][med] receive_delta_file failure paths don't set *failed -> STATUS_ERROR + STATUS_NEXT protocol desync (double-send / hang)
Closed
#259 [PERF][med] delta_compute is O(bytes x signature-blocks) linear scan per byte-window; needs a hash index
Closed
#251 [BUG][high] --remove-source-files deletes source files that were skipped (--existing/--ignore-existing/--update)
Closed
#254 [SECURITY][high] Per-connection memory budget bypassed by decompressed/copied chunk buffers -> multi-GB OOM in multithreaded receiver
Closed
#258 [SECURITY][low] --inplace overwrite preserves original mode/setuid and can retain stale trailing bytes
Closed
#260 [QUALITY][low] Merge leftovers: dead server.c receive_files(), dead utils.c mkdir_r(), misleading return comments, =-form/missing-arg CLI diagnostics
37 Issues created by 0 users
Opened
#251 [BUG][high] --remove-source-files deletes source files that were skipped (--existing/--ignore-existing/--update)
Opened
#252 [BUG][high] --backup / --suffix broken: NULL-vs-empty wire loss (plain --backup fails every file; --suffix silently keeps no backup)
Opened
#253 [BUG][high] --partial --partial-dir DIR writes completed files into DIR and never installs them in the destination
Opened
#254 [SECURITY][high] Per-connection memory budget bypassed by decompressed/copied chunk buffers -> multi-GB OOM in multithreaded receiver
Opened
#255 [PERF][med] Incremental STATUS_CHECK reads the ENTIRE old file (<=64MiB) before the size/mtime quick-check; wasted I/O on every unchanged file + amplification DoS
Opened
#256 [BUG][med] receive_delta_file failure paths don't set *failed -> STATUS_ERROR + STATUS_NEXT protocol desync (double-send / hang)
Opened
#257 [BUG][med] Single files >64MiB cannot be transferred at all (receiver cap vs client streaming mismatch); client dies with SIGPIPE on abort
Opened
#258 [SECURITY][low] --inplace overwrite preserves original mode/setuid and can retain stale trailing bytes
Opened
#259 [PERF][med] delta_compute is O(bytes x signature-blocks) linear scan per byte-window; needs a hash index
Opened
#260 [QUALITY][low] Merge leftovers: dead server.c receive_files(), dead utils.c mkdir_r(), misleading return comments, =-form/missing-arg CLI diagnostics
Opened
#285 CLI: rsync short options and short-option clustering unsupported
Opened
#286 Ownership: --numeric-ids enables chown under any metadata flag; directory ownership/xattrs/ACLs not applied
Opened
#287 Symlink: --safe-links/--copy-unsafe-links semantics inverted; --munge-links is a no-op
Opened
#288 Special nodes: --specials refuses sockets although mknod(S_IFSOCK) works unprivileged; --copy-devices is a no-op
Opened
#289 Checksum/compression parity: -c no-op without --incremental; choice subsets; seed/default
Opened
#290 Deletion data-loss and semantics: files-from over-delete, delete-excluded, symlinks, max-delete
Opened
#291 Selection/output: -x drops mount-point dir; --include/--exclude ordering and inline = forms
Opened
#292 Output formatting parity: -i, --out-format, --list-only, --stats, -h units, --progress
Opened
#293 --chmod parity: implies -p, no D/F/X, no append, sanitized
Opened
#294 Identity maps/chown/fake-super parity
Opened
#295 Timeouts/max-alloc/temp-dir parity
Opened
#296 Connectivity/daemon parity details
Opened
#297 Docs: RSYNC_COMPAT.md/README overclaim parity and stale facts
Opened
#313 parity: implement --stderr=client client-message channel (wire)
Opened
#314 parity: answer STATUS_MKDIR/STATUS_SYMLINK with destination state (-i/--progress/--out-format)
Opened
#315 parity: receiver-side per-directory merge rules for --filter/-F (+ merge e/n/w/- modifiers)
Opened
#316 parity: --stats per-type deleted breakdown
Opened
#317 parity: --delay-updates unique staging name + implied --delete-after ordering
Opened
#318 parity: stream a single file >256 MiB (unblocks basis-dir and fuzzy rows)
Opened
#319 parity: --fake-super faking for directories
Opened
#320 parity: map receiver file errors to rsync partial exit code 23
Opened
#321 quality: decompose receive_delta_file (236-line god function)
Opened
#322 quality: share file-entry construction between the sequential and parallel scanners
Opened
#323 quality: extract shared client connect/session setup and delete preamble
Opened
#324 quality: decompose server.c main()
Opened
#325 quality: decompose delete_walk_fd and delete_missing_args_budgeted_observed
Opened
#326 quality: name remaining magic constants