• v2.4.0 db8eef776f

    v2.4.0 Stable

    github-actions[bot] released this 2026-07-22 01:54:09 -07:00 | 5 commits to main since this release

    Tachikoma v2.4.0

    Diff since v2.3.8

    Tachikoma v2.4.0

    New features

    • dir= working directory for PTYs. pty_spawn and TerminalWidget accept a dir= keyword that sets the spawned child's working directory. Both spawn backends fail loudly rather than silently running in the inherited cwd — the macOS forkpty path chdirs the child (exiting 127 on failure) and the Linux posix_spawn path uses the addchdir_np file action.
    • Host stream guard (set_stream_guard!). New hook letting an embedding host (e.g. KaimonGate) run the entire with_terminal lifecycle with the real process stdout/stderr instead of a capture wrapper. This fixes a raw-mode TUI wedging the host REPL's stdin on exit when an output-capture mux is active (Kaimon #67).

    Robustness

    • Portable openpty resolution. The C openpty symbol is now resolved at runtime across libc/libutil variants (glibc libutil.so.1, merged-libc glibc ≥2.34, and musl) instead of a single hardcoded library name, erroring loudly with the list of candidates tried if none resolve.

    Tests

    • Coverage for dir= (child cwd is set; a bad directory never falls back to the parent's cwd) and for the stream-guard plumbing.

    Closed issues:

    • TextInput renders CJK wide characters as blank or garbled (#41)
    Downloads