Published On Jul 19, 2024
In this video, I'll be going over the new Zig 0.13.0 Release Notes! There are many interesting things to talk about today: CVE mitigations, environment variable drama, an incredible-looking CLI progress indicator, and more!
Zig on GitHub: https://github.com/ziglang/zig
Become a Zig sponsor: https://ziglang.org/zsf/
Theme: https://catppuccin.com/palette
Join the ZIG CC Discord!
/ discord
Please consider supporting the channel!
• Patreon: / zigisgreat
• Ko-fi: https://ko-fi.com/zigisgreat
Chapters:
0:00 Intro
0:30 Platform Support
0:40 Standard Library
4:33 Build System
5:57 Compiler
6:40 Bugs
7:00 Toolchain
7:19 Roadmap
7:54 Project Info
References:
1. TuxCare BatBadBut article: https://tuxcare.com/blog/batbadbut-vu...
2. Rust Blog - CVE-2024-24576 security advisory: https://blog.rust-lang.org/2024/04/09...
3. PR for BatBadBut mitigation patch: https://github.com/ziglang/zig/pull/1...
4. Old CRC implementation:
1. Crc: https://github.com/ziglang/zig/blob/0...
2. Polynomial: https://github.com/ziglang/zig/blob/0...
3. Crc32WithPoly: https://github.com/ziglang/zig/blob/0...
4. Crc32SmallWithPoly: https://github.com/ziglang/zig/blob/0...
5. New CRC implementation:
1. Crc: https://github.com/ziglang/zig/blob/m...
2. Compile errors: https://github.com/ziglang/zig/blob/m...
6. Algorithm: https://github.com/ziglang/zig/blob/m...
7. StaticStringMap: https://github.com/ziglang/zig/blob/m...
1. initComptime: https://github.com/ziglang/zig/blob/m...
2. keys() and values(): https://github.com/ziglang/zig/blob/m...
3. init(): https://github.com/ziglang/zig/blob/m...
4. deinit(): https://github.com/ziglang/zig/blob/m...
5. getLongestPrefix(): https://github.com/ziglang/zig/blob/m...
6. getLongestPrefixIndex(): https://github.com/ziglang/zig/blob/m...
7. performance benchmarks: https://github.com/travisstaloch/comp...
8. PriorityQueue:
1. Old len field: https://github.com/ziglang/zig/blob/0...
2. New cap field: https://github.com/ziglang/zig/blob/m...
3. ArrayList: https://github.com/ziglang/zig/blob/m...
4. New allocatedSlice() function: https://github.com/ziglang/zig/blob/m...
9. std.process.child:
1. createNullDelimitedEnvMap(): https://github.com/ziglang/zig/blob/f...
2. createWindowsEnvBlock(): https://github.com/ziglang/zig/blob/f...
10. CLI progress:
1. Simple example: https://asciinema.org/a/gDna9RnicwYjD...
2. Music player example: https://asciinema.org/a/661404
3. Andrew Kelley blog post: https://andrewkelley.me/post/zig-new-...
11. iovec:
1. before: https://github.com/ziglang/zig/blob/0...
2. after: https://github.com/ziglang/zig/blob/m...
12. std.zip: https://github.com/ziglang/zig/blob/m...
13. Step.Run global lock:
1. Comment referencing the lock: https://github.com/ziglang/zig/blob/m...
2. New global lock functions: https://github.com/ziglang/zig/blame/...
3. Usage in Step.Run: https://github.com/ziglang/zig/blob/m...
14. Step.ObjCopy API change:
1. Old interface: https://github.com/ziglang/zig/blob/0...
2. New interface: https://github.com/ziglang/zig/blob/m...
15. Windows DLLs:
1. Related PR: https://github.com/ziglang/zig/pull/1...
2. New behavior example: https://ziglang.org/download/0.13.0/r...
3. CMake artifact kinds: https://cmake.org/cmake/help/latest/c...
16. CLI color environment variables:
1. Bixense: https://bixense.com/clicolors/
2. BSD (2000) - ls: https://man.freebsd.org/cgi/man.cgi?q...
17. loongaarch64 fails to build Hello World: https://github.com/llvm/llvm-project/...
18. Bug reports closed: https://github.com/ziglang/zig/issues...