# Zig 0.16.0 릴리즈

> Clean Markdown view of GeekNews topic #28637. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=28637](https://news.hada.io/topic?id=28637)
- GeekNews Markdown: [https://news.hada.io/topic/28637.md](https://news.hada.io/topic/28637.md)
- Type: news
- Author: [bus710](https://news.hada.io/@bus710)
- Published: 2026-04-18T00:59:55+09:00
- Updated: 2026-04-18T00:59:55+09:00
- Original source: [ziglang.org](https://ziglang.org/news/0.16.0-released/)
- Points: 1
- Comments: 2

## Topic Body

### Zig 0.16.0 릴리즈  
  
2026년 4월 14일에 공개됐습니다. 244명의 기여자가 8개월 동안 1,183개의 커밋을 쌓아서 만든 릴리즈입니다.  
  
---  
  
#### I/O as an Interface — 이번 릴리즈의 핵심  
  
이번 릴리즈에서 가장 큰 변화입니다. 파일시스템, 네트워킹, 타이머, 동기화처럼 블로킹이 생길 수 있는 거의 모든 것을 새로운 `std.Io` 인터페이스로 묶었습니다. 메모리 할당할 때 `Allocator`가 필요한 것처럼, 이제 I/O를 쓰는 코드는 모두 `Io` 인스턴스를 받아야 합니다. 덕분에 동시성 모델에 상관없이 재사용 가능한 패키지를 만들 수 있고, 이벤트 루프도 언어 차원에서 제대로 다룰 수 있게 됐습니다.  
  
구현체는 세 가지가 있습니다:  
  
- **`Io.Threaded`** — 스레드 기반의 완성된 구현체입니다. Cancellation도 지원하고, 0.15.x에서 넘어올 때 동작이 그대로 유지됩니다  
- **`Io.Evented`** — 유저스페이스 스택 스위칭(그린 스레드) 방식의 실험적 구현체입니다  
- **`Io.Uring`** — Linux `io_uring` 기반의 PoC 구현체입니다  
  
---  
  
#### 컴파일러  
  
- **LLVM 백엔드에서도 Incremental Compilation이 됩니다** — 컴파일 에러가 있으면 LLVM Emit Object 단계를 건너뛰기 때문에 에러를 훨씬 빠르게 확인할 수 있습니다  
- **타입 해석(Type Resolution)을 싹 갈아엎었습니다** — 내부 의존성 그래프가 순환 구조에서 DAG로 바뀌었습니다. 네임스페이스로만 쓰이는 타입은 불필요한 분석을 안 하게 돼서 바이너리 크기도 줄어듭니다. 의존성 루프 에러 메시지도 어디서 꼬였는지 훨씬 잘 보여줍니다  
- **aarch64 백엔드** — Debug 모드 기본값으로 쓰는 걸 목표로 열심히 개발 중입니다  
- **내장 Fuzzer가 더 강해졌습니다** — AST Smith 기반 멀티프로세스 퍼징, 무한 모드(Infinite Mode), 크래시 덤프 기능이 추가됐습니다  
  
---  
  
#### 언어 변경 (Breaking Changes)  
  
마이그레이션이 필요한 변경사항들입니다:  
  
- **`@cImport`가 빌드 시스템으로 옮겨갔습니다**  
- **`@Type` 빌틴이 없어졌습니다** — 타입별 개별 빌틴으로 대체됐습니다  
- **Lazy Field Analysis가 생겼습니다** — 네임스페이스로만 쓰이는 타입은 필드 분석을 안 합니다  
- **packed union/struct 안에 포인터를 넣을 수 없게 됐습니다**  
- **`posix` 및 `os.windows` 관련 API가 많이 제거됐습니다**  
  
---  
  
#### 표준 라이브러리  
  
- **`heap.ArenaAllocator`** 가 스레드 안전 + 락 프리로 바뀌었고, **`heap.ThreadSafe` Allocator**는 제거됐습니다  
- **Deflate 압축이 추가**됐고, 압축 해제 API도 더 단순해졌습니다  
- **`std.crypto`** 에 AES-SIV, AES-GCM-SIV, Ascon-AEAD, Ascon-Hash가 추가됐습니다  
- **`Thread.Pool`**, **`GenericReader` / `AnyReader` / `FixedBufferStream`** 이 제거됐습니다  
- **Windows 네트워킹**이 `ws2_32.dll` 없이도 동작하고, NtDll 마이그레이션도 완료됐습니다  
  
---  
  
#### 툴체인 업데이트  
  
LLVM 21, musl 1.2.5, glibc 2.43, Linux 6.19 헤더, macOS 26.4 헤더, FreeBSD 15.0 libc로 올라갔습니다.  
  
---  
  
#### 다음 릴리즈 (0.17.0) 방향  
  
async I/O 안정화, aarch64 백엔드의 Debug 모드 기본값 전환, LLD 의존성 제거, Incremental Compilation을 지원하는 링커 구현이 주요 목표입니다.

## Comments



### Comment 55727

- Author: bus710
- Created: 2026-04-18T01:04:53+09:00
- Points: 1

간밤에 Zig Language Server도 0.16이 릴리즈 되었습니다.  
  
언어 나온 후 몇 달 후에야 랭섭이 나온 경우가 많아서 최신 버전 쓰기가 꺼려지곤 했는데, 이번엔 정말 빨리 맞춤 버전이 나왔네요. 덕분에 이 새 버전을 더 빠르고 쉽게 사용할 수 있게 되었습니다.

### Comment 55729

- Author: bus710
- Created: 2026-04-18T01:10:50+09:00
- Points: 1
- Parent comment: 55727
- Depth: 1

아차 링크...  
  
https://github.com/zigtools/zls/releases
