## ziglang/zig — 0.12.1…0.13.0

_414+ commits._

### Features
- **Build system: Support Windows depfiles with unquoted, backslash escaped spaces (#20100)** (a9e9c99)
- **Add support for []enum in Build.option** (a4e0107)
- **glibc: add min version annotation for riscv32 and loongarch64** (1118ea2)
- **glibc: add riscv32 and loongarch64** (c09f5f3)
- **musl: add missing entry to available_libcs** (16d6535)
- **LLVM backend: loongarch64 support** (ac3faa6)
- **crypto.edwards25519: add the ability to check for group membership (#20175)** (332fbb4)
- **Add `File.getOrEnableAnsiEscapeSupport` and use it** (337f09e)
- **std.meta.hasUniqueRepresentation: better support packed structs** (db75a87)
- **lib/std/fs/File: enable VT seq support for Windows Console** (17dc939)
- **Sema: add missing error for runtime `@ptrFromInt` to comptime-only type** (17a0458)
- **Progress: Emit \r\n on Windows, include new line bytes in line_upper_bound_len** (2cf8e73)
- **Support Vectors in std.math.clamp** (64ef45e)
- **std.Progress: better Windows support** (3a3d218)
- **std.Build.Step.Run: account for new environment variable** (a5e4fe5)
- **resinator: update to new progress API** (0937992)
- **CLI: add missing call to root progress node end()** (c9587d3)
- **test runner: update to new std.Progress API** (795c579)
- **update the codebase for the new std.Progress API** (f97c2f2)
- **test/link/macho: add symbol stabs smoke test** (19f41d3)

### Fixes
- **glibc patch: get correct files compiled into libc_nonshared.a** (5293bdf)
- **glibc patch: remove some static asserts from fstatat** (fd8b50c)
- **glibc patch: don't check __LIBC macro** (82ec333)
- **glibc patch: add missing includes for inttypes.h** (090025c)
- **glibc patch: make fstatat.c and fstatat64.c compile** (eead70f)
- **glibc patch: inline x86-lp_size.h** (4c068c3)
- **glibc patch: add backwards compatibility for some symbols** (9e76385)
- **glibc patch: add backwards compatibility for strtol-family functions** (9f9fa2d)
- **glibc patch: add a few dn_* functions** (7c4bf07)
- **glibc patch: add backwards compatibility for some symbols** (5af1471)
- **glibc patch: version-gate _DYNAMIC_STACK_SIZE_SOURCE** (a4a88e4)
- **glibc patch: don't hardcode __GLIBC_MINOR__** (cbe9923)
- **Merge pull request #20000 from Frojdholm/fix-gpa-crash-when-deallocating-metadata** (3964b2a)
- **ld.lld: fix -m option for big-endian arm/aarch64** (9fe0c1d)
- **fs tests: Fix leaking a directory handle in "makepath existing directories" test** (016e87e)
- **Dir.makeOpenPathAccessMaskW: Fix leaking intermediate directory handles** (5490021)
- **std.Progress: fix line upper bound calculation** (85eb5a3)
- **math.hypot: fix incorrect over/underflow behavior (#19472)** (103b885)
- **std.Progress: Fix Windows console API implementation** (d750a78)
- **std.Build.step.Compile: Fix lib{c,cpp} mixup in dependsOnSystemLibrary()** (b5e99b5)
- **CLI: actually fix translate-c creating root progress node twice** (5bdfe22)
- **std.process.Child: fix spawning child proc with new cwd fd** (947a3a1)
- **std.Progress: fix race condition with setIpcFd** (aca7feb)
- **fix zig translate-c creating root progress node twice** (4438925)
- **frontend: fix use of undefined progress node** (d3b03ed)
- **std.process: fix compilation on 32-bit targets** (eb718ce)
- **Compilation: fix sub-compilations given wrong progress node** (e820173)
- **Progress: fix compile errors on windows** (d77f5e7)
- **Module: fix and improve progress reporting** (d403d8c)
- **std.Progress: fix race condition with IPC nodes** (ca03c9c)
- **std.Progress: fix using saved IPC data** (f6873c6)
- **std.process.Child: fix ZIG_PROGRESS env var handling** (c01cfde)
- **fix clearing and sibling iteration** (67e08e7)
- **fix terminal repainting** (66c3b6a)
- **EnumMap: fix init** (b9b7f18)
- **Compilation: fix regressed assembly diagnostics** (6e5e7e7)
- **Merge pull request #20062 from ziglang/macho-perf-bug** (0b0625c)
- **link/macho: fix 32bit build** (42c0585)

### Backend
- **Release 0.13.0** (cf90dfd)
- **disable failing IoUring test** (6375491)
- **Merge pull request #20207 from ziglang/glibc-2.39** (4d49935)
- **glibc: restore "weak_hidden_alias" macro for older glibc versions** (d8fffee)
- **update glibc start files to 2.39** (ad34de3)
- **glibc: update abilists file** (5313705)
- **glibc: use __GLIBC_USE_DEPRECATED_SCANF for glibc versions < 2.7** (4c2e57d)
- **glibc: move __GLIBC__ version defines to the top of the file** (a8db261)
- **glibc: strlcpy and strlcat arrived in glibc 2.38** (95a9053)
- **glibc headers: reallocarray added to glibc in v2.26** (8a82496)
- **update glibc headers to 2.39** (8a4f583)
- **objcopy build step: don't accept multiple sections** (aef66ee)
- **generate loongarch64 Linux syscalls** (8715046)
- **seriously people, don't put "zig-" in your package names** (95f0dce)
- **File.getOrEnableAnsiEscapeSupport: Do not attempt to set DISABLE_NEWLINE_AUTO_RETURN** (b32aa99)
- **translate-c: promote macros that reference var decls to inline functions** (9bbfb09)
- **Merge pull request #20120 from vahur/move-consts-to-rdata** (8f27fdb)
- **Merge pull request #20192 from squeek502/fs-handle-leaks** (8c04ffb)
- **Merge pull request #20194 from ziglang/musl-v1.2.5** (3b77f23)
- **update musl libc.S to v1.2.5** (46b2f67)
- **update musl source files to v1.2.5** (0098e65)
- **update musl headers to v1.2.5** (85a46ee)
- **sha3.keccak: allow Keccak[f=200] (#20181)** (993885c)
- **Merge pull request #20172 from squeek502/windows-vt-enable** (7fc3fb9)
- **Merge pull request #20084 from Vexu/missing-errors** (7f6ec51)
- **Replace YES_COLOR with CLICOLOR_FORCE** (d74180c)
- **zig run: finish progress node before executing child** (0c2cd83)
- **Sema: validate function signature for Signal calling convention** (15791b8)
- **remove std.Ini** (5e1ccd9)
- **pass `-fno-builtin` when testing `lib/c.zig`, `lib/compiler_rt.zig`** (c01d8c8)
- **llvm: disable constant anons on Darwin** (06d9f88)
- **std.Progress: keep the cursor at the beginning** (e09963d)
- **std.Build.Step.Run: global lock when child inherits stderr** (4918c2c)
- **std.Progress: IPC fixes** (c564a16)
- **not android check on std.debug.getContext** (30a35a8)
- **std/math: import "math/float.zig" only once** (e54fcdb)
- **mark anondecls as constants in llvm ir** (4af163a)
- **update .gitignore to account for .zig-cache rename** (b2588de)
- **Merge pull request #20115 from ziglang/zig-cache-rename** (2008d0f)
- **rename zig-cache to .zig-cache** (3b77f1e)
- **zig fmt: ignore hidden files and directories** (bdb3b38)
- **init: clarify .paths usage in build.zig.zon** (6b020c3)
- **std: Avoid overflowing in the midpoint calculation in upperBound** (3518d22)
- **Merge pull request #20059 from ziglang/progress** (963ffe9)
- **std.Progress: Use Windows console API calls when ANSI escape codes are not supported** (40afac4)
- **std.Progress: relax some of the atomic orderings** (65a0e14)
- **zig build: respect --color argument** (b7889f2)
- **translate-c tests: skip_foreign_checks=true** (bb1f4d2)
- **std.Progress: handle short writes** (2367a1f)
- **std.Progress: handle big-endian targets** (dcf9cae)
- **std.Progress: adjust the timings a little bit** (eea7e5e)
- **build runner: use "configure" for the progress name** (03073d6)
- **std.process.cleanExit: lock stderr before exiting** (45b505c)
- **std.Progress: elide root node if empty** (64c6a50)
- **std.Progress: count newlines more accurately** (dc3a192)
- **std.Progress: handle when terminal write buffer too small** (6145819)
- **std.Progress: keep cursor on newline** (52ffdec)
- **zig build: give a root progress name** (849693f)
- **std.Progress: use std.log.debug rather than warn** (0ca2b4e)
- **std.Progress: smaller type for parents and robustify** (ea7d8ec)
- **std.Progress: avoid scrolling the PS1 off the terminal** (11f8947)
- **std.Progress: truncate IPC data exceeding preallocated buffers** (52ed54d)
- **std.Progress: move more global preallocations to thread memory** (807b613)
- **std.Progress: move global preallocations to thread memory** (7fe72d5)
- **std.process.Child: comptime assert to protect prog_fileno** (e2e61f3)
- **std.Progress: correct the top level doc comments** (e8907f9)
- **std.process.Child: prevent racing children from inheriting progress pipes** (acdf988)
- **std.Build.Step.Run: don't create empty progress node** (9331da8)
- **std.Progress: skip printing root node when it is empty** (516366f)
- **zig build: lock stderr while executing the build runner** (2759173)
- **compiler: show decl name in progress node** (352dc2c)
- **std.Progress: fixes** (70e39c1)
- **main: avoid creating multiple std.Progress instances** (2233d95)
- **Compilation: only create progress nodes for work actually being done** (b27fdf9)
- **std.debug.Trace: follow the struct default field guidance** (1cf1cb6)
- **std.Build.Step: don't create an empty progress node** (a486392)
- **std.Progress: save a copy of IPC data** (3a768bd)
- **std.Progress: include subtrees from child processes** (df46f5a)
- **std.Progress: child process sends updates via IPC** (f071164)
- **std.Progress: truncate trailing newline** (ed36470)
- **keep the cursor at the end instead of beginning** (582acdf)
- **rework std.Progress again** (a3c9511)
- **progress progress** (e1e4de2)
- **start reworking std.Progress** (d6e8ba3)
- **test cases: try running foreign binaries** (759c221)
- **hash_map.zig: Pass `self` by value and less pointer-int conversion** (c0da92f)
- **std.process.Child: prevent racing children from inheriting one another's pipes** (389181f)
- **Merge pull request #20049 from ziglang/std.process.Child** (591bbaf)
- **std.process.Child: Improve doc comments of Windows argv -> command line functions** (aa463ad)
- **std: restructure child process namespace** (f47824f)
- **Revert "cmake/llvm: Don't unset LLVM_CONFIG_EXE"** (793f820)
- **Step/CheckObject: handle stab entries when dumping MachO symtab** (8e52d54)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/ziglang/zig?utm_source=github-action)._