HistoryΒΆ

Here you can find the recent changes to tmuxp

1.2.1 2016-09-16

  • [Bug] #132: Handle cases with invalid session names
  • [Support]: update libtmux from 0.5.0 to 0.6.0

1.2.0 2016-06-16

  • [Feature]: Add back tmuxp -V for version info

  • [Feature] #65: Ability to specify options and global_options via configuration. Also you can specify environment variables via that.

    Include tests and add example.

  • [Bug] #165: fix typo in error output, thanks @fpietka

  • [Bug] #167: fix attaching multiple sessions

  • [Support] #166: add new docs on zsh/bash completion

1.1.1 2016-06-02

  • [Feature]: Add back tmuxp -V for version info
  • [Bug] #165: fix typo in error output, thanks @fpietka
  • [Bug] #167: fix attaching multiple sessions
  • [Support] #166: add new docs on zsh/bash completion

1.1.0 2016-06-01

  • [Feature] #159: improved support for tmuxinator imports, from @fpietka.
  • [Feature] #134: Use click for command-line completion, Rewrite command line functionality for importing, config finding, conversion and prompts.
  • [Feature] #160: load tmuxp configs by name
  • [Bug] #158: argparse bug overcome by switch to click
  • [Support] #157: bump libtmux to 0.4.1
  • [Support]: switch to readthedocs.io for docs
  • [Support] #161: readme link fixes from @Omeryl.
  • [Support] #163: fix issue re-attaching sessions that are already loaded
  • [Support]: Remove -l from tmuxp import tmuxinator|teamocil

1.0.2 2016-05-25

  • [Feature] #159: improved support for tmuxinator imports, from @fpietka.
  • [Support] #161: readme link fixes from @Omeryl.
  • [Support] #163: fix issue re-attaching sessions that are already loaded

1.0.1 2016-05-25

  • [Support] #157: bump libtmux to 0.4.1
  • [Support]: switch to readthedocs.io for docs

1.0.0-rc1 2016-05-25

  • [Feature] #146: Optionally disable shell history suppression, @kmactavish
  • [Feature] #145: Add new-window command functionality, @ikirudennis
  • [Feature]: libtmux core split into its own project
  • [Feature]: tests moved to py.test framework
  • [Support]: overhaul README
  • [Support]: update .tmuxp.yaml and .tmuxp.json for Makefile change
  • [Support]: move doc building, tests and watcher to Makefile
  • [Support] #147: Patching unittest timing for shell history suppression
  • [Support]: version jump 0.11.1 to 1.0

0.11.0 2016-02-29

  • [Support]: Spelling correction, thanks @sehe.
  • [Support] #137: Support for environment settings in configs, thanks @tasdomas

0.10.0 2016-01-30

  • [Support] #131: [Support] #133: README and Documentation fixes
  • [Support] #135: Load multiple tmux sessions at once, thanks @madprog.

0.9.3 2016-01-06

  • [compatibility] Support Anaconda Python 2 and 3
  • [Support] #130: move to entr(1) for file watching in tests. update docs.
  • [Support]: switch to .venv for virtualenv directory to not conflict with .env (used by autoenv).

0.9.2 2015-10-21

  • [Support]: change test in workspace builder test to use top(1) instead of man(1). man(1) caused errors on some systems where PAGER is set.
  • [Support]: use travis container infrastructure for faster tests
  • [Support] #122: Update to support tmux 2.1, thank you @estin.

0.9.1 2015-08-23

  • [Support] #119: Add fix python 3 for sysutils/pytmuxp on FreeBSD ports. See GH issue 119 and #201564 @ FreeBSD Bugzilla. Thanks Ruslan Makhmatkhanov.

0.9.0 2015-07-08

  • [Feature]: You can now use environment variables inside of start_directory, before_script, shell_command_before, session_name and window_name.
  • [Support]: update travis to use new tmux git repository.
  • [Support] #107: Fix Server.attached_sessions return type by @thomasballinger.
  • [Support] #105: append .txt extension to manuals (repo ony) from @yegortimoshenko.
  • [Support] #109: fix failure of test_pane_order on fedora machines from @marbu
  • [Support] #110: de-vendorize colorama. Thanks @marbu.
  • [Support]: [examples]: add example for environmental variables, examples/env-variables.json and examples/env-variables.yaml.
  • [Support]: compat 2.7/3.3 wrapper for EnvironmentVarGuard for testing.
  • [Support]: Renamed config.expandpath to config.expandshell.

