diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7ebb1578b4..1c2faccd46 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -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 diff --git a/CHANGES b/CHANGES index 7a691b0cc9..7d577fa7c7 100644 --- a/CHANGES +++ b/CHANGES @@ -87,6 +87,18 @@ parsers, {meth}`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 diff --git a/tests/test_pane.py b/tests/test_pane.py index 416032ce62..9ac10bf302 100644 --- a/tests/test_pane.py +++ b/tests/test_pane.py @@ -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``). """ diff --git a/tests/test_window.py b/tests/test_window.py index 73e6f61089..bb9cf88f3b 100644 --- a/tests/test_window.py +++ b/tests/test_window.py @@ -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