Releases: zed-industries/zed
Releases · zed-industries/zed
v0.157.3-pre
- Fixed completion menu rendering.
v0.157.2-pre
- Fixed completion items inserted with a delay (#19005)
v0.156.1
v0.157.1-pre
- Fixed a potential hang and panic when an SSH project goes through a slow reconnect.
v0.157.0-pre
Enhancements
General
- Added support for color swatches in the language server completions list (#18665; thanks thecrypticace).
- Streamlined the creation of new branches from the branch selector (#18712).
- Added a notice in the activity indicator if an error occurs while loading the shell environment (#18567; thanks WeetHet).
Languages
Example task configuration:
[
{
"label": "Run ${ZED_STEM}",
"command": "gcc",
"args": [
"$ZED_FILE",
"-o",
"${ZED_DIRNAME}/${ZED_STEM}.out",
"&&",
"${ZED_DIRNAME}/${ZED_STEM}.out"
],
"tags": ["c-main"]
}
]
Vim
- Added
regex
andcaseSensitive
arguments tovim::MoveToNext
andvim ::MoveToPrev
commands, for toggling regex and case sensitive search (#18429; thanks osa1).
Example:
{
"context": "VimControl && !menu",
"bindings": {
"*": ["vim::MoveToNext", { "regex": false, "caseSensitive": false }],
"#": ["vim::MoveToPrev", { "regex": false, "caseSensitive": false }]
}
}
Bug Fixes
- Fixed completion items being applied improperly on fast typing (#18907).
- Fixed an issue where diff hunks at the boundaries of multi buffer excerpts could not be expanded (#18885).
- Fixed external formatters not being found, even when they were available in the
$PATH
of a project (#18611). - Fixed
option-t
andoption-shift-t
in terminal on macOS (#18749). - Fixed code action list not being horizontally aligned correctly (#18748; thanks RemcoSmitsDev).
- Fixed tab switcher icons not respecting the
tabs.git_status
setting (#18733; thanks Daste745). - Linux: Fixed a bug where the cursor would be the wrong size on Wayland (#18642).
Breaking Changes and Notices
- Removed built-in support for Protocol Buffers, in favor of making it available as an extension. The Protocol Buffers extension will be suggested for download when you open a
.proto
file (#18704).
v0.156.0
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 and Notices
- Protocol Buffers language support: Renamed "proto" language to "Proto". This is a breaking change and requires users adjust their settings accordingly from
proto
to ...
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).