tmux: Update to version 3.8

Message ID 20261015172349.3449498-18-adolf.belka@ipfire.org
State New
Headers
Series tmux: Update to version 3.8 |

Commit Message

Adolf Belka 15 Oct 2026, 5:23 p.m. UTC
- Update from version 3.7c to 3.8
- No change in rootfile
- Changelog
3.8
* Many improvements to floating panes:
  - new-pane and split-window can now set the title with -T and border lines
    with -B, and new-pane -W waits for the pane command to exit;
  - dragging with Ctrl now creates a new floating pane;
  - modal panes may be created with new-pane -O; a window can have one modal
    pane and it prevents interaction with the other panes while it is active.
    -C closes the pane when the mouse is clicked outside it and -K sends all
    keys, including the prefix key, to the pane. -D closes the modal pane with
    Escape or C-c. A modal pane is now used for the editor in buffer mode;
  - new-pane -A creates a floating pane which remains above a zoomed pane;
    modal panes do this by default;
  - move-pane and resize-pane can now move and resize floating panes, including
    mouse dragging;
  - split-window in a floating pane creates a new floating pane that does not
    overlap the active pane, if possible;
  - break-pane can float a tiled pane, join-pane can tile a floating pane, and
    swap-pane works with floating panes;
  - choose-tree -h and choose-client -h hide the pane containing the mode, and
    -k for choose commands kills the pane when the mode exits, which is useful
    for modes in floating panes;
  - command-prompt -P opens a prompt inside a pane rather than on the status
    line;
  - pane-border-status has top-floating and bottom-floating, and there are new
    default bindings under C-b g for common move and resize operations.
* Layout strings now use a JSON subset format which includes floating panes.
  The old format is still accepted; control mode clients receive old layouts
  unless they set the new-layouts flag.
* Add remain-on-exit failed-key to keep a pane open after a failed command
  until a key is pressed.
* Add support for themes and improve default colours:
  - tmux now has builtin light and dark colour themes for terminals with 256 or
    more colours; a new theme option controls whether tmux detects the terminal
    theme, uses terminal colours, or forces light or dark (set to terminal for
    the old colours);
  - styles can use new theme colour names such as themeblack, themewhite and
    themegreen, and colours in styles are expanded as formats;
  - the terminal's own theme is reported to panes instead of being guessed from
    the background, and inferred more accurately when theme reporting is not
    supported (Ayman Bagabas, issue 5343);
  - tree-mode-selection-style has been added, tree mode selection styling now
    covers the whole line, and built-in modes use improved theme colours.
* Improvements to customize mode:
  - hooks and environment variables are now shown;
  - e opens the selected value in an editor;
  - C toggles showing only changed items;
  - array item keys can now be changed.
* Hooks (and control mode notifications) are now handled internally by using
  events, each of which may carry keys and values as a payload. The control
  mode subscriptions mechanism has been extended to allow general-purpose
  "monitors" which check a format every second and trigger a hook when it
  changes or becomes true:
  - set-hook -B adds a monitor hook using the same subscription syntax as
    refresh-client -B, and show-hooks -B lists them. -T runs the hook only when
    the format is true;
  - wait-for -E waits for hooks, notifications or user events, and set-hook -E
    fires an event immediately;
  - hooks have additional keys available. wait-for -v can be used to see the
    keys sent with a hook event;
  - new hooks to cover areas including client create and destroy, pane
    activity, pane mode and prompt changes, pane movement and resizing, session
    group changes and window creation, close, swap and zoom;
  - OSC 133 escape sequences now trigger events: pane-command-started,
    pane-command-finished and pane-shell-prompt.
* Add switch-mode, a fast switcher bound by default to Tab for windows and BTab
  (S-Tab) for sessions.
* Pane scrollbars now support auto-hide. This replaces the previous modal
  behaviour where the pane was resized. With auto-hide, the scrollbar appears
  while scrolling or while hovered and disappears after pane-scrollbars-timeout
  (Michael Grant).
* Add a clear-on-attach server option. When disabled, tmux does not enter the
  alternate screen on attach and instead scrolls the existing terminal content
  into the scrollback buffer so it remains accessible (issue 5508).
* Copy mode can now automatically refresh as pane content changes with the
  refresh-on, refresh-off and refresh-toggle commands. Automatic refresh is off
  by default; refresh-now refreshes once and is bound to r. These replace
  refresh-from-pane (issue 5165).
* Extend the fill-character option so both inside and outside the window can be
  changed, with a new default for unused areas inside the window.
* Change show-options and show-hooks to use formats and add a -F flag to each.
* Allow individual terminal features to be disabled by adding @ to their names
  in terminal-features, and add a utf8 feature for terminals which support
  UTF-8 output.
* Add an appesc terminal feature for mintty's application escape key mode,
  avoiding unsupported sequences on other terminals (Pete Dietl, issue 5626).
* Preserve existing Ss and Se terminfo capabilities for cursor styles and
  restoring the default cursor (issue 5476).
* Enable left and right margins for WezTerm and Ghostty (Michael Grant).
* Add a #{A/count:frames} modifier to show a series of frames as an animation
  in the status line (issue 5412 from Fernando Daciuk).
* Change command templates so %% is escaped for single quotes while %1 remains
  unquoted, preventing single quotes in session or target names from
  terminating quoted command sections (reported by Aliz Hammond).
* display-panes is now a mode rather than an overlay, and can be run inside
  another pane. The -b flag has been removed.
