Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
fail-fast: false
matrix:
python-version: ['3.14']
tmux-version: ['3.2a', '3.3a', '3.4', '3.5', '3.6', '3.7a', '3.7b', 'master']
tmux-version: ['3.2a', '3.3a', '3.4', '3.5', '3.6', '3.7a', '3.7c', 'master']
steps:
- uses: actions/checkout@v7

Expand Down
12 changes: 12 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,18 @@ parsers, {meth}`Server.is_alive() <libtmux.Server.is_alive>`, and the Sphinx
config carry scoped per-file ignores where catching everything is the intended
contract.

#### tmux 3.7c joins the tested versions (#746)

CI exercises tmux 3.7c. The point release needs no library change:
{func}`~libtmux.common.get_version` strips the point-release suffix, so the
existing `3.7` feature gates already accept it, and the tmux 3.7
{meth}`~libtmux.Pane.break_pane` workaround keys on the raw `"3.7"` string
through {func}`~libtmux.common.get_version_str`.

One tmux-side behavior change is worth knowing: on 3.7c, creating a floating
pane with {meth}`~libtmux.Pane.new_pane` in a zoomed window unzooms the
window, where tmux 3.7 through 3.7b left it zoomed.

## libtmux 0.62.0 (2026-07-12)

libtmux 0.62.0 teaches libtmux objects to locate themselves and to resolve
Expand Down
2 changes: 1 addition & 1 deletion tests/test_pane.py
Original file line number Diff line number Diff line change
Expand Up @@ -1350,7 +1350,7 @@ def test_break_pane_no_name_uses_natural_name(session: Session) -> None:
"""Pane.break_pane() without a name keeps tmux's default window name.

The tmux 3.7 break-pane crash workaround injects a placeholder ``-n``
when no ``window_name`` is given. On tmux 3.7a/3.7b, where the crash is
when no ``window_name`` is given. On tmux 3.7a onward, where the crash is
already fixed, that placeholder must not leak as the window name -- the
broken window should keep tmux's own auto-name (here ``sleep``).
"""
Expand Down
4 changes: 2 additions & 2 deletions tests/test_window.py
Original file line number Diff line number Diff line change
Expand Up @@ -289,8 +289,8 @@ def test_new_window_name_colon_period_accepted(
3.7a reverted the restriction (tmux commit 166267c8, "overly
pernickety"). libtmux's version helpers strip the letter suffix, so
:func:`~libtmux.common.get_version` cannot tell 3.7 from 3.7a -- both
report ``3.7`` -- so CI exercises 3.7a/3.7b rather than the superseded
3.7 release.
report ``3.7`` -- so CI exercises 3.7a and later point releases rather
than the superseded 3.7 release.
"""
window = session.new_window(window_name=window_name)
assert window.window_name == window_name
Expand Down
Loading