Releases: zed-industries/zed
v0.132.4
v0.133.3-pre
v0.132.3
v0.133.2-pre
- Changed
cmd-w
with no open tabs to no longer close the window (preview-only).
v0.133.1-pre
- Fixed a bug where some inputs were using the wrong font style (preview-only).
v0.133.0-pre
Enhancements
General
- Added an
editor::ExpandExcerpts
action (bound toshift-enter
by default), which can expand the multi-buffer excerpt the cursor is currently in by 3 lines (#5377). You can customize the number of lines by rebinding this action like so:
// In your keybindings array...
{
"context": "Editor && mode == full",
"bindings": {
"shift-enter": ["editor::ExpandExcerpts", { "lines": 5 }],
}
}
- CLI now accepts an optional name of release channel as its first argument. For example,
zed --stable
will always use your Stable installation's CLI. Trailing args are passed along (#10851). - Changed
cmd-w
to close the window when there are no open tabs (#5322).- See it in action here.
- Added a setting to determine the minimum column where the inline blame information is shown. Example:
{{"git": {"inline_blame": {"min_column": 80}}}
. (#10555).- Check it out here.
- Added a setting to show/hide the Project Panel button in the status bar:
{"project_panel": {"button": false}}
. - Added
drop_target_size
setting. This should be a fractional percent (e.g.,0.5
). - Improved the hitboxes for drop targets.
- Updated drop targets to respect the alpha channel of the
drop_target.background
color. - Improved buffer search workflow:
cmd-f
will select the query string when the buffer search editor is focused. - Exposed Rust traits as
type.interface
for individual syntax theming.
Collaboration
- Added support for remote development. This feature is currently in alpha; if you are interested in trying this out, please email alpha@zed.dev.
- Improved Markdown preview in channel notes to re-render when another collaborator changes the content.
Git
- Added GitHub avatars to tooltips that appear when hovering over a
git blame
entry (either inline or in the blame gutter).- Check it out here.
- Added links to GitHub pull requests to the git blame tooltips, if they are available.
- Check it out here.
Tasks
- Added tooltips entries in the
task: spawn
modal.
Languages
- Added
language_servers
setting to language settings for customizing which language server(s) run for a given language. - Added auto-installation for the HTML extension on startup.
- This can be disabled by adding
{ "auto_install_extensions": { "html": false } }
to your settings.
- This can be disabled by adding
- Added ReScript as a suggested extension for
.res
and.resi
files. - Added LOG as a suggested extension for
.log
files. - Added support for finding the Ruby language server
solargraph
in the user's$PATH
as it is whencd
ing into a project's directory (#9811). - Added support for configuring the
path
andarguments
forsolargraph
language server manually. Example from settings:{"lsp": {"solargraph": {"binary": {"path":"/Users/thorstenball/bin/solargraph","arguments": ["stdio"]}}}}
(#9811).
Bug Fixes
- Fixed an issue where the wrong language server could be used for formatting (#10902).
- Fixed Rust tasks using incorrect package name (#10925).
- Fixed a bug where non-focused windows weren't showing a hover state for clickable areas (#9784).
- Fixed a bug that caused disabled navigation buttons to show up in terminal panel.
- Fixed a bug where the UI would stutter when dragging tabs over any element that stopped event propagation.
- Fixed a bug where the user's selection was changed when using the language server's
rename
action. - Fixed a bug where multiple terminals were being opened on
workspace::NewTerminal
calls (#4567). - Fixed a bug where
project panel: collapse all entries
was expanding collapsed worktrees. - Fixed a bug where terminal file paths could not be clicked when the column portion of path was malformed (#10688).
Breaking Changes
- Moved
project_panel::OpenInTerminal
intoworkspace::OpenInTerminal
action and added it in editors, tab context menus, and proper panel file entries (#4566) - Removed built-in support for Deno, in favor of making it available as an extension.
- Removed task status indicator and added a
Spawn task
action to terminal panel context menu.
v0.132.2
Enhancements
General
- Added preview tabs (#4922).
- Added an editor controls menu to the tool bar. This will contain visual, editor-specific options like toggling inlay hints, showing git status or blame, etc.
- The top-level inlay hint toggle has been removed from the tool bar, as it is now in this menu.
- Toggling the inline git blame is also possible from this menu.
- Added support for Centered Layout (#4685).
- Added
restore_on_startup
option, acceptinglast_workspace
(default) andnone
options. Withnone
, new Zed instances will not restore workspaces that were open last. - Added a setting under
scroll_sensitivity
that allows user to control the scroll sensitivity. This value acts as a multiplier for the horizontal and vertical scroll speed. - Improved search UI. It now works in narrower panes, and avoids scrolling the editor on open.
- Added a setting to show/hide the terminal button in the status bar:
{"terminal": {"button": false}}
to hide it (#10513). - Improved ordering and organization of context menus in the project panel to bring them closer to those in similar applications.
- Hovering over an edited message in the chat now displays a tooltip revealing the timestamp of the last edit.
- Added bindings to allow
up
anddown
arrow keys to be used while the tab switcher is open. - Added support for toggling a checkbox in markdown preview by clicking on it (cmd+click) (#5226).
- Signing out of Zed will now clear the credentials state and delete the corresponding keychain items (#4716).
- Added support for scrolling to the message you are replying to when clicking on the reply preview (#10028).
- Added a
project_panel.auto_fold_dirs
setting which collapses the nesting in the project panel when there is a chain of folders containing a single folder.
- Increased diagnostic context to match the project search context.
- Adjusted Zoom In/Out for Pane and Terminal Pane to show keybinding labels.
Git
- Added inline
git blame
information the editor. It's enabled by default. It can be turned off in the settings with{"git": { "inline_blame": {"enabled": false } } }
for every buffer. It can be turned on/off temporarily for the current buffer, witheditor: toggle git blame inline
(#4793). - Added a notification to show git blame errors.
Tasks
- Added task summary output into corresponding terminal tabs.
Task::Rerun
action can now overrideallow_concurrent_runs
anduse_new_terminal
properties of the task that is being reran.- Added tasks for bash and Python to execute selections and open files in terminal.
- Improved task modal ordering, run, and deletion capabilities.
Extensions
- Changed the "Install" button for extensions to always install the latest compatible version instead of becoming disabled when the latest version of an extension is incompatible with the current Zed version.
- Added an indicator to show the currently-installed extension version when not on the latest version.
- Disabled extension entries when there is a development copy of that extension installed.
Languages
- Added ability to specify
clangd
binarypath
(must be absolute) andarguments
in user settings. Example:{"lsp": {"clangd": {"binary": {"path": "/usr/bin/clangd", "arguments": ["--log=verbose"] }}}}
Vim
- Added the current operator stack to the Vim status bar at the bottom of the editor (#4447).
- Added
g c c
andg c
to Vim keybindings to toggle comments in normal and visual mode respectively. - Added
g ]
andg [
to Vim keybindings to go to next and previous diagnostic error. - Changed
[ x
and] x
(which select larger/smaller syntax node) in Vim mode to also work in visual mode. - Updated Vim regexes to use
\<
\>
instead of\b
(#10539). - Added a
vim: open default keymap
command to show the default Vim keymap (#8593).
Bug Fixes
-
Fixed project panel entries misalignment with narrow panel & file icons turned off.
-
Fixed
git blame
data not handling the undoing of deletions correctly. (#10583). -
Fixed git blame functionality not handling errors correctly when there are no commits yet or when file isn't committed yet.
-
Fixed caret movement issue for some special characters.
-
Fixed "Find In Project" app menu item having no keybinding (#10611).
-
Fixed some cases where diagnostics tab showed outdated entries before the language server is done with its analysis.
-
Fixed a bug where multiple extension suggestions for the same extension could be shown at once (#10320).
-
Fixed a bug where project panel settings changes would not be applied immediately.
-
Fixed Markdown code blocks in tooltips not having correct language highlighting.
Before:
After:
-
Fixed Markdown returned by
clangd
being rendered the wrong way (#10511).Before:
After:
-
Fixed left movement in Vim mode when soft wrapping is enabled (#10350).
-
Fixed a panic when installing the CLI/registering for the
zed://
protocol. -
Fixed a panic when rendering certain malformed SVGs.
-
Fixed a (rare) panic when closing a window.
Breaking Changes
- Pulled support for the following languages out into extensions, with automatic suggestions for their corresponding file extensions:
- Elm (
.elm
) - GLSL (
.vert
,.frag
) - Lua (
.lua
) - Nix (
.nix
) - Nu (
.nu
) - OCaml (
.ml
,.mli
) - Racket (
.rkt
) - Scheme (
.scm
) - Terraform (
.tf
,.tfvars
,.hcl
) - Vue (
.vue
)
- Elm (
v0.132.2-pre
- Fixed a bug where workspace LSP settings could not be read by extensions
v0.131.7
- Fixed a bug where workspace LSP settings could not be read by extensions.
v0.132.1-pre
- Fixed a (rare) panic when closing a window.