Skip to content

3.2.2

Latest

Choose a tag to compare

@fukuyori fukuyori released this 01 Aug 06:10

[3.2.2] - 2026-08-01

Added

  • [keybindings] entries can be disabled with "none" (also
    "off" / "disabled"), letting the key pass through to the shell
    instead of falling back to the default shortcut.
  • OSC 8 hyperlinks: links emitted by applications in panes (ls --hyperlink, gcc/rustc diagnostics, delta, starship, …) are stored
    per cell — including the id= grouping parameter — and re-emitted
    to the host terminal, so they stay Ctrl+clickable in Windows
    Terminal / WezTerm. URIs are sanitized (control characters stripped,
    length-capped) so a malicious child cannot smuggle escape sequences
    into the render stream, erased cells never stay clickable, and
    SGR 0 correctly leaves links open (they are orthogonal to SGR).

[3.2.1] - 2026-08-01

Added

  • Extended underlines (SGR 4:x, 58, 59): curly / double / dotted /
    dashed underline styles and independent underline colors
    (58:5:n / 58:2::r:g:b, colon and legacy semicolon forms) are now
    parsed per cell and re-emitted to the host terminal. nvim's LSP
    diagnostics (curly underlines) and modern prompts render correctly in
    Windows Terminal / WezTerm.

Fixed

  • SGR colon subparameters are now parsed correctly. Previously :
    was treated like ;, so 4:3 (curly underline) was misread as
    "underline + italic" and 58:5:196 (underline color) accidentally
    enabled blink. The CSI parser now tracks subparameters separately,
    which also hardens it against other :-form sequences.

[3.2.0] - 2026-08-01

Added

  • win32-input-mode passthrough (DECSET 9001): wtmux now honors the
    win32-input-mode request every pane's conhost issues at startup and
    forwards the original Win32 key records (CSI Vk;Sc;Uc;Kd;Cs;Rc _)
    instead of lossy legacy VT bytes. Applications that read the console
    with ReadConsoleInputW now receive full modifier state — notably
    Shift+Enter / Ctrl+Enter / Alt+Enter, which legacy VT collapses to
    plain Enter — as well as key-release events. A pane's kitty keyboard
    flags take priority over win32-input-mode when both are active.
    Verified end-to-end through ConPTY by the
    conpty_win32_input_roundtrip_repro harness. (#2)
  • OSC 52 clipboard (write-only): applications in panes — nvim, or
    tmux/CLI tools inside ssh and WSL — can set the host clipboard with
    OSC 52 ; c ; <base64>. Read requests (?) are deliberately not
    answered so child programs cannot silently read the clipboard. (#2)
  • Focus reporting (DECSET 1004): panes that enable mode 1004
    receive CSI I / CSI O when the host terminal gains or loses focus
    and when wtmux's own pane focus moves between panes, like tmux's
    focus-events. (#2)

[3.1.0] - 2026-08-01

Added

  • Kitty keyboard protocol (panes): applications running inside a
    pane can now enable the kitty keyboard protocol's disambiguate
    escape codes
    (flag 1) and report event types (flag 2) progressive
    enhancements via CSI = u / CSI > u / CSI < u, and query support
    with CSI ? u. With flag 1 active, Esc, Ctrl/Alt-modified keys and
    modified Enter/Tab/Backspace are reported unambiguously as
    CSI code;mods u (e.g. Ctrl+I vs Tab, Shift+Enter vs Enter); with
    flag 2, key releases of escape-coded keys are reported as
    CSI code;mods:3 u. Flag stacks are tracked per screen (main /
    alternate), unsupported flag bits are masked so the query reply never
    over-advertises. Verified to survive the ConPTY hop in both
    directions (diagnostic harness: conpty_kitty_roundtrip_repro).
    This chiefly benefits VT-input applications in panes — neovim, and
    Linux TUIs (helix, fish 4, kakoune) inside WSL or ssh sessions.

  • Nested-session guard: launching wtmux inside a wtmux pane now
    exits with an error instead of starting a nested instance (which
    would fight over the prefix key and stack ConPTY inside ConPTY),
    mirroring tmux's $TMUX check. CLI subcommands (send-keys,
    list-keys, ...) still work inside panes. Unset the WTMUX
    environment variable to force nesting.

Fixed

  • Multi-pane mode now honors the focused pane's terminal modes when
    encoding key input (e.g. DECCKM application cursor keys); previously
    it always used default modes.