The changelog summarized bugfixes that are deemed relevant for users. Developers should consult the git commit log or GitHub issue tracker.

0.0.4 (unreleased)


  • [BREAK] [FEATURE] issue #34: automatic bookmarking of snapshots
  • [BREAK] commit ccd062e: ssh+stdinserver transport: changed protocol requires daemon restart on both sides
    • The delicate procedure of talking to the serving-side zrepl daemon via the stdinserver proxy command now has better error handling.
    • This includes handshakes between client+proxy and client + remote daemo, which is not implemented in previous versions of zrepl.
    • The connecting side will therefore time out, with the message dial_timeout of 10s exceeded.
    • Both sides of a replication setup must be updated and restarted. Otherwise the connecting side will hang and not time out.
  • [BREAK] commit 2bfcfa5: first outlet in global.logging is now used for logging meta-errors, for example problems encountered when writing to other outlets.
  • [FEATURE] issue #10: zrepl control status subcommand
    • Allows inspection of job activity per task and their log output at runtime.
    • Supports --format raw option for JSON output, usable for monitoring from scripts.
  • [FEATURE] commit d7f3fb9: subcommand bash completions
    • Package maintainers should install this as appropriate.
  • [BUG] issue #61: fix excessive memory usage
  • [BUG] issue #8 and issue #56: ssh+stdinserver transport properly reaps SSH child processes
  • [BUG] commit cef63ac: human format now prints non-string values correctly
  • [BUG] issue #26: slow TCP outlets no longer block the daemon
  • [DOCS] issue #64: tutorial: document known_host file entry


  • [BREAK] commit b95260f: global.logging is no longer a dictionary but a list
  • [BREAK] commit 3e647c1: source job field datasets renamed to filesystems
    • NOTE: zrepl will parse missing filesystems field as an empty filter, i.e. no filesystems are presented to the other side.
  • [BUG] commit 72d2885 fix aliasing bug with root < subtree wildcard
    • Filesystems paths with final match at blank s subtree wildcard are now appended to the target path
    • Non-root subtree wildcards, e.g. zroot/foo/bar< still map directrly onto the target path
  • Support days (d) and weeks (w) in durations
  • Docs
    • Ditch Hugo, move to Python Sphinx
    • Improve & simplify tutorial (single SSH key per installation)
    • Document pruning policies
    • Document job types
    • Document logging
    • Start updating implementation overview


  • Initial release