tmux Changelog

New in version 1.8

March 27th, 2013
  • Incompatible Changes:
  • layout redo/undo has been removed.
  • Normal Changes:
  • Add halfpage up/down bindings to copy mode.
  • Session choosing fixed to work with unattached sessions.
  • New window options window-status-last-{attr,bg,fg} to denote the last window which was active.
  • Scrolling in copy-mode now scrolls the region without moving the mouse cursor.
  • run-shell learnt '-t' to specify the pane to use when displaying output.
  • Support for middle-click pasting.
  • choose-tree learns '-u' to start uncollapsed.
  • select-window learnt '-T; to toggle to the last window if it's already current.
  • New session option 'assume-paste-time' for pasting text versus key-binding actions.
  • choose-* commands now work outside of an attached client.
  • Aliases are now shown for list-commands command.
  • Status learns about formats.
  • Free-form options can be set with set-option if prepended with an '@' sign.
  • capture-pane learnt '-p' to send to stdout, and '-e' for capturing escape sequences, and '-a' to capture the alternate screen, and '-P' to dump pending output.
  • Many new formats added (client_session, client_last_session, etc.)
  • Control mode, which is a way for a client to send tmux commands. Currently more useful to users of iterm2.
  • resize-pane learnt '-x' and '-y' for absolute pane sizing.
  • Config file loading now reports errors from all files which are loaded via the 'source-file' command.
  • 'copy-pipe' mode command to copy selection and pipe the selection to a command.
  • Changes panes can now emit focus notifications for certain applications which use those.
  • run-shell and if-shell now accept format placeholders.
  • resize-pane learnt '-Z' for zooming a pane temporarily.
  • new-session learnt '-A' to make it behave like attach-session.
  • set-option learnt '-o' to prevent setting an option which is already set.
  • capture-pane and show-options learns '-q' to silence errors.
  • New command 'wait-for' which blocks a client until woken up again.
  • Resizing panes will now reflow the text inside them.
  • Lots and lots of bug fixes, fixing memory-leaks, etc.
  • Various manpage improvements.

New in version 1.7 (October 15th, 2012)

  • Many bugfixes and new options.

New in version 1.4 (December 28th, 2010)

  • Window bell reporting fixed.
  • Show which pane is active in the list-panes output.
  • Backoff reworked.
  • Prevent the server from dying when switching into copy mode when already in a different mode.
  • Reset running jobs when the status line is enabled or disabled.
  • Simplify xterm modifier detection.
  • Avoid crashing in copy mode if the screen size is too small for the indicator.
  • Flags -n and -p added to switch-client.
  • Use UTF-8 line drawing characters on UTF-8 terminals, thus fixing some terminals (eg putty) which disable the vt100 ACS mode switching sequences in UTF-8 mode. On terminals without ACS, use ASCII equivalents.
  • New server option exit-unattached added.
  • New session option destroy-unattached added.
  • Fall back on normal session choice method if $TMUX exists but is invalid rather than rejecting.
  • Mark repeating keys with "(repeat)" in the key list.
  • When removing a pane, don't change the active pane unless the active pane is actually the one being removed.
  • New command last-pane added.
  • AIX fixes.
  • Flag -a added to unbind-key.
  • Add XAUTHORITY to update-environment.
  • More info regarding window and pane flags is now shown in list-*.
  • If VISUAL or EDITOR contains "vi" configure mode-keys and status-key to vi.
  • New window option monitor-silence and session option visual-silence added.
  • In the built-in layouts distribute the panes more evenly.
  • Set the default value of main-pane-width to 80 instead of 81.
  • Command-line flag -V added.
  • Instead of keeping a per-client prompt history make it global.
  • Fix rectangle copy to behave like emacs (the cursor is not part of the selection on the right edge but on the left it is).
  • Flag -l added to switch-client.
  • Retrieve environment variables from the global environment rather than getenv(3), thus allowing them to be updated during the configuration file.
  • New window options other-pane-{height,width} added.
  • More minor bugs fixed and manpage improvements.

