zellij/CHANGELOG.md

843 lines
63 KiB
Markdown
Raw Normal View History

2021-04-21 17:57:00 +03:00
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
## [Unreleased]
* fix(tab-bar,compact-bar): tab switching with mouse sometimes not working (https://github.com/zellij-org/zellij/pull/2587)
2023-06-20 18:34:24 +03:00
## [0.37.2] - 2023-06-20
2023-06-20 00:07:28 +03:00
* hotfix: include theme files into binary (https://github.com/zellij-org/zellij/pull/2566)
2023-06-20 17:38:50 +03:00
* fix: make plugin hide_self api idempotent (https://github.com/zellij-org/zellij/pull/2568)
2023-06-19 19:18:06 +03:00
## [0.37.1] - 2023-06-19
2023-06-18 18:21:26 +03:00
* hotfix: theme options does not work (https://github.com/zellij-org/zellij/pull/2562)
2023-06-19 19:10:24 +03:00
* fix: various plugin api methods (https://github.com/zellij-org/zellij/pull/2564)
2023-06-18 15:17:39 +03:00
## [0.37.0] - 2023-06-18
* fix(plugin): respect hide session option on compact-bar (https://github.com/zellij-org/zellij/pull/2368)
2023-04-18 17:34:35 +03:00
* feat: allow excluding tabs from tab sync in layouts (https://github.com/zellij-org/zellij/pull/2314)
2023-04-18 17:36:32 +03:00
* feat: support default cwd (https://github.com/zellij-org/zellij/pull/2290)
* feat: cli action to reload plugins at runtime for easier plugin development (https://github.com/zellij-org/zellij/pull/2372)
* docs(architecture): update architecture docs (https://github.com/zellij-org/zellij/pull/2371)
2023-04-26 17:30:55 +03:00
* feat(themes): add nightfox themes (https://github.com/zellij-org/zellij/pull/2384)
* feat: provide default themes (https://github.com/zellij-org/zellij/pull/2307)
* feat: update and render plugins asynchronously (https://github.com/zellij-org/zellij/pull/2410)
* fix: support environment variables and shell expansions in layout cwds (https://github.com/zellij-org/zellij/pull/2291)
2023-04-28 17:54:42 +03:00
* fix: add file paths to file not found errors (https://github.com/zellij-org/zellij/pull/2412)
2023-05-01 18:54:20 +03:00
* fix: error loading non-existant themes directory (https://github.com/zellij-org/zellij/pull/2411)
2023-05-03 22:19:18 +03:00
* build: speed up build and ci https://github.com/zellij-org/zellij/pull/2396
* fix: sticky bit FreeBSD crash https://github.com/zellij-org/zellij/pull/2424
* build: Bump rust toolchain version to 1.67 (https://github.com/zellij-org/zellij/pull/2375)
* fix: update config file output (https://github.com/zellij-org/zellij/pull/2443)
2023-05-16 13:57:39 +03:00
* feat: plugin workers for background tasks (https://github.com/zellij-org/zellij/pull/2449)
* fix: cwd of newtab action (https://github.com/zellij-org/zellij/pull/2455)
* feat: plugin system overhaul (https://github.com/zellij-org/zellij/pull/2510)
2023-06-09 23:50:26 +03:00
* feat: add virtually all of Zellij's API to plugins (https://github.com/zellij-org/zellij/pull/2516)
2023-06-12 15:02:25 +03:00
* fix: runtime panic because of local cache (https://github.com/zellij-org/zellij/pull/2522)
2023-06-12 20:03:13 +03:00
* fix: cursor flickering (https://github.com/zellij-org/zellij/pull/2528)
2023-06-12 23:06:22 +03:00
* fix: focus tab as well as pane when relaunching plugin (https://github.com/zellij-org/zellij/pull/2530)
* feat: ui improvements for strider search (https://github.com/zellij-org/zellij/pull/2531)
2023-06-13 10:01:14 +03:00
* fix: only watch fs if plugins explicitly request it (https://github.com/zellij-org/zellij/pull/2529)
* fix: suppress debug logging when not debugging (https://github.com/zellij-org/zellij/pull/2532)
2023-06-15 18:08:23 +03:00
* feat: send pane events to plugins (https://github.com/zellij-org/zellij/pull/2545)
2023-06-16 22:05:22 +03:00
* fix: use debounced watcher for watching filesystem (https://github.com/zellij-org/zellij/pull/2546)
* feat: add more plugin api methods (https://github.com/zellij-org/zellij/pull/2550)
2023-04-13 11:35:04 +03:00
## [0.36.0] - 2023-04-13
* fix: when moving pane focus off screen edge to the next tab, the pane on the screen edge is now focused (https://github.com/zellij-org/zellij/pull/2293)
* fix: adding panes to lone stack (https://github.com/zellij-org/zellij/pull/2298)
* fix: closing a stacked pane now properly moves to the previous swap layout if appropriate (https://github.com/zellij-org/zellij/pull/2312)
* deps: update interprocess: fix crash and reduce memory usage by not leaking socket file descriptors on client attach (https://github.com/zellij-org/zellij/pull/2322)
2023-03-27 19:49:33 +03:00
* feat: load plugins asynchronously (https://github.com/zellij-org/zellij/pull/2327)
* feat: cli and bindable action to clear the current terminal's buffer and scrollback (https://github.com/zellij-org/zellij/pull/2239)
* feat: add option to `hide_session_name` in tab-bar (https://github.com/zellij-org/zellij/pull/2301)
* fix: do not use default swap layouts when opening a new tab with a custom layout (https://github.com/zellij-org/zellij/pull/2336)
* fix: properly truncate panes with attributes when applying swap layouts (https://github.com/zellij-org/zellij/pull/2337)
* fix: support spaces in scrollback_editor (https://github.com/zellij-org/zellij/pull/2339)
* fix: tab focus race condition when applying layout (https://github.com/zellij-org/zellij/pull/2340)
* feat: allow specifying an "expanded" pane in a stack when defining layouts (https://github.com/zellij-org/zellij/pull/2343)
* fix: stacked pane focus glitches in layout (https://github.com/zellij-org/zellij/pull/2344)
2023-04-04 19:40:21 +03:00
* fix: strider now no longer opens one pane per client when editing files (https://github.com/zellij-org/zellij/pull/2346)
2023-04-05 18:39:02 +03:00
* fix: set sticky bit on socket files to avoid automatic cleanup (https://github.com/zellij-org/zellij/pull/2141)
2023-04-13 11:03:49 +03:00
* fix: memory leak when attaching/detaching from sessions (https://github.com/zellij-org/zellij/pull/2328)
2023-06-14 14:45:29 +03:00
* fix: allow loading plugins from relative urls (https://github.com/zellij-org/zellij/pull/2539)
2023-03-10 16:54:07 +03:00
## [0.35.2] - 2023-03-10
2023-03-08 18:42:34 +03:00
* fix: get "zellij attach --create" working again (https://github.com/zellij-org/zellij/pull/2247)
* fix: crash when closing tab with command panes (https://github.com/zellij-org/zellij/pull/2251)
2023-03-09 18:59:16 +03:00
* Terminal compatibility: pad end of line on `CSI P` (https://github.com/zellij-org/zellij/pull/2259)
2023-03-08 18:42:34 +03:00
## [0.35.1] - 2023-03-07
* fix: show visual error when unable to split panes vertically/horizontally (https://github.com/zellij-org/zellij/pull/2025)
WIP: Use `xtask` as build system (#2012) * xtask: Implement a new build system xtask is a cargo alias that is used to extend the cargo build system with custom commands. For an introduction to xtask, see here: https://github.com/matklad/cargo-xtask/ The idea is that instead of writing makefiles, xtask requires no additional dependencies except `cargo` and `rustc`, which must be available to build the project anyway. This commit provides a basic implementation of the `build` and `test` subcommands. * xtask/deps: Add 'which' * xtask/test: Handle error when cargo not found * xtask/flags: Add more commands to perform different useful tasks. Includes: - clippy - format - "make" (composite) - "install" (composite) Also add more options to `build` to selectively compile plugins or leave them out entirely. * xtask/main: Return error when cargo not found * xtask/build: Add more subtasks - `wasm_opt_plugins` and - `manpage` that perform other build commands. Add thorough documentation on what each of these does and also handle the new `build` cli flags appropriately. * xtask/clippy: Add job to run clippy * xtask/format: Add job to run rustfmt * xtask/pipeline: Add composite commands that perform multiple atomic xtask commands sequentially in a pipeline sort of fashion. * xtask/deps: Pin dependencies * xtask/main: Integrate new jobs and add documentation. * xtask: Implement 'dist' which performs an 'install' and copies the resulting zellij binary along with some other assets to a `target/dist` folder. * cargo: Update xflags version * xtask: Measure task time, update tty title * xtask: Update various tasks * xtask: wasm-opt plugins in release builds automatically. * xtask/build: Copy debug plugins to assets folder * xtask: Add 'run' subcommand * xtask: Add arbitrary args to test and run * xtask: Rearrange CLI commands in help * xtask: Add deprecation notice * docs: Replace `cargo make` with `xtask` * github: Use `xtask` in workflows. * xtask: Add support for CI commands * xtask: Streamline error handling * github: Use new xtask commands in CI * xtask: Add 'publish' job * xtask/publish: Add retry when publish fails * xtask: Apply rustfmt * xtask: Refine 'make' deprecation warning * xtask: add task to build manpage * contributing: Fix e2e commands * xtask/run: Add missing `--` to pass all arguments following `xtask run` directly to the zellij binary being run. * xtask: Stay in invocation dir and make all tasks that need it change to the project root dir themselves. * xtask/run: Add `--data-dir` flag which will allow very quick iterations when not changing the plugins between builds. * xtask/ci: Install dependencies without asking * utils: Allow including plugins from target folder * utils/assets: Reduce asset map complexity * utils/consts: Update asset map docs * xtask: Fix plugin includes * xtask/test: Build plugins first because the zellij binary needs to include the plugins. * xtask/test: Fix formatting * xtask: Add notice on how to disable it
2022-12-17 16:27:18 +03:00
* build: Use `xtask` as build system (https://github.com/zellij-org/zellij/pull/2012)
* fix: show visual error when failing to resize panes in various situations (https://github.com/zellij-org/zellij/pull/2036)
2022-12-20 14:25:01 +03:00
* dist: remove nix support (https://github.com/zellij-org/zellij/pull/2038)
* feat: support floating panes in layouts (https://github.com/zellij-org/zellij/pull/2047)
* feat: add tmux close pane key (https://github.com/zellij-org/zellij/pull/2058)
* fix: copy_on_select = false sticky selection (https://github.com/zellij-org/zellij/pull/2086)
2023-01-13 20:24:41 +03:00
* fix: do not drop wide chars when resizing to width of 1 column (https://github.com/zellij-org/zellij/pull/2082)
* fix: disallow path-like names for sessions (https://github.com/zellij-org/zellij/pull/2082)
* errors: Remove more `unwrwap`s from server code (https://github.com/zellij-org/zellij/pull/2069)
* fix: support UTF-8 character in tab name and pane name (https://github.com/zellij-org/zellij/pull/2102)
* fix: handle missing/inaccessible cache directory (https://github.com/zellij-org/zellij/pull/2093)
Improve client disconnect handling (#2068) * xtask/run: Use varargs when run with `-data-dir` Previously any additional arguments passed on the command line were ignored. Now they are appended to `cargo run ...` as documented. * server/os_i_o: Improve error message when IPC dies and display the last send/recv error to the user instead of a generic "Buffer full" message. * server/lib: Log error in `send_to_client!` so we will know when an error occured while trying to send a message to the client. The most likely cause for this is that the client buffer filled up and hence we cannot send any new messages. While we still disconnect the client as before, now we also write a log message that explains the situation. * utils/channel: Apply rustfmt * server/lib: Detect when client responds too slow and log a message before disconnecting it. * server/os_i_o: Add retry queue to client senders that is dynamically allocated on-demand and stores `ServerToClientMsg` in case the regular IPC channel is currently full. This acts as a dynamic buffer to hold and buffer messages for a while until the client hopefully catches up. Also write a message to the log to indicate when the client is recognized to be too slow in handling server messages. * server: apply rustfmt * utils/ipc: Add session name to "Disconnect" error * utils/ipc: Fix error message indent * server/os_i_o: Undo IPC channel extension via `Vec` and drastically increase the IPC message queue size instead. Measurements didn't discover a drastic increase in RAM caused by this, and it is a much easier fix for the problem at hand. * CHANGELOG: Add PR #2068
2023-01-22 21:04:40 +03:00
* errors: Improve client disconnect handling (https://github.com/zellij-org/zellij/pull/2068)
* feat: add ScrollToTop action (https://github.com/zellij-org/zellij/pull/2110)
2023-01-27 15:38:20 +03:00
* fix: the status-bar now does the right thing when set to one line (https://github.com/zellij-org/zellij/pull/2091)
2023-02-07 17:47:03 +03:00
* feat: add cli action to switch to tab by name (https://github.com/zellij-org/zellij/pull/2120)
2023-02-13 19:53:16 +03:00
* dev: use the wasmer Singlepass compiler when compiling plugins in development (https://github.com/zellij-org/zellij/pull/2134 + https://github.com/zellij-org/zellij/pull/2146)
2023-02-13 20:02:12 +03:00
* feat: add pencil light theme (https://github.com/zellij-org/zellij/pull/2157)
* fix: apply correct color on 'more tabs' message (https://github.com/zellij-org/zellij/pull/2166)
2023-02-17 13:05:15 +03:00
* deps: upgrade termwiz to 0.20.0 (https://github.com/zellij-org/zellij/pull/2169)
* feat: swap layouts and stacked panes (https://github.com/zellij-org/zellij/pull/2167, https://github.com/zellij-org/zellij/pull/2191 and
)
2023-02-17 21:34:23 +03:00
* fix: cache STDIN queries to prevent startup delay (https://github.com/zellij-org/zellij/pull/2173)
* fix: scrollback positioning with Helix (https://github.com/zellij-org/zellij/pull/2156)
2023-02-20 19:24:42 +03:00
* fix: allow CJK characters in tab names (https://github.com/zellij-org/zellij/pull/2119)
* fix: fullscreen navigation (https://github.com/zellij-org/zellij/pull/2117)
2023-02-20 19:37:12 +03:00
* fix: glitchy resizes (https://github.com/zellij-org/zellij/pull/2182)
2023-02-26 17:40:26 +03:00
* fix: race when opening command panesin layout (https://github.com/zellij-org/zellij/pull/2196)
2023-02-26 21:21:47 +03:00
* fix: `focus` attribute in tab layouts now works (https://github.com/zellij-org/zellij/pull/2197)
* fix: new-tab cli action now properly looks in the layout folder as well (https://github.com/zellij-org/zellij/pull/2198)
* fix: new-tab keybind now properly looks in the layout folder as well (https://github.com/zellij-org/zellij/pull/2200)
2023-02-27 18:35:18 +03:00
* fix: cwd for edit panes (https://github.com/zellij-org/zellij/pull/2201)
* fix: get config parameters from config file when opening new-tab through the cli (https://github.com/zellij-org/zellij/pull/2203)
2023-02-28 20:23:14 +03:00
* Terminal compatibility: fix wrong styling interpretation when deleting characters (https://github.com/zellij-org/zellij/pull/2204)
2023-03-01 14:28:03 +03:00
* fix: report pixel size in ioctl (https://github.com/zellij-org/zellij/pull/2212)
* fix: handle empty cwd from unreadable processes (https://github.com/zellij-org/zellij/pull/2213)
2023-03-01 18:12:06 +03:00
* fix: properly decode plugin urls with spaces (https://github.com/zellij-org/zellij/pull/2190)
* feat: QueryTabNames cli action (https://github.com/zellij-org/zellij/pull/2145)
2023-03-01 22:14:23 +03:00
* fix: log error instead of crashing when unable to set CWD in a template (https://github.com/zellij-org/zellij/pull/2214)
2023-03-06 14:11:14 +03:00
* fix: tab names in layout and gototabname crash on create (https://github.com/zellij-org/zellij/pull/2225)
2023-03-07 05:46:28 +03:00
* feat: allow simulating releases (https://github.com/zellij-org/zellij/pull/2194)
* feat: add args to new-tab action in keybinds (https://github.com/zellij-org/zellij/pull/2072)
Eg:
```kdl
tab {
bind "n" { NewTab; SwitchToMode "Normal"; }
bind "m" { NewTab { cwd "/tmp"; name "example"; layout "/tmp/example.kdl"; }; SwitchToMode "Normal"; }
}
```
2022-09-09 14:00:24 +03:00
2022-12-13 16:59:49 +03:00
## [0.34.4] - 2022-12-13
* hotfix: fix panics when resizing with flexible plugin panes in layout (https://github.com/zellij-org/zellij/pull/2019)
2022-12-13 15:07:19 +03:00
* hotfix: allow non-absolute `SHELL` variables (https://github.com/zellij-org/zellij/pull/2013)
## [0.34.3] - 2022-12-09
2022-12-09 11:14:03 +03:00
2022-11-15 14:25:09 +03:00
* (BREAKING CHANGE) performance: change plugin data flow to improve render speed (https://github.com/zellij-org/zellij/pull/1934)
* (BREAKING CHANGE) performance: various render pipeline improvements (https://github.com/zellij-org/zellij/pull/1960)
* feat: support text input from clipboard (https://github.com/zellij-org/zellij/pull/1926)
* errors: Don't log errors from panes when quitting zellij (https://github.com/zellij-org/zellij/pull/1918)
2022-11-15 14:25:09 +03:00
* docs(contributing): update log path (https://github.com/zellij-org/zellij/pull/1927)
* fix: Fallback to `/bin/sh` if `SHELL` can't be read, panic if shell doesn't exist (https://github.com/zellij-org/zellij/pull/1769)
2022-11-16 15:48:15 +03:00
* feat(themes): add catppuccin themes (https://github.com/zellij-org/zellij/pull/1937)
2022-11-16 18:27:21 +03:00
* fix: treat relative paths properly in cli commands (https://github.com/zellij-org/zellij/pull/1947)
2022-11-16 20:00:54 +03:00
* fix: ensure ejected pane always has a frame (https://github.com/zellij-org/zellij/pull/1950)
* fix(compact-bar): mouse-click in simplified-ui (https://github.com/zellij-org/zellij/pull/1917)
2022-11-17 17:17:53 +03:00
* fix(themes): black and white inverted (https://github.com/zellij-org/zellij/pull/1953)
* fix(stability): gracefully handle SSH timeouts and other client buffer overflow issues (https://github.com/zellij-org/zellij/pull/1955)
* fix: empty session name (https://github.com/zellij-org/zellij/pull/1959)
plugins: rework plugin loading (#1924) * zellij: Move "populate_data_dir" to utils and rewrite it to take a second, optional parameter. This allows controlling whether only a specific asset should be installed. We do this as preparation for being able to recover from a plugin version mismatch error, where we will need to repopulate the data dir for offending plugins. * server/wasm_vm: Recover from PluginVersionMismatch Adds a global plugin cache that stores, per plugin config, the wasmer module associated with it. Make `start_plugin` take the pre-populated module and create only the necessary modifications to the wasm env etc. * utils: Fix formatting * zellij: Delete non-existent module * utils/shared: fix missing "set_permissions" function when not on unix systems. * server/wasm_vm: Don't populate cachedir with serialized versions of the WASM plugins. * utils/input/plugins: load wasm bytes from assets for builtin plugin specifications. This foregoes any need to: - Dump the plugin bytes to disk at all and - subsequently read the plugin bytes from disk * zellij: Disable default asset installation which previously installed only the builtin plugins to disk. This is no longer necessary because now we can load the builtin plugins directly from the application binary. * utils/input/plugins: Update docs * utils/input/plugins: Add 'is_builtin' method to `PluginConfig` that returns true if the plugin configuration refers to a builtin plugin. * wasm_vm: Remove plugin version mismatch handling because a version mismatch in an internal plugin is now unfixable, with the plugins being loaded from the running binary, and we have no control over external plugins in the first place. * cargo: Reintroduce feature flag for `disable_automatic_asset_installation` * utils/consts: Add `ASSET_MAP` which currently contains the compiled WASM plugins. * utils/shared: Fix clippy lint * utils/errors: Add more `ZellijError` variants * zellij: Make loading internal plugins optional by reenabling the `disable_automatic_asset_installation` flag and utilizing it for this purpose. Changes plugin search behavior to throw better errors in case the builtin plugins cannot be found, depending on the state of this feature. * utils/errors: Apply rustfmt * utils/setup: Allow dumping builtin plugins to a specified folder on disk. This is meant to be an "escape hatch" for users that have accidentally deleted the builtin plugins from disk (in cases where the plugins aren't loaded from inside the zellij binary). * utils/input/plugins: Update docs * utils/setup: Add hint to `setup --check` output when zellij was built without the `disable_automatic_asset_installation` flag and will thus not read builtin plugins from the "PLUGIN DIR". * utils/setup: Refine `setup --dump-plugins` to dump to: - The default "DATA DIR" when no option is provided with the argument, or - The provided option, if existent Also print a message to stdout with the destination folder that the plugins are dumped to. * server/wasm_vm: Ignore "NotFound" errors when attempting to delete the non-existent plugin data directories. This silences an error message that otherwise ends up in the logs when quitting zellij. * utils/errors: Extend "BuiltinPluginMissing" msg to hint the user to the `zellij setup --dump-plugins` command to fix their issues for them! * utils/errors: Track caller in calls to `non_fatal` which will hopefully, once closures can be annotated, allow us to display the location of the call to `non_fatal` in log messages. * utils/input/plugins: Fix plugin lookup to prefer internal assets if available. It was previously broken because sorting the paths vector before deduping it would bring the paths into a wrong order, looking up in the plugin folder first. Also print a log message when a plugin is being loaded from the internal assets but exists on disk, too. * Apply rustfmt * make: build-e2e depends on wasm-opt-plugins so it updates the assets when building the binary * server/qwasm_vm: Remove var * utils/consts: Add plugins from target folder and include them in the asset map from there, too. Include plugins from debug or release builds, depending on the build type. * utils/consts: Take release plugins from assets instead of the target/release folder. The latter will break installations from crates.io, because we currently rely on including the plugins we pre-compiled and distribute along with the binary. * server/wasm_vm: Reintroduce .cache folder to speedup subsequent application launches. * cargo: Reorder workspace members to improve behavior with `cargo make` with respect to compilation order. * Makefile: restructure plugin tasks * Makefile: Fix CI errors * Makefile: More CI diagnosis * github: Install wasm-opt in e2e test workflow * Makefile: Build plugins for e2e-test target * server/Wasm_vm: Reorder plugin folder creation so no folders are created in the plugin cache when loading a plugin fails due to not being present or similar. * update plugins testcommit * makefile: Change job order * changelog: Add PR #1924
2022-11-22 23:06:02 +03:00
* plugins: Cache plugins, don't load builtin plugins from disk (https://github.com/zellij-org/zellij/pull/1924)
* fix: server on longer crashes on client crash (https://github.com/zellij-org/zellij/pull/1965)
2022-11-23 20:16:16 +03:00
* fix: preserve pane focus properly when closing panes and switching tabs (https://github.com/zellij-org/zellij/pull/1966)
* fix(themes): missing tokyo-night-dark theme (https://github.com/zellij-org/zellij/pull/1972)
* refactor(plugins): fix plugin loading data flow (https://github.com/zellij-org/zellij/pull/1995)
* refactor(messaging): reduce extraneous cross-thread messaging (https://github.com/zellij-org/zellij/pull/1996)
* errors: preserve caller location in `to_log` (https://github.com/zellij-org/zellij/pull/1994)
2022-12-07 17:04:42 +03:00
* feat: show loading screen on startup (https://github.com/zellij-org/zellij/pull/1997)
Reimplement resize code (#1990) * server/floating_panes: Start removing `unwrap`s * server/panes: Remove more `unwrap`s in floating panes code. * utils/data: Unify `Direction` type which was previously present in multiple locations. Also start working on a new Resize Method (type `ResizeStrategy`), to remove code duplication in the resize code. * server: Implement new resize handling with the `ResizeStrategy` type. Add a new action with the ability to invoke it from the CLI. Take care to maintain backwards-compatibility in terms of configuring the new resize mode. * utils/layout: Add conversion for SplitDirection from `data::Direction`. * utils/data: Add impl for `Direction` * server/panes: Rework tiled pane resizing but it's currently still broken in a few regards and misses ability to perform "regular" increase/decrease. * server/panes/tiled_panes: Add debug assertion to catch if the total area of all panes (in percent) is different from 100.0 at some point. * server/panes/tiled/grid: Fix resize bug caused by the fact that neighboring plugin panes previously weren't filtered from resize operations, even though they cannot be resized at all. * utils/data: Add `invert` for `Resize` * utils/data: Add member to `ResizeStrategy` that controls whether we invert resize behavior when increasing size towards a bounadry. This maintains current behavior. * server/screen: Handle new attribute in `ResizeStrategy` * server/panes/resizer: Return `anyhow::Error` * server/panes/tiled: Implement resize increase/decrease without specifying a direction (towards all possible directions). Currently broken in some cases. * server/pane/tiled/grid: Don't return early to preserve resize debug assertions. * server/pane/tiled/grid: Fix resize bug caused by checking for the wrong alignments in some cases. Also refactor the code for looking up aligned panes. * server/panes/tiled/grid: Cleanup code and remove log statements and unused functions. * server/panes/float/grid: Invert resize if the floating pane is hitting a boundary already. * plugins/status-bar: Add hints for new resize * server: Use new resize method * server: Fix tests with new functions and result types. * apply rustfmt * utils: Apply rustfmt * server/panes/floating: Fix resize increase behavior which would previously, upon hitting a boundary, cause the pane to invert the resize operation, which is wrong. Instead, it now does not resize floating panes on an undirected resize "increase" in directions where it hits boundaries. * server/panes/tiled: Use correct resize increments The values for the resize increments were previously wrong, causing many of the tests to fail. * server/panes/tiled: Fix resize checks to correctly consider fixed-size panes. * utils/assets/config: Update default config with new keybindings for resize mode. * server/panes/tiled: Fix resize check * server/panes/tiled: Use shortener for `Direction` type in `change_pane_size` function. * server/panes/tiled: Restore resize behavior for undirected resizes, to the way it was before this PR. * server/panes/floating: Fix resize increment for undirected resizes * utils/data: Fix doctest * utils: Fix test snapshots for tests working with the default config * changelog: Add PR #1990
2022-12-08 15:50:28 +03:00
* feat: Allow "reducing" resizes, refactor resizing code (https://github.com/zellij-org/zellij/pull/1990)
2022-11-10 11:50:57 +03:00
## [0.33.0] - 2022-11-10
* debugging: improve error handling in `zellij_server::pty` (https://github.com/zellij-org/zellij/pull/1840)
2022-10-28 14:04:54 +03:00
* feat: allow command panes to optionally close on exit (https://github.com/zellij-org/zellij/pull/1869)
2022-10-28 14:31:19 +03:00
* add: everforest-dark, everforest-light themes to the example theme directory (https://github.com/zellij-org/zellij/pull/1873)
* feat: support multiple themes in one file (https://github.com/zellij-org/zellij/pull/1855)
* debugging: Remove calls to unwrap in `zellij_server::ui::*` (https://github.com/zellij-org/zellij/pull/1870)
* debugging: Remove calls to unwrap in `zellij_server::pty_writer` (https://github.com/zellij-org/zellij/pull/1872)
* docs(example): update the format of the themes for the example directory (https://github.com/zellij-org/zellij/pull/1877)
* debugging: Remove calls to unwrap in `zellij_server::terminal_bytes` (https://github.com/zellij-org/zellij/pull/1876)
* debugging: Remove calls to unwrap in `zellij_server::output` (https://github.com/zellij-org/zellij/pull/1878)
* fix: resolve `zellij setup --clean` panic (https://github.com/zellij-org/zellij/pull/1882)
* feat: allow toggling mouse mode at runtime (https://github.com/zellij-org/zellij/pull/1883)
2022-10-31 21:41:36 +03:00
* fix: display status bar properly if limited to only 1 line (https://github.com/zellij-org/zellij/pull/1875)
* feat: allow starting command panes suspended (https://github.com/zellij-org/zellij/pull/1887)
errors: Don't unwrap in `server::os_input_output` (#1895) * server/os_io: Redefine `ServerOsApi` result types to use `anyhow::Result` instead. This mostly makes the need of custom `SpawnTerminalError` obsolete (tbd in subsequent commits) and unifies error handling across the application. * utils/errors: Implement new `ZellijError` type to replace any previously defined, isolated custom error types throughout the application. Currently implements all error variants found in `SpawnTerminalError`. In the long term, this will allow zellij to fall back to a single error type for all application-specific errors, instead of having different error types per module. * server/unit/screen: Impl new `ServerOsApi` with updated `Result`-types. * server/tab/unit: Impl new `ServerOsApi` with updated `Result`-types. * server/os_io: Impl new `ServerOsApi` with updated `Result`-types. * utils/ipc: Return `anyhow::Error` in `send` rather than a `&'static str`, which isn't compatible with `anyhow::Context`. * server/tab: Handle `Result` in `resize_pty!` which is returned due to the changed return types in `ServerOsApi`. * server/tab: Handle new `Result`s originating in the change to the `ServerOsApi` trait definition. * server/screen: Handle new `Result`s originating in the change to the `ServerOsApi` trait definition. * server/panes/tiled: Handle new `Result`s originating in the change to the `ServerOsApi` trait definition. * server/panes/floating: Handle new `Result`s originating in the change to the `ServerOsApi` trait definition. * server/lib: Unwrap on new `Result`s originating in the change to the `ServerOsApi` trait definition. The functions here don't return a `Result` yet, this is better left to a follow-up PR. * server: Remove `SpawnTerminalError` and make use of the new `ZellijError` instead. Make use of `anyhow`s downcast capabilities to restore the underlying original errors where necessary, as was done previously. This gives us the flexibility to attach context information to all errors while still allowing us to handle specific errors in greater detail. * server/pty: Fix vars broken in rebase * server/os_io: Remove last `SpawnTerminalError` * changelog: Add PR #1895
2022-11-02 08:29:50 +03:00
* debugging: Remove calls to unwrap in `zellij_server::os_input_output` (https://github.com/zellij-org/zellij/pull/1895)
* fix: remove space key from shared_except (https://github.com/zellij-org/zellij/pull/1884)
* fix: clear search when sending terminating char (https://github.com/zellij-org/zellij/pull/1853)
* fix: properly convert the backslash key from old YAML config files (https://github.com/zellij-org/zellij/pull/1879)
* fix: clear floating panes indication when closing a floating command pane (https://github.com/zellij-org/zellij/pull/1897)
2022-11-02 21:25:50 +03:00
* Terminal compatibility: do not reset bold when resetting DIM (https://github.com/zellij-org/zellij/pull/1803)
* fix: Do not advertise 24 bit color support unchecked (https://github.com/zellij-org/zellij/pull/1900)
2022-11-03 13:07:48 +03:00
* fix: treat CWD properly when opening your editor through `zellij edit` or `ze` (https://github.com/zellij-org/zellij/pull/1904)
2022-11-03 13:38:58 +03:00
* fix: allow cli actions to be run outside of a tty environment (https://github.com/zellij-org/zellij/pull/1905)
2022-11-04 19:30:29 +03:00
* Terminal compatibility: send focus in/out events to terminal panes (https://github.com/zellij-org/zellij/pull/1908)
2022-11-05 16:46:42 +03:00
* fix: various bugs with no-frames and floating panes (https://github.com/zellij-org/zellij/pull/1909)
errors: Remove `log::error` in server (#1881) * server/wasm_vm: Replace `log::error!` with better error logging by means of `non_fatal`. This preserves the original error and allows adding context information on top. Also makes error formatting more uniform across the application. * server/tab: Replace `log::error!` with better error logging by means of `non_fatal`. This preserves the original error and allows adding context information on top. Also makes error formatting more uniform across the application. * server/route: Replace `log::error!` and propagate the error to the caller instead. * server/pty: Replace `log::error!` with better error logging by means of `non_fatal`. This preserves the original error and allows adding context information on top. Also makes error formatting more uniform across the application. Also add per-instruction error context to make it clear what we tried to accomplish when an error occured. * server/panes/tiled_panes: Merge dependencies and sort them into a better order. * server/panes/tiled_panes: Replace `log::error!` with better error logging by means of `non_fatal`. This preserves the original error and allows adding context information on top. Also makes error formatting more uniform across the application. * server/os_input_output: Merge depndencies and sort them into a better order. * server/logging_pipe: Replace `log::error!` with better error logging by means of `non_fatal`. This preserves the original error and allows adding context information on top. Also makes error formatting more uniform across the application. * server/os_io: Remove uses of `log::error` * changelog: Add PR #1881 * server/os_io: Gracefully handle failing resize for terminals IDs that don't exist, instead of propagating the error to the user. * server/lib: Remove leftover log message * server/pty: Log error cause rather than providing a hard-coded error reason which is plain wrong in this context. * server/screen: Remove calls to `log::error!` and change `get_active_tab(_mut)?` to return a `Result` instead of an `Option`. This already makes many places in the code obsolete where previously "failed to get active tab..." was logged manually. Rather than logging, use the `anyhow::Error`s we have, along with all their context information, and log these instead.
2022-11-08 13:56:23 +03:00
* debugging: Improve error logging in server (https://github.com/zellij-org/zellij/pull/1881)
2022-11-08 18:31:11 +03:00
* docs: add kanagawa theme (https://github.com/zellij-org/zellij/pull/1913)
2022-11-08 18:40:44 +03:00
* fix: use 'temp_dir' instead of hard-coded '/tmp/' (https://github.com/zellij-org/zellij/pull/1898)
* debugging: Don't strip debug symbols from release binaries (https://github.com/zellij-org/zellij/pull/1916)
2022-11-09 19:25:44 +03:00
* deps: upgrade termwiz to 0.19.0 and rust MSRV to 1.60.0 (https://github.com/zellij-org/zellij/pull/1896)
## [0.32.0] - 2022-10-25
* BREAKING CHANGE: switch config/layout/theme language to KDL (https://github.com/zellij-org/zellij/pull/1759)
* debugging: Improve error handling in screen thread (https://github.com/zellij-org/zellij/pull/1670)
* fix: Server exits when client panics (https://github.com/zellij-org/zellij/pull/1731)
* fix: Server panics when writing to suppressed pane (https://github.com/zellij-org/zellij/pull/1749)
* debugging: Improve error handling in screen thread private functions (https://github.com/zellij-org/zellij/pull/1770)
* fix(nix): add DiskArbitration and Foundation to darwin builds (https://github.com/zellij-org/zellij/pull/1724)
* debugging: Remove calls to `panic` in server/tab (https://github.com/zellij-org/zellij/pull/1748)
* debugging: Improve error format in server/thread_bus (https://github.com/zellij-org/zellij/pull/1775)
2022-10-11 17:46:55 +03:00
* feat: command pane - send commands to Zellij and re-run them with ENTER (https://github.com/zellij-org/zellij/pull/1787)
* fix: escape quotes and backslashes when converting YAML to KDL (https://github.com/zellij-org/zellij/pull/1790)
* fix: frameless pane wrong size after closing other panes (https://github.com/zellij-org/zellij/pull/1776)
* fix: error on mixed nodes in layouts (https://github.com/zellij-org/zellij/pull/1791)
* fix: error on duplicate pane_template / tab_template definitions in layouts (https://github.com/zellij-org/zellij/pull/1792)
2022-10-12 16:36:10 +03:00
* fix: accept session-name through the cli properly (https://github.com/zellij-org/zellij/pull/1793)
* fix: Prevent recursive sessions from layout files (https://github.com/zellij-org/zellij/pull/1766)
2022-10-13 14:56:37 +03:00
* fix: better error messages and recovery from layout issues (https://github.com/zellij-org/zellij/pull/1797)
2022-10-14 16:09:05 +03:00
* feat: allow layouts to have a global cwd (https://github.com/zellij-org/zellij/pull/1798)
2022-10-14 18:45:00 +03:00
* feat: edit panes in layouts (https://github.com/zellij-org/zellij/pull/1799)
* debugging: Log `thread_bus` IPC messages only in debug mode (https://github.com/zellij-org/zellij/pull/1800)
* feat: improve zellij run CLI (https://github.com/zellij-org/zellij/pull/1804)
* docs: Add tips for code contributions to CONTRIBUTING (https://github.com/zellij-org/zellij/pull/1805)
* feat: change floating panes to be grouped rather than scattered (https://github.com/zellij-org/zellij/pull/1810)
2022-10-18 18:37:16 +03:00
* fix: default to vi editor when we can't an editor in EDITOR or VISUAL and none is configured (https://github.com/zellij-org/zellij/pull/1811)
2022-10-19 10:26:59 +03:00
* deps: upgrade log4rs to 1.2.0 (https://github.com/zellij-org/zellij/pull/1814)
* feat: allow `DumpScreen` to dump the viewport by default (https://github.com/zellij-org/zellij/pull/1794)
2022-10-19 19:37:18 +03:00
* Terminal compatibility: clear scroll region when terminal pane is cleared (https://github.com/zellij-org/zellij/pull/1826)
2022-10-20 16:24:28 +03:00
* feat: allow defining tab cwd in layouts (https://github.com/zellij-org/zellij/pull/1828)
* debugging: Remove calls to `unwrap` from plugin WASM VM (https://github.com/zellij-org/zellij/pull/1827)
* debugging: Improve error handling in `server/route` (https://github.com/zellij-org/zellij/pull/1808)
plugins: Improve error handling on plugin version mismatch (#1838) * server/tab: Don't panic in `Pane::render` and do not crash the application on failure to receive a render update from plugins any longer. Instead, will print a simple string with a hint to check the application logs, where a more thorough error indication can be found. * utils/errors: re-export `anyhow::Error` to create ad-hoc errors with custom error types, without having to wrap them into a `context()` before to turn the into anyhow errors. * plugins: Check plugin version on startup and terminate execution with a descriptive error message in case the plugin version is incompatible with the version of zellij being run. * server/wasm_vm: Add plugin path in version error so the user knows which plugin to look at in case they're using custom plugins. * server/wasm_vm: Check plugin version for equality Previously we would accept cases where the plugin version was newer than the zellij version, which doesn't make a lot of sense. * server/wasm_vm: Prettier error handling in call to `wasmer::Function::call` in case a plugin version mismatch can occur. * tile: Install custom panic handler that will print the panic message to a plugins stdout and then call a panic handler on the host that turns it into a real application-level panic. * tile: Catch errors in event deserialization and turn them into proper panics. These errors are symptomatic of an uncaught plugin version mismatch, for example when developing from main and compiling zellij/the plugins from source. Normal users should never get to see this error. * utils/errors: Improve output in `to_stdout` for anyhow errors. The default anyhow error formatting of `{:?}` is already very good, and we just made it worse by trying to invent our own formatting. * tile: Reword plugin mismatch error message * zellij: Apply rustfmt * changelog: Add PR #1838 Improve error handling on plugin version mismatch. * server/wasm_vm: Rephrase error in passive voice
2022-10-23 16:14:24 +03:00
* debugging: Detect plugin version mismatches (https://github.com/zellij-org/zellij/pull/1838)
* feat: add help to cli options (https://github.com/zellij-org/zellij/pull/1839)
2022-09-09 14:00:24 +03:00
## [0.31.4] - 2022-09-09
* Terminal compatibility: improve vttest compliance (https://github.com/zellij-org/zellij/pull/1671)
2022-08-24 21:07:15 +03:00
* fix: bracketed paste handling regression (https://github.com/zellij-org/zellij/pull/1689)
2022-09-02 11:22:22 +03:00
* fix: occasional startup crashes (https://github.com/zellij-org/zellij/pull/1706)
2022-09-02 16:32:36 +03:00
* fix: gracefully handle SSH disconnects (https://github.com/zellij-org/zellij/pull/1710)
* fix: handle osc params larger than 1024 bytes (https://github.com/zellij-org/zellij/pull/1711)
* Terminal compatibility: implement faux scrolling when in alternate screen mode(https://github.com/zellij-org/zellij/pull/1678)
* fix: mouse-click on tab-bar in simplified-ui now always focuses the correct tab (https://github.com/zellij-org/zellij/pull/1658)
* fix: sort UI cursors properly when multiple users are focused on the same pane (https://github.com/zellij-org/zellij/pull/1719)
2022-09-02 16:33:24 +03:00
2022-08-18 09:55:21 +03:00
## [0.31.3] - 2022-08-18
* HOTFIX: fix up-arrow regression
2022-08-17 12:07:34 +03:00
## [0.31.2] - 2022-08-17
* fix: crash when attaching to a session without the first tab (https://github.com/zellij-org/zellij/pull/1648)
2022-08-11 15:36:26 +03:00
* fix: race crash on startup when server is not ready (https://github.com/zellij-org/zellij/pull/1651)
* Terminal compatibility: forward OSC52 clipboard copy events from terminals (https://github.com/zellij-org/zellij/pull/1644)
* refactor: terminal characters (https://github.com/zellij-org/zellij/pull/1663)
* Terminal compatibility: properly send mouse clicks and drags to terminal panes (https://github.com/zellij-org/zellij/pull/1664)
2022-08-02 18:56:00 +03:00
## [0.31.1] - 2022-08-02
* add: `solarized-light` theme to the example theme directory (https://github.com/zellij-org/zellij/pull/1608)
* add(readme): more links to the documentation (https://github.com/zellij-org/zellij/pull/1621)
2022-08-02 17:16:34 +03:00
* fix theme not loading without config (https://github.com/zellij-org/zellij/pull/1631)
2022-07-28 17:51:55 +03:00
## [0.31.0] - 2022-07-28
* feat: Log errors causing "empty message received from client" (https://github.com/zellij-org/zellij/pull/1459)
* chore(dependencies): update `crossbeam` `0.8.0` -> `0.8.1` (https://github.com/zellij-org/zellij/pull/1463)
* add(option): `default-layout` setting for changing the default layout upon start, example: `default_layout: compact` (https://github.com/zellij-org/zellij/pull/1467)
2022-06-10 17:46:10 +03:00
* fix: many typos (https://github.com/zellij-org/zellij/pull/1481)
2022-06-11 05:21:37 +03:00
* add: checksum for release binary (https://github.com/zellij-org/zellij/pull/1482)
2022-06-11 16:58:06 +03:00
* fix: update cli tooltips (https://github.com/zellij-org/zellij/pull/1488)
* refactor: deduplicate code in `screen.rs` (https://github.com/zellij-org/zellij/pull/1453)
2022-06-14 19:33:16 +03:00
* chore(dependencies): update `clap`: `3.1.18` -> `3.2.2` (https://github.com/zellij-org/zellij/pull/1496)
2022-07-28 17:51:55 +03:00
* fix: send `WriteChars:` once per action (https://github.com/zellij-org/zellij/pull/1516)
* feat: allow swapping tabs, in a fullscreen pane (https://github.com/zellij-org/zellij/pull/1515)
2022-08-12 18:24:01 +03:00
* feat: add action of undo rename (https://github.com/zellij-org/zellij/pull/1513)
2022-07-28 17:51:55 +03:00
* fix(docs): fix macport installation instructions (https://github.com/zellij-org/zellij/pull/1529)
* feat: allow hex colors for themes (https://github.com/zellij-org/zellij/pull/1536)
* fix: client hang when server is killed / shutdown delay (https://github.com/zellij-org/zellij/pull/1535)
* fix: properly handle in-place editor in full-screen (https://github.com/zellij-org/zellij/pull/1544)
* Terminal compatibility: properly trim whitespace in lines with wide-characters when resizing panes (https://github.com/zellij-org/zellij/pull/1545)
* fix: reset scroll properly when typing in certain edge cases (https://github.com/zellij-org/zellij/pull/1547)
* fix: logging may fill up /tmp, now logs are capped at 100 kB (https://github.com/zellij-org/zellij/pull/1548)
* fix: crash when terminal rows or columns are 0 (https://github.com/zellij-org/zellij/pull/1552)
* refactor: moved shared data structures to zellij-utils (https://github.com/zellij-org/zellij/pull/1541)
* feat: support displaying images/video in the terminal with sixel graphics (https://github.com/zellij-org/zellij/pull/1557)
* fix: add usage comment to fish `auto-start` script (https://github.com/zellij-org/zellij/pull/1583)
* fix: refactor match session name (https://github.com/zellij-org/zellij/pull/1582)
* fix: print "Session detached" rather than "Bye from Zellij!" when detaching from a session (https://github.com/zellij-org/zellij/pull/1573#issuecomment-1181562138)
* performance: improve terminal responsiveness (https://github.com/zellij-org/zellij/pull/1585 and https://github.com/zellij-org/zellij/pull/1610)
* Terminal compatibility: persist cursor show/hide across alternate screen (https://github.com/zellij-org/zellij/pull/1586)
* fix: support multi-argument EDITOR/VISUAL/scrollback-editor commands (https://github.com/zellij-org/zellij/pull/1587)
* fix: avoid sending mouse click events on pane frames to applications (https://github.com/zellij-org/zellij/pull/1584)
* feat: search through terminal scrollback (https://github.com/zellij-org/zellij/pull/1521)
* feat: support themes directory (https://github.com/zellij-org/zellij/pull/1577)
* feat: Improve logging by writing server panics into the logfile (https://github.com/zellij-org/zellij/pull/1602)
* fix: reflect configured keybindings in the status bar (https://github.com/zellij-org/zellij/pull/1242)
* add: capability to dispatch actions from the cli (https://github.com/zellij-org/zellij/pull/1265)
This feature is gated behind the `unstable` feature flag.
Because the serialization format will be changed at some point.
We would still already be glad about early feedback on this feature.
Can be invoked through `zellij action [ACTIONS]`.
Automatically sends the action to the current session, or if there is just one
to the single session, if there are multiple sessions, then the session name
must be specified.
Example:
```
zellij
zellij action NewTab:
```
Send actions to a specific session:
```
zellij -s fluffy-cat
zellij -s fluffy-cat action 'NewPane: , WriteChars: "echo Purrr\n"'
```
Open `htop` in a new tab:
```
zj action "NewTab: {run: {command: {cmd: htop}}}"
```
2022-06-07 16:31:52 +03:00
## [0.30.0] - 2022-06-07
* fix: right and middle clicks creating selection (https://github.com/zellij-org/zellij/pull/1372)
* feat: Attach to sessions more conveniently by only typing their name's first character(s) (https://github.com/zellij-org/zellij/pull/1360)
2022-05-10 10:46:46 +03:00
* fix: a small typo (https://github.com/zellij-org/zellij/pull/1390)
* feat: show subcommand aliases in help output (https://github.com/zellij-org/zellij/pull/1409)
* chore(dependencies): rename crate `suggestion` -> `suggest` (https://github.com/zellij-org/zellij/pull/1387)
* fix: update to output error when using `--layout` (https://github.com/zellij-org/zellij/pull/1413)
2022-05-16 16:33:28 +03:00
* fix: ANSI output sent to terminal on resize in certain cases (https://github.com/zellij-org/zellij/pull/1384)
2022-05-16 22:17:08 +03:00
* fix: freeze when pasting large amounts of text to vim (https://github.com/zellij-org/zellij/pull/1383)
* feat: new action to dump the scrollbuffer to a file (https://github.com/zellij-org/zellij/pull/1375)
2022-05-22 10:57:48 +03:00
* fix(strider): update out of range index in files (https://github.com/zellij-org/zellij/pull/1425)
* feat: strip debug symbols of release builds 20% size reduction, MSRV is now `1.59` (https://github.com/zellij-org/zellij/pull/1177)
* chore(dependencies): update `names` and `dialoguer` crates (https://github.com/zellij-org/zellij/pull/1430)
* fix: add checking for missing extensions (https://github.com/zellij-org/zellij/pull/1432)
* fix: client process hanging / not exiting when terminal emulator was closed (https://github.com/zellij-org/zellij/pull/1433)
2022-05-28 13:28:12 +03:00
* BREAKING CHANGE: merge `--layout` and `--layout-path` (https://github.com/zellij-org/zellij/pull/1426)
* add: a version of the `tab-bar` plugin, that carries mode information, called `compact-bar`
also adds a new default layout called `compact`, which can be loaded with: `zellij --layout compact`,
that loads the `compact-bar`. (https://github.com/zellij-org/zellij/pull/1450)
* feat: allow searching through and editing the pane scrollback with your default editor (https://github.com/zellij-org/zellij/pull/1456)
2022-06-06 10:31:07 +03:00
* fix: exit client loop on empty message from server (https://github.com/zellij-org/zellij/pull/1454)
* fix: mouse selection sometimes getting stuck (https://github.com/zellij-org/zellij/pull/1418)
2022-06-06 23:32:58 +03:00
* feat: tweak simplified UI (https://github.com/zellij-org/zellij/pull/1458)
2022-06-07 15:29:59 +03:00
* feat: add status more tips (https://github.com/zellij-org/zellij/pull/1462)
2022-06-29 17:02:13 +03:00
* add: new features to manpage (https://github.com/zellij-org/zellij/pull/1549)
2022-05-02 23:31:08 +03:00
## [0.29.1] - 2022-05-02
* fix: forward mouse events to plugin panes (https://github.com/zellij-org/zellij/pull/1369)
2022-05-02 14:29:00 +03:00
## [0.29.0] - 2022-05-02
* add: clarify copy to clipboard message (https://github.com/zellij-org/zellij/pull/1321)
* Terminal compatibility: fix ANSI scrolling regression (https://github.com/zellij-org/zellij/pull/1324)
2022-04-15 20:48:42 +03:00
* fix: send SIGHUP instead of SIGTERM when closing a pane (https://github.com/zellij-org/zellij/pull/1320)
2022-04-16 10:05:53 +03:00
* add: `copy_on_select` option to configure automatic copy behavior (https://github.com/zellij-org/zellij/pull/1298)
* fix: minor system improvements (https://github.com/zellij-org/zellij/pull/1328)
* add: add command for auto-start script (https://github.com/zellij-org/zellij/pull/1281)
2022-04-26 23:40:02 +03:00
* Terminal compatibility: fix cursor pane escape and invalid ansi crash (https://github.com/zellij-org/zellij/pull/1349)
2022-04-27 11:46:57 +03:00
* fix: recover from corrupted ipc bus state (https://github.com/zellij-org/zellij/pull/1351)
2022-04-28 18:28:01 +03:00
* Terminal compatibility: respond to foreground/background color ansi requests (OSC 10 and 11) (https://github.com/zellij-org/zellij/pull/1358)
* fix: avoid panic in link_handler.rs (https://github.com/zellij-org/zellij/pull/1356)
* Terminal compatibility: prevent wide chars from overflowing the title line (https://github.com/zellij-org/zellij/pull/1361)
* Terminal compatibility: adjust saved cursor position on resize (https://github.com/zellij-org/zellij/pull/1362)
* fix: avoid panic on renaming a floating pane (https://github.com/zellij-org/zellij/pull/1357)
* fix: change the way sessions are sorted (https://github.com/zellij-org/zellij/pull/1347)
2022-04-30 19:47:42 +03:00
* fix: improve mouse event reporting, avoid clicks on plugin panes causing active pane scrolling (https://github.com/zellij-org/zellij/pull/1329)
## [0.28.1] - 2022-04-13
* (BREAKING CHANGE) Feature: Improve theme usage and add default themes. Remove gray color from themes. (https://github.com/zellij-org/zellij/pull/1274)
2022-04-04 21:21:55 +03:00
* repo: add `.git-blame-ignore-revs-file` (https://github.com/zellij-org/zellij/pull/1295)
* add: `musl` target to `rust-toolchain` (https://github.com/zellij-org/zellij/pull/1294)
2022-04-07 19:49:14 +03:00
* fix: update termwiz to fix crash when pasting on wsl (https://github.com/zellij-org/zellij/pull/1303)
2022-04-08 10:09:09 +03:00
* add: nord theme example (https://github.com/zellij-org/zellij/pull/1304)
* Terminal compatibility: preserve background color when scrolling (https://github.com/zellij-org/zellij/pull/1305 and https://github.com/zellij-org/zellij/pull/1307)
* add: `overlays` to the `flake` `outputs` (https://github.com/zellij-org/zellij/pull/1312)
2022-04-12 12:02:51 +03:00
* refactor: reduce code duplication in tiled_panes (https://github.com/zellij-org/zellij/pull/1299)
2022-04-12 19:08:57 +03:00
* Terminal compatibility: support XTWINOPS CSI 14 + 16 to query terminal pixel info (https://github.com/zellij-org/zellij/pull/1316)
2022-04-13 11:07:17 +03:00
* Fix: Update UI when next-to-last user manually detaches from the session (https://github.com/zellij-org/zellij/pull/1317)
2022-03-31 15:41:07 +03:00
## [0.27.0] - 2022-03-31
* Fix: feature `disable_automatic_asset_installation` (https://github.com/zellij-org/zellij/pull/1226)
* Fix: `wasm_vm` use `cache_dirs` for ephemeral plugin data (https://github.com/zellij-org/zellij/pull/1230)
2022-03-17 15:32:31 +03:00
* Bump `nix` version to `0.23.1` (https://github.com/zellij-org/zellij/pull/1234)
2022-03-18 12:33:53 +03:00
* Refactor: move tiled_panes to their own module (https://github.com/zellij-org/zellij/pull/1239)
* Add: allow rounded frame corners to be selected in the config (https://github.com/zellij-org/zellij/pull/1227)
2022-03-23 11:09:46 +03:00
* Deps: move from termion to termwiz (https://github.com/zellij-org/zellij/pull/1249)
2022-03-23 11:24:26 +03:00
* Fix: resolve crash when opening tab and zellij tmp dir does not exist (https://github.com/zellij-org/zellij/pull/1256)
* Fix: Behave properly when embedding floating pane into a fullscreen tiled pane (https://github.com/zellij-org/zellij/pull/1267)
2022-03-25 12:36:35 +03:00
* Fix: various screen crashes in some edge cases (https://github.com/zellij-org/zellij/pull/1269)
2022-03-25 16:29:09 +03:00
* Feat: Add Alt+Arrows quick navigation (https://github.com/zellij-org/zellij/pull/1264)
* Fix: don't crash on bad intermediate tab state (https://github.com/zellij-org/zellij/pull/1272)
* Fix: resolve crash when closing panes on single core systems (https://github.com/zellij-org/zellij/pull/1051)
2022-03-28 13:41:12 +03:00
* Terminal Compatibility: Behave properly when ansi scrolling down with an undefined scroll region (https://github.com/zellij-org/zellij/pull/1279)
* Fix: properly render selection when background color of characters is not set (https://github.com/zellij-org/zellij/pull/1250)
* Terminal Compatibility: revert previous incorrect change to csi erase display (https://github.com/zellij-org/zellij/pull/1283)
2022-03-16 16:03:07 +03:00
## [0.26.1] - 2022-03-16
* HOTFIX: Paste regression (https://github.com/zellij-org/zellij/commit/08d2014cfea1583059338a338bc4d5f632763fdb)
* Add: add error reporting system (https://github.com/zellij-org/zellij/pull/1038)
* Fix: switch to annotated release tags (https://github.com/zellij-org/zellij/pull/1223)
2022-03-11 17:45:35 +03:00
## [0.26.0] - 2022-03-11
2022-02-23 17:52:03 +03:00
* Fix: invalid assignment of `client_id` (https://github.com/zellij-org/zellij/pull/1052)
* Add: action to send `^b` in `tmux-mode` (https://github.com/zellij-org/zellij/pull/1106)
* Add: various action bindings to `tmux-mode` (https://github.com/zellij-org/zellij/pull/1098)
2022-02-24 13:26:21 +03:00
* Terminal compatibility: set terminal title properly (https://github.com/zellij-org/zellij/pull/1094)
* Fix: handle discontiguous STDIN input (https://github.com/zellij-org/zellij/issues/1117)
2022-02-25 17:01:59 +03:00
* Terminal compatibility: fix alternate screen clearing (https://github.com/zellij-org/zellij/pull/1120)
* Add: information about clippy lints (https://github.com/zellij-org/zellij/pull/1126)
* Bump `suggestion` dependency (https://github.com/zellij-org/zellij/pull/1124)
* Add: detach `action` to `tmux-mode` (https://github.com/zellij-org/zellij/pull/1116)
2022-02-27 15:09:08 +03:00
* Add: initial `nix` support (https://github.com/zellij-org/zellij/pull/1131)
* Fix: unused code warnings (https://github.com/zellij-org/zellij/pull/1087)
* Add: support `cargo-binstall` (https://github.com/zellij-org/zellij/pull/1129)
2022-02-27 23:17:56 +03:00
* Fix: do not use current cursor style in csi erase display (solve `btm` rendering issue) (https://github.com/zellij-org/zellij/pull/1142)
2022-02-28 00:06:49 +03:00
* Fix: ensure e2e tests use current plugins (https://github.com/zellij-org/zellij/pull/1047)
* Add: manpage to nix package (https://github.com/zellij-org/zellij/pull/1148)
* Fix: terminal title passthrough on not showing pane frames (https://github.com/zellij-org/zellij/pull/1113)
* Add: ability to set `ENVIRONMENT VARIABLES` inside of the config and layout's (https://github.com/zellij-org/zellij/pull/1154)
2022-03-02 21:01:54 +03:00
* Add: binary cache to zellij `cachix use zellij` (https://github.com/zellij-org/zellij/pull/1157)
2022-03-03 16:11:20 +03:00
* Fix: improve layout naming (https://github.com/zellij-org/zellij/pull/1160)
* Add: installation instructions for `Void Linux` (https://github.com/zellij-org/zellij/pull/1165)
* (BREAKING CHANGE) Fix: `list-session` to error and stderr on fail (https://github.com/zellij-org/zellij/pull/1174)
This is a BREAKING CHANGE for people that relied on the
error code and the stdout of this command on fail.
* Add: dynamic completions for `fish` shell (https://github.com/zellij-org/zellij/pull/1176)
* Fix: typo in completion (https://github.com/zellij-org/zellij/pull/1183)
* Fix: improve detach instruction (https://github.com/zellij-org/zellij/pull/1161)
* Fix: update tooltip after hiding floating panes with mouse (https://github.com/zellij-org/zellij/pull/1186)
* Fix: do not start move floating pane when selecting with mouse and cursor leaves pane (https://github.com/zellij-org/zellij/pull/1186)
* Terminal compatibility: replace wide-characters under cursor properly (https://github.com/zellij-org/zellij/pull/1196)
2022-03-09 23:23:39 +03:00
* Terminal compatibility: only adjust home and end keys in cursor keys mode (https://github.com/zellij-org/zellij/pull/1190)
2022-03-10 15:16:21 +03:00
* Add: initial support for forwarding mouse events to applications (`SGR` format only) (https://github.com/zellij-org/zellij/pull/1191)
* Fix: allow `POSIX` style overrides for most config flags (https://github.com/zellij-org/zellij/pull/1205)
2022-02-22 14:35:25 +03:00
## [0.25.0] - 2022-02-22
* Fix: replace the library with the dependency problem (https://github.com/zellij-org/zellij/pull/1001)
2022-01-09 13:02:06 +03:00
* Fix: crash when opening pane in non-existent cwd (https://github.com/zellij-org/zellij/pull/995)
2022-01-15 14:41:25 +03:00
* Feature: add `copy-command` option (https://github.com/zellij-org/zellij/pull/996)
* Feature: update parsing crate to `clap v3.0` (https://github.com/zellij-org/zellij/pull/1017)
* Feature: accept only printable unicode char when rename pane or tab name (https://github.com/zellij-org/zellij/pull/1016)
* Fix: scroll page up/down by actual amount of rows (https://github.com/zellij-org/zellij/pull/1025)
* Fix: handle csi erase param 3 (https://github.com/zellij-org/zellij/pull/1026)
2022-01-27 19:16:29 +03:00
* Add: theme example for `tokyo-night` (https://github.com/zellij-org/zellij/pull/1015)
* Fix: log a warning, if a user-configured mode has no actions associated and is active (https://github.com/zellij-org/zellij/pull/1035)
* Feature: add focus attribute in layout (https://github.com/zellij-org/zellij/pull/958)
* Compatibility: disable scrollback in alternate screen (https://github.com/zellij-org/zellij/pull/1032)
* Feature: add `copy-clipboard` option (https://github.com/zellij-org/zellij/pull/1022)
* Fix: update the confusing tips on `RenamePane` (https://github.com/zellij-org/zellij/pull/1045)
2022-02-18 23:10:56 +03:00
* Feature: add floating panes (https://github.com/zellij-org/zellij/pull/1066)
2022-02-21 17:53:35 +03:00
* Fix: bump up internal `autocfg` dependency to `1.1.0` (https://github.com/zellij-org/zellij/pull/1071)
* Feature: add tmux mode (https://github.com/zellij-org/zellij/pull/1073)
* Fix: improve copy of wrapped lines (https://github.com/zellij-org/zellij/pull/1069)
* Fix: prefer last active pane when changing focus (https://github.com/zellij-org/zellij/pull/1076)
2022-01-05 12:37:31 +03:00
## [0.24.0] - 2022-01-05
* Terminal compatibility: properly handle insertion of characters in a line with wide characters (https://github.com/zellij-org/zellij/pull/964)
* Terminal compatibility: properly handle deletion of characters in a line with wide characters (https://github.com/zellij-org/zellij/pull/965)
2021-12-23 12:45:31 +03:00
* Fix: properly remove clients when detaching from a session (https://github.com/zellij-org/zellij/pull/966)
2021-12-28 10:58:57 +03:00
* Fix: plugin theme coloring (https://github.com/zellij-org/zellij/pull/975)
* Fix: prevent unhandled mouse events escape to terminal (https://github.com/zellij-org/zellij/pull/976)
2021-12-29 18:29:58 +03:00
* Fix: ensure clippy runs on all targets (https://github.com/zellij-org/zellij/pull/972)
* Fix: atomically create default assets every time a session starts (https://github.com/zellij-org/zellij/pull/961)
* Fix: Allow multiple users to switch tabs with the mouse (https://github.com/zellij-org/zellij/pull/959)
* Fix: Allow switching tabs with the mouse when pane is in fullscreen (https://github.com/zellij-org/zellij/pull/977)
2022-01-03 17:50:59 +03:00
* Fix: pass bell (helpful for eg. desktop notifications) from terminal to desktop (https://github.com/zellij-org/zellij/pull/981)
* Fix: tab click crash on mouse click with multiple users (https://github.com/zellij-org/zellij/pull/984)
* Fix: accidental tab synchronization bug between multiple users when clicking with mouse (https://github.com/zellij-org/zellij/pull/986)
2022-01-04 13:09:08 +03:00
* Fix: Properly move users out of closed tab in a multiuser session (https://github.com/zellij-org/zellij/pull/990)
* Feature: Pass active pane title to terminal emulator (https://github.com/zellij-org/zellij/pull/980)
2022-01-04 19:25:19 +03:00
* Feature: Improve default keybindings (https://github.com/zellij-org/zellij/pull/991)
* Feature: Configurable scroll buffer size (https://github.com/zellij-org/zellij/pull/936)
2021-12-20 19:42:38 +03:00
## [0.23.0] - 2021-12-20
2021-12-20 19:32:12 +03:00
* Feature: add collaboration support - multiple users using multiple cursors (https://github.com/zellij-org/zellij/pull/957)
## [0.22.1] - 2021-12-14
* Hotfix: Focus fullscreen pane when switching tab focus (https://github.com/zellij-org/zellij/pull/941)
2021-12-13 17:52:53 +03:00
## [0.22.0] - 2021-12-13
2021-11-30 13:34:01 +03:00
* Fix: missing themes in configuration merge (https://github.com/zellij-org/zellij/pull/913)
* Fix: add `gray` to theme section (https://github.com/zellij-org/zellij/pull/914)
* Fix: prevent zellij session from attaching to itself (https://github.com/zellij-org/zellij/pull/911)
* Terminal compatibility: fix flaky scrolling issue (https://github.com/zellij-org/zellij/pull/915)
2021-12-02 20:36:47 +03:00
* Fix: handle pasted text properly in windows terminal (https://github.com/zellij-org/zellij/pull/917)
* Fix: update example config options (https://github.com/zellij-org/zellij/pull/920)
2021-12-04 18:08:36 +03:00
* Fix: correct handling of unbinds (https://github.com/zellij-org/zellij/issues/923)
2022-06-10 17:37:55 +03:00
* Fix: improve performance when resizing window with a large scrollback buffer (https://github.com/zellij-org/zellij/pull/895)
2021-12-13 17:52:53 +03:00
* Fix: support multiple users in plugins (https://github.com/zellij-org/zellij/pull/930)
* Fix: update default layouts (https://github.com/zellij-org/zellij/pull/926)
* Add: infrastructure to show distinct tips in the `status-bar` plugin (https://github.com/zellij-org/zellij/pull/926)
2021-12-09 21:03:11 +03:00
* Feature: Allow naming panes (https://github.com/zellij-org/zellij/pull/928)
## [0.21.0] - 2021-11-29
* Add: initial preparations for overlay's (https://github.com/zellij-org/zellij/pull/871)
* Add: initial `zellij.desktop` file (https://github.com/zellij-org/zellij/pull/870)
2022-06-10 17:37:55 +03:00
* Add: section for third party repositories `THIRD_PARTY_INSTALL.md` (https://github.com/zellij-org/zellij/pull/857)
* Add: suggestion for similar session name, on attach (https://github.com/zellij-org/zellij/pull/843)
* Fix: handling and overwriting options through the cli (https://github.com/zellij-org/zellij/pull/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
```
2021-11-13 23:55:33 +03:00
* Fix: fix CSI cursor next line not moving cursor to beginning of line after moving it down (https://github.com/zellij-org/zellij/pull/863)
2021-11-12 19:24:22 +03:00
* Refactor: Support multiple users in `Tab`s (https://github.com/zellij-org/zellij/pull/864)
* Refactor: close_pane returns closed pane (https://github.com/zellij-org/zellij/pull/853)
* Add: ability to configure zellij through layouts (https://github.com/zellij-org/zellij/pull/866)
* Refactor: simplify terminal character style diff (https://github.com/zellij-org/zellij/pull/839)
* Fix: improve performance with large scrollback buffer (https://github.com/zellij-org/zellij/pull/881)
2021-11-22 20:57:01 +03:00
* Add: support osc8 escape code (https://github.com/zellij-org/zellij/pull/822)
* Add: optionally leave ephemeral modes by pressing the `esc` key to default config (https://github.com/zellij-org/zellij/pull/889)
* Feature: Multiple users UI for panes behind a turned-off feature flag (https://github.com/zellij-org/zellij/pull/897)
* Add: plugin api, to provide version information to plugins (https://github.com/zellij-org/zellij/pull/894)
2021-11-10 19:54:39 +03:00
## [0.20.1] - 2021-11-10
* Add: initial session name to layout template (https://github.com/zellij-org/zellij/pull/789)
2021-11-09 11:58:56 +03:00
* Fix: simplify matches (https://github.com/zellij-org/zellij/pull/844)
* Add: support darwin builds on ci (https://github.com/zellij-org/zellij/pull/846)
* Add: e2e instructions for x86 and arm darwin systems (https://github.com/zellij-org/zellij/pull/846)
* Fix: use key-value style for `docker-compose` (https://github.com/zellij-org/zellij/issues/338)
* Fix: unify zellij environment variable handling (https://github.com/zellij-org/zellij/pull/842)
* Add: toggle boolean options with cli flags (https://github.com/zellij-org/zellij/pull/855)
2021-11-08 17:17:26 +03:00
2021-11-10 19:43:09 +03:00
* HOTFIX: fix pasting regression (https://github.com/zellij-org/zellij/pull/858)
2021-11-08 17:17:26 +03:00
## [0.20.0] - 2021-11-08
2021-10-25 17:52:26 +03:00
* Fix: improve performance of echoed keystrokes (https://github.com/zellij-org/zellij/pull/798)
* Add: Use hyperlinks for the setup information (https://github.com/zellij-org/zellij/pull/768)
* Feature: Rotate Pane location (https://github.com/zellij-org/zellij/pull/802)
2021-10-26 17:46:58 +03:00
* Terminal compatibility: improve handling of wide-characters when inserted mid-line (https://github.com/zellij-org/zellij/pull/806)
2021-10-26 20:49:01 +03:00
* Fix: plugins are now only compiled once and cached on disk (https://github.com/zellij-org/zellij/pull/807)
2021-10-27 20:22:26 +03:00
* Fix: pasted text performs much faster and doesn't kill Termion (https://github.com/zellij-org/zellij/pull/810)
2021-10-29 13:23:49 +03:00
* Fix: resizing/scrolling through heavily wrapped panes no longer hangs (https://github.com/zellij-org/zellij/pull/814)
2021-10-30 11:56:50 +03:00
* Terminal compatibility: properly handle HOME/END keys in eg. vim/zsh (https://github.com/zellij-org/zellij/pull/815)
2021-10-31 22:40:50 +03:00
* Fix: Typo (https://github.com/zellij-org/zellij/pull/821)
* Fix: Update `cargo-make` instructions post `v0.35.3` (https://github.com/zellij-org/zellij/pull/819)
* Fix: Unused import for darwin systems (https://github.com/zellij-org/zellij/pull/820)
* Add: `WriteChars` action (https://github.com/zellij-org/zellij/pull/825)
* Fix: typo and grammar (https://github.com/zellij-org/zellij/pull/826)
2021-11-05 22:50:13 +03:00
* Add: `rust-version` - msrv field to `Cargo.toml` (https://github.com/zellij-org/zellij/pull/828)
2021-11-02 00:03:22 +03:00
* Fix: improve memory utilization, reap both sides of pty properly and do not expose open FDs to child processes (https://github.com/zellij-org/zellij/pull/830)
* Fix: move from the deprecated `colors_transform` to `colorsys` (https://github.com/zellij-org/zellij/pull/832)
2021-11-02 21:52:02 +03:00
* Feature: plugins can now detect right mouse clicks (https://github.com/zellij-org/zellij/pull/801)
2021-11-03 20:02:06 +03:00
* Fix: open pane in cwd even when explicitly specifying shell (https://github.com/zellij-org/zellij/pull/834)
2021-11-05 01:20:51 +03:00
* Fix: do not resize panes below minimum (https://github.com/zellij-org/zellij/pull/838)
* Feature: Non directional resize of panes (https://github.com/zellij-org/zellij/pull/520)
* Add: `colored` crate to replace manual color formatting (https://github.com/zellij-org/zellij/pull/837)
* Add: introduce `thiserrror` to simplify error types (https://github.com/zellij-org/zellij/pull/836)
* Add: support `--index` option for the `attach` subcommand in order to
choose the session indexed by the provided creation date (https://github.com/zellij-org/zellij/pull/824)
* Fix: simplify the main function significantly (https://github.com/zellij-org/zellij/pull/829)
2021-11-08 17:07:16 +03:00
* Feature: half page scrolling actions (https://github.com/zellij-org/zellij/pull/813)
2021-10-20 13:28:23 +03:00
## [0.19.0] - 2021-10-20
* Fix: Prevent text overwrite when scrolled up (https://github.com/zellij-org/zellij/pull/655)
* Add: Treat empty config files as empty yaml documents (https://github.com/zellij-org/zellij/pull/720)
2021-10-05 14:44:43 +03:00
* Fix: Commands that don't interact with the config file don't throw errors on malformed config files (https://github.com/zellij-org/zellij/pull/765)
* Add: Add config options to default config file (https://github.com/zellij-org/zellij/pull/766)
2021-10-07 14:43:19 +03:00
* Fix: Properly clear "FULLSCREEN" status when a pane exits on its own (https://github.com/zellij-org/zellij/pull/757)
* Refactor: handle clients in tabs/screen (https://github.com/zellij-org/zellij/pull/770)
* Feature: kill-session and kill-all-sessions cli commands (https://github.com/zellij-org/zellij/pull/745)
* Fix: Keep default file permissions for new files (https://github.com/zellij-org/zellij/pull/777)
* Feature: Add mouse events to plugins including strider and the tab-bar (https://github.com/zellij-org/zellij/pull/629)
* Feature: Directional movement of panes (https://github.com/zellij-org/zellij/pull/762)
* Refactor: More groundwork to support multiple-clients in tabs (https://github.com/zellij-org/zellij/pull/788)
2021-09-29 15:48:24 +03:00
2021-09-30 12:14:41 +03:00
## [0.18.1] - 2021-09-30
* HOTFIX: mouse selection now working (https://github.com/zellij-org/zellij/pull/752)
2021-09-30 11:50:15 +03:00
* HOTFIX: prevent strider from descending into /host folder (https://github.com/zellij-org/zellij/pull/753)
2021-09-29 15:48:24 +03:00
## [0.18.0] - 2021-09-29
2021-09-17 10:08:10 +03:00
* Fix: Properly open new pane with CWD also when switching to a new tab (https://github.com/zellij-org/zellij/pull/729)
* Feature: Option to create a new session if attach fails (`zellij attach --create`) (https://github.com/zellij-org/zellij/pull/731)
2021-09-19 16:17:20 +03:00
* Feature: Added the new `Visible` event, allowing plugins to detect if they are visible in the current tab (https://github.com/zellij-org/zellij/pull/717)
2021-09-19 18:22:01 +03:00
* Feature: Plugins now have access to a data directory at `/data` the working directory is now mounted at `/host` instead of `.` (https://github.com/zellij-org/zellij/pull/723)
2021-09-22 20:38:31 +03:00
* Feature: Add ability to solely specify the tab name in the `tabs` section (https://github.com/zellij-org/zellij/pull/722)
* Feature: Plugins can be configured and the groundwork for "Headless" plugins has been laid (https://github.com/zellij-org/zellij/pull/660)
* Automatically update `example/default.yaml` on release (https://github.com/zellij-org/zellij/pull/736)
* Feature: allow mirroring sessions in multiple terminal windows (https://github.com/zellij-org/zellij/pull/740)
2021-09-27 13:08:59 +03:00
* Feature: display a message when the current pane is in full-screen (https://github.com/zellij-org/zellij/pull/450)
2021-09-28 16:42:32 +03:00
* Terminal compatibility: handle cursor movements outside scroll region (https://github.com/zellij-org/zellij/pull/746)
* Terminal compatibility: scroll lines into scrollback when clearing viewport (https://github.com/zellij-org/zellij/pull/747)
2021-09-15 17:13:26 +03:00
## [0.17.0] - 2021-09-15
2021-09-10 18:36:38 +03:00
* New panes/tabs now open in CWD of focused pane (https://github.com/zellij-org/zellij/pull/691)
* Fix bug when opening new tab the new pane's viewport would sometimes be calculated incorrectly (https://github.com/zellij-org/zellij/pull/683)
* Fix bug when in some cases closing a tab would not clear the previous pane's contents (https://github.com/zellij-org/zellij/pull/684)
2021-09-06 12:24:12 +03:00
* Fix bug where tabs would sometimes be created with the wrong index in their name (https://github.com/zellij-org/zellij/pull/686)
* Fix bug where wide chars would mess up pane titles (https://github.com/zellij-org/zellij/pull/698)
* Fix various borderless-frame in viewport bugs (https://github.com/zellij-org/zellij/pull/697)
* Fix example configuration file (https://github.com/zellij-org/zellij/pull/693)
2021-09-09 17:40:14 +03:00
* Fix various tab bar responsiveness issues (https://github.com/zellij-org/zellij/pull/703)
2021-09-09 13:51:21 +03:00
* Allow plugins to run system commands (https://github.com/zellij-org/zellij/pull/666)
* This has also added a temporary new permission flag that needs to be specified in the layout. This is a breaking change:
```yaml
...
plugin: strider
...
```
has become:
```yaml
plugin:
path: strider
```
A plugin can be given command executing permission with:
```yaml
plugin:
path: strider
_allow_exec_host_cmd: true
```
* Use the unicode width in tab-bar plugin, for tab names (https://github.com/zellij-org/zellij/pull/709)
* Fix automated builds that make use of the `setup` subcommand (https://github.com/zellij-org/zellij/pull/711)
* Add option to specify a tabs name in the tab `layout` file (https://github.com/zellij-org/zellij/pull/715)
* Improve handling of empty valid `yaml` files (https://github.com/zellij-org/zellij/pull/716)
* Add options subcommand to attach (https://github.com/zellij-org/zellij/pull/718)
2021-09-15 11:49:36 +03:00
* Fix: do not pad empty pane frame title (https://github.com/zellij-org/zellij/pull/724)
* Fix: Do not overflow empty lines when resizing panes (https://github.com/zellij-org/zellij/pull/725)
2021-08-31 11:00:26 +03:00
2021-09-09 17:40:14 +03:00
2021-08-31 11:00:26 +03:00
## [0.16.0] - 2021-08-31
* Plugins don't crash zellij anymore on receiving mouse events (https://github.com/zellij-org/zellij/pull/620)
2021-07-21 14:38:25 +03:00
* A universal logging system has been implemented (https://github.com/zellij-org/zellij/pull/592)
* Added [`log`](https://docs.rs/log/0.4.14/log/#macros) 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` (https://github.com/zellij-org/zellij/pull/608)
* Add command to dump `layouts` to stdout (https://github.com/zellij-org/zellij/pull/623)
* `zellij setup --dump-layout [LAYOUT]` [default, strider, disable-status]
* Add `action`: `ScrollToBottom` (https://github.com/zellij-org/zellij/pull/626)
* Bound by default to `^c` in `scroll` mode, scrolls to bottom and exists the scroll mode
* Simplify deserialization slightly (https://github.com/zellij-org/zellij/pull/633)
* Fix update plugin attributes on inactive tab (https://github.com/zellij-org/zellij/pull/634)
* New pane UI: draw pane frames - can be disabled with ctrl-p + z, or through configuration (https://github.com/zellij-org/zellij/pull/643)
* Terminal compatibility: support changing index colors through OSC 4 and similar (https://github.com/zellij-org/zellij/pull/646)
2021-08-16 15:20:23 +03:00
* Fix various shells (eg. nushell) unexpectedly exiting when the user presses ctrl-c (https://github.com/zellij-org/zellij/pull/648)
* Fix line wrapping while scrolling (https://github.com/zellij-org/zellij/pull/650)
2021-08-23 16:52:38 +03:00
* Indicate to the user when text is copied to the clipboard with the mouse (https://github.com/zellij-org/zellij/pull/642)
* Terminal compatibility: properly paste multilines (https://github.com/zellij-org/zellij/pull/653 + https://github.com/zellij-org/zellij/pull/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 (https://github.com/zellij-org/zellij/pull/622)
* Terminal compatibility: properly handle cursor shape changes in eg. Neovim (https://github.com/zellij-org/zellij/pull/659)
2021-08-28 19:54:32 +03:00
* The resize and layout systems have been overhauled (https://github.com/zellij-org/zellij/pull/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 (https://github.com/zellij-org/zellij/issues/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 (https://github.com/zellij-org/zellij/issues/619)
* Fixed display of the tab bar at small terminal widths
* Add `tabs` to `layouts` (https://github.com/zellij-org/zellij/pull/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
2021-08-26 19:26:21 +03:00
borderless: true
split_size:
Fixed: 1
run:
plugin: tab-bar
- direction: Vertical # <= The location of
body: true # <= the inserted tab.
- direction: Vertical
2021-08-26 19:26:21 +03:00
borderless: true
split_size:
Fixed: 2
run:
plugin: status-bar
tabs:
2021-08-26 19:26:21 +03:00
- 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,
2021-08-26 19:26:21 +03:00
parts: [ {direction: Horizontal, split_size: {Percent: 50}},
{direction: Horizontal, run: {command: {cmd: "htop"}}},],
key: [F: 6,]
```
2021-07-19 22:50:01 +03:00
2021-07-19 22:50:01 +03:00
## [0.15.0] - 2021-07-19
* Kill children properly (https://github.com/zellij-org/zellij/pull/601)
* Change name of `Run` binding for actions (https://github.com/zellij-org/zellij/pull/602)
* Add running commands to `layouts` (https://github.com/zellij-org/zellij/pull/600)
2021-07-09 18:47:21 +03:00
POSSIBLE BREAKING CHANGE for custom layouts:
Plugins are under the run category now, that means:
```
plugin: status-bar
```
is now:
```
run:
plugin: status-bar
```
2021-07-09 18:49:36 +03:00
* Add `on_force_close` config option (https://github.com/zellij-org/zellij/pull/609)
## [0.14.0] - 2021-07-05
2021-06-15 12:22:14 +03:00
* Add improved error handling for layouts (https://github.com/zellij-org/zellij/pull/576)
* Change layout directory from data to config (https://github.com/zellij-org/zellij/pull/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 (https://github.com/zellij-org/zellij/pull/580)
2021-06-19 09:05:44 +03:00
* Autodetach on force close (https://github.com/zellij-org/zellij/pull/581)
* Add option to specify a default shell (https://github.com/zellij-org/zellij/pull/594)
* Add action to run bound commands in a pane (https://github.com/zellij-org/zellij/pull/596)
2021-07-02 17:41:27 +03:00
* Initial mouse support (https://github.com/zellij-org/zellij/pull/448)
* Add `layout-dir` to `setup --check` subcommand (https://github.com/zellij-org/zellij/pull/599)
## [0.13.0] - 2021-06-04
* Fix crash when padding before widechar (https://github.com/zellij-org/zellij/pull/540)
2021-05-28 18:46:16 +03:00
* Do not lag when reading input too fast (https://github.com/zellij-org/zellij/pull/536)
* Session name optional in attach command (https://github.com/zellij-org/zellij/pull/542)
2021-05-29 19:13:04 +03:00
* Fix build on platforms with TIOCGWINSZ / ioctl() integer type mismatch (https://github.com/zellij-org/zellij/pull/547)
* Fix(ui): session mode should be disabled in locked mode (https://github.com/zellij-org/zellij/pull/548)
* Add option to start in arbitrary modes (https://github.com/zellij-org/zellij/pull/513)
* Attaching to a session respects the `default_mode` setting of the client (https://github.com/zellij-org/zellij/pull/549)
* Add option to specify a color theme in the config (https://github.com/zellij-org/zellij/pull/550)
2021-06-01 10:39:18 +03:00
* Fix config options to not depend on `simplified_ui` (https://github.com/zellij-org/zellij/pull/556)
* Don't rename `unnamed` tabs upon deletion of other tabs (https://github.com/zellij-org/zellij/pull/554)
* Add layout to disable the status bar (https://github.com/zellij-org/zellij/pull/555)
2021-06-03 15:04:36 +03:00
* Significantly improve terminal pane performance (https://github.com/zellij-org/zellij/pull/567)
2021-05-28 18:46:16 +03:00
## [0.12.1] - 2021-05-28
* HOTFIX: fix Zellij not responding to input on certain terminals (https://github.com/zellij-org/zellij/issues/538)
## [0.12.0] - 2021-05-27
2021-05-15 18:39:29 +03:00
* Remove unused imports (https://github.com/zellij-org/zellij/pull/504)
* More Infrastructure changes for the upcoming session detach feature: run server and client in separate processes (https://github.com/zellij-org/zellij/pull/499)
2021-05-16 23:19:00 +03:00
* Restructuring cargo workspace: Separate client, server and utils into separate crates (https://github.com/zellij-org/zellij/pull/515)
2021-05-17 19:15:22 +03:00
* Terminal compatibility: handle most OSC sequences (https://github.com/zellij-org/zellij/pull/517)
2021-05-18 11:49:52 +03:00
* Split `layout` flag into `layout` and `layout-path` (https://github.com/zellij-org/zellij/pull/514)
* Fix behaviour of the `clean` flag (https://github.com/zellij-org/zellij/pull/519)
* Make distinction clearer between certain configuration flags (https://github.com/zellij-org/zellij/pull/529)
2021-05-24 16:02:21 +03:00
* Resource usage and performance improvements (https://github.com/zellij-org/zellij/pull/523)
* Feature: Detachable/Persistent sessions (https://github.com/zellij-org/zellij/pull/531)
* Terminal compatibility: Support wide characters (https://github.com/zellij-org/zellij/pull/535)
## [0.11.0] - 2021-05-15
This version is mostly an installation hotfix.
* Add `check` flag to `setup` subcommand, move `generate-completions` subcommand to `setup` flag (https://github.com/zellij-org/zellij/pull/503)
* Change the asset installation from an opt-in to an opt-out (https://github.com/zellij-org/zellij/pull/512)
## [0.10.0] - 2021-05-14
* Change Switch default config loading order of `HOME` and system (https://github.com/zellij-org/zellij/pull/488)
* Add support for requesting a simpler layout from plugins, move `clean` flag from `options` to `setup` (https://github.com/zellij-org/zellij/pull/479)
* Improve config loading slightly (https://github.com/zellij-org/zellij/pull/492)
2021-05-12 12:29:27 +03:00
* Terminal compatibility: preserve current style when clearing viewport (https://github.com/zellij-org/zellij/pull/493)
* Fix propagation of plugin ui request (https://github.com/zellij-org/zellij/pull/495)
2021-05-12 15:22:59 +03:00
* Handle pasted text properly (https://github.com/zellij-org/zellij/pull/494)
* Fix default keybinds for tab -> resize mode (https://github.com/zellij-org/zellij/pull/497)
* Terminal compatibility: device reports (https://github.com/zellij-org/zellij/pull/500)
* Forward unknown keys to the active terminal (https://github.com/zellij-org/zellij/pull/501)
## [0.9.0] - 2021-05-11
* Add more functionality to unbinding the default keybindings (https://github.com/zellij-org/zellij/pull/468)
2021-05-07 17:04:42 +03:00
* Terminal compatibility: fix support for CSI subparameters (https://github.com/zellij-org/zellij/pull/469)
* Move the sync command to tab mode (https://github.com/zellij-org/zellij/pull/412)
2021-05-10 18:12:02 +03:00
* Fix exit code of `dump-default-config` (https://github.com/zellij-org/zellij/pull/480)
* Feature: Switch tabs using `Alt + h/l` in normal mode if there are no panes in the direction (https://github.com/zellij-org/zellij/pull/471)
* Terminal Compatibility: various behaviour fixes (https://github.com/zellij-org/zellij/pull/486)
2021-05-11 12:10:34 +03:00
* Fix handling of `$HOME` `config` directory, especially relevant for darwin systems (https://github.com/zellij-org/zellij/pull/487)
## [0.8.0] - 2021-05-07
2021-05-05 18:10:35 +03:00
* Terminal compatibility: pass vttest 8 (https://github.com/zellij-org/zellij/pull/461)
2021-05-06 00:52:30 +03:00
* Add a Manpage (https://github.com/zellij-org/zellij/pull/455)
2021-05-07 13:28:35 +03:00
* Code infrastructure changes to support the upcoming session detach (https://github.com/zellij-org/zellij/pull/223)
2021-05-05 18:11:22 +03:00
2021-05-04 18:25:54 +03:00
## [0.7.0] - 2021-05-04
* Fix the tab '(Sync)' suffix in named tabs (https://github.com/zellij-org/zellij/pull/410)
* Improve performance when multiple panes are open (https://github.com/zellij-org/zellij/pull/318)
* Improve error reporting and tests of configuration (https://github.com/zellij-org/zellij/pull/423)
* Refactor install module to setup module (https://github.com/zellij-org/zellij/pull/431)
* Add theme support through xrdb (https://github.com/zellij-org/zellij/pull/239)
* Fix default keybindings in resize mode and add arrow parity in tab and scroll mode (https://github.com/zellij-org/zellij/pull/441)
* Terminal compatibility: pass vttest 2 and 3 (https://github.com/zellij-org/zellij/pull/447)
2021-05-04 17:11:42 +03:00
* Stabilize colors (https://github.com/zellij-org/zellij/pull/453)
## [0.6.0] - 2021-04-29
* Doesn't quit anymore on single `q` press while in tab mode (https://github.com/zellij-org/zellij/pull/342)
* Completions are not assets anymore, but commands `option --generate-completion [shell]` (https://github.com/zellij-org/zellij/pull/369)
* Fixes in the default configuration `default.yaml` file. Adds initial tmux-compat keybindings `tmux.yaml` (https://github.com/zellij-org/zellij/pull/362)
2021-04-27 17:27:16 +03:00
* Added the `get_plugin_ids()` query function to the plugin API (https://github.com/zellij-org/zellij/pull/392)
* Implemented simple plugin timers via the `set_timeout()` call (https://github.com/zellij-org/zellij/pull/394)
* Added more configuration locations, changed `ZELLIJ_CONFIG` to `ZELLIJ_CONFIG_FILE` (https://github.com/zellij-org/zellij/pull/391)
* Improved keybind handling (https://github.com/zellij-org/zellij/pull/400)
* Added initial screen-compat keybinds `screen.yaml` (https://github.com/zellij-org/zellij/pull/399)
* Added the ability to synchronize input sent to panes (https://github.com/zellij-org/zellij/pull/395)
2021-04-29 16:26:44 +03:00
* Terminal fix: pass vttest 1 (https://github.com/zellij-org/zellij/pull/408)
2021-04-23 12:51:57 +03:00
## [0.5.1] - 2021-04-23
2021-04-21 17:59:39 +03:00
* Change config to flag (https://github.com/zellij-org/zellij/pull/300)
* Add ZELLIJ environment variable on startup (https://github.com/zellij-org/zellij/pull/305)
2021-04-21 18:09:03 +03:00
* Terminal fix: do not clear line if it's not there (https://github.com/zellij-org/zellij/pull/289)
* Do not allow opening new pane on the status bar (https://github.com/zellij-org/zellij/pull/314)
* Allow scrolling by full pages (https://github.com/zellij-org/zellij/pull/298)
2021-04-22 21:56:57 +03:00
* Reduce crate size by 4.8MB using `cargo diet`, to 77kB (https://github.com/zellij-org/zellij/pull/293)
* Draw UI properly when instantiated as the default terminal command (https://github.com/zellij-org/zellij/pull/323)
* Resolve ambiguous pane movements by their activity history (https://github.com/zellij-org/zellij/pull/294)
2021-04-21 17:57:00 +03:00
2021-04-21 18:06:38 +03:00
## [0.5.0] - 2021-04-20
2021-04-21 17:57:00 +03:00
Beta release with all the things