-
- 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.