Releases: zed-industries/zed
v0.132.0-pre
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.
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.131.6
Enhancements
General
- Reduced memory usage for files by up to 50%.
- Added action to open markdown preview in the same pane.
- Added support for displaying channel notes in markdown preview.
- Added support for displaying the current active editor when opening markdown preview.
- Added support for scrolling the editor to the corresponding block when double clicking an element in markdown preview.
- Added tooltips when hovering over links inside the markdown preview.
- Added support for detecting and highlighting links in markdown preview.
- Added a status indicator for LSP actions (#4380).
- Added selection and line counts to the status bar (#4204). The format of the line indicator can be made more compact via the following setting:
"line_indicator_format": "short"
- Added a setting to hide/show the navigation history buttons:
"tab_bar": {
"show_nav_history_buttons": true
}
- Improved error reporting on startup (#9036).
- Increased search result context from 3 lines to 4 lines.
Tasks
- Added more icons to task modal.
- Added task status indicator to the status bar.
Languages
- Added
yield
keyword highlight for Rust. - Added highlighting for parameters in blocks in Ruby.
Vim
- Added search motions (
/,?,n,N,*,#
) in visual modes and as targets for operators liked
,c
,y
(#4346). - Added support for vim-surround (#4965). Note that HTML tags are not yet supported.
Bug Fixes
- Fixed an issue where the "New messages" indicator in the channel chat would be shown even if the message was deleted.
- Fixed highlighting of messages when clicking on the reply message text in the chat and there were no other messages from other users (#10024).
- Fixed clear chat state when switching edit/reply message state (#10042).
- Fixed an issue where the status of failed LSP actions was left in the status bar.
- Fixed status bar focus issues when spawning a terminal via
workspace: new terminal
action. - Fixed language server notifications being too large (#10090, #10190, #10217).
- Fixed "quickfix" code actions that were based on diagnostics not showing up in Go files (#10177).
- Fixed a bug where some hover popovers would render
\n
instead of a new line. - Fixed Zed not picking up shell environments correctly when running on macOS 12 (#9786).
- Fixed project shared notification staying open, when the user that shared the project left the room.
- Fixed highlighting of constants in Ruby (#9995).
- Fixed a bug where newline characters in file names would introduce UI artifacts in the project panel (#8603).
- Fixed several bugs in the project panel related to directories whose names contain numbers (#9729, #10193).
- Fixed crashes with huge
buffer_font_size
values (#10149). - Fixed a (rare) panic while collaborating.
- Fixed a crash when joining two consecutive lines (#9692).
- Vim: Fixed a bug with
cgn
backwards movement. - Vim: Fixed a bug where the block cursor would not render italic text under it (#8799).
- Vim: Fixed undo grouping in Replace mode (#10031).
- Vim: Fixed
:
when no files are open.
Breaking changes
- Removed built-in support for HTML and Dart, in favor of making them available as extensions. The respective extensions for these languages will be suggested for download when opening their associated file types:
.html
,.htm
, or.shtml
for HTML, and.dart
for Dart. - Disabled
format_on_save
by default in C and C++. - Updated
gn
andgN
to select the next search result as in Vim. Adding multi-cursors to the next/prev copy of the word under the cursor is now bound togl
/gL
. - Switched to the system UI font for user interface elements on macOS. The previous default font can be restored via the following snippet in your
settings.json
file:
"ui_font_family": "Zed Sans"
v0.131.6-pre
- Fix a panic spawning a task from a multibuffer
v0.131.5-pre
- Fixed a panic when quoting a selection before the assistant panel has been started.
v0.130.7
- Fixed a panic when quoting a selection before the assistant panel has been started.
v0.131.4-pre
- Use the buffer font for Search and Breadcrumbs (preview only)
- Fix emojis in chat (preview only)
v0.131.3-pre
- Fixed editing of SVG images by disabling it from the image viewer
(#10403).
v0.131.2-pre
- Fixed a bug where extension installation would appear to succeed even if the download did not complete due to network interruptions (#10330).
v0.130.6
v0.131.1-pre
- Fixed Zed panicking when running tasks via a keybinding
(10380)