* Add new-window -E, respawn-pane -E and respawn-window -E as more convenient
  methods to create an empty pane (rather than using '' for the command).
* Add capture-pane -I to include the time each line entered history.
* Various memory leak fixes from Heon Jeong.
* Add a default C-b T binding to change the current pane title.
* Menus now belong to the window, so appear on all clients.
* Dragging over an existing copy mode selection now adjusts it (Michael Grant).
* Rectangle selection in copy mode may extend past the end of the current line
  to match vi's virtualedit=block behaviour (Mark Kelly, issue 5227).
* With mode-keys set to vi, scrolling in copy mode now keeps the cursor in the
  same position relative to the text (Arseniy Simonov, issue 5216).
* Copy mode no longer exits at the bottom while a selection is in progress
  (issue 5349).
* Add copy-mode-current-line-style to set the style of the line containing the
  cursor in copy mode (issue 5391).
* Copy mode word commands now recognise all Unicode whitespace characters; a
  space in word-separators matches any Unicode whitespace character (issue
  5562).
* Add style attributes for dimming colours (dim=) and for hyperlinks (link= and
  nolink) (issues 4842 and 4280 from Moritz Angermann).
* New format modifiers: O: loops over options, V: loops over environments,
  the I modifier reports client terminal information, t/d gives a time
  difference in seconds, c/f and c/b emit colours, and the m operator supports
  multiple terms and fuzzy matching.
* Add or improve format variables including client_colours,
  pane_start_command_list, window_manual_width, window_manual_height,
  pane_last_output_time, pane_modal_flag, window_modal_pane, pane_private_modes,
  pane_output_generation, history_added, history_collected, history_generation,
  hook_fire_count and hook_fire_time.
* Add additional pane sort orders, and a z sort order for choose-tree so
  floating panes can be sorted by z-index.
* Add -f filters to kill-pane -a, kill-window -a and kill-session -a (issue
  4782).
* Allow server ACLs to use groups as well as users (issue 4917).
* The mouse option now defaults to on.
* The active-pane client flag has been removed.
* Fix send-keys -K so keys are inserted in the correct place in the input
  queue, like keys from key bindings (issue 3476).
* Fix control mode clients hanging on exit if pty data was still queued (Ben
  Maurer, issue 5356), and avoid sending notifications to clients which are
  already exiting (Ben Maurer, issue 5357). Queue notifications so they are not
  sent inside %begin/%end (issue 5458), do not let a stuck client prevent the
  server from exiting (issue 5444), and reset control mode offsets when a pane
  is respawned (issue 5498). Bound buffered command replies so a control mode
  client that stops reading cannot consume unlimited memory (issue 5565), and
  fix a collision between the output discard and bracketed paste flags (issue
  5622).
* Fix grouped sessions sometimes being left as unusable command targets while
  they are being killed (Bryce Miller, issue 5180), and prevent reuse of a
  session with no windows while detaching (Heon Jeong, issue 5620).
* Free wait-for clients when they disconnect and do not run their remaining
  queued commands (issue 5614).
* Expand formats in run-shell -c like other start-directory flags (reported by
  Saul Nogueras).
* Fix session alert flag formats to check all windows (issue 5599).
* Do not clear the marked pane when clicking on a pane border.
* Fix choose mode filtering when more than one pane exists (issue 5326), and
  fix an infinite loop in customize mode when a filter does not match.
* Preserve the scroll position in tree modes when rebuilding the list
  (Kim A Brandt, issue 5631).
* Fix regsub when the pattern is anchored at the start (issue 5341).
* Fix redraw issues around synchronized updates, copy mode, tabs, padding,
  status lines, menus, popups, wide characters and floating panes. This
  includes fixes for flicker with alternate screen applications and scrollbars
  (Michael Grant, issue 5351; Noam Stolero, issue 5350; Aung Myo Kyaw, issue
  5098), and misplaced wrapped lines during partial redraws (Ben Maurer, issue
  5625).
* Do not crash looking for the next or previous session (issue 5344), or when
  no client is available.
* Fix crashes when destroying a zoomed pane (Romain Francoise, issue 5591),
  copying from a blank source pane (Kaixuan Li), or opening a mode prompt when
  the client is offset into the window.
* Avoid an infinite loop when assigning a width to WCHAR_MAX (issue 5602).

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 lfs/tmux | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
  

Patch

diff --git a/lfs/tmux b/lfs/tmux
index 38134d6b3..f4818b430 100644
--- a/lfs/tmux
+++ b/lfs/tmux
@@ -26,7 +26,7 @@  include Config
 
 SUMMARY    = Terminal multiplexer
 
-VER        = 3.7c
+VER        = 3.8
 
 THISAPP    = tmux-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -34,7 +34,7 @@  DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = tmux
-PAK_VER    = 19
+PAK_VER    = 20
 
 DEPS       =
 
@@ -48,7 +48,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 854a27ad7fd2326057c516e60a88219548bbbf7001c01d1b64b83289b22c923a8b4c94f48971381d88cd8a6c9a15084c253742dfb155dd6e32aee97b78f9f68c
+$(DL_FILE)_BLAKE2 = 5a6ff93e78dd4380fa0769ac76de25365b326dce3403a71eb74f218c124f17b8d27504a7d89985db6fb4d1d0321815657ffc40212a58257363b315515581a82f
 
 install : $(TARGET)