@@ -45,6 +45,44 @@ $ uvx --from 'libtmux' --prerelease allow python
4545_ Notes on the upcoming release will go here._
4646<!-- END PLACEHOLDER - ADD NEW CHANGELOG ENTRIES BELOW THIS LINE -->
4747
48+ ### What's new
49+
50+ #### Command results and optional timeouts (#758 )
51+
52+ {func}` ~libtmux.common.run_command ` executes tmux and returns a separate
53+ {class}` ~libtmux.common.CommandResult ` ; the existing
54+ {class}` ~libtmux.common.tmux_cmd ` facade remains compatible. Optional command
55+ and server timeouts bound calls, including listings, and raise
56+ {exc}` ~libtmux.exc.TmuxTimeout ` after cleanup when the deadline expires.
57+
58+ #### Explicitly owned temporary resources (#758 )
59+
60+ {meth}` ~libtmux.Server.owned ` creates a private server scope, and
61+ {meth}` ~libtmux.Server.owned_session ` creates a temporary session on an existing
62+ server. Cleanup affects the created resource and reports failures; legacy
63+ handle contexts retain their destructive behavior. See
64+ {doc}` topics/context_managers ` for ownership and cleanup rules.
65+
66+ #### Decoded captured fields (#758 )
67+
68+ Panes and windows expose captured dimensions and activity as numeric and
69+ boolean properties. Panes also expose {attr}` ~libtmux.Pane.is_dead ` , and
70+ sessions expose {attr}` ~libtmux.Session.attached_count ` . These reads are local;
71+ raw fields and established aliases remain available.
72+
73+ #### Public local queries (#758 )
74+
75+ {class}` ~libtmux.QueryList ` is available from the package root. Required
76+ lookups and caller-supplied defaults retain their distinct result types while
77+ filtering the existing collection locally.
78+
79+ ### Fixes
80+
81+ #### Listings preserve paths containing newlines (#758 )
82+
83+ Session, window and pane listings remain usable when a pane's directory
84+ contains a newline. The captured path retains its original value.
85+
4886### Documentation
4987
5088#### Cleaner ` from_env ` examples (#719 )
0 commit comments