0.8.1 2015-05-09

  • [Support]: new animated image demo for RTD and README
  • [Support]: [testing]: fix sniffer test runner in python 3

0.8.0 2015-05-07

  • [Support]: Refactor util.tmux into util.tmux_cmd().

  • [Support]: Refactor {Server,Session,Window,Pane}.tmux into:

    • Server.cmd()
    • Session.cmd()
    • Window.cmd()
    • Pane.cmd()

    (See conversation at https://github.com/bitprophet/dotfiles/issues/5)

  • [Support]: Add --log-level argument.

  • [Support]: Fix documentation for :meth:Session.switch_client().

  • [Support]: tmux 2.0 support

  • [Support]: version bump 0.1.13 -> 0.8.0

0.1.13 2015-03-25

  • [Support]: Update about page from teamocil and erb support from @raine.
  • [Support]: Add documentation on leading space in send_keys from @thomasballinger.
  • [Support]: Add Warning tmux versions less than 1.4 from @techtonik.
  • [Support]: make checkbuild for verifying internal / intersphinx doc references.
  • [Support]: updates to doc links
  • [Support]: replace watchingtestrunner with sniffer in examples. .tmuxp.conf and .tmux.json updated
  • [Support]: testsuite for cli uses tempfile.mkdtemp() instead TMP_DIR (which resolved to .tmuxp in the testsuite directory.
  • [Support]: bootstrap_env.py will check for linux, darwin (OS X) and windows and install the correct sniffer file watcher plugin.
  • [Support]: docutils from 0.11 to 0.12
  • [Support]: scent.py for building docs
  • [Support]: Remove package_metadata.py in favor of __about__.py.

0.1.12 2014-08-06

  • [config] config.expandpath() for helping resolve paths.

  • [config] config.expand() now resolves directories in configuration via os.path.expanduser() and os.path.expandvars().

  • [Support]: [Support]: improved support for loading tmuxp project files from outside current working directory. e.g.

    $ tmuxp load /path/to/my/project/.tmuxp.yaml
    

    Will behave better with relative directories.

0.1.11 2014-04-06

  • [Feature]: before_script now loads relative to project directory with ./.
  • [Support]: Tests for run_script_before refactored.
  • [Support]: BeforeLoadScriptFailed and BeforeLoadScriptNotExists has moved to the exc module.
  • [Support]: run_script_before has moved to util.
  • [Support]: Improvements to util.run_before_script(), exc.BeforeLoadScriptFailed behavior to print stdout and return stderr is a non-zero exit is returned.
  • [Support]: Use bootstrap_env.py in tmuxp’s .tmuxp.yaml and .tmuxp.json project files.

0.1.10 2014-04-02

  • [Bug] #76: Don’t require shell_command to pass options to panes (like focus: true).
  • [Bug] #77: Fix bug where having a - in a shell_command would cauesd a build error.
  • [Bug] #73: Fix an error caused by spaces in start_directory.
  • 2 bug fixes and allow panes with no shell commands to accept options, thanks for these 3 patches, @ThiefMaster:

0.1.9 2014-04-01

  • The --force was not with us.

0.1.8 2014-03-30

  • [Support] #56: python_api_quickstart
  • [Support]: New command, before_script, which is a file to be executed with a return code. It can be a bash, perl, python etc. script.
  • [Support]: New testsuite, testsuite.test_utils for testing testsuite tools.
  • [Support]: New context manager for tests, temp_session.
  • [Support] #72: Create destination directory if it doesn’t exist. Thanks @ThiefMaster.

0.1.7 2014-02-25

  • [Support] #55: where tmuxp would crash with letter numbers in version. Write tests.

0.1.6 2014-02-08

  • [Support] #35: Builder will now use -c start_directory to create new windows and panes.

    This removes a hack where default-path would be set for new pane and window creations. This would bleed into tmux user sessions after creations.

  • [Support]: Window.split_window() now allows -c start_directory.

0.1.5-1 2014-02-05

  • [Bug] #49: bug where package_manifest.py missing from MANIFEST.in would cause error installing.

0.1.5 2014-02-05

  • [Support]: use conventions from tony/cookiecutter-pypackage.
  • [Support]: tao of tmux section now treated as a chatper. tao of tmux may be split off into its own project.
  • [Support]: section heading normalization.

0.1.4 2014-02-02

  • [Support]: Fix extra space in PEP 263.
  • [Support]: Update _compat support module.
  • [Support]: Fix $ tmuxp freeze CLI output.

0.1.3 2014-01-29

  • [Bug] #48: $ tmuxp without option raises an error.
  • [Bug] #48: Fix Python 3 CLI issue.
  • [Support]: - Add space before send-keys to not populate bash and zsh history.

0.1.2 2014-01-08

  • [Support] #43: Merge tmuxp -d for loading in detached mode. Thanks roxit.
  • [Support]: now using werkzeug / flask style testsuites.

0.1.1 2013-12-25

  • [Bug] #32: Fix bug where special characters caused unicode caused unexpected outcomes loading and freezing sessions.

0.1.0 2013-12-18

  • version to 0.1. No --pre needed. Future versions will not use rc.
  • [Support]: fix duplicate print out of filename with using tmuxp load ..

0.1-rc8 2013-12-17

  • [Support]: Move py2/py3 compliancy code to _compat.
  • [Support]: unicode_literals

0.1-rc7 2013-12-07

  • [Bug] #33: Partial rewrite of config.expand().
  • [Support]: tmuxp will exit silently with Ctrl-c.

0.1-rc6 2013-12-06

  • [Support] #31: [examples] from stratoukos add window_index option, and example.

0.1-rc5 2013-12-04

  • [Bug] #27: $ tmuxp freeze raises unhelpful message if session doesn’t exist.
  • [Bug] #26: [Bug] #29: for OS X tests. Thanks stratoukos.
  • [Support] #28: shell_command_before in session scope of config causing duplication. New test.

0.1-rc4 2013-12-03

  • [Bug]: fix bug were focus: true would not launch sessions when using $ tmuxp load in a tmux session.

0.1-rc3 2013-12-03

  • [Bug] #25: focus: true not working in panes. Add tests for focusing panes in config.
  • [Support]: add new example for focus: true.
  • [Support]: Pane.select_pane().

0.1-rc2 2013-11-23

  • [Bug] #23: fix bug where workspace would not build with pane-base-index set to 1. Update tests to fix if pane-base-index is not 0.
  • [Support]: - removed $ tmuxp load --list functionality. Update Quickstart accordingly.

0.1-rc1 2013-11-23

  • Changelog will now be updated on a version basis, use pep440 versioning.
  • [Support]: pep8 and pep257 in unit tests.

0.1-dev 2013-11-21

  • [Support]: Session.show_options(), Session.show_option() now accept g to pass in -g.

0.1-dev 2013-11-20

  • [Bug] #21: Error with unit testing python 2.6 python configuration tests. Use tempfile instead.
  • [Bug] #15: Behavioral changes in the WorkspaceBuilder to fix pane ordering.
  • [Support]: WorkspaceBuilder tests have been improved to use async better.
  • [Support]: Window.show_window_options(), Window.show_window_option() now accept g to pass in -g.

0.1-dev 2013-11-17

  • [Support]: fix a bug where missing tmux didn’t show correct warning.

0.1-dev 2013-11-15

  • [Support]: Travis now tests python 2.6 as requirement and not allowed to fail.

0.1-dev 2013-11-13

  • [Support]: ongoing work on The Tao of tmux.
  • [Support]: cli.SessionCompleter() no longer allows a duplicate session after one is added.
  • [Support] #19: accept -y argument to answer yes to questions.

0.1-dev 2013-11-09

0.1-dev 2013-11-08

  • [Support]: [config] [Support]: config.inline() will now turn panes with no other attributes and 1 command into a single item value.

    - panes:
      - shell_command: top
    
    # will now inline to:
    
    - panes
      - top
    
    This will improve ``$ tmuxp freeze``
    
  • [Support]: [freeze] - $ tmuxp freeze will now freeze a window with a start_directory when all panes in a window are inside the same directory.

0.1-dev 2013-11-07

  • [Feature]: support import teamocil root to start_directory.
  • [Support]: fix teamocil import.
  • [Support]: Remove old logger (based on tornado’s log.py), replace with new, simpler one.

0.1-dev 2013-11-06

  • [Feature]: tmuxp freeze will now return a blank pane for panes that would previously return a duplicate shell command, or generic python, node interpreter.
  • [Feature]: tmuxp freeze supports exporting to blank panes.
  • [Feature]: support for blank panes (null, pane, blank) and panes with empty strings.
  • [Support]: tagged v0.0.37. Many fixes. Python 2.6 support. Will switch to per-version changelog after 0.1 release.

0.1-dev 2013-11-05

  • pep257, pep8.
  • New Roadmap.
  • Documentation tweaking to API Reference, The Tao of tmux.
  • [Support]: Support for [-L socket-name] and [-S socket-path] in autocompletion and when loading. Note, switching client into another socket may cause an error.

0.1-dev 2013-11-04

  • tagged version v0.0.36.
  • [Support]: pep257, pep8.

0.1-dev 2013-11-02

  • [config] [Support]: support for relative paths of start_directory. Add an update config in Start Directory on Examples.
  • [Support]: Support for spaces in $ tmuxp attach-session and $ tmuxp kill-session, and $ tmuxp freeze.
  • [Support] #12: fix for $ tmuxp freeze by @finder.
  • [Support]: move old Server methods __list_panes(), __list_windows and __list_sessions into the single underscore.
  • [Support]: Many documentation, pep257, pep8 fixes

0.1-dev 2013-11-01

  • [config] [Support]: Concatenation with start_directory via config.trickle() if window start_directory is alphanumeric / relative (doesn’t start with /). See Examples in start directory.
  • [Support]: Allow saving with ~ in file destination.
  • [Support]: Improve quality of tmuxinator imports. Especially session_name and start_directory.
  • [Support]: Fix bug with import teamocil and tmuxinator
  • [Support]: $ tmuxp -2 for forcing 256 colors and tmuxp -8 for forcing 88.
  • [Support]: Server support for -2 with colors=256 and colors=8.
  • [Support]: New servers for Server arguments socket_name, socket_path, config_file.

0.1-dev 2013-10-31

  • [Support]: major doc overhaul. front page, renamed orm_al.rst to internals.rst.
  • [Support]: Window.move_window() for moving window.
  • [Support]: fix bug where first and second window would load in mixed order
  • [Support]: [examples]: Example for start_directory.
  • [Support]: fix :meth:Window.kill_window() target to session_id:window_index for compatibility and pass tests.
  • [Support]: get start_directory working for configs
  • [Support]: correctly config.trickle() the start_directory.
  • [Support]: util.is_version()

0.1-dev 2013-10-30

  • [Feature]: tmuxp now has experimental support for freezing live sessions.
  • [Support]: support for start_directory (work in progress)
  • [Support]: Window.kill_window()
  • [Support]: tmuxp freeze <filename> experimental
  • [Support]: fix bug where tmuxp load . would return an error instead of a notice.
  • [Support]: fix bug where if inside tmux, loading a workspace via switch_client wouldn’t work.

0.1-dev 2013-10-29

  • [config] tmuxp now allows a new shorter form for panes. Panes can just be a string. See the shorthand form in the Examples section.
  • [Bug]: [b6c2e84] Fix bug where tmuxp load w/ session already loaded would switch/attach even if no was entered
  • [Support]: [config] support loading .yml.
  • [Support]: tmux will now use Session.switch_client() and Session.attach_session() to open new sessions instead of os.exec.
  • [Support]: WorkspaceBuilder now has .session attribute accessible publicly.
  • [Support]: tmux 1.8 set-option / set-window-options command target-window fix.
  • [Support]: when workspace loader crashes, give option to kill session, attach it or detach it.
  • [Support]: tmuxp import for teamocil and tmuxinator now has a wizard and offers to save in JSON or YAML format.
  • [Support]: enhancements to prompts
  • [Support]: 3 new Examples, ‘main-pane-height’, ‘automatic-rename’, and ‘shorthands’.
  • [Support]: support for automatic-rename option.
  • [Support]: Window.select_pane() now accepts -l, -U, -D, -L, -R.

0.1-dev 2013-10-28

  • [Bug]: fix tmuxp convert <file> fixed.
  • [Bug]: fix tmuxp load . fixed
  • [Support]: Window.tmux() and Pane.tmux() will automatically add their {window/pane}_id if one isn’t specific.
  • [Support]: ./run_tests.py --tests now automatically prepends tmuxp.testsuite to names.
  • [Support]: Pane now has Pane.set_width() and Pane.set_height().
  • [Support]: pep257 fixes.

0.1-dev 2013-10-27

  • [Support]: tmuxp load, tmuxp convert and tmuxp import now support relative and full filenames in addition to searching the config directory.
  • [Support]: argcomplete overhaul for CLI bash completion.

0.1-dev 2013-10-26

  • [Support]: fix $ tmuxp load -l to work correctly alongside $ tmuxp load filename.
  • [Support]: config.is_config_file() now supports extensions argument as a string also.
  • [Support]: config.in_dir() supports a list of extensions for filetypes to search, i.e. ['.yaml', '.json'].
  • [Support]: initial version of tmuxinator and teamocil config importer. it does not support all options and it not guaranteed to fully convert window/pane size and state.

0.1-dev 2013-10-25

  • [Support]: test fixtures and inital work for importing tmuxinator and teamocil configs
  • [Support]: property handle case where no tmux server exists when attach-session or kill-session is used.
  • [Support]: fix bug where -v and --version wouldn’t print version.

0.1-dev 2013-10-24

  • [dev] .tmuxp.json now exists as a config for tmuxp development and as an example.
  • [Support]: Fix bug in tab completion for listing sessions with no tmux server is active.
  • [Support]: Fix bug where tmuxp kill-session would give bad output
  • [Support]: New examples in JSON. Update the Examples page in the docs.
  • [Support]: tmuxp can now $ tmuxp convert <file> from JSON <=> YAML, back and forth.
  • [Support]: check for oh-my-zsh when using $SHELL zsh. Prompt if DISABLE_AUTO_TITLE is unset or set to true.
  • [Support]: clean out old code for automatic-rename option. it will be reimplemented fresh.

0.1-dev 2013-10-23

  • [Support]: unit test fixes.
  • [Support]: tmuxp load for loading configs.
  • [Support]: tmuxp attach-session with tab-completion. Attach session will switch-client for you if you are inside of of a tmux client.
  • [Support]: tmuxp kill-session with tab-completion.
  • [Support]: zsh/bash/tcsh completion improvements for tab-completion options

0.1-dev 2013-10-21

  • Fix regression causing unexpected build behavior due to unremoved code supporting old tmux versions.
  • [Support]: $ tmuxp -v will print the version info.
  • [Support]: Examples now have graphics
  • [Support]: Added 2 new examples to the Examples page.
  • [Support]: Make 1.8 the official minimym version, give warning notice to upgrade tmux if out of date

0.1-dev 2013-10-19

  • [Support]: major internal overhaul of Server, Session , Window, and Pane continues.
    • Server has @property Server.sessions(), which is forward to Server.list_sessions() (kept to keep tmux commands in serendipty with api), Server._list_sessions() returns dict object from Server.__list_sessions() tmux command. Server.__list_sessions() exists to keep the command layered so it can be tested against in a matrix with travis and compatibility methods can be made.
    • Session now has @proprety Session.windows() returning a list of Window objects via Session.list_windows(). @property Session._windows() to Session._list_windows() to return a list of dicts without making objects.
    • Window now has @proprety Window.panes() returning a list of Pane objects via Window.list_panes(). @property Window._panes() to Window._list_panes() to return a list of dicts without making objects.
  • [Support]: tmuxp will now give warning and sys.exit() with a message if tmux not found in system PATH

0.1-dev 2013-10-18

  • [project] some research into supporting legacy tmux versions. tmux 1.6 and 1.7 support seem likely eventually if there is enough demand.
  • [Support]: python 3 support
  • [Support]: major internal overhaul of Server, Session, Window, and Pane.
    • Session, Window and Pane now refer to a data object in Server internally and always pull the freshest data.
    • A lot of code and complexity regarding setting new data for objects has been reduced since objects use their unique key identifier to filter their objects through the windows and panes in Server object.
    • Server object is what does the updating now.

0.1-dev 2013-10-17

  • [Support]: Support for switching sessions from within tmux. In both cases after the the session is built and if session already exists.
  • [Support]: - new example .tmuxp.yaml file updated to include development workflow. Removed nodemon as the tool for checking files for now.
  • [Support]: updated README docs with new project details, screenshots

0.1-dev 2013-10-16

  • [Support]: Server, Session, Window, Pane now explicitly mixin subclasses.
  • [Support]: tmux object mapping has been split into util.TmuxMappingObject. The mapping and the relational has been decoupled to allow Server to have children while not being a dict-like object.
  • [Support]: subclasses of util.TmuxRelationalObject, Server, Session, Window, Pane now have util.TmuxRelationalObject.getById() (similar to .get() in backbone.js collection), util.TmuxRelationalObject.where() and util.TmuxRelationalObject.findWhere() (.where() and .findWhere() in underscore.js), to easily find child objects.
  • [Support]: Server is now a subclass of util.TmuxObject.
  • [Support]: add vim modeline for rst to bottom of this page
  • [Support]: Updates to The Tao of tmux page.
  • [Support]: New page on About.
  • [Support]: bash / zsh completion.
  • [Support]: add MANIFEST.in, fix issue where package would not install because missing file
  • [Support]: use util.which() from salt.util to find tmux binary.

0.1-dev 2013-10-15

  • [config] [Support]: Support for 1-command pane items.

    session_name: my session
    windows:
      - window_name: hi
        panes:
        - bash
        - htop
    
  • [Support]: If session name is already exists, prompt to attach.

  • [Support]: support for socket-name (-L) and socket-path (socket-path)

  • [Support]: support for $ tmux . to load .tmuxp.{yaml/json/py} in current working directory.

  • [Support]: initial examples, misc. updates, front page update.

  • [Support]: new theme

0.1-dev 2013-10-14

  • [Support]: config.in_cwd()
  • [Support]: config.in_dir()
  • [Support]: config.is_config_file()
  • [Support]: cli.startup()
  • [Support]: config.check_consistency() to verify and diagnose issues with config files.
  • [Support]: new exceptions
  • [Support]: tmuxp can now launch configs and build sessions
  • [Support]: can now -l to list configs in current directory and $HOME/.tmuxp

0.1-dev 2013-10-13

  • documentation fixes and updates
  • Pane.resize_pane() and tests
  • [Support]: Server.find(), Session.find(), Window.find().
  • [Support]: Session.refresh(), Window.refresh(), Pane.refresh().
  • [Support]: config.inline() to produce far far better looking config exports and tests.

0.1-dev 2013-10-12

  • [Support]: Session.show_options(), Session.show_option(), Session.set_option()
  • [Support]: Window.show_window_options(), Window.show_window_option(), Window.set_window_option()
  • [Support]: Builder is now WorkspaceBuilder + tests. - WorkspaceBuilder can build panes - WorkspaceBuilder can build windows and set options
  • [Support]: Test documentation updates

0.1-dev 2013-10-11

  • [Support]: move beginnings of cli to tmuxp.cli
  • [Support]: setup.py import __version__ via regex from tmuxp package
  • [Support]: __future__ imports for future python 3 compatibility
  • [Support]: Quiet logger down in some areas
  • [Support]: Travis now tests against tmux 1.8 and latest source. Door open for future testing against python 3 and earlier tmux versions in the future.
  • [Support]: Documentation for development environment and test runner updated.
  • [Support]: Major test runner and test suite overhaul.
  • [Support]: More preparation for builder / session maker utility.

0.1-dev 2013-10-09

  • [Support]: Removed dependency sh
  • [Support]: Removed dependency logutils
  • [Support]: New logging module

0.1-dev 2013-10-08

  • switch to semver