Zig 0.17.0リリース

원제: Zig v0.17.0

왜 중요한가

시스템 프로그래밍 분야에서 C/C++ 대안으로 주목받는 Zig가 빌드 시스템과 링커를 대규모로 개선해 1.0 정식 릴리스에 한 걸음 더 다가섰다.

오픈소스 시스템 프로그래밍 언어 Zig의 버전 0.17.0이 공식 릴리스됐다. 206명의 기여자가 참여해 925개의 커밋으로 구성된 이번 릴리스는 약 5개월간의 개발 기간을 거쳤다. Build Server Protocol 도입, ELF 링커 강화, x86_64-linux에서의 Incremental Compilation 대응 등 광범위한 변경이 포함된다.

Zig Software Foundation은 시스템 프로그래밍 언어 Zig의 버전 0.17.0을 공개했다. 206명의 기여자, 925개의 커밋, 약 5개월의 개발 기간이 투입됐으며, 당초 예상보다 대규모 릴리스가 됐다.

가장 눈에 띄는 변화는 빌드 시스템 전면 재설계다. Build Server Protocol이 새로 도입되어 빌드 프로세스의 구성 단계(Configure)와 실행 단계(Make)가 분리됐다. 아울러 캐시 시스템도 재구성되었으며, Configure Cache Poisoning 개념이 추가됐다.

컴파일러 측면에서는 x86_64-linux 환경에서 Incremental Compilation이 전면 동작하도록 ELF 링커를 대폭 강화했다. SPIR-V 백엔드, aarch64 백엔드, loongarch 백엔드, WebAssembly 백엔드에도 개선이 이뤄졌다.

언어 사양에도 여러 변경이 포함됐다. `@bitCast` 동작이 변경되고, `@backingInt`와 `@fromBackingInt`가 새로 추가됐다. 반면 Array Multiplication 문법과 `void{}` 문법은 삭제됐다. `@hasDecl`은 공개 선언(public declaration)에 대해서만 `true`를 반환하도록 동작이 바뀌었다.

표준 라이브러리에서는 `StackFallbackAllocator` 재설계, `SafeAllocator` 신규 도입, `ArrayList` 포인터 안정성 강화 등이 진행됐다. 툴체인은 LLVM 22, musl 1.2.5, glibc 2.44로 업데이트됐다. 또한 aarch64-openbsd가 CI에서 네이티브 테스트 대상으로 추가됐다.

프로젝트는 Zig Software Foundation(501(c)(3) 비영리법인)이 운영하며, 1.0 로드맵을 향해 지속적으로 진행 중이다.

출처

ziglang.org — 원문 읽기 →