@@ -33,11 +33,96 @@ $ pipx install \
3333
3434## tmuxp 1.68.0 (Yet to be released)
3535
36- <!-- To maintainers and contributors: Please add notes for the forthcoming version below -->
36+ ### New commands
3737
38- <!-- KEEP THIS PLACEHOLDER - DO NOT REMOVE OR MODIFY THIS LINE -->
39- _ Notes on the upcoming release will go here._
40- <!-- END PLACEHOLDER - ADD NEW CHANGELOG ENTRIES BELOW THIS LINE -->
38+ #### ` tmuxp stop ` β kill a tmux session
39+ Stop (kill) a running tmux session by name. Runs the ` on_project_stop `
40+ lifecycle hook before killing the session, giving your project a chance
41+ to clean up.
42+
43+ ``` console
44+ $ tmuxp stop mysession
45+ ```
46+
47+ #### ` tmuxp new ` β create a workspace config
48+ Create a new workspace configuration file from a minimal template and
49+ open it in ` $EDITOR ` .
50+
51+ ``` console
52+ $ tmuxp new myproject
53+ ```
54+
55+ #### ` tmuxp copy ` β copy a workspace config
56+ Copy an existing workspace config to a new name. Source is resolved
57+ using the same logic as ` tmuxp load ` .
58+
59+ ``` console
60+ $ tmuxp copy myproject myproject-backup
61+ ```
62+
63+ #### ` tmuxp delete ` β delete workspace configs
64+ Delete one or more workspace config files. Prompts for confirmation
65+ unless ` -y ` is passed.
66+
67+ ``` console
68+ $ tmuxp delete old-project
69+ ```
70+
71+ ### Lifecycle hooks
72+ Workspace configs now support four lifecycle hooks, matching tmuxinator's
73+ hook system:
74+
75+ - ` on_project_start ` β runs before session build (every invocation)
76+ - ` on_project_restart ` β runs when reattaching to an existing session
77+ - ` on_project_exit ` β runs on client detach (via tmux ` client-detached ` hook)
78+ - ` on_project_stop ` β runs before ` tmuxp stop ` kills the session
79+
80+ ### Config templating
81+ Workspace configs now support Jinja2-style ` {{ variable }} ` placeholders.
82+ Pass values via ` --set KEY=VALUE ` on the command line:
83+
84+ ``` console
85+ $ tmuxp load --set project=myapp mytemplate.yaml
86+ ```
87+
88+ ### New config keys
89+ - ** ` enable_pane_titles ` ** / ** ` pane_title_position ` ** / ** ` pane_title_format ` ** β
90+ session-level keys that enable tmux pane border titles.
91+ - ** ` title ` ** β pane-level key to set individual pane titles via
92+ ` select-pane -T ` .
93+ - ** ` synchronize ` ** β window-level shorthand (` before ` / ` after ` / ` true ` )
94+ that sets ` synchronize-panes ` without needing ` options_after ` .
95+ - ** ` shell_command_after ` ** β window-level key; commands sent to every pane
96+ after the window is fully built.
97+ - ** ` clear ` ** β window-level boolean; sends ` clear ` to every pane after
98+ commands complete.
99+
100+ ### New ` tmuxp load ` flags
101+ - ` --here ` β reuse the current tmux window instead of creating a new session.
102+ - ` --no-shell-command-before ` β skip all ` shell_command_before ` entries.
103+ - ` --debug ` β show tmux commands as they execute (disables progress spinner).
104+ - ` --set KEY=VALUE ` β pass template variables for config templating.
105+
106+ ### Importer improvements
107+ #### tmuxinator
108+
109+ - Map ` pre ` β ` on_project_start ` , ` pre_window ` β ` shell_command_before ` .
110+ - Parse ` cli_args ` (` -f ` , ` -S ` , ` -L ` ) into tmuxp equivalents.
111+ - Convert ` synchronize ` window key.
112+ - Convert ` startup_window ` / ` startup_pane ` β ` focus: true ` .
113+ - Convert named panes (hash-key syntax) β ` title ` on the pane.
114+
115+ #### teamocil
116+
117+ - Support v1.x format (` windows ` at top level, ` commands ` key in panes).
118+ - Convert ` focus: true ` on windows and panes.
119+ - Pass through window ` options ` .
120+
121+ ### Bug fixes
122+
123+ - Only fire ` on_project_start ` hook when load actually proceeds (not on
124+ cancellation).
125+ - Only fire ` on_project_restart ` after the user confirms reattach.
41126
42127## tmuxp 1.67.0 (2026-03-08)
43128
0 commit comments