Zig v0.17.0リリース
原題: Zig v0.17.0
なぜ重要か
システムプログラミング言語市場でZigはRustと並ぶ注目株であり、インクリメンタルコンパイルの実用化は開発者体験の向上として採用拡大に直結する。
Zig Software Foundationは2025年、汎用プログラミング言語「Zig」のバージョン0.17.0を公開した。206名のコントリビューターによる925コミットを含む5ヶ月分の開発成果が盛り込まれており、ビルドシステムの刷新、Build Server Protocolの導入、x86_64-Linux向けインクリメンタルコンパイルの実用化が主要な変更点として挙げられる。
Zig v0.17.0は当初より短いリリースサイクルを想定していたが、最終的に大規模な変更を含むリリースとなった。最大の目玉はビルドシステムの全面的な見直しで、「Build Server Protocol」が新たに導入された。また、ELFリンカーの強化により、x86_64-Linux環境ではインクリメンタルコンパイルがすべてのユーザーに対して機能することが期待されるとしている。
言語仕様面では複数の破壊的変更が行われた。`@bitCast`の仕様変更、`@backingInt`および`@fromBackingInt`の追加、配列乗算構文の廃止、`@divCeil`の追加、`@hasDecl`がパブリック宣言のみtrueを返すよう変更、`i0`型の廃止、`errdefer`キャプチャの削除などが含まれる。
標準ライブラリでは`StackFallbackAllocator`の再設計、`SafeAllocator`の新規導入、`ArrayList`のポインタ安定性保証、`fmt.allocPrint`の`mem.Allocator`への移動、`std.zon.parse`の刷新など広範な変更が加えられた。`lang.OptimizeMode`は`lang.Optimize`に改名されている。
ツールチェーンはLLVM 22、musl 1.2.5、glibc 2.44、Linux 7.2ヘッダー、macOS 27.0ヘッダーに更新された。プラットフォームサポートの面では、aarch64-openbsdのネイティブCI対応が追加され、aarch64-windows向けのLLVMバグも回避策が適用されている。また`zig fmt`に`--complexity`フラグが新設された。
パッケージ管理においては、グローバルフェッチとローカルフェッチの挙動が整理され、パッケージパスをオーバーライドする機能が追加されている。なお「resinator」(Windowsリソースコンパイル)は外部パッケージへ移管された。Zig Software Foundationは501(c)(3)非営利組織として開発資金を調達しており、1.0ロードマップへの継続的な支援を呼びかけている。