v0.39.0
版本发布时间: 2023-11-07 15:48:06
zellij-org/zellij最新发布版本:v0.40.1(2024-05-02 15:16:06)
This is a significant release with lots of major and long requested features. Here's a run down:
Session Resurrection
This version adds a built-in capability to resurrect sessions. Attaching to "exited" sessions will re-create them, placing any running commands behind a Press <ENTER> to run
banner so as to prevent awkward situations with things like rm -rf
. Sessions can also be resurrected through the session-manager
.
Special thanks to @AlixBernard for implementing the serialization algorithm, as well as to @alekspickle for helping integrate the algorithm with our code base. Without them this feature would not have come to be.
UI Components for Plugins
This version introduces UI Components for plugins. Allowing plugins to render beautiful and consistent UI elements (eg. table
, ribbon
, nexted-list
) no matter which programming language they were developped in. These components are serialized on the plugin-side and interpreted by our ANSI interpreter using a private DCS
.
Load Plugins from the Web
This release introduces the http(s)
prefix for plugin URLs. Meaning we would be able to load them from the web just like we load them from the HD.
A new top-level CLI command was also added to make loading plugins easier:
zellij plugin -- https://example.com/plugin.wasm # Will also work with file: and zellij: urls
Thanks @jaeheonji for designing and implementing this feature.
Renaming Sessions
It's now possible to rename the current session. This can either be done through the CLI with the new rename-session
action, or through the session-manager
with Ctrl r
.
Start panes in-place
Sometimes, when opening new panes it can be convenient to have them open "in-place", meaning that they would replace the currently active pane and then drop back to it once they exit. This release adds this ability to zellij run
and similar commands using the --in-place
flag.
Wasmer 3.x upgrade
While not user facing, this is an important upgrade of our WebAssembly runtime that makes packaging easier as well as facilitating compatibility to some platforms.
Thanks @tlinford for his tremendous efforts in getting this done
New Plugin APIs
RunCommand - execute command in the background and get a response
This API allows plugins to run a command on the host machine. The command will run in the background and the plugin will be notified with an Event
when the command has completed, receiving its exit code, STDIN and STDOUT.
WebRequest - execute an http(s) request in the background and get a response
This API allows plugins to make a web request and receive its output. The request will run in the background and the plugin will receive an Event
with the response once the request is complete.
Add <ESC> - Drop to shell
to command panes
For a while now, Zellij has had the concept of "command panes" - panes that run a specific command as part of the UI. Now, in addition to being able to re-run the command with ENTER
and close the pane with Ctrl c
, it's also possible to drop to a shell with <ESC>
. This can be especially useful when combined with the session resurrection feature (eg. if one does not want to run the resurrected command but does not want to close the pane either).
Support Styled Underlines
Zellij now supports the "styled underlines" ANSI extension.
Thanks @eatgrass and @mike-lloyd03 for the implementation
Open new Plugins to current CWD
Starting this release, plugins are opened to the working folder of the currently focused terminal pane (if available), rather than the folder in which the Zellij session was started.
All changes
- fix(utils): validate session name by @deepsghimire in https://github.com/zellij-org/zellij/pull/2607
- feat(panes): in place run by @imsnif in https://github.com/zellij-org/zellij/pull/2795
- Fix: fg color for gruvbox light theme by @papey in https://github.com/zellij-org/zellij/pull/2791
- fix: display parsing error for kdl files located under the 'themes' directory by @shinhs0506 in https://github.com/zellij-org/zellij/pull/2762
- feat(plugins): upgrade wasmer to 3.1.1 by @tlinford in https://github.com/zellij-org/zellij/pull/2706
- remove leftover Cargo.lock file from session-manager plugin by @silwol in https://github.com/zellij-org/zellij/pull/2819
- chore: migrate to directories from directories-next by @silwol in https://github.com/zellij-org/zellij/pull/2820
- chore: update uuid dependency to 1.4.1 by @silwol in https://github.com/zellij-org/zellij/pull/2821
- fix(plugins): address potential security issue by @tlinford in https://github.com/zellij-org/zellij/pull/2830
- fix(plugins): add zellij version to cached artifact path by @tlinford in https://github.com/zellij-org/zellij/pull/2836
- Session resurrection by @imsnif in https://github.com/zellij-org/zellij/pull/2801
- feat(client): terminal synchronized output by @gmorer in https://github.com/zellij-org/zellij/pull/2798
- fix(resurrection): log failure instead of crashing in some edge cases by @imsnif in https://github.com/zellij-org/zellij/pull/2851
- fix(plugins): make auxiliary functions (get_focused_tab and get_focused_pane) public by @Nacho114 in https://github.com/zellij-org/zellij/pull/2765
- feat(plugins): plugin run_command api by @imsnif in https://github.com/zellij-org/zellij/pull/2862
- style: cyberpunk inspired theme options added by @Sr-vZ in https://github.com/zellij-org/zellij/pull/2868
- feat(panes): Add an option to press <ESC> and drop to shell in command panes by @imsnif in https://github.com/zellij-org/zellij/pull/2872
- feat(plugins): web requests api by @imsnif in https://github.com/zellij-org/zellij/pull/2879
- fix(cli): session names only for attach in fish completion by @dj95 in https://github.com/zellij-org/zellij/pull/2857
- feat(plugins): UI components by @imsnif in https://github.com/zellij-org/zellij/pull/2898
- feat: support load plugins from the web by @jaeheonji in https://github.com/zellij-org/zellij/pull/2863
- feat(sessions): resurrect sessions through the session-manager (and plugin API) by @imsnif in https://github.com/zellij-org/zellij/pull/2902
- Styled underlines by @eatgrass in https://github.com/zellij-org/zellij/pull/2730
- feat(ux): allow renaming sessions by @imsnif in https://github.com/zellij-org/zellij/pull/2903
- fix(plugins): start plugin pane in cwd of focused pane if possible by @imsnif in https://github.com/zellij-org/zellij/pull/2905
- fix(resurrection): properly serialize certain edge cases by @imsnif in https://github.com/zellij-org/zellij/pull/2907
- docs(api): docs for shim.rs by @imsnif in https://github.com/zellij-org/zellij/pull/2909
New Contributors
- @deepsghimire made their first contribution in https://github.com/zellij-org/zellij/pull/2607
- @papey made their first contribution in https://github.com/zellij-org/zellij/pull/2791
- @shinhs0506 made their first contribution in https://github.com/zellij-org/zellij/pull/2762
- @silwol made their first contribution in https://github.com/zellij-org/zellij/pull/2819
- @gmorer made their first contribution in https://github.com/zellij-org/zellij/pull/2798
- @Sr-vZ made their first contribution in https://github.com/zellij-org/zellij/pull/2868
- @dj95 made their first contribution in https://github.com/zellij-org/zellij/pull/2857
- @eatgrass made their first contribution in https://github.com/zellij-org/zellij/pull/2730
Full Changelog: https://github.com/zellij-org/zellij/compare/v0.38.2...v0.39.0
1、 zellij-aarch64-apple-darwin.sha256sum 73B
2、 zellij-aarch64-apple-darwin.tar.gz 8.21MB
3、 zellij-aarch64-unknown-linux-musl.sha256sum 73B
4、 zellij-aarch64-unknown-linux-musl.tar.gz 9.98MB
5、 zellij-x86_64-apple-darwin.sha256sum 73B
6、 zellij-x86_64-apple-darwin.tar.gz 8.67MB
7、 zellij-x86_64-unknown-linux-musl.sha256sum 73B
8、 zellij-x86_64-unknown-linux-musl.tar.gz 10.98MB