Zig: All Package Management Functionality Moved from Compiler to Build System
Points and comments are a snapshot, not live.
Zig moves package management from compiler to build system, shrinking the compiler binary 4%.
Andrew Kelley moved package management subcommands (zig build, fetch, init, libc) from the compiler executable to the maker process in the build system. The zig compiler binary shrinks 4% (14.1 to 13.5 MiB, ReleaseSmall). Package fetching logic, HTTP client, TLS, Git protocol, compression codecs, and build.zig.zon handling now ship in source form and can be patched without rebuilding the compiler. The maker runs in ReleaseSafe mode with safety checks enabled. The process tree changed from `zig build -> builder (user build.zig + build system)` to `zig build -> maker (build system + package manager) -> configurer (user build.zig)`. This unblocks the build server protocol for ZLS.
What commenters are saying
Commenters praised the development approach. One called the project "wholesome" and noted it proves software craft is not dead or replaced by LLMs. Another argued that LLMs cannot produce a language like Zig because they lack opinions, intent, and feel for ergonomics. A sub-thread debated whether LLMs could accelerate language development; several commenters concluded current models cannot implement a non-trivial language spec without exhaustive human review and iterative refinement.
A separate thread discussed the long-term goal of moving the build system into a WebAssembly VM for sandboxing. One commenter argued native sandboxing is superior to whole-process sandboxing because fine-grained permissions and auditable capability requests are more effective than stuffing everything into a sandboxed environment.