Releases: zellij-org/zellij
Release v0.18.0
- Fix: Properly open new pane with CWD also when switching to a new tab (#729)
- Feature: Option to create a new session if attach fails (
zellij attach --create
) (#731) - Feature: Added the new
Visible
event, allowing plugins to detect if they are visible in the current tab (#717) - Feature: Plugins now have access to a data directory at
/data
– the working directory is now mounted at/host
instead of.
(#723) - Feature: Add ability to solely specify the tab name in the
tabs
section (#722) - Feature: Plugins can be configured and the groundwork for "Headless" plugins has been laid (#660)
- Automatically update
example/default.yaml
on release (#736) - Feature: allow mirroring sessions in multiple terminal windows (#740)
- Feature: display a message when the current pane is in full-screen (#450)
- Terminal compatibility: handle cursor movements outside scroll region (#746)
- Terminal compatibility: scroll lines into scrollback when clearing viewport (#747)
Release v0.17.0
- New panes/tabs now open in CWD of focused pane (#691)
- Fix bug when opening new tab the new pane's viewport would sometimes be calculated incorrectly (#683)
- Fix bug when in some cases closing a tab would not clear the previous pane's contents (#684)
- Fix bug where tabs would sometimes be created with the wrong index in their name (#686)
- Fix bug where wide chars would mess up pane titles (#698)
- Fix various borderless-frame in viewport bugs (#697)
- Fix example configuration file (#693)
- Fix various tab bar responsiveness issues (#703)
- Allow plugins to run system commands (#666)
- This has also added a temporary new permission flag that needs to be specified in the layout. This is a breaking change:
has become:
... plugin: strider ...
A plugin can be given command executing permission with:plugin: path: strider
plugin: path: strider _allow_exec_host_cmd: true
- This has also added a temporary new permission flag that needs to be specified in the layout. This is a breaking change:
- Use the unicode width in tab-bar plugin, for tab names (#709)
- Fix automated builds that make use of the
setup
subcommand (#711) - Add option to specify a tabs name in the tab
layout
file (#715) - Improve handling of empty valid
yaml
files (#716) - Add options subcommand to attach (#718)
- Fix: do not pad empty pane frame title (#724)
- Fix: Do not overflow empty lines when resizing panes (#725)
Release v0.16.0
-
Plugins don't crash zellij anymore on receiving mouse events (#620)
-
A universal logging system has been implemented (#592)
- Added
log
crate support for logging within Zellij - Messages sent over the
stderr
of plugins are now logged as well, bringing backdbg!
support!
- Added
-
Add displaying of the
session-name
to thetab-bar
(#608) -
Add command to dump
layouts
to stdout (#623)zellij setup --dump-layout [LAYOUT]
[default, strider, disable-status]
-
Add
action
:ScrollToBottom
(#626)- Bound by default to
^c
inscroll
mode, scrolls to bottom and exists the scroll mode
- Bound by default to
-
Simplify deserialization slightly (#633)
-
Fix update plugin attributes on inactive tab (#634)
-
New pane UI: draw pane frames - can be disabled with ctrl-p + z, or through configuration (#643)
-
Terminal compatibility: support changing index colors through OSC 4 and similar (#646)
-
Fix various shells (eg. nushell) unexpectedly exiting when the user presses ctrl-c (#648)
-
Fix line wrapping while scrolling (#650)
-
Indicate to the user when text is copied to the clipboard with the mouse (#642)
-
Terminal compatibility: properly paste multilines (#653 + #658)
-
Terminal compatibility: fix progress bar line overflow (http://github.com/zellij-org/zellij/pull/656)
-
Add action to toggle between tabs
ToggleTab
, bound by default to [TAB] in tab mode (#622) -
Terminal compatibility: properly handle cursor shape changes in eg. Neovim (#659)
-
The resize and layout systems have been overhauled (#568)
- Resizing a terminal then returning it to its original size will now always return panes to their original sizes and positions
- Resize mode resizes panes by 5% of the space on screen, not some fixed number
- Panes on-screen keep their ratios – a screen split 50/50 between two panes will remain 50/50 even as the terminal is resized (#406)
- The terminal can now be resized without leaving fullscreen mode
- Layout parts are split into equal percentages if no explicit split-size is given (#619)
- Fixed display of the tab bar at small terminal widths
-
Add
tabs
tolayouts
(#625)The layout has now a template, and tabs section.
The template specifies the location a tab is inserted in withbody: true
.Eg:
--- template: direction: Horizontal parts: - direction: Vertical borderless: true split_size: Fixed: 1 run: plugin: tab-bar - direction: Vertical # <= The location of body: true # <= the inserted tab. - direction: Vertical borderless: true split_size: Fixed: 2 run: plugin: status-bar tabs: - direction: Vertical # <= Multiple tabs can be - direction: Vertical # <= specified in the layout. - direction: Vertical
The
NewTab
action can optionally be bound to open
a layout that is assumed to be in the newtabs
sectionThis is a BREAKING CHANGE for people that have the
NewTab
action already bound in the config file:- action: [NewTab, ] key: [F: 5,]
must now be specified as:
- action: [NewTab: ,] key: [F: 5,]
Optionally a layout that should be opened on the new tab can be
specified:- action: [NewTab: { direction: Vertical, parts: [ {direction: Horizontal, split_size: {Percent: 50}}, {direction: Horizontal, run: {command: {cmd: "htop"}}},], key: [F: 6,]
Release v0.15.0
-
Kill children properly (#601)
-
Change name of
Run
binding for actions (#602) -
Add running commands to
layouts
(#600)POSSIBLE BREAKING CHANGE for custom layouts:
Plugins are under the run category now, that means:plugin: status-bar
is now:
run: plugin: status-bar
-
Add
on_force_close
config option (#609)
Release v0.14.0
- Add improved error handling for layouts (#576)
- Change layout directory from data to config (#577)
POSSIBLE BREAKING CHANGE:
In case of having custom layouts in the previous
layout-dir
one can switch either the layouts to
the new dir, or set thelayout-dir
to be the current
layout-dir
- Fix
Makefile.toml
because of missing directory (#580) - Autodetach on force close (#581)
- Add option to specify a default shell (#594)
- Add action to run bound commands in a pane (#596)
- Initial mouse support (#448)
- Add
layout-dir
tosetup --check
subcommand (#599)
Release v0.13.0
- Fix crash when padding before widechar (#540)
- Do not lag when reading input too fast (#536)
- Session name optional in attach command (#542)
- Fix build on platforms with TIOCGWINSZ / ioctl() integer type mismatch (#547)
- Fix(ui): session mode should be disabled in locked mode (#548)
- Add option to start in arbitrary modes (#513)
- Attaching to a session respects the
default_mode
setting of the client (#549) - Add option to specify a color theme in the config (#550)
- Fix config options to not depend on
simplified_ui
(#556) - Don't rename
unnamed
tabs upon deletion of other tabs (#554) - Add layout to disable the status bar (#555)
- Significantly improve terminal pane performance (#567)
Release v0.12.1
- HOTFIX: fix Zellij not responding to input on certain terminals (#538)
Release v0.12.0
- Remove unused imports (#504)
- More Infrastructure changes for the upcoming session detach feature: run server and client in separate processes (#499)
- Restructuring cargo workspace: Separate client, server and utils into separate crates (#515)
- Terminal compatibility: handle most OSC sequences (#517)
- Split
layout
flag intolayout
andlayout-path
(#514) - Fix behaviour of the
clean
flag (#519) - Make distinction clearer between certain configuration flags (#529)
- Resource usage and performance improvements (#523)
- Feature: Detachable/Persistent sessions (#531)
- Terminal compatibility: Support wide characters (#535)
Release v0.11.0
Release v0.10.0
- Change Switch default config loading order of
HOME
and system (#488) - Add support for requesting a simpler layout from plugins, move
clean
flag fromoptions
tosetup
(#479) - Improve config loading slightly (#492)
- Terminal compatibility: preserve current style when clearing viewport (#493)
- Fix propagation of plugin ui request (#495)
- Handle pasted text properly (#494)
- Fix default keybinds for tab -> resize mode (#497)
- Terminal compatibility: device reports (#500)
- Forward unknown keys to the active terminal (#501)