Skip to content

Releases: zellij-org/zellij

Release v0.18.0

29 Sep 12:52
Compare
Choose a tag to compare
  • 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

15 Sep 14:18
Compare
Choose a tag to compare
  • 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:
      ...
      plugin: strider
      ...
      has become:
      plugin:
        path: strider
      A plugin can be given command executing permission with:
      plugin:
        path: strider
        _allow_exec_host_cmd: true
  • 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

31 Aug 08:04
Compare
Choose a tag to compare
  • 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 back dbg! support!
  • Add displaying of the session-name to the tab-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 in scroll mode, scrolls to bottom and exists the scroll mode
  • 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 to layouts (#625)

    The layout has now a template, and tabs section.
    The template specifies the location a tab is inserted in with body: 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 new tabs section

    This 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

19 Jul 19:28
Compare
Choose a tag to compare
  • 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

05 Jul 08:16
Compare
Choose a tag to compare
  • 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 the layout-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 to setup --check subcommand (#599)

Release v0.13.0

04 Jun 09:13
Compare
Choose a tag to compare
  • 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

28 May 12:09
Compare
Choose a tag to compare
  • HOTFIX: fix Zellij not responding to input on certain terminals (#538)

Release v0.12.0

27 May 12:17
Compare
Choose a tag to compare
  • 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 into layout and layout-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

15 May 11:39
Compare
Choose a tag to compare

This version is mostly an installation hotfix.

  • Add check flag to setup subcommand, move generate-completions subcommand to setup flag (#503)
  • Change the asset installation from an opt-in to an opt-out (#512)

Release v0.10.0

14 May 08:35
8cdc7fb
Compare
Choose a tag to compare
  • Change Switch default config loading order of HOME and system (#488)
  • Add support for requesting a simpler layout from plugins, move clean flag from options to setup (#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)