Skip to content

Releases: zellij-org/zellij

Release v0.25.0

22 Feb 11:36
Compare
Choose a tag to compare

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 with ctrl-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

New Contributors

Full Changelog: v0.24.0...v0.25.0

Release v0.24.0

05 Jan 09:38
Compare
Choose a tag to compare

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

20 Dec 17:02
Compare
Choose a tag to compare
  • 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

14 Dec 16:38
Compare
Choose a tag to compare
  • Hotfix: Focus fullscreen pane when switching tab focus (#941)

Release v0.22.0

13 Dec 14:58
Compare
Choose a tag to compare
  • 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

29 Nov 08:41
Compare
Choose a tag to compare
  • 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 Tabs (#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

10 Nov 17:00
Compare
Choose a tag to compare
  • 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

08 Nov 14:22
Compare
Choose a tag to compare
  • 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 post v0.35.3 (#819)
  • Fix: Unused import for darwin systems (#820)
  • Add: WriteChars action (#825)
  • Fix: typo and grammar (#826)
  • Add: rust-version - msrv field to Cargo.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 to colorsys (#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 the attach 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

20 Oct 12:32
Compare
Choose a tag to compare
  • 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)

Release v0.18.1

30 Sep 09:20
Compare
Choose a tag to compare
  • HOTFIX: mouse selection now working (#752)
  • HOTFIX: prevent strider from descending into /host folder (#753)