Skip to content

Commit ac94a3d

Browse files
committed
docs(CHANGES): Restructure parity release notes to house style
why: The unreleased entry removed the KEEP THIS PLACEHOLDER insertion anchor and skipped the lead paragraph and fixed subheadings that every published release uses, while the importer section leaked internal key-mapping mechanics into user-facing notes. what: - Restore the placeholder block; entries land below the END marker - Open with a release lead paragraph; group deliverables under What's new - Collapse importer key-mapping bullets into one prose deliverable - Cross-reference cli-stop, top-level, cli-import, and comparison docs - Drop tmux mechanism asides (select-pane -T, client-detached hook)
1 parent 5020585 commit ac94a3d

1 file changed

Lines changed: 61 additions & 62 deletions

File tree

CHANGES

Lines changed: 61 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -38,89 +38,88 @@ $ tmuxp@next load yoursession
3838

3939
## tmuxp 1.71.0 (Yet to be released)
4040

41-
### New commands
41+
<!-- To maintainers and contributors: Please add notes for the forthcoming version below -->
4242

43-
#### `tmuxp stop` — kill a tmux session (#1025)
44-
Stop (kill) a running tmux session by name. Runs the `on_project_stop`
45-
lifecycle hook before killing the session, giving your project a chance
46-
to clean up.
43+
<!-- KEEP THIS PLACEHOLDER - DO NOT REMOVE OR MODIFY THIS LINE -->
44+
_Notes on the upcoming release will go here._
45+
<!-- END PLACEHOLDER - ADD NEW CHANGELOG ENTRIES BELOW THIS LINE -->
46+
47+
tmuxp 1.71.0 brings tmuxp to feature parity with tmuxinator and
48+
teamocil. Sessions can be managed end to end from the CLI (`stop`,
49+
`new`, `copy`, `delete`), workspace configs gain lifecycle hooks,
50+
`{{ variable }}` templating, and pane titles, and `tmuxp load` learns
51+
`--here` and friends. Imports from tmuxinator and teamocil now convert
52+
much more of an existing config. See {doc}`comparison` for a
53+
side-by-side of all three tools.
54+
55+
### What's new
56+
57+
#### `tmuxp stop` — kill a session with cleanup (#1025)
58+
59+
Stop a running session by name. The `on_project_stop` lifecycle hook
60+
runs before the session is killed, giving your project a chance to
61+
clean up. See {ref}`cli-stop`.
4762

4863
```console
4964
$ tmuxp stop mysession
5065
```
5166

52-
#### `tmuxp new` — create a workspace config (#1025)
53-
Create a new workspace configuration file from a minimal template and
54-
open it in `$EDITOR`.
67+
#### `tmuxp new`, `tmuxp copy`, `tmuxp delete` — manage workspace configs (#1025)
68+
69+
Create a workspace config from a starter template and open it in
70+
`$EDITOR`, duplicate an existing config under a new name, or delete
71+
configs (with a confirmation prompt unless `-y` is passed).
5572

5673
```console
5774
$ tmuxp new myproject
5875
```
5976

60-
#### `tmuxp copy` — copy a workspace config (#1025)
61-
Copy an existing workspace config to a new name. Source is resolved
62-
using the same logic as `tmuxp load`.
63-
64-
```console
65-
$ tmuxp copy myproject myproject-backup
66-
```
77+
#### Lifecycle hooks (#1025)
6778

68-
#### `tmuxp delete` — delete workspace configs (#1025)
69-
Delete one or more workspace config files. Prompts for confirmation
70-
unless `-y` is passed.
79+
Workspace configs support four hooks, modeled on tmuxinator's:
7180

72-
```console
73-
$ tmuxp delete old-project
74-
```
81+
- `on_project_start` — before a new session is built
82+
- `on_project_restart` — after you confirm reattaching to an existing session
83+
- `on_project_exit` — when the last client detaches
84+
- `on_project_stop` — before `tmuxp stop` kills the session
7585

