## ziglang/zig — 0.14.1…0.15.0

_1608+ commits._

### Features
- **langref: add documentation for unions with inferred tag and explicit tag values** (cf90a5e)
- **Add test for passing extern function to function** (52178d1)
- **std.math: Add splat for vectors of u0s in rotl/rotr (#24822)** (f758b97)
- **zon: Add anonymous struct literal in the example** (39aca6f)
- **zig fmt: add tests for cast builtin canonicalization** (2761cc8)
- **std.Io.Writer: introduce rebase to the vtable** (af7e142)
- **netbsd: add some missing system headers** (234630b)
- **llvm: support small error limits** (38ba425)
- **add undef shift tests ; mirror `zirShl` logic for `@shlWithOverflow`** (f0ffe30)
- **make `>>` a compile error with any undef arg ; add a bunch of test cases** (0ef26d1)
- **std: introduce orderedRemoveMany** (59de7e3)
- **Dwarf: port to new Writer API** (60f8584)
- **linker: delete plan9 support** (0b3c3c0)
- **std.http.bodyReader: add missing flush in endUnflushed** (6244f5c)
- **std.http: remove custom method support** (163a827)
- **std.http.Server: add safety for invalidated Head strings** (618a435)

### Fixes
- **Compilation: fix compiler_rt and ubsan_rt strategy logic** (c1483eb)
- **Merge pull request #24864 from ifreund/fix-std-cmd** (623290e)
- **Build.Step.Run: fix missing stdin buffer and flush** (551e009)
- **[std] fix compile error in std.Io.Writer.failing** (4fcdb08)
- **fix: print error set members in a consistent order** (e9eee8d)
- **std.fs.File.Reader: fix freestanding build failures** (e395c24)
- **zstd.Decompress.stream: Fix handling of skippable frames in new_frame state** (08f0780)
- **build runner: fix single-threaded build** (e304a47)
- **http: fix handling of limit in chunkedSendFile** (4f639ff)
- **std.fs.File.Reader: fix seekBy** (5e986fe)
- **Merge pull request #24734 from Rexicon226/tsan-fix** (662303d)
- **freebsd: fix PIC macro not being defined for crt1_s.S** (e089d21)
- **fix: remove incorrect '&'** (8fda49e)
- **fix: emit vector instead of scalar u1_zero in shl_with_overflow logic** (277e4a8)
- **add remaining undef value tests ; fix `@truncate` undef retval type** (4ec4213)
- **fix(fmt): return correct exit code for `zig fmt --stdin --check`** (d1917b5)
- **elf: fix potential overflow in got emission** (20486c4)
- **Fix `respondWebSocket`, enable --webui on Windows** (125c4a2)
- **Fetch.git: fix FetchStream packet reading** (14f1137)
- **zig std: fix build failures** (045bb14)
- **Sema: fix unreasonable progress node numbers** (5f7a0bb)
- **std.compress.flate.Decompress: fix buffer size in test** (91a81d3)
- **Io.Writer fix dangling pointer** (6219c01)
- **Fix: std.elf offset computation** (3ee4252)
- **Io.Reader fix defaultReadVec** (3ea015d)
- **Fetch: fix FetchStream logic** (8da645c)
- **std.http.Client: fix fetching by adding a buffer** (5ce8e93)
- **Fix some libc version checks for Bionic** (2cf15be)
- **std.fs.File.Reader: fix readVec fill** (172d31b)

### Backend
- **Release 0.15.0** (94cda37)
- **std.http.Client: discard response body when reusing connection** (89c9282)
- **Expanded std.os.linux perf-related definitions (#24264)** (b734d03)
- **Merge pull request #24249 from antlilja/dwarf-extern-arg** (001ec07)
- **spirv: do not decorate nav alignment** (2f42237)
- **http.BodyWriter: improve clarity of chunked state machine** (c315f2b)
- **Merge pull request #24874 from ziglang/tls-client** (399bace)
- **Compilation: remove last instance of deprecatedReader** (ef14c73)
- **Compilation: retain ZCU object when emitting unstripped Mach-O binary** (0096c08)
- **http.BodyWriter: handle EOF in chunkedSendFile, simplify** (0cfd07b)
- **std-docs: improve error message on write failure** (ce4e8a9)
- **implement registering NAPI on IoUring (#24850)** (99c4890)
- **std: more reliable HTTP and TLS networking** (a0f9a5e)
- **Fetch: bump zstd decompression buffer** (07b753f)
- **zstd: Protect against index out-of-bounds when decoding sequences** (9854771)
- **re-enable std.math.modf vector tests (#24786)** (ee85c8b)
- **Dwarf: implement comptime-known extern values** (375bc2d)
- **what if we kissed by the extern source bit** (8ef82e8)
- **std.Build: improve error for peak RSS exceeding declared value** (d835a6b)
- **disable failing test on windows** (2201f74)
- **Zcu: don't tell linkers about exports if there are compile errors** (8adabaa)
- **zig translate-c: don't forget to flush** (ce2c939)
- **std.compress.zstd.Decompress fixes** (30b41dc)
- **Merge pull request #24856 from jacobly0/aarch64-oom** (6d7c6a0)
- **crypto/aes_ocb.zig: actually check against test vectors (#24835)** (c1eff72)
- **aarch64: more assembler instructions** (56d6239)
- **Merge pull request #24702 from The-King-of-Toasters/syscall-tables** (47e6528)
- **Merge pull request #24847 from squeek502/zstd-partial-magic** (e252e6c)
- **zstd.Decompress: Delete unused/impossible "end" state** (353cf1f)
- **zstd.Decompress: Treat a partial magic number as a failure** (60b0b21)
- **Merge pull request #24845 from alexrp/netbsd-fixes** (be51d69)
- **Validate wildcard TLS certificates correctly (#24829)** (96e4825)
- **std.fs.File.Writer.sendFile: handle sendfile errors** (6bcdcf8)
- **tsan: remove usage of libnvmm and libncurses headers on netbsd** (007cc81)
- **Linux: Use time64 syscalls when available** (6080f2d)
- **Linux: Update syscall list for 6.16** (6f60c8e)
- **Rewrite `generate_linux_syscalls` to be completely table based** (c5f10a3)
- **Merge pull request #24825 from alexrp/freebsd-fixes** (27d6614)
- **Merge pull request #24816 from mlugg/small-fixes** (b87b958)
- **Dwarf: handle noreturn union fields in more places** (3736aac)
- **Merge pull request #24674 from Justus2308/undef-shift-bitwise** (a495628)
- **sema: strip `@splat` operand result type before checking it** (8e02f9f)
- **Merge pull request #24381 from Justus2308/switch-better-underscore** (6e90ce2)
- **llvm: unions which are equivalent to enums are not by-ref** (ba6abd7)
- **std.io.Writer.Allocating: rename getWritten() to written()** (b8124d9)
- **std.crypto.aegis: Absorb ad instead of encrypting it.** (7abd628)
- **std.Target: bump default android API level from 24 to 29** (113d3dd)
- **freebsd: correctly define __FreeBSD_version to the first stable release** (b7602a1)
- **tsan: remove usage of libcrypt and libncurses headers** (e37fc57)
- **optimize `@intCast` in llvm backend (#24739)** (dd4e25c)
- **Sema: replace all remaining aggregate interns related to `@typeInfo`** (8f5ec2a)
- **remove redundant test cases** (79756e6)
- **replace most aggregate interns in x86_64/CodeGen** (76d2782)
- **replace even more aggregate interns** (79e5c13)
- **Sema: replace most aggregate interns with pt.aggregateValue** (7756fa6)
- **address most comments** (05762ca)
- **Sema: Improve comptime arithmetic undef handling** (d0586da)
- **std.ArrayList: make unmanaged the default** (749f10a)
- **aarch64: implement more assembler instructions** (d625158)
- **std.fs.File: prefer getSize over getEndPos** (282c357)
- **cbe: emit `nonstring` attribute** (38dfa65)
- **Writer: Delete writePreserve/writeAllPreserve** (3280fc9)
- **tsan: remove interceptors for termio** (c421877)
- **std.fs.File.Reader.getSize: check file kind on stat** (b9a6dae)
- **std.net.Stream.Reader: init size_err** (e667884)
- **Merge pull request #24774 from kcbanner/fixup_webui_windows** (e25168d)
- **Merge pull request #24768 from alichraghi/spv5** (6bb6013)
- **zig fmt: flush stdout before exiting with error** (2983285)
- **std.c: Remove serenity's internet_checksum() function** (6a1d61d)
- **Merge pull request #24743 from ziglang/BufferedWriter** (0a1a738)
- **net: Always set WSA_FLAG_OVERLAPPED when creating Windows sockets. Rework send and receive logic to use overlapped I/O.** (95f57c3)
- **spirv: remove prune_unused ISel** (bed99e1)
- **std.Io.Writer.Allocating: configurable bump amount** (df46ee6)
- **std.Io: remove BufferedWriter** (8c9dfcb)
- **Fetch.git: replace a toss with discardAll** (2a8751e)
- **compiler: improve error reporting** (1440519)
- **std.Io.Writer.Allocating.sendFile: use logicalPos** (3d25a9c)
- **Merge pull request #24740 from ziglang/http-plus-fixes** (1ba6838)
- **Merge pull request #24742 from ziglang/CountingWriter** (d2f7792)
- **flate: Handle invalid block type** (23fff34)
- **Revert "ci: run riscv64-linux jobs if ci-riscv64-linux label is applied"** (ac3229a)
- **link.Dwarf: minimal changes to remove CountingWriter** (9a538e0)
- **Revert "random patches from another branch"** (281f657)
- **random patches from another branch** (c5a5983)
- **std.Io: delete CountingWriter** (94dd28b)
- **std.os.windows: map RtlGenRandom() failure to error.SystemResources** (0d0f09f)
- **Merge pull request #24661 from alichraghi/spv4** (3fb8684)
- **std.crypto.tls.Client: always write to buffer** (8721efe)
- **Fetch: make FetchStream live longer** (d7bf608)
- **Fetch: handle compressed git+http** (af2ac24)
- **Merge pull request #24698 from ziglang/http** (5998a8c)
- **std/zip.zig: perform backslash-to-forward-slash before isBadFilename()** (242102f)
- **flate change bit reader Bits to usize (#24719)** (6de2310)
- **TLS, HTTP, and package fetching fixes** (46b3494)
- **fetch: avoid copying Resource** (4567241)
- **std.http: address review comments** (6b411f1)
- **resinator: a few more updates/fixes** (858716a)

### Tests
- **test: enable tsan test for x86_64-netbsd** (6317417)
- **test: add a standalone test for compiling tsan** (826b338)
- **test: skip tests that were not meant to pass for spirv** (64563e2)

### Docs
- **docs(zon/stringify.zig): Added missing non-serializable type** (6eeceb4)

### Chore
- **ci: trigger ci-pr-riscv64-linux workflow on unlabeled events** (d984e7d)
- **ci: fix concurrency group for ci-pr-riscv64-linux workflow** (63b663a)
- **ci: run riscv64-linux jobs if ci-riscv64-linux label is applied** (87f2dad)
- **ci: run riscv64-linux jobs if ci-riscv64-linux label is applied** (8101104)

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