New in version 1.3 (July 19th, 2010)

  • New input parser.
  • Flags to move through panes -UDLR added to select-pane.
  • Commands up-pane, and down-pane removed, since equivalent behaviour is now available through the target flag (-t:+ and -t:-).
  • Jump-forward/backward in copy move (based on vi's F, and f commands).
  • Make paste-buffer accept a pane as a target.
  • Flag -a added to new-window to insert a window after an existing one, moving windows up if necessary.
  • Merge more mode into copy mode.
  • Run job commands explicitly in the global environment (which can be modified with setenv -g), rather than with the environment tmux started with.
  • Use the machine's hostname as the default title, instead of an empty string.
  • Prevent double free if the window option remain-on-exit is set.
  • Key string conversions rewritten.
  • Mark zombie windows as dead in the choose-window list.
  • Tiled layout added.
  • Signal handling reworked.
  • Reset SIGCHLD after fork to fix problems with some shells.
  • Select-prompt command removed. Therefore, bound ' to command-prompt -p index "select-window -t:%%" by default.
  • Catch SIGHUP and terminate if running as a client, thus avoiding clients from being left hanging around when, for instance, a SSH session is disconnected.
  • Solaris 9 fixes (such as adding compat {get,set}env(3) code).
  • Accept none instead of default for attributes.
  • Window options window-status-alert-{alert,bg,fg} added.
  • Flag -s added to the paste-buffer command to specify a custom separator.
  • Allow dragging to make a selection in copy mode if the mode-mouse option is set.
  • Support the mouse scroll wheel.
  • Make pipe-pane accept special character sequences (eg #I).
  • Fix problems with window sizing when starting tmux from .xinitrc.
  • Give tmux sockets (but not the containing folder) group permissions.
  • Extend the target flags (ie -t) to accept an offset (for example -t:+2), and make it wrap windows, and panes.
  • New command choose-buffer added.
  • New server option detach-on-destroy to set what happens to a client when the session it is attached to is destroyed. If on (default), the client is detached. Otherwise, the client is switched to the most recently active of the remaining sessions.
  • The commands load-buffer, and save-buffer now accept a dash (-) as the file to read from stdin, or write to stdout.
  • Custom layouts added.
  • Additional code reduction, bug fixes, and manpage enhancements.

New in version 1.2 (March 11th, 2010)

  • A powerful, consistent, well-documented and easily scriptable command interface.
  • A window may be split horizontally and vertically into panes.
  • Panes can be freely moved and resized, or arranged into one of four preset layouts.
  • Support for UTF-8 and 256-colour terminals.
  • Copy and paste with multiple buffers.
  • Interactive menus to select windows, sessions or clients.
  • Change the current window by searching for text in the target.
  • Terminal locking, manually or after a timeout.
  • A clean, easily extended, BSD-licensed codebase, under active development.

New in version 1.0 (September 21st, 2009)

  • Hugely improved layout management, including splitting in both directions and use of all ACS characters for separators.
  • Support for tmux as the shell.
  • Better copy and paste.
  • Customizable mode keys and searching through history.
  • New commands, including one to handle the environment and one to display pane numbers.
  • More color options in the status line.
  • Man page reorganization.
  • Many minor additions and several bugfixes.

New in version 0.9 (July 7th, 2009)

  • Major changes to build infrastructure: cleanup of makefiles and addition of a configure script.
  • monitor-content window option to monitor a window for a specific fnmatch(3) pattern. The find-window command also now accepts fnmatch(3) patterns.
  • previous-layout and select-layout commands, and a main-horizontal layout.
  • Recreate the server socket on SIGUSR1.
  • clear-history command.
  • Use ACS line drawing characters for pane separator lines.
  • UTF-8 improvements, and code to detect UTF-8 support by looking at environment variables.
  • The resize-pane-up and resize-pane-down commands are now merged together into a new resize-pane command with -U and -D flags.
  • confirm-before command to request a yes/no answer before executing dangerous commands.
  • Status line bug fixes, support for UTF-8 (status-utf8 option), and a key to paste from the paste buffer.
  • Support for some additional escape sequences and terminal features, including better support for insert mode and tab stops.
  • Improved window resizing behaviour, modelled after xterm.
  • Some code reduction and a number of miscellaneous bug fixes.

New in version 0.8 (April 22nd, 2009)

  • basic horizontal window splitting and automatic pane layout;
  • improved UTF-8 support and reduced memory consumption;
  • support for 88 colour terminals;
  • emulation of scroll region for terminals without it;
  • several new commands and a few bug fixes.

New in version 0.7 (February 8th, 2009)

  • copy-buffer and suspend-client commands.
  • Support for placing the output of a shell command in the status line.
  • Individual window colors in the status line.
  • Better mouse support.
  • The ability to set attributes for status line, etc.
  • Better support for black and white terminals.
  • Automatically renames the window to match the command running in it.
  • The ability to specify multiple commands as a sequence.
  • A number of bugfixes.