76-
### Lifecycle hooks (#1025)
77-
Workspace configs now support four lifecycle hooks inspired by tmuxinator:
86+
See {ref}`top-level` for examples.
7887

79-
- `on_project_start` — runs before session build (new session creation only)
80-
- `on_project_restart` — runs when reattaching to an existing session (confirmed attach only)
81-
- `on_project_exit` — runs when the last client detaches (via tmux `client-detached` hook)
82-
- `on_project_stop` — runs before `tmuxp stop` kills the session
88+
#### Config templating with `--set` (#1025)
8389

84-
### Config templating (#1025)
85-
Workspace configs now support simple `{{ variable }}` placeholders for variable substitution.
86-
Pass values via `--set KEY=VALUE` on the command line:
90+
Workspace configs may contain `{{ variable }}` placeholders, filled at
91+
load time:
8792

8893
```console
8994
$ tmuxp load --set project=myapp mytemplate.yaml
9095
```
9196

92-
### New config keys (#1025)
93-
- **`enable_pane_titles`** / **`pane_title_position`** / **`pane_title_format`** —
94-
session-level keys that enable tmux pane border titles.
95-
- **`title`** — pane-level key to set individual pane titles via
96-
`select-pane -T`.
97-
- **`synchronize`** — window-level shorthand (`before` / `after` / `true`)
98-
that sets `synchronize-panes` without needing `options_after`.
99-
- **`shell_command_after`** — window-level key; commands sent to every pane
100-
after the window is fully built.
101-
- **`clear`** — window-level boolean; sends `clear` to every pane after
102-
commands complete.
103-
104-
### New `tmuxp load` flags (#1025)
105-
- `--here` — reuse the current tmux window instead of creating a new session.
106-
- `--no-shell-command-before` — skip all `shell_command_before` entries.
107-
- `--debug` — show tmux commands as they execute (disables progress spinner).
108-
- `--set KEY=VALUE` — pass template variables for config templating.
109-
110-
### Importer improvements (#1025)
111-
#### tmuxinator
112-
113-
- Map `pre` → `on_project_start`, `pre_window` → `shell_command_before`.
114-
- Parse `cli_args` (`-f`, `-S`, `-L`) into tmuxp equivalents.
115-
- Convert `synchronize` window key.
116-
- Convert `startup_window` / `startup_pane` → `focus: true`.
117-
- Convert named panes (hash-key syntax) → `title` on the pane.
118-
119-
#### teamocil
120-
121-
- Support v1.x format (`windows` at top level, `commands` key in panes).
122-
- Convert `focus: true` on windows and panes.
123-
- Pass through window `options`.
97+
#### Pane titles (#1025)
98+
99+
Session-level `enable_pane_titles`, `pane_title_position`, and
100+
`pane_title_format` keys turn on tmux pane border titles; a pane-level
101+
`title` key names individual panes.
102+
103+
#### New window keys: `synchronize`, `shell_command_after`, `clear` (#1025)
104+
105+
`synchronize: before/after/true` mirrors keystrokes across a window's
106+
panes; `shell_command_after` runs commands in every pane after the
107+
window is built; `clear: true` clears each pane once its commands
108+
complete.
109+
110+
#### New `tmuxp load` flags (#1025)
111+
112+
- `--here` — build the workspace in your current tmux window instead of a new session
113+
- `--no-shell-command-before` — skip all `shell_command_before` entries
114+
- `--debug` — show each tmux command as it executes
115+
- `--set KEY=VALUE` — fill config template variables
116+
117+
#### Broader tmuxinator and teamocil imports (#1025)
118+
119+
`tmuxp import` now converts lifecycle hooks, named panes, startup
120+
window/pane focus, synchronized windows, and tmux CLI arguments from
121+
tmuxinator configs, and recognizes teamocil's v1.x format. See
122+
{ref}`cli-import` for the full key mappings.
124123

125124
## tmuxp 1.70.0 (2026-05-23)
126125

0 commit comments

Comments
 (0)