<- HOME - a blog about
xit RSS
██╗ ██╗██╗████████╗██╗ ██████╗ ██████╗
╚██╗██╔╝██║╚══██╔══╝██║ ██╔═══██╗██╔════╝
╚███╔╝ ██║ ██║ ██║ ██║ ██║██║ ███╗
██╔██╗ ██║ ██║ ██║ ██║ ██║██║ ██║
██╔╝ ██╗██║ ██║ ███████╗╚██████╔╝╚██████╔╝
╚═╝ ╚═╝╚═╝ ╚═╝ ╚══════╝ ╚═════╝ ╚═════╝
DEVLOG - SUPPORTING ZIG 0.16 AND SERVER-SIDE NETWORKING -
April 14, 2026
Today Zig 0.16 was
released, which means I could finally
merge two huge changes to the master branch of xit: support
for 0.16 and support for server-side networking. Each of
these changes took months for me to do, so it's a huge
relief to finally merge them.
The
first commit adds support for 0.16. This was a
massive effort, as you can see from the number of lines
changed, because xit makes extensive use of the Zig
standard library. In addition to Zig's new Io interface,
there were many breaking changes in the std lib that had to
be accounted for.
The
second commit adds support for server-side
networking. In particular, it adds equivalents to the
following git commands: upload-pack, receive-pack, and
http-backend. These are mostly intended to be drop-in
replacements.
The point of the server-side commands is to allow you to
run a server that stores repos in the xit repo format.
These commands *also* work with git clients, not just xit
clients. I think the xit repo format will prove to enable a
lot of things like server-side merging with patches,
supporting large files, and supporting undo.
I have a lot of plans for xit, but in the short term I'm
focusing on my health. For reasons completely unrelated to
this project, my health declined a lot in the past year.
Lately I've been spending more time cooking my own food,
working out, and walking. I think this coming year is going
to be better for me than the last, and better for xit too.