Repository navigation
zt 0.11.0 — Zig 0.17 support
This release migrates zt to Zig 0.17.0 on macOS and Linux. Terminal behavior,
configuration defaults, and the multiple-window support introduced in 0.10.1
are preserved.
What's changed
- Replace removed array repetition syntax with
@splat, including nested arrays
and sentinel-terminated environment arrays. - Migrate NUL-terminated allocation and formatting to sentinel APIs, preserving
C API, PTY environment, and executable-path handling. - Update optimization enum tags and apply Zig 0.17 formatting.
- Require Zig 0.17.0 for source builds; CI, release builds, and Docker images now
use the pinned compiler version. - Extend Linux CI to build the framebuffer backend, run X11 and Wayland tests,
and compile both font-conversion tools. - Update build metadata, app bundle versions, and terminal title prefixes to
0.11.0.
See the migration notes
for implementation details and local verification results.
Download and upgrade
For macOS 14 or later, download zt-aarch64-macos.zip for Apple Silicon or
zt-x86_64-macos.zip for Intel, extract it, and replace your existing
zt.app. Standalone .bin executables are also included.
Save your work and close instances of the old version before restarting zt.
Standard Mac builds use /bin/zsh and a 120 FPS limit.
Linux executables are included for X11 and Wayland on x86_64 and AArch64.
Framebuffer builds remain available from source.
Build from source
Requires Zig 0.17.0. Zig 0.16 is no longer supported by this version.
brew install zig
zig version # must report 0.17.0
zig build -Doptimize=ReleaseFast
sh tools/package-macos.sh
open zig-out/zt.appZig 0.17.0 is also available from ziglang.org.
Existing build flags such as -Doptimize=ReleaseFast remain valid.
Mac bundles are ad hoc signed and not notarized by Apple. Physical IME
candidate interaction and multiple-display behavior remain manual QA items; see
the macOS QA checklist.