3mux Versions Save

Terminal multiplexer inspired by i3

v1.1.0

3 years ago

First and foremost, thank you to 3mux's new co-maintainer @PotatoParser. He has significantly improved the code quality within 3mux, and he's to thank for a lot of the stability introduced in this release, enough that we finally feel comfortable to tagging an official v1 release.

This is the first official release since v0.3.0, and it includes significant performance, reliability, and usability improvements over the pre-release v1.0.1.

Migration note: the v1.1.0 client can connect to v1.0.1 sessions, but the client freezes upon running 3mux detach. No session data should be lost, but the client terminal will likely have to be restarted. Future releases will aim for better backward compatibility than this.

Build Support:

  • 3mux can now be run through Nix flakes (requires Nix 2.4+) (#114)

Performance fixes:

  • 3mux uses much less resources while idle, and it's also much more responsive (#106)
  • 3mux is more efficient in general (#104 #97)

Display fixes:

  • htop, nano and kakoune now work significantly better (#107)
  • Colors are more reliably handled, fixing issues seen when using bash (#94)
  • An issue was fixed where characters were disappearing in readline (#95)
  • The interactive session chooser prompt no longer messes up prompt upon Ctrl-C (#72)
  • Line wrapping works better now (#77)
  • Help page no longer depends upon tab width settings (#109)
  • Fixed bug that caused pane divider lines to disappear (#118)
  • Properly scroll when wrapping bottom right corner (#116)

Error handling:

  • Errors are now more carefully handled to avoid broken states (#82 #100)
  • Fuzzing is more extensively used to fing bugs (e.g. #92)

Changes:

  • Cleaner UI and implementation for sessions (#91)

v1.0.1

3 years ago

Changes:

  • 3mux ps is now an alias of 3mux ls

Fixes:

  • 3mux now properly refuses to nest sessions
  • 3mux no longer uses are hard-coded /tmp

v1.0.0

3 years ago

To update, download the attached binaries, use your system package manager, or run go get -u github.com/aaronjanse/3mux.

Features:

  • session management (#11 #52) :tada:
    • run 3mux to create, attach to, or detach from a session
    • see 3mux --help for more information

Changes:

  • screen-like keybindings are now commented-out in the default config. They were interfering with the readline shortcut ctrl+a

Fixes:

  • the window manager is now thread-safe
    • the fuzzer has been updated to test this

v0.3.0

4 years ago

To update 3mux, run go get -u github.com/aaronjanse/3mux.

New:

  • 3mux now has a config file! (#24 #16)
    • 3mux searches $XDG_CONFIG_HOME. If not found, 3mux generates its config at ~/.config/3mux/config.toml
    • 3mux still aims for full usability without needing configuration
  • status bar is now optional (see config file)
  • nano-like help bar (#44)
    • disabled by default once a config file is generated
  • screen bindings in default config file (#51)
  • 3mux now supports bold text (#25)
  • 3mux warns upon an attempt to run 3mux within 3mux (#61)
  • better error handling
  • more documentation in README (#34)
  • the vterm sub-package is now usable outside of 3mux (#20)
    • not yet stable
    • see example usage in fuzz/main.go

Fixes:

  • search now works properly on text with unicode characters
  • moving/resizing/creating/etc windows should no longer cause panics
    • tested via new fuzzing system that required refactor of 3mux (#36 #48)
  • vim with themes should have less buggy background coloring (#25)

Note to package maintainers: The default config file is hardcoded in config.go (this was done to make 3mux easy to package). The go.mod has updated.

v0.2.2

4 years ago

To update 3mux, run go get -u github.com/aaronjanse/3mux.

Fixes

  • scrolling direction now matches the OS default (#55 #58)

v0.2.1

4 years ago

To update 3mux, run go get -u github.com/aaronjanse/3mux.

Changes

  • (major) fix boot panic on macOS (#56 #57)
  • better support for 256 color (#25)
  • set $TERM to xterm-256color

v0.2.0

4 years ago

To update 3mux, run go get -u github.com/aaronjanse/3mux.

New

  • support for reverse styling (swap foreground & brackground)
  • shell preference is now found using /etc/passwd
  • much faster rendering

Now supported

  • background coloring in vim
  • fish autocomplete
  • ctrl+r in bash

Changed

  • termbox is no longer a dependency

Fixed

  • wide characters previously caused styling issues
  • fix occasional crash when closing windows
  • keyboard input parsing is now much more robust
  • fix some tmux keybinding crashes
  • fix underlined characters not being deleted
  • fix crash when using vim

v0.1.1

4 years ago

Fixes:

  • scrollback scrolling is no longer completely broken
  • errors during terminal resize are no longer fatal
  • non-ascii characters now cause less chaos
  • Erase in Display no longer randomly crashes (i and j look similar! https://github.com/aaronjanse/3mux/commit/f8553c0421721c515d69f8bdfc8c1d3c8c61cc9b)
  • bright colors are now handled better when combined with other SGR stuff
  • escape sequences are now parsed more properly, preventing most issues where gibberish is printed to the screen

v0.1.0

4 years ago

Added:

  • environment variable $THREEMUX is set to 1 inside 3mux