Skip to content
zit zit 0.9.0
Login

zit 0.9.0

zit 0.9.0 is about stores that live a long time and grow large: a forge's bare store written by an application, a horizon or sparse clone kept in sync for months, a history thinned to save space. It adds three verbs an application can drive without a checkout, makes commits and syncs cost what changed instead of what the tree holds, and closes several ways a clone or a pair of concurrent commits could lose or hide work.

This release is from trunk. The caches beside a store change format and are rebuilt once on first open; the store itself and the wire stay Fossil's.

New

Faster

Fixed

Compatibility

The store and the wire are Fossil's. A stock fossil clone of a 0.9.0 store, thinned or not, succeeds, and the delta form zit now sends is the one Fossil already reads. Two things differ from 0.8.1 on disk: a new check-in has no R card unless repo-cksum is on, and stored manifests are skip deltas, which every reader expands as before.

The caches beside a store (.zit-cache) change format. The first open by 0.9.0 rebuilds them once, then they are reused. On a small store that takes moments. On a store the size of the Linux kernel's history it took 43 minutes and 4.1 GB of memory, so a forge should open its large stores once before serving traffic from them.

The sparse-cone, horizon and sub-manifest drafts gain the rules 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.