Zig continue à évoluer, en attendant une lointaine version 1.0
mer, 22/04/2026 - 23:14
Le langage Zig se veut un langage et une toolchain pour porduire du code optimisé et robuste. Son développement est assuré par une fondation, la Zig Software Foundation. L'objectif est de sortir une version 1.0. La version 0.16 est le résultat de 8 mois de développement et l'intégration de 1183 commits.

Cette version introduit de nombreux changements et évolutions. Par exemple, sur les architectures cibles, les aarch64-freebsd, aarch64-netbsd, loongarch64-linux, powerpc64le-linux, s390x-linux, x86_64-freebsd, x86_64-netbsd, and x86_64-openbsd sont testés nativement par l'intégration continue du langage. Une compilation cible maintenant aarch-maccatalyst et x86_64-maccatalyst. Le langage supporte une impressionnante liste hardware. Pour le moment, chaque architecture a un support variable classé par tier. En tout, 4 tiers, par exemple :
- tier 1 : les fonctions du langage non expérimentales sont supportés et fonctionnent correctement. Le compilateur génère le code machine cible
- tier 4 : le compilateur génère le code assembeur via LLVM
Le langage fonctionne sur DragonFly BSD, FreeBSD, Linux, NetBSD, OpenBSD, macOS et Windows.
Sur la partie langage, les changements et ajouts concernent l'ensemble des fonctionnalités :
- switch
- Equality Comparisons on Packed Unions
- @cImport Moving to Build System
- @Type Replaced with Individual Type-Creating Builtin Functions
- Allow Small Integer Types to Coerce to Floats
- Forbid Runtime Vector Indexes
- Vectors and Arrays No Longer Support In-Memory Coercion
- Forbid Trivial Local Address Returned from Functions
- Unary Float Builtins Forward Result Type
- @floor, @ceil, @round, @trunc Conversion to Integers
- Forbid Unused Bits in Packed Unions
- Forbid Pointers in Packed Structs and Unions
- Allow Explicit Backing Integers on Packed Unions
- Forbid Enum and Packed Types with Implicit Backing Types in Extern Contexts
- Lazy Field Analysis
- Pointers to Comptime-Only Types Are No Longer Comptime-Only
- Explicitly-Aligned Pointer Types Now Distinct from Naturally-Aligned Pointer Types
- Simplified Dependency Loop Rules
- Zero-bit Tuple Fields No Longer Implicitly comptime
Même chose sur la libraire standard. Attention : comme le langage est en développement, chaque version retire des éléments existants pouvant casser le code existant. Les autres changement concernent le linker, le compilateur, le système de build.
La note de version : https://ziglang.org/download/0.16.0/release-notes.html
Site du langage : https://ziglang.org/

