Skip to content
zit Artifact [1f68c3d6b7]
Login

Artifact [1f68c3d6b7]

Artifact 1f68c3d6b70d88e9892ba7c72703ba2d140bf3a225229354095a25edd7a1a912:


zit 0.10.1

zit 0.10.1 fixes two horizon-clone defects that the nightly soak found, and lets zit daemon record merges.

This release is from trunk. Stores, caches and the wire are unchanged from 0.10.0.

A torn header restamp no longer makes a store unreadable

After a horizon or cone clone committed, zit rewrote the store's 64-byte header in place to record that the store holds a horizon. A crash during that write could leave the new version with the old checksum, and every command then refused the store as corrupt, although all of its data was intact.

zit now recognises a header torn between its two versions and reads it as the stamp the write was leaving; the next restamp seals it. Any other damage to a header is still reported as corruption. A new horizon clone writes its version when the store is created, so it never restamps at all.

A deepen from a zit server completes

Since 0.9.0 a zit server can answer a request with an artifact it stores as a delta. When a sub-manifest arrived that way before its basis, the client stored it once the basis came but did not record that the tree's missing piece had arrived. A horizon clone's deepen then reported that it had not reached the origin and left the horizon where it was, though the content was already in the store. The deepen now completes. No data was lost; a retry also succeeded.

Merges through the daemon

zit help daemon documents the shapes.

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.