diff --git a/CHANGES b/CHANGES index e59ea28e..f73f2ea9 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,83 @@ +CHANGES FROM 2.3 to 2.4 20 April 2017 + +Incompatible Changes +==================== + +* Key tables have undergone major changes. Mode key tables are no longer + separate from the main key tables. All mode key tables have been removed, + together with the -t flag to bind-key and unbind-key. + + The emacs-edit, vi-edit, emacs-choose and vi-choose tables have been replaced + by fixed key bindings in the command prompt and choose modes. The mode-keys + and status-keys options remain. + + The emacs-copy and vi-copy tables have been replaced by the copy-mode and + copy-mode-vi tables. Commands are sent using the -X and -N flags to + send-keys. So the following: + + bind -temacs-copy C-Up scroll-up + bind -temacs-copy -R5 WheelUpPane scroll-up + + Becomes: + + bind -Tcopy-mode C-Up send -X scroll-up + bind -Tcopy-mode WheelUpPane send -N5 -X scroll-up + + This changes allows the full command parser (including command sequences) and + command set to be used - for example, the normal command prompt with editing + and history is now used for searching, jumping, and so on instead of a custom + one. The default C-r binding is now: + + bind -Tcopy-mode C-r command-prompt -p'search up' "send -X search-backward '%%'" + + There are also some new commmands available with send -X, such as + copy-pipe-and-cancel. +* set-remain-on-exit has gone -- can be achieved with hooks instead. +* Hooks: before hooks have been removed and only a selection of commands now + have after hooks (they are no longer automatic). Additional hooks have been + added. +* The xterm-keys option now defaults to on. + +Normal Changes +============== + +* Support for mouse double and triple clicks. +* BCE (Background Colour Erase) is now supported. +* All occurrences of a search string in copy mode are now highlighted; + additionally, the number of search results is displayed. The highlighting + updates interactively with the default emacs key bindings (incremental + search). +* source-file now understands glob patterns. +* Formats now have simple comparisons: + + #{==:a,b} + #{!=:a,b} + +* There are the following new formats: + + - #{version} -- the tmux server version; + - #{client_termtype} -- the terminal type of the client; + - #{client_name} -- the name of a client; + - #{client_written} -- the number of bytes written to the client. + +* The configuration file now accepts %if/%endif conditional blocks which are + processed when it is parsed; the argument is a format string (useful with the + new format comparison options). +* detach-client now has -E to execute a command replacing the client instead of + exiting. +* Add support for custom command aliases, this is an array option which + contains items of the form "alias=command". This is consulted when an + unknown command is parsed. +* break-pane now has -n to specify the new window name. +* OSC 52 support has been added for programs inside tmux to set a tmux buffer. +* The mouse "all event" mode (1003) is now supported. +* Palette setting is now possible (OSC 4 and 104). +* Strikethrough support (a recent terminfo is required). +* Grouped sessions can now be named (new -t). +* terminal-overrides and update-environment are now array options (the previous + set -ag syntax should work without change). +* There have been substantial performance improvements. + CHANGES FROM 2.2 to 2.3 29 September 2016 Incompatible Changes