Zig 0.16.0 Yayınlandı
(ziglang.org)14 Nisan 2026'da duyuruldu. 244 katkıcı tarafından 8 ay boyunca biriken 1.183 commit ile hazırlanan bir sürüm.
Bir Arayüz Olarak I/O — Bu sürümün odağı
Bu sürümdeki en büyük değişiklik bu. Dosya sistemi, ağ iletişimi, zamanlayıcılar ve senkronizasyon gibi bloklamaya neden olabilecek neredeyse her şey yeni std.Io arayüzü altında toplandı. Bellek ayırırken Allocator gerekmesi gibi, artık I/O kullanan tüm kodların bir Io örneği alması gerekiyor. Bu sayede eşzamanlılık modelinden bağımsız olarak yeniden kullanılabilir paketler oluşturmak mümkün oluyor ve event loop da dil düzeyinde düzgün biçimde ele alınabiliyor.
Üç uygulama bulunuyor:
Io.Threaded— İş parçacığı tabanlı, tamamlanmış bir uygulama. Cancellation desteği de var ve 0.15.x'ten geçişte davranış aynı kalıyorIo.Evented— User-space stack switching (green thread) yaklaşımına sahip deneysel bir uygulamaIo.Uring— Linuxio_uringtabanlı bir PoC uygulaması
Derleyici
- LLVM backend'de de Incremental Compilation artık mümkün — Derleme hatası olduğunda LLVM Emit Object adımı atlandığı için hataları çok daha hızlı görmek mümkün
- Type Resolution baştan sona yenilendi — Dahili bağımlılık grafiği döngüsel yapıdan DAG'e dönüştürüldü. Yalnızca namespace olarak kullanılan tiplerde gereksiz analiz yapılmadığı için ikili dosya boyutu da küçülüyor. Bağımlılık döngüsü hata mesajları da sorunun nerede düğümlendiğini çok daha iyi gösteriyor
- aarch64 backend — Debug modunda varsayılan olarak kullanılmasını hedefleyen yoğun geliştirme sürüyor
- Yerleşik fuzzer daha da güçlendi — AST Smith tabanlı çok süreçli fuzzing, Infinite Mode ve crash dump özellikleri eklendi
Dil değişiklikleri (Breaking Changes)
Geçiş gerektiren değişiklikler şunlar:
@cImportbuild sistemine taşındı@Typebuiltin kaldırıldı — Yerine tipe özel ayrı builtin'ler geldi- Lazy Field Analysis eklendi — Yalnızca namespace olarak kullanılan tiplerde alan analizi yapılmıyor
- packed union/struct içine artık pointer konulamıyor
posixveos.windowsile ilgili birçok API kaldırıldı
Standart kütüphane
heap.ArenaAllocatorartık thread-safe ve lock-free;heap.ThreadSafeAllocator ise kaldırıldı- Deflate sıkıştırması eklendi ve açma API'si de sadeleştirildi
std.cryptoiçine AES-SIV, AES-GCM-SIV, Ascon-AEAD ve Ascon-Hash eklendiThread.Pool,GenericReader/AnyReader/FixedBufferStreamkaldırıldı- Windows ağ iletişimi artık
ws2_32.dllolmadan çalışıyor ve NtDll geçişi de tamamlandı
Toolchain güncellemeleri
LLVM 21, musl 1.2.5, glibc 2.43, Linux 6.19 header'ları, macOS 26.4 header'ları ve FreeBSD 15.0 libc sürümüne geçildi.
Bir sonraki sürümün (0.17.0) yönü
Başlıca hedefler async I/O'nun kararlı hale getirilmesi, aarch64 backend'in Debug modunda varsayılan yapılması, LLD bağımlılığının kaldırılması ve Incremental Compilation destekleyen bir linker'ın uygulanması.
2 yorum
Dün gece Zig Language Server da 0.16 sürümüyle yayımlandı.
Dil çıktıktan sonra dil sunucusunun ancak birkaç ay sonra geldiği durumlar sık olduğundan en güncel sürümü kullanmaya çekinirdim; ama bu kez gerçekten çok hızlı bir şekilde uyumlu sürüm çıkmış. Bu sayede bu yeni sürümü daha hızlı ve daha kolay kullanabilir hale geldik.
Ah, bağlantı...
https://github.com/zigtools/zls/releases