Skip to content
zit zit 0.11.0
Login

zit 0.11.0

zit 0.11.0 makes the daemon fast at any store size, makes a sync with nothing to do cheap, and reports forks after sync and pull.

This release is from trunk. Stores and the wire are unchanged from 0.10.1; new sidecars beside the store are built on first use.

Read first: sync and pull can exit 9

zit sync and zit pull now report a branch left with more than one open leaf, and exit 9 when this exchange brought or made the fork. Until now they exited 0. A caller that treats every non-zero exit as a failed sync should treat 9 as a successful sync that left a merge to do. Any failure still exits 1, even when a fork is present. A fork that was already there before the exchange is reported but exits 0.

Each forked branch is printed on stderr as fork on BRANCH: N leaves (h12, …), newest leaf first. With -F json, sync and pull print schema_version, sent (sync only), received, rounds and forks: one entry per branch with its leaves, the paths that differ between them, and new when this exchange made it. A clone reports an origin's forks and exits 0.

Faster

New in the daemon

zit help daemon documents the shapes.

Fixed

Compatibility

Stores, check-ins and the sync protocol are unchanged, and stock Fossil peers are unaffected. Two new advisory sidecars appear in .zit-cache; they are rebuilt if missing, stale or damaged. The only behaviour change callers can see is sync and pull's exit 9 above.

Qualification

The release manifest records native qualification against the exact tagged source archive on macOS ARM64, Linux x86-64 and Linux ARM64, using the pinned Zig 0.17.0 toolchain. Publication is gated on unit and end-to-end tests, Git differentials, deterministic simulation, seeded fuzzing, and Fossil interoperability checks on every distributed target.

For the basis of the conformance claim, see the 0.1.0 release notes.