@@ -32,7 +32,35 @@ $ uvx --from 'libtmux' --prerelease allow python
3232
3333<!-- To maintainers and contributors: Please add notes for the forthcoming version below -->
3434
35- _ Future release notes will be placed here_
35+ ### Features
36+
37+ - Control-mode–first engine protocol (experimental): adds structured command results,
38+ notification parsing (layout changes, unlinked windows, client detach/session change,
39+ session rename, paste-buffer events), and stats while keeping existing
40+ ` Server/Session/Window/Pane.cmd ` return type (` tmux_cmd ` ) stable. (#605 )
41+ - Control mode engine's internal connection session is now automatically filtered from
42+ ` Server.sessions ` and ` Server.has_session() ` , making engine choice transparent to
43+ users. Advanced users can access all sessions via ` Server._sessions_all() ` . (#605 )
44+ - ` ControlModeEngine ` accepts optional ` internal_session_name ` and ` attach_to `
45+ parameters for advanced session management scenarios. (#605 )
46+ - ` Server.connect() ` : New convenience method for session management. Returns an
47+ existing session if found, otherwise creates a new detached session. Simplifies
48+ common session reuse patterns and works transparently with both subprocess and
49+ control-mode engines.
50+ - Control-mode diagnostics: bounded notification queue with drop counting,
51+ richer exceptions (` ControlModeTimeout ` , ` ControlModeProtocolError ` ,
52+ ` ControlModeConnectionError ` , ` SubprocessTimeout ` ), and documented retry/timeout
53+ behaviour. Control sandbox pytest fixture provides a hermetic control-mode server
54+ for integration tests.
55+
56+ ### Compatibility
57+
58+ - Control mode's internal session is now automatically filtered from user-facing APIs.
59+ Code that previously filtered ` libtmux_control_mode ` manually can be simplified.
60+ APIs remain unchanged for tmux command return objects; new metadata is attached for
61+ advanced users. (#605 )
62+ - Control-mode ` capture-pane ` trims trailing whitespace-only lines to align with
63+ subprocess behaviour; explicit range flags (` -S/-E ` ) remain exact.
3664
3765## libtmux 0.50.0 (2025-11-30)
3866
0 commit comments