Releases: zellij-org/zellij
Release v0.25.0
Notable Features
- Floating panes - you can now open a new floating pane with
ctrl-p
+w
, or toggle floating of an existing embedded / floated window withctrl-p
+e
- Tmux mode - Zellij now supports basic tmux keybindings for splitting panes, moving focus and opening/renaming tabs. They work out of the box without further configuration.
- Copy directly to system clipboard - Zellij now supports a configuration that would allow it to copy directly to system clipboard, providing a workaround for terminals who previously weren't supported (eg. gnome-terminal). More information: https://zellij.dev/documentation/compatibility.html#clipboard-not-working
Upgrading from previous versions
This version includes new keybindings (for floating panes and tmux mode). If you have a custom configuration that unbinds all keybindings, you'll need to update it in order to be able to use these features. This can be done with zellij setup --dump-config > new-config-file.yaml
. For more information: https://zellij.dev/documentation/configuration.html
Breaking Changes
This version includes some breaking changes for plugins. Fortunately, all of them are internally handled in the zellij-tile
library. To get your plugins to work with the new version, you'll need to compile them again against the new version. If you have any questions or issues, please reach out on one of our chat servers or open an issue.
What's Changed
- fix: add exception for cwd does not exist by @jaeheonji in #995
- feat: change dependency for
process_cwd
by @jaeheonji in #1001 - Proposal: Allow use of system clipboard by @djpate in #996
- Add option to default config for copy_command (PR #996) by @JCallicoat in #1019
- Update arg parsing to clap v3 by @tranzystorek-io in #1017
- feat: accept only printable unicode char by @jaeheonji in #1016
- fix(scroll): scroll pane by actual amount of rows by @tlinford in #1025
- fix(compatibility): handle csi erase param 3 by @tlinford in #1026
- Create tokyonightDark.yaml by @Vanderscycle in #1015
- fix(config): warn on mode without actions by @a-kenji in #1035
- feat: add focus attribute in layout by @jaeheonji in #958
- fix(compatibility): do not set scroll buffer in alternate screen by @tlinford in #1032
- allow osc52 copy destination configuration by @tlinford in #1022
- Solve Issue #1010 by @RobWalt in #1045
- fix fzf crash by @tlinford in #1056
- Add floating panes by @imsnif in #1066
- chore: bump internal autocfg dependency to 1.1.0 by @tranzystorek-io in #1071
- feat(ux): tmux mode by @imsnif in #1073
- fix(copy): rejoin wrapped lines by @tlinford in #1069
- fix(ui): floating panes UI by @imsnif in #1074
- fix(ui): restore get active at by @imsnif in #1076
- update demo animation by @imsnif in #1086
New Contributors
- @djpate made their first contribution in #996
- @JCallicoat made their first contribution in #1019
- @Vanderscycle made their first contribution in #1015
- @RobWalt made their first contribution in #1045
Full Changelog: v0.24.0...v0.25.0
Release v0.24.0
This is a breaking change
In this release we improved the default keybindings (for more details: #991)
If you don't have a custom config this does not affect you.
If you have a custom config, everything should still work as usual, except for the occasional keybinding inconsistency. You might want to re-create it though to get the new keybindings - we feel they are much more usable. You can re-create it with zellij setup --dump-config /path/to/config/file
for more details: https://zellij.dev/documentation/configuration.html
Changes
- Terminal compatibility: properly handle insertion of characters in a line with wide characters (#964)
- Terminal compatibility: properly handle deletion of characters in a line with wide characters (#965)
- Fix: properly remove clients when detaching from a session (#966)
- Fix: plugin theme coloring (#975)
- Fix: prevent unhandled mouse events escape to terminal (#976)
- Fix: ensure clippy runs on all targets (#972)
- Fix: atomically create default assets every time a session starts (#961)
- Fix: Allow multiple users to switch tabs with the mouse (#959)
- Fix: Allow switching tabs with the mouse when pane is in fullscreen (#977)
- Fix: pass bell (helpful for eg. desktop notifications) from terminal to desktop (#981)
- Fix: tab click crash on mouse click with multiple users (#984)
- Fix: accidental tab synchronization bug between multiple users when clicking with mouse (#986)
- Fix: Properly move users out of closed tab in a multiuser session (#990)
- Feature: Pass active pane title to terminal emulator (#980)
- Feature: Improve default keybindings (#991)
- Feature: Configurable scroll buffer size (#936)
Release v0.23.0
- Feature: add collaboration support - multiple users using multiple cursors (#957)
This change adds collaboration features to Zellij, and as such is a breaking change UX-wise.
From this version, if you attach to the same Zellij session from different windows (or of course, from different machines!) - you'll get a cursor for each connected user. You can focus on different panes, or different tabs and see each other typing. To get the previous behaviour of mirroring every window, use options --mirror-session
when starting the original session.
Release v0.22.1
- Hotfix: Focus fullscreen pane when switching tab focus (#941)
Release v0.22.0
- Fix: missing themes in configuration merge (#913)
- Fix: add
gray
to theme section (#914) - Fix: prevent zellij session from attaching to itself (#911)
- Terminal compatibility: fix flaky scrolling issue (#915)
- Fix: handle pasted text properly in windows terminal (#917)
- Fix: update example config options (#920)
- Fix: correct handling of unbinds (#923)
- Fix: improve perfomance when resizing window with a large scrollback buffer (#895)
- Fix: support multiple users in plugins (#930)
- Fix: update default layouts (#926)
- Add: infrastructure to show distinct tips in the
status-bar
plugin (#926) - Feature: Allow naming panes (#928)
Release v0.21.0
-
Add: initial preparations for overlay's (#871)
-
Add: initial
zellij.desktop
file (#870) -
Add: section for third party repositiories
THIRD_PARTY_INSTALL.md
(#857) -
Add: suggestion for similar session name, on attach (#843)
-
Fix: handling and overwriting options through the cli (#859)
THIS IS A BREAKING CHANGE:
Previously it was only possible to turn off certain features through the cli,
now it also is possible to overwrite this behavior - for that the following changed:- renamed and inverted:
disable_mouse_mode -> mouse_mode no_pane_frames -> pane_frames
- cli options added:
mouse-mode [bool] pane-frames [bool] simplified-ui [bool]
- cli flag removed:
simplified-ui
Now the cli options can optionally be toggled on, even if the config
turns it off, example:zellij options --mouse-mode true
-
Fix: fix CSI cursor next line not moving cursor to beginning of line after moving it down (#863)
-
Refactor: Support multiple users in
Tab
s (#864) -
Refactor: close_pane returns closed pane (#853)
-
Add: ability to configure zellij through layouts (#866)
-
Refactor: simplify terminal character style diff (#839)
-
Fix: improve performance with large scrollback buffer (#881)
-
Add: support osc8 escape code (#822)
-
Add: optionally leave ephemeral modes by pressing the
esc
key to default config (#889) -
Feature: Multiple users UI for panes behind a turned-off feature flag (#897)
-
Add: plugin api, to provide version information to plugins (#894)
Release v0.20.1
-
Add: initial session name to layout template (#789)
-
Fix: simplify matches (#844)
-
Add: support darwin builds on ci (#846)
-
Add: e2e instructions for x86 and arm darwin systems (#846)
-
Fix: use key-value style for
docker-compose
(#338) -
Fix: unify zellij environment variable handling (#842)
-
Add: toggle boolean options with cli flags (#855)
-
HOTFIX: fix pasting regression (#858)
Release v0.20.0
- Fix: improve performance of echoed keystrokes (#798)
- Add: Use hyperlinks for the setup information (#768)
- Feature: Rotate Pane location (#802)
- Terminal compatibility: improve handling of wide-characters when inserted mid-line (#806)
- Fix: plugins are now only compiled once and cached on disk (#807)
- Fix: pasted text performs much faster and doesn't kill Termion (#810)
- Fix: resizing/scrolling through heavily wrapped panes no longer hangs (#814)
- Terminal compatibility: properly handle HOME/END keys in eg. vim/zsh (#815)
- Fix: Typo (#821)
- Fix: Update
cargo-make
instructions postv0.35.3
(#819) - Fix: Unused import for darwin systems (#820)
- Add:
WriteChars
action (#825) - Fix: typo and grammar (#826)
- Add:
rust-version
- msrv field toCargo.toml
(#828) - Fix: improve memory utilization, reap both sides of pty properly and do not expose open FDs to child processes (#830)
- Fix: move from the deprecated
colors_transform
tocolorsys
(#832) - Feature: plugins can now detect right mouse clicks (#801)
- Fix: open pane in cwd even when explicitly specifying shell (#834)
- Fix: do not resize panes below minimum (#838)
- Feature: Non directional resize of panes (#520)
- Add:
colored
crate to replace manual color formatting (#837) - Add: introduce
thiserrror
to simplify error types (#836) - Add: support
--index
option for theattach
subcommand in order to
choose the session indexed by the provided creation date (#824) - Fix: simplify the main function significantly (#829)
- Feature: half page scrolling actions (#813)
Release v0.19.0
- Fix: Prevent text overwrite when scrolled up (#655)
- Add: Treat empty config files as empty yaml documents (#720)
- Fix: Commands that don't interact with the config file don't throw errors on malformed config files (#765)
- Add: Add config options to default config file (#766)
- Fix: Properly clear "FULLSCREEN" status when a pane exits on its own (#757)
- Refactor: handle clients in tabs/screen (#770)
- Feature: kill-session and kill-all-sessions cli commands (#745)
- Fix: Keep default file permissions for new files (#777)
- Feature: Add mouse events to plugins β including strider and the tab-bar (#629)
- Feature: Directional movement of panes (#762)
- Refactor: More groundwork to support multiple-clients in tabs (#788)