Releases: zed-industries/zed
Releases · zed-industries/zed
v0.156.0-pre
Enhancements
General
- Added a horizontal scrollbar to project panel (#18513).
- Added new fold actions to toggle folds (
cmd-k cmd-l
), fold every fold (cmd-k cmd-0
) unfold every fold (cmd-k cmd-j
) to fold recursively (cmd-k cmd-[
) and unfold recursively (cmd-k cmd-]
). - Added
snippets: configure snippets
command to create and modify snippets (#18453; thanks loczek). - Added
snippets: open folder
command for opening the~/.config/zed/snippets
directory (#18453; thanks loczek). - Added a setting for the terminal's default cursor shape. The setting is
{"terminal": {"cursor_shape": "block"}}
. Possible values:block
,bar
,hollow
,underline
(#18530).- See the video!
- Added file watching for symlinks (#17609; thanks AlvaroParker).
- Added keyboard shortcuts inside tooltips in the project search, buffer search, etc (#18282).
- Added
editor.document_highlight.bracket_background
field to the theme to set background color of highlighted brackets. This will fall back toeditor.document_highlight.read_background
, if not set (#17566; thanks thataboy). - Improved alignment of rendered tables in Markdown Preview (#18315; thanks andarut).
- Improved consistency and reliability of direnv detection by making direnv integration use direct (
direnv export json
) mode by default instead of relying on a shell hook (#18536; thanks WeetHet). - Improved language server log panel split ergonomics (#18527).
- Improved experience of configuring external formatters by making formatter arguments optional (#18340; thanks twz123).
- Improved the git blame gutter to take up only the space required to display the longest git author name in the current file (#18145).
- Changed the behavior of the git gutter so that diff hunk are expanded immediately when clicking the gutter, and hunk controls are displayed above the hunk (#18313).
- Changed the
view the release notes
button in the update toast to trigger theauto update: view release notes locally
action (#18486). - Changed
ui_font_weight
andbuffer_font_weight
settings to require values to be between100
and950
(inclusive) (#18594; thanks JunkuiZhang).
SSH Remoting
- Added running LSP Adapters on host (#18359).
- Enabled assistant panel and inline assists (running on client) (#18367).
AI
- Added llama3.2 support (#18366).
- Linux: Added ability to paste images into the Assistant Panel to include them as context on Linux Wayland (#17671; thanks maan2003).
Languages
- Improved syntax highlighting for C++ (#18016; thanks VacheDesNeiges).
- Added syntax highlighting inside heredoc strings in PHP (#18368; thanks sylbru).
- Added support for using locally installed
pyright
if available (#18353). - Associated
uv.lock
files with the TOML language (#18426; thanks thorbenk).
Vim
- Added
:fo[ld]
,:foldo[pen]
and:foldc[lose]
(#18424). - Added
za
to toggle fold under cursor (#18421). - Added
zO
/zC
/zA
to open, close and toggle folds recursively (and fixedzc
to not recurse into selections) (#18421). - Added
zR
/zM
to open/close all folds in the buffer (#18421).
Bug Fixes
- Assistant: Changed the assistant model to be less likely to incorporate diagnostic information when not requested to fix any issues (#18596; thanks rowillia).
- Assistant: Fixed copy/cut/paste not working in the assistant panel when selection was empty (#18403).
- Fixed
Reveal in Finder/File Manager
,Copy Path
,Copy Relative Path
andCopy file location
actions not working with multibuffers (#18626). - Fixed the behavior of
{"terminal": {"blinking": "[on|off|terminal_controlled]"}
to work correctly and to work correctly when customcursor_shape
is set (#18538).terminal.cursor_shape
only controls the default shape of the terminal, not the blinking.terminal.blinking = on
means that it's always blinking, regardless of what terminal programs wantterminal.blinking = off
means that it's never blinking, regardless of what terminal programs wantterminal.blinking = terminal_controlled (default)
means that it's blinking depending on what terminal programs want. when a terminal program resets the cursor to default, it sets it back toterminal.cursor_shape
if that is set.
- Fixed the environment not loading if
direnv
mode is set todirect
and.envrc
is not allowed (#18473; thanks WeetHet). - Fixed task indicators not showing up at the starts of folds (#18526).
- Fixed a bug where
go to definition
would scroll the editor even when the definition was already within the viewport (#18441; thanks osa1). - Fixed an bug where some tooltips would not show up (#18435).
- Fixed
low_speed_timeout_in_seconds
for Ollama (#18417). - Fixed a slight gutter flicker when going over 999 lines (#18021; thanks galenelias).
- Fixed
use_on_type_format
setting not working when defined inside"languages"
in the settings. This change will now change the default behavior for C, C++, and Markdown, by turning language server'sOnTypeFormatting
completions off by default (#18387). - Fixed the cursor shape in the editor not changing back to default when
{"cursor_shape": "..."}
setting is removed. This does not apply to Vim mode (#18379). - Fixed sending
alt-enter
in terminal (#18363). - Fixed overriding the path of a language server binary for all language servers.
{"lsp":{"<lsp-name>":{"binary":{"path": "_"}}}}
will now work for all language servers including those defined by extensions (#18318). - Removed confusing soft wrap option behavior (#18412).
- Removed automatic reinstallation of language servers (#18318). (It mostly didn't work)
- SSH Remote: Fixed
cmd-O
to correctly open files on the remote host (#18308). - Linux: Fixed some cases where Linux X11 mouse scrolling didn't work at all (#18484; thanks mgsloan).
- Linux: Fixed handling of switching between Linux X11 devices used for scrolling (#18484; thanks mgsloan).
- Linux: Fixed a bug where middle mouse clicks could be interpreted as left or right mouse clicks (#18504; thanks mycroft).
- Linux: Fixed a regression with middle-click pasting (#18503; thanks mycroft).
- Linux: Fixed blur region on Plasma/Wayland (#18465; thanks jansol).
- Vim: Fixed cursor position after
:{range}yank
(#18424). - Vim: Fixed register selection in visual yank (#18418).
Breaking Changes
- Protocol Buffers language support: Renamed "proto" language to "Proto". This is a breaking change and requires users adjust their settings accordingly from
proto
toProto
unde...
v0.155.2
Enhancements
General
- Added icons to the file finder (#18091; thanks Daste745).
- Added a notification to warn users if their user settings or project-local settings failed to deserialize (#18122).
- Improved preview tabs by marking them as permanent when saved (#18158).
- Improved performance in repositories using Git fsmonitor--daemon feature (#18326).
- Improved activity indicators' UX by allowing more of them to be hidden on click (#18305).
- Improved the appearance of diff hunks in the editor (#18283).
- Improved buffer search performance when switching tabs (#18281).
- Improved Permalinks to markdown files on GitHub and GitLab (#18241).
- Improved completion resolve mechanism (#18212).
AI
- Added a new
assistant.inline_alternatives
setting to configure additional models that will be used to perform inline assists in parallel (#18098). - Added a new
Fix with Assistant
action on code with errors or warnings (#18163). - Added max tokens for Ollama's
qwen2.5-coder
model (#18290; thanks thehamsti).
Languages
Vim
- Added the ability to spawn multiple cursors through the g-A and g-I motions while in visual select mode (#18183; thanks sergioengineer).
- Added gq/gw for rewrapping lines (#18156).
Bug Fixes
- SSH remoting: Fixed projects not restoring previous locations and not refreshing the project panel on open (#18262; thanks CharlesChen0823).
- SSH remoting: Fixed
cmd-o
to correctly open files on the host (#18308). - SSH remoting: Fixed buffer reloading (#18245).
- SSH remoting: Fixed format on save (#18242).
- SSH remoting: Fixed go to definition outside of worktree (#18094).
- SSH remoting: Fixed LSP queries run over collab (#18099).
- SSH remoting: Removed "reveal in finder" option from menu (#18306).
- Fixed a recent regression where tuple and unit structs were omitted from the outline view in Rust (#18297).
- Fixed a bug where Python import names were highlighted as types (#17984; thanks verhovsky).
- Fixed running ESLint offline (#18286).
- Fixed a panic when graphemes are included in supermaven completions (#18279; thanks s3bba).
Breaking Changes
- Zed will now use the node installed on your $PATH (if it is more recent than v18) instead of downloading its own. You can disable the new behavior with
{"node": {"disable_path_lookup": true}}
in your settings. We do not yet use system/project-local node_modules (#18172).
v0.155.2-pre
Bug fixes
- Linux: Fixed Ubuntu 20.04 compatibility on x86_64. This regression occurred in Zed Stable v0.153.6 and Zed Preview 0.154.0-pre and was unintentional. Glibc requirement on x86_64 linux is glibc >= 2.31 as it was prior to those releases. Impacted users will have to reinstall zed. (PR #18442).
v0.154.4
Bug fixes
- Linux: Fixed Ubuntu 20.04 compatibility on x86_64. This regression occurred in Zed Stable v0.153.6 and Zed Preview 0.154.0-pre and was unintentional. Glibc requirement on x86_64 linux is glibc >= 2.31 as it was prior to those releases. Impacted users will have to reinstall zed. (PR #18442).
v0.155.1-pre
v0.154.3
v0.155.0-pre
Enhancements
General
- Added icons to the file finder (#18091; thanks Daste745).
- Added a notification to warn users if their user settings or project-local settings failed to deserialize (#18122).
- Improved preview tabs by marking them as permanent when saved (#18158).
- Improved performance in repositories using Git fsmonitor--daemon feature (#18326).
- Improved activity indicators' UX by allowing more of them to be hidden on click (#18305).
- Improved the appearance of diff hunks in the editor (#18283).
- Improved buffer search performance when switching tabs (#18281).
- Improved Permalinks to markdown files on GitHub and GitLab (#18241).
- Improved completion resolve mechanism (#18212).
AI
- Added a new
assistant.inline_alternatives
setting to configure additional models that will be used to perform inline assists in parallel (#18098). - Added a new
Fix with Assistant
action on code with errors or warnings (#18163). - Added max tokens for Ollama's
qwen2.5-coder
model (#18290; thanks thehamsti).
Languages
Vim
- Added the ability to spawn multiple cursors through the g-A and g-I motions while in visual select mode (#18183; thanks sergioengineer).
- Added gq/gw for rewrapping lines (#18156).
Bug Fixes
- SSH remoting: Fixed projects not restoring previous locations and not refreshing the project panel on open (#18262; thanks CharlesChen0823).
- SSH remoting: Fixed
cmd-o
to correctly open files on the host (#18308). - SSH remoting: Fixed buffer reloading (#18245).
- SSH remoting: Fixed format on save (#18242).
- SSH remoting: Fixed go to definition outside of worktree (#18094).
- SSH remoting: Fixed LSP queries run over collab (#18099).
- SSH remoting: Removed "reveal in finder" option from menu (#18306).
- Fixed a recent regression where tuple and unit structs were omitted from the outline view in Rust (#18297).
- Fixed a bug where Python import names were highlighted as types (#17984; thanks verhovsky).
- Fixed running ESLint offline (#18286).
- Fixed a panic when graphemes are included in supermaven completions (#18279; thanks s3bba).
Breaking Changes
- (Potentially breaking change) Zed will now use the node installed on your $PATH (if it is more recent than v18) instead of downloading its own. You can disable the new behavior with
{"node": {"disable_path_lookup": true}}
in your settings. We do not yet use system/project-local node_modules (#18172).
v0.154.2
v0.154.1
Enhancements
General
- Added file icons to the tab switcher. Enable with by adding
"tabs": {"file_icons": true}
to settings
(#17115; thanks Daste745). - Added an
editor: rewrap
command for rewrapping text to the maximum line width (#17909). - Added the ability to copy surrounding code blocks in the assistant panel into the clipboard, or inserting them directly into the editor, without manually selecting. Place cursor anywhere in a code block (marked by triple backticks) and use the
assistant::CopyCode
action (cmd-k c
/ctrl-k c
) to copy to the clipboard, or theassistant::InsertIntoEditor
action (cmd-<
/ctrl-<
) to insert into editor (#17853; thanks thataboy). - Added ability to click on filepaths when using
git diff
inside the built-in terminal (#17446; thanks watsoncj). - Added theme styling option to separate terminal background view from terminal background color, for transparent terminal backgrounds (#17611; thanks AlbertMarashi).
- Added keyboard shortcut to rearrange tabs (left:
ctrl-shift-pageup
, right:ctrl-shift-pagedown
) like Chrome (#15583; thanks tepek2). - Added a way to join all panes into one with
pane::JoinAll
action (#17673). - Added a setting for
cursor_shape
. Can bebar
,block
,underline
, orhollow
. Default isbar
(#17572; thanks thataboy). - Added an
inlay_hints.show_background
setting to allow displaying backgrounds for inlay hints in the editor (#18010).- This setting defaults to
false
. - If enabled, the inlay hint backgrounds will use the
hint.background
color from the theme.
- This setting defaults to
- Added access to the local shell environment for task context providers, enabling local Rust tool installations to function (#17964; thanks WeetHet).
- Improved underline appearance (#17586; thanks ncor).
- Persisted tab pin state across Zed runs (#17670).
- Changed documentation popovers to render Markdown prose using the UI font instead of the buffer font. Code blocks still using the buffer font (#17761).
- Improved the behavior of
editor: rewrap
when working with a selection that contained comments at different indentation levels (#18146). - Improved the
auto update: view release notes locally
feature by displaying release notes for each patch version associated with the installed minor version (#18108). - Improved welcome page design and added additional links (#17874).
- Enabled dark mode for documentation (#17940).
- Changed
ui_font_size
andbuffer_font_size
to require values to be between 6px and 100px (inclusive) (#17829). - Changed
tab_size
setting to require values be between 1 and 16 (inclusive) (#17882; thanks ihavecoke).
SSH Remoting
- Added support for booting language servers (in limited circumstances) (#17655).
- Settings files are now opened in a non-remote window (#18020).
- Show LSP status in status bar (#17912).
- Look up language server binaries in the environment on SSH host (#17658).
Languages
- Improved C syntax highlighting (#17541; thanks krizej).
- Improved C++ syntax highlighting (#17471; thanks VacheDesNeiges).
- Changed built-in language support (Rust, Go, C, YAML, ...) to lookup language-server specific settings locally in project directory first before falling back to global value (#17753).
- Changed
rust-analyzer
support to look uprust-analyzer
binaries by default in$PATH
. That changes the default value to something users requested (#17926). - Improved highlighting for property names in CSS (#17324).
Vim
- Improved edge-case handling for
ctrl-a
/ctrl-x
(#17644; thanks hekmyr). - When using
OpenFile
(gf
in Vim mode) and the word under the cursor is not an existing file path, we now fall back and additionally check whether a file called<word-under-cursor>.<language-specific-path-suffixes>
exists. That's similar to Vim'ssuffixesadd
option (#17805).
AI
- Added a new
/delta
command to re-insert changed files that were previously included in a context (#17903). - Added support for OpenAI o1-mini and o1-preview models (#17796).
- Added support for fill-in-the-middle style inline completions (#17578; thanks kevmo314).
- Added support for specifying keep_alive for Ollama AI models via settings (#17906).
- Changed default
low_speed_timeout_in_seconds
option to600
for OpenAI provider to accommodate recent o1 model release (#17804).
Bug Fixes
- Fixed tab bar not preserving pinned tab state when an editor::NewFile action is executed (#18072).
- Fixed macOS incorrectly using
~/.cache/zed
instead of~/Library/Caches/Zed
(#17949). - Fixed a bug where files with colons in their names could not be opened from the Zed CLI (#17281; thanks erickguan).
- Fixed a bug where Zed would initiate a window move and then refuse to release the mouse (#17801; thanks skytwosea).
- Fixed a bug where file watching for Go projects would resort to watching the filesystem root (#17769).
- Fixed a bug where an extra row was appearing in the toolbar when it was empty (#17888; thanks zhang0098).
- Fixed a bug where the
editor: toggle comments
command didn't use the right comment syntax in JSX and TSX elements (#17734). - Fixed
ctrl-b
not moving the cursor (#17808). - Fixed display of task commands by using single quotation marks instead of backticks (#17637; thanks bestgopher).
- SSH remoting: Fixed rename over language server (#17897).
- SSH remoting: Fixed shell environment loading for remote shells (#17665).
- Fixed user-configured
initialization_options
being passed asworkspace/Configuration
for the vtsls, TypeScript, and YAML language servers (#17757). - Fixed a wrong offset calculation in the Supermaven inline completion provider (#17925; thanks kevmo314).
- Fixed the
is
and...
highlights for TypeScript (#17787; thanks AlbertMarashi). - Fixed a panic that could occur when expanding an excerpt within a multibuffer when the cursor was at the end of the excerpt (#17955).
- Fixed a link in the Assistant panel to the OpenAI console (#17675; thanks aa2kb).
- Fixed inline completions showing up in Vim normal mode (#17727).
- Vim: Fixed
gv
after > and < in visual mode (#17986). - Fixed
vtsls
being initialized the wrong way, which would mean the wrong options were used to enable completions or inlay hints (#18259). - Fixed a bug where copying from the assistant panel appended an additional newline to the end of the clipboard contents (#18090).
- Fixed link to Privacy Policy in terms...
v0.154.1-pre
Fixes
- Fixed
vtsls
being initialized the wrong way, which would mean the wrong options were used to enable completions or inlay hints. (#18014) - Improved the behavior of
editor: rewrap
when working with a selection that contained comments at different indentation levels. (#18146) - Fixed buffer search options toggling unexpectedly on redeploys
(#18166) - Fixed a bug where copying from the assistant panel appended an additional newline to the end of the clipboard contents. (#17661)
- Enhanced the
auto update: view release notes locally
feature to display release notes for each patch version associated with the installed minor version. (Partially addresses #17527)) - Fixed search results in project-wide search not being highlighted
consistently and navigation sometimes being broken (#18254, #18219, #17690)