Repository navigation
v1.29.1
tmux-cli: remote sessions are created only when you actually need one
A patch release focused on the remote tmux-cli controller.
Fixed
Remote status and preflight no longer create a tmux session (#213).
Previously, any remote command — including read-only ones like status —
would bring a managed tmux session into existence as a side effect. Querying
the state of a remote host now leaves that host untouched: the managed session
is created only when launch genuinely needs a window to put a program in.
Explicit full targets continue to work with no managed session at all.
Stale cached targets after a window is killed (#213). Reviewing the change
above surfaced a related bug: when a long-lived controller killed the window
that launch had just returned, the cached target survived the kill and later
commands could resolve to the wrong window — or to a recycled tmux ID that
tmux had since handed to something else entirely. Window aliases (returned
target, window index, and pane ID) are now resolved before the cache is
cleared, and a cached ID is accepted as a default target only when it is still
a member of the exact managed session and still carries the ready marker. A
session whose name merely shares a prefix with the managed one is no longer
mistaken for it.
Covered by new real-tmux regression tests exercising lazy status, launch,
send, explicit and implicit capture, cleanup, server restart on a private
socket, and each alias form after window removal.
Credits
Thanks to @noho (Leo Liu) for the original contribution in #212, whose
commits are carried over in #213 with author credit preserved.
Full changelog: v1.29.0...v1.29.1