Skip to content

core: migrate to zig 0.16 - #1286

Merged
simonklee merged 4 commits into
mainfrom
ot-zig-16
Aug 7, 2026
Merged

core: migrate to zig 0.16#1286
simonklee merged 4 commits into
mainfrom
ot-zig-16

Conversation

@simonklee

@simonklee simonklee commented Jul 24, 2026

Copy link
Copy Markdown
Member

Mechanically migrate core to Zig 0.16 without changing behavior, ownership or api.

  • Pin Zig 0.16.0
  • Port the build graph to 0.16 module-level C/C++ APIs; replace @cImport with Translate-C for
    miniaudio and Yoga.
  • Add one process-lifetime std.Io.Threaded.init_single_threaded seam; keep existing std.Thread.spawn for renderer/audio (no Io.async / Evented yet)
  • Migrate locks, clocks, writers, allocators, and removed std APIs
  • Forward SSH/mosh markers in auto terminal env so remote sessions do not inherit host
    capabilities
  • Upgrade to Unicode 17 data from uucode

Out of scope: std.Io.Evented, renderer/FFI redesign, fixing pre-existing issues.

Surface Result
Production exports 347 unchanged
Linux dynamic export names Identical (1,760)
TS FFI struct layouts Byte-identical
Linux glibc floor Still GLIBC_2.17
Release targets / native paths Unchanged

@simonklee simonklee self-assigned this Jul 24, 2026
@simonklee simonklee changed the title zig: migrate native core to 0.16 core: migrate to zig 0.16 Jul 24, 2026
@simonklee
simonklee force-pushed the ot-zig-16 branch 2 times, most recently from 4df1ca1 to 6b8281c Compare August 4, 2026 21:10
@simonklee
simonklee marked this pull request as ready for review August 4, 2026 21:14
@simonklee
simonklee merged commit 5329177 into main Aug 7, 2026
29 checks passed
@simonklee
simonklee deleted the ot-zig-16 branch August 7, 2026 10:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant