<- HOME - a blog about
xit RSS
██╗ ██╗██╗████████╗██╗ ██████╗ ██████╗
╚██╗██╔╝██║╚══██╔══╝██║ ██╔═══██╗██╔════╝
╚███╔╝ ██║ ██║ ██║ ██║ ██║██║ ███╗
██╔██╗ ██║ ██║ ██║ ██║ ██║██║ ██║
██╔╝ ██╗██║ ██║ ███████╗╚██████╔╝╚██████╔╝
╚═╝ ╚═╝╚═╝ ╚═╝ ╚══════╝ ╚═════╝ ╚═════╝
DEVLOG - ZIG 0.15'S BREAKING CHANGES - September 16, 2025
In the last six months, my pace with the xit project slowed
down a lot, both for personal and technical reasons. I hit
some snags in my personal life that I'm still working
through. I'm sure some reading this can relate to the
experience where ordinary pains in life can sap your
once-limitless energy and excitement over a project. The
project didn't change; only your brain did.
On the technical side, zig 0.15 brought an avalanche of
breaking changes, most of which affected xit. Through sheer
force of will I got it all working in one huge
commit,
but it looks like 0.16 will be even more work for me once
it is released.
Currently xit is still using the old-style readers and
writers, including many custom ones, that were deprecated
as part of
writergate. In 0.16 it looks like they'll be
removed completely, so I will need to convert them to use
the new design everywhere.
Additionally, zlib compression was removed from 0.15's std
lib, and there is no indication that the removal is
temporary. As a stopgap measure, I was able to just copy
that code into the xit project. However, it relies on the
old-style writers so it won't work once 0.16 is out. So,
I'll need to rewrite it to use the new writer interface, or
find another implementation.
I don't want this to sound like complaining. The writergate
changes clearly make zig better, and arguably I "signed up
for this" by using an unstable language. That said, at my
reduced capacity, I wasn't prepared for this level of
breakage this late in the game. I'm hoping I'll get another
burst of motivation to support future versions of zig so my
2+ years of effort don't turn into bitrot.