1. 16
  • Reset updated flag when restarting #() command so that new output is properly recognised. GitHub issue 922.
  • Fix ECH with a background colour.
  • Do not rely on the terminal not moving the cursor after DL or EL.
  • Fix send-keys and send-prefix in copy-mode (so C-b C-b works). GitHub issue 905.
  • Set the current pane for rotate-window so it works in command sequences.
  • Add pane_mode format.
  • Differentiate M-Up from Escape+Up when possible (that is, in terminals with xterm(1) style function keys). GitHub issue 907.
  • Add session_stack and window_stack_index formats.
  • Some new control mode notifications and corresponding hooks: pane-mode-changed, window-pane-changed, client-session-changed, session-window-changed.
  • Format pane_search_string for last search term while in copy mode (useful with command-prompt -I).
  • Fix a problem with high CPU usage and multiple clients with #(). GitHub issue 889.
  • Fix UTF-8 combining characters in column 0.
  • Fix reference counting so that panes are properly destroyed and their processes killed.
  • Clamp SU (CSI S) parameter to work around a bug in Konsole.
  • Tweak line wrapping in full width panes to play more nicely with terminal copy and paste.
  • Fix when we emit SGR 0 in capture-pane -e.
  • Do not change TERM until after config file parsing has finished, so that commands run inside the config file can use it to make decisions (typically about default-terminal).
  • Make the initial client wait until config file parsing has finished to avoid racing with commands.
  • Fix core when if-shell fails.
  • Only use ED to clear screen if the pane is at the bottom.
  • Fix multibyte UTF-8 output.
  • Code improvements around target (-t) resolution.
  • Change how the default target (for commands without -t) is managed across command sequences: now it is set up at the start and commands are required to update it if needed. Fixes binding command sequences to mouse keys.
  • Make if-shell from the config file work correctly.
  • Change to always check the root key table if no binding is found in the current table (prefix table or copy-mode table or whatever). This means that root key bindings will take effect even in copy mode, if not overridden by a copy mode key binding.
  • Fix so that the history file works again.
  • Run config file without a client rather than using the first client, restores previous behaviour.
  • If a #() command doesn’t exit, continue to read from it and use its last full line of output.
  • Handle slow terminals and fast output better: when the amount of data outstanding gets too large, discard output until it is drained and we are able to do a full redraw. Prevents tmux sitting on a huge buffer that the terminal will take forever to consume.
  • Do not redraw a client unless we realistically think it can accept the data - defer redraws until the client has nothing else waiting to write.
  1.