- Published on
2026년 4월 14일 발표된 Zig 0.16.0은 표준 라이브러리의 모든 입출력이 Io 인스턴스를 인자로 받도록 바꿨습니다. Allocator를 인자로 넘기던 Zig의 오래된 습관을 I/O에 그대로 적용한 것으로, 같은 소스 코드가 스레드 기반 구현 위에서도 이벤트 루프 위에서도 돌아가게 하려는 설계입니다. 하지만 릴리스 노트를 실제로 읽어 보면 완성된 구현체는 Io.Threaded 하나뿐이고, io_uring 백엔드는 네트워킹과 에러 처리와 테스트 커버리지가 빠진 개념 증명 상태이며, aarch64 백엔드는 이 변경의 여파로 아예 진행이 멈춰 있습니다. 증분 컴파일은 크게 좋아졌지만 오컴파일 버그 때문에 여전히 기본값이 꺼져 있고, 새 ELF 링커는 재링크를 66% 줄이는 대신 DWARF 정보를 만들지 않습니다. 이 글은 공식 릴리스 노트에 적힌 숫자와 단서를 그대로 따라가며, 이 설계가 무엇을 약속하고 무엇을 약속하지 않는지, 그리고 "함수 색깔 문제를 풀었다"는 흔한 요약이 왜 릴리스 노트에는 한 번도 등장하지 않는지를 정리합니다.