Releases: zed-industries/zed
Releases · zed-industries/zed
v0.170.0-pre
Enhancements
General
- Improved app responsiveness with large number of diagnostics (#23122).
- Improved visibility of errors from language servers by reporting them in the UI when the user invokes an LSP action (#23011).
- Improved formatting of selection by adding support for multiple cursors (#22933).
- Improved diagnostic excerpts by using syntactic info to determine the context lines to show (#22858).
- Added an error toast that is shown when a dev extension fails to install (#22914).
- Added the process ID (PID) to terminal tab tooltips (#21955; thanks Angelk90).
- Added
project_panel.entry_spacing
setting to configure spacing between entries in the project panel:comfortable
(default) orstandard
(#16255; thanks mikesun). - Improved keymap settings file with enhanced JSON schema information, enabling better
json-language-server
completions and tooltips, especially for actions requiring input (#23044).
Language Support
- Added support for checking for
yaml-language-server
on the$PATH
(#22036; thanks henryhchchc). - Changed default formatter for C/C++ to be the primary language server, not Prettier. Format-on-save is still disabled by default for C/C++, but if one uses the
editor: format
command now, it will default to the language server.clangd
can format C++ files, whereas prettier cannot (#23112, #23119). - Fixed rename symbols action when the language server does not have the capability to prepare renames - such as
luau-lsp
(#23000). - Added configuration sent on initialization to the
Server Info
section of the language server logs (#23084). - Improved LSP debug logs by defaulting to soft wrap and folding a suffix of long lines. Also adds autoscroll, so if the cursor is on the last line of the logs they will scroll like
tail
(#22996).
AI
Vim, Emacs, and Keybinds
- Vim: Added SubWord TextObject (#22387; thanks 0x2CA).
- Vim: Added support for the popular vim_sneak plugin. This is disabled by default and can be enabled by binding a key to the
Sneak
andSneakBackward
operators (#22793; thanks nilehmann). - Emacs: Added support for
ctrl-t
transposing characters on Linux (#22974). - Added
Diagnostics
key context allowing Diagnostic pane-specific keybinds (#23043; thanks everdrone). - macOS: Added
fn-f
keyboard shortcut for fullscreen toggle (#23184).
Bug Fixes
- Fixed a bug binding to
fn-X
(where X is a printing key) on macOS (#23070). - Fixed highlighting of "tool" directives in go.mod (#22995).
- Fixed error message about shell environment failing to load when joining projects in collaboration (#23138).
- Fixed Vim
dxG
delete to line (#23053; thanks 0x2CA). - Fixed handling of selection ranges when formatting selections within a multibuffer (#22929).
- Fixed result count in branch picker searches (#22908; thanks AaronFeickert).
- Fixed issue with project-specific env not being found via .envrc (direnv) on Linux (#22803; thanks 0xtimsb).
- Fixed outline items not scrolling properly (#22890).
- Fixed extend/shrink selection in JetBrains keymap on macOS (#22814; thanks narqo).
Breaking changes
- Renamed Github Copilot Chat "o1-preview" model to "o1" (#23038; thanks SkywardSyntax).
v0.169.2
Enhancements
General
- Add
workspace::OpenFiles
action to enable opening individual files on Linux and Windows (#22625) - Improved
debug: open language server logs
to display more language server data (#22797) - Set
TERM
toxterm-256color
in Zed's built-in terminal (#22777) - Improved the
RemoveFromProject
action to remove all selected items (#22455; thanks pepyakin). - Improved project panel selection, copying, and deletion behavior, to be more predictable (#22658; thanks 0xtimsb).
- Improved
ExpandExcerpts
action (shift+enter
by default) so it expands all excerpts that have selected text, rather than just excerpts that contain the end of a selection (#22748). - Project panel: pasting a file with a conflicting filename will now automatically open the rename dialog (#19975; thanks Zollerboy1).
- Improved support for
file://
URLs with line numbers in the Zed terminal (#22559). - Added fine-grained control of scrollbar diagnostic indicators (#22364; thanks AaronFeickert).
- Support diagnostic navigation in multibuffers (#22620).
- Added auto-focus for the docked terminal on load when no other item is focused. (#23094; thanks 0xtimsb).
Language Support
- Python: Added detection for pixi-environments (#22635; thanks YYYasin19)
- Python auto-venv activation in terminal now checks for path existence before executing the activate script. (#22792).
- Python: Fixed for running
pip
commands inside a virtual environment on Windows 11. (#22587; thanks TorratDev) - Typescript: Improved
typescript-language-server
completion details rendering (#23034) - Ensure
end >= start
inlsp::Range
(fixes some Zig zls crashes; perhaps others) (#22690; thanks unexge). - Improved Tree-sitter support with added compatibility for standard injections captures (#22268; thanks uncenter).
- Fixed
gopls
path construction on Windows 11 (#22727; thanks TorratDev).
AI
- Improved support for Phi4 with ollama (#23036).
- Added support for Google's Gemini 2.0 Flash experimental model (#22665; thanks respberryx).
- Added support for the Claude 3.5 Haiku model (#22323; thanks saahityaedams).
- Added the ability to specify additional beta headers for custom Anthropic models (#20551; thanks rowillia).
- Fixed inline completions showing up in Vim normal mode (#22439; thanks zeux).
Vim, Emacs, and Keybinds
- vim: Add 'g J' JoinLines and JoinLinesNoWhitespace (#22496; thanks 0x2CA).
- vim: Add
aq
/iq
"any quote" text objects that are the smallest ofa"
,a'
ora`
(#22263; thanks oca159). - Fixed a panic in vim text objects in multibuffers (#22753).
- Fixed
Y
so it yanks entire line instead of selection (#22416; thanks 0x2CA). - Improvements to emacs keybindings (#22590 and #22629; thanks rosstimson).:
- Better support for running emacs inside Zed terminal (e.g.
ctrl-x ctrl-c
will quit emacs in terminal not zed) alt-;
Toggle Commentsalt-^
Join Linesctrl-/
Undoalt-.
GotoDefinition andalt-,
GoBackalt-<
/alt->
Goto End/Beginning of Bufferalt-g g
oralt-g alt-g
Goto Line Numberctrl-x h
SelectAllctrl-x b
Switch Tabsctrl-g
Menu::cancelctrl-x 5 0
CloseWindowctrl-x 5 2
as workspace::NewWindow
- Better support for running emacs inside Zed terminal (e.g.
- Added keyboard navigation for menus on Linux (left/right/up/down). (#22074; thanks 0xtimsb). If you wish to open menus with keyboard shortcuts add the following to your user keymap:
{ "context": "Workspace", "bindings": { "alt-z": ["app_menu::OpenApplicationMenu", "Zed"], "alt-f": ["app_menu::OpenApplicationMenu", "File"], "alt-e": ["app_menu::OpenApplicationMenu", "Edit"], "alt-s": ["app_menu::OpenApplicationMenu", "Selection"], "alt-v": ["app_menu::OpenApplicationMenu", "View"], "alt-g": ["app_menu::OpenApplicationMenu", "Go"], "alt-w": ["app_menu::OpenApplicationMenu", "Window"], "alt-h": ["app_menu::OpenApplicationMenu", "Help"] } }
Bug Fixes
- Fixed duplicate "Fix with Assistant" code actions being displayed (#23118).
- Improved line positioning when jumping from an excerpt in a Multibuffer into a file. (#23101).
- Fixed Project Panel toggle (
cmd-shift-e
/ctrl-shift-e
) so it works in more contexts (#22713). - Fixed inline completions (Copilot, Supermaven, ...) still being visible sometimes after leaving Vim's insert mode. (#23176).
- Changed inline completions (Copilot, Supermaven, ...) to not show up in empty buffers. (#23125).
- Fixed SSH remoting in the case that ssh defaults to a non-$HOME directory (#22744).
- Added an error alert when there's an error opening file with native OS picker (#22671; thanks spotikhanov).
- Fixed Rust runnable not detected when comment is after
#[test]
attribute (#22823; thanks RemcoSmitsDev). - Fixed a panic after disconnecting from a remote project (#22806)
- Fixed bundle-mac script to generate licenses (#22800)
- Fixed an issue where items on the Welcome page could not be toggled on Windows, either on first launch or when
settings.json
is a symlink (#22660; thanks 0xtimsb. - Fixed terminal incorrectly inheriting
TERM
from the parent environment (#22615; thanks JuliusDeBoer). - Reduced amount of workspace serialization happening (#22730)
- Fixed empty title in Recent Projects (#21952; thanks huacnlee).
- Fixed target file from being trashed when trashing symlink on Linux (#22704; thanks 0xtimsb).
- Pinning a preview tab will now turn off preview mode (#22501; thanks Hmikihiro).
- gpui: Fixed an issue where shadows with a
blur_radius
of 0 would not render (#22441). - Fixed ghost files appearing in the project panel when clicking relative paths in the terminal (#22688; thanks 0xtimsb).
- Fixed buttons being unresponsive on load until the center pane is clicked (#23094; thanks 0xtimsb).
- Fixed inlay hints not showing while using theme selector (#22605).
- Fixed
zed
cli crash (ScreenCaptureKit
library not loaded) on older macOS versions (#22515; thanks huacnlee). - Fixed issue where Welcome page could alter settings on Linux when Zed settings.json was a Symlink (dotfiles, etc) (#22608; thanks 0xtimsb).
- Fixed
robotgo
failing when Zed window is open on Linux ([...
v0.169.2-pre
- Improved support for Phi4 with ollama. (#23036)
- (temporarily) Removes the linux "save file as root" feature while we figure out bugs. (#23168)
- Fixed inline completions (Copilot, Supermaven, ...) still being visible sometimes after leaving Vim's insert mode. (#23176)
- Changed inline completions (Copilot, Supermaven, ...) to not show up in empty buffers. (#23125)
- Changed the behavior of
<tab>
at start of line when an inline completion (Copilot, Supermaven, ...) is visible. If the cursor is before the suggested indentation,<tab>
now indents the line instead of accepting the visible completion. (#22892) - Fixed duplicate "Fix with Assistant" entries showing in the code action list. (#23118)
v0.169.1-pre
- Fixed a bug where the relative position of an excerpt within the multibuffer was not accounted for while jumping to the buffer, causing the clicked line to drastically change position on screen. (#23101)
- Fixed unresponsive buttons on load until the center pane is clicked.
- Added auto-focus for the docked terminal on load when no other item is focused. (#23094)
- Fixed terminal pane button opening two terminals on click (#23032)
- Improved typescript-language-server's completion details rendering (#23034)
v0.168.3
- Fixed a bug where the relative position of an excerpt within the multibuffer was not accounted for while jumping to the buffer, causing the clicked line to drastically change position on screen. (#23100)
- Fixed unresponsive buttons on load until the center pane is clicked.
- Added auto-focus for the docked terminal on load when no other item is focused. (#23093)
- Fixed terminal pane button opening two terminals on click (#23031)
- Improved typescript-language-server's completion details rendering (#23033)
v0.169.0-pre
Enhancements
General
- Add
workspace::OpenFiles
action to enable opening individual files on Linux and Windows (#22625) - Improved
debug: open language server logs
to display more language server data (#22797) - Set
TERM
toxterm-256color
in Zed's built-in terminal (#22777) - Improved the
RemoveFromProject
action to remove all selected items (#22455; thanks pepyakin). - Improved project panel selection, copying, and deletion behavior, to be more predictable (#22658; thanks 0xtimsb).
- Improved
ExpandExcerpts
action (shift+enter
by default) so it expands all excerpts that have selected text, rather than just excerpts that contain the end of a selection (#22748). - Project panel: pasting a file with a conflicting filename will now automatically open the rename dialog (#19975; thanks Zollerboy1).
- Improved support for
file://
URLs with line numbers in the Zed terminal (#22559). - Added fine-grained control of scrollbar diagnostic indicators (#22364; thanks AaronFeickert).
- Support diagnostic navigation in multibuffers (#22620)
Language Support
- Python: Added detection for pixi-environments (#22635; thanks YYYasin19)
- Python auto-venv activation in terminal now checks for path existence before executing the activate script. (#22792).
- Python: Fixed for running
pip
commands inside a virtual environment on Windows 11. (#22587; thanks TorratDev) - Ensure
end >= start
inlsp::Range
(fixes some Zig zls crashes; perhaps others) (#22690; thanks unexge). - Improved Tree-sitter support with added compatibility for standard injections captures (#22268; thanks uncenter)
- Fixed
gopls
path construction on Windows 11 (#22727; thanks TorratDev).
AI
- Added support for Google's Gemini 2.0 Flash experimental model (#22665; thanks respberryx).
- Added support for the Claude 3.5 Haiku model (#22323; thanks saahityaedams).
- Added the ability to specify additional beta headers for custom Anthropic models (#20551; thanks rowillia).
- Fixed inline completions showing up in Vim normal mode (#22439; thanks zeux).
Vim, Emacs, and Keybinds
- vim: Add 'g J' JoinLines and JoinLinesNoWhitespace (#22496; thanks 0x2CA)
- vim: Add
aq
/iq
"any quote" text objects that are the smallest ofa"
,a'
ora`
(#22263; thanks oca159) - Fixed a panic in vim text objects in multibuffers (#22753)
- Fixed
Y
so it yanks entire line instead of selection (#22416; thanks 0x2CA) - Improvements to emacs keybindings (#22590 and #22629; thanks rosstimson).:
- Better support for running emacs inside Zed terminal (e.g.
ctrl-x ctrl-c
will quit emacs in terminal not zed) alt-;
Toggle Commentsalt-^
Join Linesctrl-/
Undoalt-.
GotoDefinition andalt-,
GoBackalt-<
/alt->
Goto End/Beginning of Bufferalt-g g
oralt-g alt-g
Goto Line Numberctrl-x h
SelectAllctrl-x b
Switch Tabsctrl-g
Menu::cancelctrl-x 5 0
CloseWindowctrl-x 5 2
as workspace::NewWindow
- Better support for running emacs inside Zed terminal (e.g.
- Added keyboard navigation for menus on Linux (left/right/up/down). (#22074; thanks 0xtimsb). If you wish to open menus with keyboard shortcuts add the following to your user keymap:
{ "context": "Workspace", "bindings": { "alt-z": ["app_menu::OpenApplicationMenu", "Zed"], "alt-f": ["app_menu::OpenApplicationMenu", "File"], "alt-e": ["app_menu::OpenApplicationMenu", "Edit"], "alt-s": ["app_menu::OpenApplicationMenu", "Selection"], "alt-v": ["app_menu::OpenApplicationMenu", "View"], "alt-g": ["app_menu::OpenApplicationMenu", "Go"], "alt-w": ["app_menu::OpenApplicationMenu", "Window"], "alt-h": ["app_menu::OpenApplicationMenu", "Help"] } }
Bug Fixes
- Fixed Project Panel toggle (
cmd-shift-e
/ctrl-shift-e
) so it works in more contexts (#22713). - Fixed SSH remoting in the case that ssh defaults to a non-$HOME directory (#22744).
- Added an error alert when there's an error opening file with native OS picker (#22671; thanks spotikhanov)
- Fixed Rust runnable not detected when comment is after
#[test]
attribute (#22823; thanks RemcoSmitsDev). - Fixed a panic after disconnecting from a remote project (#22806)
- Fixed bundle-mac script to generate licenses (#22800)
- Fixed an issue where items on the Welcome page could not be toggled on Windows, either on first launch or when
settings.json
is a symlink (#22660; thanks 0xtimsb. - Fixed terminal incorrectly inheriting
TERM
from the parent environment (#22615; thanks JuliusDeBoer) - Reduced amount of workspace serialization happening (#22730)
- Fixed empty title in Recent Projects (#21952; thanks huacnlee).
- Fixed target file from being trashed when trashing symlink on Linux (#22704; thanks 0xtimsb)
- Pinning a preview tab will now turn off preview mode (#22501; thanks Hmikihiro)
- gpui: Fixed an issue where shadows with a
blur_radius
of 0 would not render (#22441) - Fixed ghost files appearing in the project panel when clicking relative paths in the terminal (#22688; thanks 0xtimsb).
- Fixed inlay hints not showing while using theme selector (#22605).
- Fixed
zed
cli crash (ScreenCaptureKit
library not loaded) on older macOS versions (#22515; thanks huacnlee) - Fixed issue where Welcome page could alter settings on Linux when Zed settings.json was a Symlink (dotfiles, etc) (#22608; thanks 0xtimsb).
- Fixed
robotgo
failing when Zed window is open on Linux (#22348; thanks 0xtimsb). - Fixed cursor style not changing on hover over items in the title bar on Windows (#22580; thanks 0xtimsb).
Breaking changes
- Renamed the
OpenFile
action toOpenSelectedFilename
for clarity (#22494)
v0.168.2
Enhancements
General
- Added menus on Linux (#21873; thanks 0xtimsb).
- Multibuffer headers will now stick to the top of the viewport as you scroll (#22391).
- Multibuffer improved usability: clicking on line numbers in multibuffers jumps the cursor to that location in file; show keybinds for "jump to file/location" and "expand excerpt" (#22167).
- Multibuffer diagnostic excerpts can now be expanded(#22391).
- Added block comment syntax
<!--
and-->
for Markdown files (#22352; thanks Rusydy). - Improved handling of resizing and multiple monitors in Linux/Windows (#22409; thanks kvark).
- Make
workspace::ToggleRightDock
open the assistant panel if no right-dock panel has yet been activated (#22346). - Terminal:
cmd-n
now opens a new terminal instead of a new file (#22253). - Improved performance with large quantity of cursors (#22299)
- Improved GPU context management: share a single context with multiple surfaces (#20853; thanks kvark)
- Added support for searching command palette using keymap-style action names (#22149).
- Add keybinds for "Close Left" / "Close Right" tab actions:
cmd-k e
/cmd-k t
(macOS) orctrl-k e
/ctrl-k t
(Linux) (#22402).
Language / AI
- Add support for
OpenAI o1
model (non-preview) in GitHub Copilot Chat (#22376; thanks chirpcel). - Syntax highlight the JavaScript keyword
using
(#22479; thanks jaydenseric). - Zig: Fixed
zls
renames applying duplicate edits (#22512). - Zig: Fixed
zls
not working properly whentypos
extension is installed (#22511). - Fixed autocomplete inserting multiple imports (#22448)
- Fixed pytest decoracted function discovery (#22325; thanks ThomAub)
- Added the new CSS logo (#22382)
Vim
- Support arrow key movement in with Alacritty vi-mode in the Zed Terminal on more keyboard layouts. Access via
terminal::ToggleViMode
action which is bound by-default toctrl-shift-space
(#22103; thanks agomezl) - Fixed vim repeat (
.
) and macro playback of insertions in diagnostics and assistant (#22210). - Fixed deleting sentence-wise (i.e.
d(
andd)
), which would previously delete the whole line instead of just a sentence. (#22289) - Added support for find and replace in diagnostics. Also causes keybindings that use search to now work (such as
*
and#
vim bindings) (#22213).
Bug Fixes
- Fixed non-maximized zed windows growing larger across sessions on Linux (#22301; thanks 0xtimsb)
- Fixed
Failed to start language server
errors when starting from dekstop entry on Linux (#22335; thanks 0xtimsb). - Fixed some language servers reporting status as "Downloading..." when only a version check was being done (#22292).
- Fixed language servers not being released between project reopens (#22470).
- Fixed wrong cursor theme for arrow cursor style on Linux (#22276; thanks 0xtimsb).
- Fixed file saving with root ownership on Linux (#22045; thanks 0xtimsb).
- Fixed GitHub permalink-to-line actions when worktree dir and Git dir aren't the same (#22003)
- Collab: Fixed an overlap that cuts off user names when a cursor has a block shape (#21999; thanks AaronFeickert).
- Collab: Hide chat panel button by default when not in a call (#22200).
- Fixed Rust completion labels not showing the imports (#22651)
- Fixed a staleness issue with the language model selector. (#22626)