Skip to content

Latest commit

 

History

History
605 lines (470 loc) · 19.9 KB

CHANGES

File metadata and controls

605 lines (470 loc) · 19.9 KB

Changelog

Here you can find the recent changes to tmuxp.

0.1.6

  • [internals] Window.split_window() now allows -c start_directory.
  • [builder] Issue #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.

0.1.5.1

  • [packaging] fix Issue #49 bug where package_manifest.py missing from MANIFEST.in would cause error installing.

0.1.5

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

0.1.4

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

0.1.3

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

0.1.2

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

0.1.1

  • [builder] [freezer] [bug] Fix Issue #32 where special characters caused unicode caused unexpected outcomes loading and freezing sessions.

0.1

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

0.1-rc8

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

0.1-rc7

  • [config] [tests] [bug] Issue #33 bug. Partial rewrite of config.expand.
  • [cli] tmuxp will exit silently with Ctrl-c.

0.1-rc6

  • [config] [tests] [examples] Add Issue #31 from stratoukos -window_index option, and add example.

0.1-rc5

  • [tests] [config] [builder] Fix Issue #28 - shell_command_before in session scope of config causing duplication. New test.
  • [bug] Fix Issue #26 and Issue #29 for OS X tests. Thanks stratoukos.
  • [bug] Fix Issue #27 where $ tmuxp freeze raises unhelpful message if session doesn't exist.

0.1-rc4

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

0.1-rc3

  • [bug] [tests] Issue #25 - focus: true not working in panes. Add tests for focusing panes in config.
  • [internal] Pane.select_pane().
  • [docs] add new example for focus: true.

0.1-rc2

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

0.1-rc1

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

0.1-dev

2013-11-21

  • [internal] Session.show_options, Session.show_option now accept g to pass in -g.

2013-11-20

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

2013-11-17

  • [cli] fix a bug where missing tmux didn't show correct warning.

2013-11-15

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

2013-11-13

  • [cli] accept -y argument to answer yes to questions. #19
  • [cli] cli.SessionCompleter no longer allows a duplicate session after one is added.
  • [docs] ongoing work on about_tmux.

2013-11-09

  • [docs] [translation] documentation in Chinese from wrongwaycn.
  • [docs] More work done on the about_tmux page.
  • [cli] Pane.split_window() for splitting Window at target-pane location.

2013-11-08

  • [cli] [freeze] - $ tmuxp freeze will now freeze a window with a start_directory when all panes in a window are inside the same directory.
  • [cli] [config] [tests] 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``

2013-11-07

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

2013-11-06

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

2013-11-05

  • [cli] Support for [-L socket-name] and [-S socket-path] in autocompletion and when loading. Note, switching client into another socket may cause an error.
  • Documentation tweaking to API, about_tmux.
  • New roadmap.
  • pep257, pep8.

2013-11-04

  • [internal] [docs] - pep257, pep8.
  • tagged version v0.0.36.

2013-11-02

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

2013-11-01

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

2013-10-31

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

2013-10-30

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

2013-10-29

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

2013-10-28

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

2013-10-27

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

2013-10-26

  • [import] [tests] 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.
  • [internal] config.in_dir supports a list of extensions for filetypes to search, i.e. ['.yaml', '.json'].
  • [internal] config.is_config_file now supports extensions argument as a string also.
  • [cli] fix $ tmuxp load -l to work correctly alongside $ tmuxp load filename.

2013-10-25

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

2013-10-24

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

2013-10-23

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

2013-10-21

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

2013-10-19

  • [internal] tmuxp will now give warning and sys.exit() with a message if tmux not found in system PATH
  • [internal] 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.

2013-10-18

  • [internal] 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.
  • [project] some research into supporting legacy tmux versions. tmux 1.6 and 1.7 support seem likely eventually if there is enough demand.
  • [internal] python 3 support

2013-10-17

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

2013-10-16

  • [cli] use util.which() from salt.util to find tmux binary.
  • [pypi / packaging] add MANIFEST.in, fix issue where package would not install because missing file
  • [cli] bash / zsh completion.
  • [docs] New page on internals.
  • [docs] Updates to about_tmux page.
  • [docs] add vim modeline for rst to bottom of this page
  • [internal] [tests] Server is now a subclass of util.TmuxObject.
  • [internal] [tests] 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.
  • [internal] 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.
  • [internal] Server, Session, Window, Pane now explicitly mixin subclasses.

2013-10-15

  • [docs] new theme
  • [docs] initial examples, misc. updates, front page update.
  • [cli] support for $ tmux . to load .tmuxp.{yaml/json/py} in current working directory.
  • [cli] support for socket-name (-L) and socket-path (socket-path)
  • [config] [builder] Support for 1-command pane items.

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

2013-10-14

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

2013-10-13

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

2013-10-12

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

2013-10-11

  • [builder] More preparation for builder / session maker utility.
  • [tests] Major test runner and test suite overhaul.
  • [docs] Documentation for development environment and test runner updated.
  • [tests] 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.
  • [internal] Quiet logger down in some areas
  • [internal] __future__ imports for future python 3 compatibility
  • [internal] setup.py import __version__ via regex from tmuxp package
  • [cli] move beginnings of cli to tmuxp.cli

2013-10-09

  • New logging module
  • Removed dependency logutils
  • Removed dependency sh

2013-10-08

  • switch to semver

# vim: set filetype=rst: