Zig moves all package management out of the compiler into the build system
Zig's June 30, 2026 devlog splits all package-management logic (zig build/fetch/init/libc, HTTP client, TLS, git, decompression) out of the compiler and into the build system's "maker" process. That makes this code patchable without rebuilding the compiler, runs networking in ReleaseSafe mode with safety checks, and lets crypto use host-specific CPU instructions. The compiler binary shrinks about 4%.
In its June 30, 2026 devlog, the Zig project announced it has moved all package-management functionality out of the compiler executable. The zig build, zig fetch, zig init and zig libc subcommands now run inside the build system's "maker" process — which already exists as a separate process for running users' build.zig scripts, making it the natural home for package-management logic.
Key points
- Large components now ship as source in the maker: package fetching, the HTTP client, TLS/crypto, git protocol support, compression libraries (xz, gzip, zstd, flate, zip) and build-config parsing/validation.
- Patchable without rebuilding the compiler: because this code is now source-based, users and contributors can modify and tinker with it far more easily.
- Safer networking: the maker compiles in
ReleaseSafemode, enabling safety checks during network operations. - CPU optimizations: the crypto used for networking and file hashing can now take advantage of host-specific CPU instructions — even rare ones that software normally can't depend on when distributed.
- The Zig executable shrinks ~4% (14.1 → 13.5 MiB in ReleaseSmall). The
--maker-optflag becomes theZIG_DEBUG_MAKERenv var, and--zig-lib-dirbecomesZIG_LIB_DIR.