Releases: zed-industries/zed
v0.180.1-pre
v0.179.3
v0.180.0-pre
Enhancements
- Added persistence to editor folds to preserve them between restarts. (#27252)
- Added an
editor::CopyAndTrim
action to trim selections when copying. (#27206) - Added a
go_to_definition_fallback
setting, which can be assignedfind_all_references
(default) ornone
. (#27426) - Added a scrollbar to the extensions page. (#27303)
- Added the
--system-specs
flag to the Zed binary (not the CLI!), to retrieve the system specs we ask for in GitHub issues without needing to open Zed. (#27285) - Added option to copy extension author's name and email from extension context menu. (#27221)
- Added the ability to set a language server's environment variables. For example:
{"lsp": {"rust-analyzer": {"binary": {"path": "/some/abs/path/rust-analyzer", "env": {"RA_PROFILE": "*>100"} }}}}
. (#27213; thanks davidbarsky) - Added a notification when saving the
tasks.json
file while in an invalid state. (#27185) - Improved user menu placement. (#27329; thanks huacnlee)
- Improved memory usage around installed monospace fonts. On Arch Linux with the
nerd-fonts
package installed (which provides around 2000 monospaced fonts), it decreases RAM usage from ~800MB to around ~300MB. (#27362; thanks AlvaroParker) - Improved Regex syntax highlighting. (#25332; thanks chbk)
- Improved scrolling of
editor::SelectLargerSyntaxNode
for better visibility. (#27295) - Improved autocomplete suggestions in
settings.json
, now the whole string is queried instead of just the last word of the string, which filters out a lot of false positives. (#27175) - Improved selection of action in
keymap.json
, where now you can double click to only select certain parts of an action, instead of selecting the whole action. (#27175) - Removed the
stderr
-prefix of a language server's stderr logs. (#27213; thanks davidbarsky)
Languages
- Python: Added detection for runnable Python modules. (#26462; thanks griendt)
- Python: Added Python-specific task to run a Python file as a module from inside the project's scope. (#26462; thanks griendt)
- Python: File, line references from Python, like
File "file.py", line 8
are now clickable in the terminal. (#26903; thanks thorbenk) - Python: Show tasks from Python plugin for standalone files. (#27183)
- JavaScript / TypeScript: Improved autocomplete suggestions for imports. (#27235)
- Added recognition for
APKBUILD
files as "Shell Script". (#27099; thanks vixalien) - Improved language server autocomplete to show more possible matches. (#27199)
- Updated
bun.lock
files to be recognized as JSONC. (#27359; thanks A-caibird)
Vim
- Added
'
and"
marks (last location jumped from in the current buffer, and location when last exiting a buffer). (#27231; thanks AidanV) - Added
:marks
which brings up a list of current marks. (#26885; thanks AidanV)
AI
- Added support for Gemini 2.5 Pro Experimental model to Zed AI. (#27468)
- Added support for Claude Sonnet 3.7 Thought in the assistant panel. (#27085)
- Added support for Claude Sonnet 3.7 Thought to GitHub Copilot Chat. (#27409; thanks jiahaoxiang2000)
- Updated Copilot to use the official
@github/copilot-language-server
. (#27401) - Inline assistant will now expand empty selections to the block under the cursor. (#27282)
Bug Fixes
- Fixed invisible scrollbar tracks being inserted into the editor when scrollbars are explicitly disabled via settings. (#27467; thanks MrSubidubi)
- Fixed an issue where code block highlight and indentation in Markdown preview was rendered incorrectly. (#27463)
- Fixed an issue where Markdown preview was not rendering bullet points beginning with HTML. (#27018; thanks nilskch)
- Fixed color swatches shrinking upon re-adding a color-related property. (#27450)
- Fixed a conflict between LaTeX and cspell extensions affecting code formatting on save. (#27286; thanks lnay)
- Fixed an issue where
except
,finally
,else
, andelif
control flow keywords in Python would be incorrectly indented when entered at the correct level of indentation. (#27428) - Fixed a bug where
inactiveRegions
didn't replace existing diagnostics anymore when using theclangd
language server. (#26737; thanks naim94a) - Fixed an issue where both the predict edit and git onboarding banners would show at the same time. (#27412)
- Fixed a rare panic in the project diff view. (#27395)
- Fixed an issue with JSX tag auto-close where components containing a
.
access like<Foo.Bar>
would be auto-closed as</>
instead of</Foo.Bar>
. (#27374) - Fixed images in the Markdown preview appearing not at all or too often. (#25592; thanks not-my-profile)
- Fixed an issue with context server paths not being interpreted relative to the extension's work dir. (#27201)
Breaking Changes and Notices
- Files that are 6GB or larger will now not open. This is a temporary workaround for inefficient handling of large files resulting in extremely high memory usage, often resulting in system freezing, requiring a restart of Zed or the entire system. (#27458)
- Changed Markdown default to
soft_wrap
at window width instead ofpreferred_line_length
. (#27205)
v0.179.2
We introduced a new display mode for Edit Prediction called subtle
, which makes predicted text hidden by default and only visible when you're holding a modifier key. To turn it on, open the Edit Prediction
status bar menu and select subtle
. This can also be adjusted via your settings.json
with: "edit_predictions": { "mode": "subtle" }
. To read about this new mode, check the blog post.
Enhancements
- Added support for word-based completions via
editor: show word completions
. (#26410) - Added the ability to filter the list of extensions by category. (#27005)
- Added support for reading from anonymous file descriptors (e.g., created as part of process substitution) on macOS and Linux. (#26744)
- Added a setting
use_system_prompts
. On macOS, you can set this tofalse
to use Zed's in-window confirmation dialogs instead of the system ones. (On Linux, Zed's dialogs are always used). (#26201; thanks Hawkbawk) - Added fallback colors for the
version_control.<variant>
theme properties. (#27106) - Git: Added a
SelectRepo
action that opens the repository selector in a modal. (#26950) - Git: Added a new
git_hosting_providers
setting for configuring custom Git hosting providers. (#26879; thanks khayyamsaleem) - Git: Improved the placement of the repo and branch picker popovers in the git panel. (#26950)
- Git: Improved consistency of colors relating to Git status. (#26951; thanks jakucermak)
- Git: Synced Git action buttons between the project diff and git panel. (#26938)
- Git: Removed a behavior where staging the last hunk in the project diff would open the commit modal. (#26939)
- SSH: Improved handling of multiple
@
in connection strings: e.g.,ssh jim.lv@es2@10.220.67.57@11.239.1.231
improving support of jump hosts running JumpServer. (#25314; thanks ColorFuzzy) - Multi-buffer: Improved
Expand Excerpt Down
so the button stays in place, allowing rapid expansion without moving the mouse. (#27058) - Improved Multibuffer design. Multibuffers now use less vertical space for excerpt boundaries. Additionally, the expand up/down arrows are hidden at the start and end of the buffers. (#24428)
- Improved performance when using the scroll wheel and some other mouse interactions. (#25009; thanks huacnlee)
- Improved support for extended keyboards on Mac (F20-F35). (#26899; thanks 0x2CA)
- Improved autocomplete for
keymap.json
by treating::
like word characters when inside a string. (#26574; thanks KyleBarton) - Improved save dialogues for new files to default to the directory you're currently working in instead of the project root. (#22563; thanks CharlesChen0823)
- Extended timeout used when connecting to remote instances. (#27250)
Vim
- Added global marks
'[A-Z]
. (#25702; thanks AidanV) - Added persistence for global (and local) marks. When re-opening the same workspace, your previous marks will be available. (#25702; thanks AidanV)
- Added sentence marks
'(
and')
. (#25702; thanks AidanV)
AI
- Copilot: You can now sign into Copilot from assistant settings without making it your edit prediction provider. This is useful if you want to use Copilot chat while keeping a different provider, like Zed, for predictions. (#26689)
- Copilot: Removed the
copilot
key fromfeatures
in settings. Useedit_prediction_provider
instead. (#26689) - Edit Prediction: Enabled toggling display modes (
eager
orsubtle
) directly from the UI via the status bar menu. (#26680)
Bug Fixes
- Fixed buffer search keeping focus when pressing enter in vim mode. (#26266; thanks CharlesChen0823)
- Fixed an issue where navigating code from a preview tab with
enable_preview_from_code_navigation
set totrue
, "Go Back" from a newly opened tab could focus on the tab to the right instead of returning to the original preview tab. (#26943) - Fixed an issue where selecting the first line in the terminal would cause it to scroll. (#26842)
- Fixed a bug where context for the terminal assistant would add line breaks in the presence of soft wrapped lines. (#25415; thanks 0xRichardH)
- Fixed the interaction between
auto_reveal
,file_scan_inclusions
, and.gitignore
within the Project Panel. Files that are always included will now be auto-revealed in the Project Panel, even if those files are also gitignored. (#26197; thanks Hawkbawk) - Fixed edit predictions appearing in read-only buffers. (#26804; thanks MrSubidubi)
- Fixed attributes in Rust being improperly highlighted. (#26172; thanks MrSubidubi)
- Fixed selection highlight appearing in input fields like the file picker, command palette, etc. (#26805)
- Fixed auto-paired quotes being inserted when typing a quote immediately next to a word character. (#26803)
- Fixed a rare case where languages had no associated icon in the language selector. (#26376; thanks MrSubidubi)
- Fixed an issue where file names with newlines and multi-byte characters could cause a crash in certain cases. (#26791)
- Fixed an issue where Zed would show macOS native tabs when opening new fullscreen windows on macOS. (#26774)
- Fixed a bug where editor's outline view wouldn't move the cursor on confirm action. (#26761)
- Fixed an issue where autocomplete suggestions and diagnostics for languages and (icon) themes in settings would not update when the extension with which they were added was installed or uninstalled. (#26633)
- Fixed an issue when using code actions as a format step where the edits made by the code actions would not be grouped with the other format edits in the undo history (#27198)
- Fixed custom tasks not shown (#27187)
- Linux: Fixed an issue where Zed would crash on AMD Linux systems when selecting long lines. (#26890; thanks not-my-profile)
- Git: Fixed git commit messages not being syntax-highlighted. (#26988)
- Git: Fixed involuntary joining of lines when typing in the commit message editor. (#26953)
- Git: Fixed being unable to type whitespace after a comment character at the start of a line in the commit message editor. (#26953)
- SSH: Fixed an issue that prevented formatting from working when working with remote dev.
- Vim: Fixed
space
not handling non-ASCII characters. (#27053; thanks 5brian)
v0.179.2-pre
v0.179.1-pre
- Fixed an issue that prevented formatting from working when working with remote dev
- Fixed an issue when using code actions as a format step where the edits made by the code actions would not be grouped with the other format edits in the undo history (#27198)
- Fixed custom tasks not shown (#27187)
- Added fallback colors for the
version_control.<variant>
theme properties. (#27106)
v0.179.0-pre
We introduced a new display mode for Edit Prediction called subtle
, which makes predicted text hidden by default and only visible when you're holding a modifier key. To turn it on, open the Edit Prediction
status bar menu and select subtle
. This can also be adjusted via your settings.json
with: "edit_predictions": { "mode": "subtle" }
. To read about this new mode, check the blog post.
Enhancements
- Added support for word-based completions via
editor: show word completions
. (#26410) - Added the ability to filter the list of extensions by category. (#27005)
- Added support for reading from anonymous file descriptors (e.g., created as part of process substitution) on macOS and Linux. (#26744)
- Added a setting
use_system_prompts
. On macOS, you can set this tofalse
to use Zed's in-window confirmation dialogs instead of the system ones. (On Linux, Zed's dialogs are always used). (#26201; thanks Hawkbawk) - Git: Added a
SelectRepo
action that opens the repository selector in a modal. (#26950) - Git: Added a new
git_hosting_providers
setting for configuring custom Git hosting providers. (#26879; thanks khayyamsaleem) - Git: Improved the placement of the repo and branch picker popovers in the git panel. (#26950)
- Git: Improved consistency of colors relating to Git status. (#26951; thanks jakucermak)
- Git: Synced Git action buttons between the project diff and git panel. (#26938)
- Git: Removed a behavior where staging the last hunk in the project diff would open the commit modal. (#26939)
- SSH: Improved handling of multiple
@
in connection strings: e.g.,ssh jim.lv@es2@10.220.67.57@11.239.1.231
improving support of jump hosts running JumpServer. (#25314; thanks ColorFuzzy) - Multi-buffer: Improved
Expand Excerpt Down
so the button stays in place, allowing rapid expansion without moving the mouse. (#27058) - Improved Multibuffer design. Multibuffers now use less vertical space for excerpt boundaries. Additionally, the expand up/down arrows are hidden at the start and end of the buffers. (#24428)
- Improved performance when using the scroll wheel and some other mouse interactions. (#25009; thanks huacnlee)
- Improved support for extended keyboards on Mac (F20-F35). (#26899; thanks 0x2CA)
- Improved autocomplete for
keymap.json
by treating::
like word characters when inside a string. (#26574; thanks KyleBarton) - Improved save dialogues for new files to default to the directory you're currently working in instead of the project root. (#22563; thanks CharlesChen0823)
Vim
- Added global marks
'[A-Z]
. (#25702; thanks AidanV) - Added persistence for global (and local) marks. When re-opening the same workspace, your previous marks will be available. (#25702; thanks AidanV)
- Added sentence marks
'(
and')
. (#25702; thanks AidanV)
AI
- Copilot: You can now sign into Copilot from assistant settings without making it your edit prediction provider. This is useful if you want to use Copilot chat while keeping a different provider, like Zed, for predictions. (#26689)
- Copilot: Removed the
copilot
key fromfeatures
in settings. Useedit_prediction_provider
instead. (#26689) - Edit Prediction: Enabled toggling display modes (
eager
orsubtle
) directly from the UI via the status bar menu (#26680)
Bug Fixes
- Fixed buffer search keeping focus when pressing enter in vim mode. (#26266; thanks CharlesChen0823)
- Fixed an issue where navigating code from a preview tab with
enable_preview_from_code_navigation
set totrue
, "Go Back" from a newly opened tab could focus on the tab to the right instead of returning to the original preview tab. (#26943) - Fixed an issue where selecting the first line in the terminal would cause it to scroll. (#26842)
- Fixed a bug where context for the terminal assistant would add line breaks in the presence of soft wrapped lines. (#25415; thanks 0xRichardH)
- Fixed the interaction between
auto_reveal
,file_scan_inclusions
, and.gitignore
within the Project Panel. Files that are always included will now be auto-revealed in the Project Panel, even if those files are also gitignored. (#26197; thanks Hawkbawk) - Fixed edit predictions appearing in read-only buffers. (#26804; thanks MrSubidubi)
- Fixed attributes in Rust being improperly highlighted. (#26172; thanks MrSubidubi)
- Fixed selection highlight appearing in input fields like the file picker, command palette, etc. (#26805)
- Fixed auto-paired quotes being inserted when typing a quote immediately next to a word character. (#26803)
- Fixed a rare case where languages had no associated icon in the language selector. (#26376; thanks MrSubidubi)
- Fixed an issue where file names with newlines and multi-byte characters could cause a crash in certain cases. (#26791)
- Fixed an issue where Zed would show macOS native tabs when opening new fullscreen windows on macOS. (#26774)
- Fixed a bug where editor's outline view wouldn't move the cursor on confirm action. (#26761)
- Fixed an issue where autocomplete suggestions and diagnostics for languages and (icon) themes in settings would not update when the extension with which they were added was installed or uninstalled. (#26633)
- Linux: Fixed an issue where Zed would crash on AMD Linux systems when selecting long lines. (#26890; thanks not-my-profile)
- Git: Fixed git commit messages not being syntax-highlighted. (#26988)
- Git: Fixed involuntary joining of lines when typing in the commit message editor. (#26953)
- Git: Fixed being unable to type whitespace after a comment character at the start of a line in the commit message editor. (#26953)
- Vim: Fixed
space
not handling non-ASCII characters. (#27053; thanks 5brian)
v0.178.5
v0.178.4
Enhancements
- Git: Added a
git.hunk_style
setting to control whether staged or unstaged
hunks are hollow. (26816; thanks jakcharvat) - Git: Improved gutter diff hunks to show whether a hunk is staged. (#26809; thanks jakcharvat)
- Added a keybinding to
alt-shift-enter
to interact with the button on the new status toasts,toast::RunAction
. (#26420) - Added
Open Remote...
toFile
menu. (#26288) - Added a "secondary" meta key to the Zed keystroke parser, which maps to
cmd
on macOS andctrl
off of macOS. (#26390) - Added support for opening folders in Zed from third-party macOS file managers like Path Finder and Super Charge through their
Open With
menu. (#26357) - Added a sign-out button for Copilot in Assistant settings. (#26340)
- Added support for
workspace/executeCommand
for actions' data. (#26239) - Improved
cmd-click
in terminal to find more paths. (#26174) - Improved the terminal tab for when command is run via vim mode, in order to disable the rerun button, seeing as Zed does not support it. (#26122; thanks dinocosta)
- User and global .npmrc configuration is now respected when running user-provided NPM binary (which also happens automatically when
npm
from PATH is newer than 18.0.0). (#26209) - Gruvbox Themes: Added a color for
@variable.special
syntax highlights. (#26271; thanks edwloef) - Linux: Made nano save (
ctrl-o
) work by default in terminal. (#26479)
Languages
- Added support for auto-closing of JSX tags. (#25681)
- Added support for clangd's
inactiveRegions
extension. (#26146; thanks naim94a) - Added
vtsls
andtypescript-language-server
to the list of available language servers. (#26046; thanks sacki5) - Improved Python highlighting for default function arguments and scoped identifiers. (#25813; thanks MrSubidubi)
- Enabled soft-wrap by default in Markdown. (#26247)
Vim
- Added
<count>%
motion. (#25839; thanks 5brian) - Added
:reg[isters]
to show the current values of registers. (#25945; thanks AidanV) - Added support for toggling boolean values with
ctrl-a
/ctrl-x
. (#25997; thanks 5brian)
AI
- Edit Predictions: Improved UX when there's no keybinding for accepting predictions. (#25815)
Bug Fixes
- Fixed an issue where text selection was not visible on top of a text background in the editor. (#26454)
- Fixed an issue where Zed showed transparent titlebar in fullscreen mode on macOS. (#26403)
- Fixed a bug where file paths in the built-in terminal of the format
path/to/file.ext:row:col:description or error message
would not be correctly identified as file paths due to the colon & additional text at the end. (#26401) - Fixed an issue where clicking the editor with the mouse while the
Go to Line
palette is open would cause it to jump to the previous scroll position. (#26362) - Fixed LSP completion items modified before resolve request. (#26347)
- Fixed an issue where signing into Copilot required restarting Zed. (#26330)
- Fixed default file type associations overriding associations provided by extensions for
txt
files. (#25420; thanks MrSubidubi) - Fixed SSH remotes running Nushell. (#25613)
- Fixed the terminal tab title when using
!!
to rerun the last command. (#26122; thanks dinocosta) - Fixed an issue where
cmd+click
on a URL was not working sometimes. (#26128) - Fixed an issue where the wrong file from a different worktree would open when using
Cmd+Click
on a file import. (#26120) - Fixed font sizes not reacting on settings change. (#26060)
- Fixed the "Open a file or project to get started" message not always showing after all buffers have been closed. (#26044; thanks felixpackard)
- Fixed lost focus when navigating back in project search result. (#22483; thanks feeiyu)
- Fixed broken C++ completion suggestions. (#25405; thanks BorisVassilev1)
- Fixed wrong file icons being shown for files outside of the current project. (#25933; thanks MrSubidubi)
- Fixed constants not being highlighted in Python files. (#25813; thanks MrSubidubi)
- Fixed regex search box being overly green. (#25962)
- Fixed an issue where file paths in the terminal surrounded by
()
or[]
would not be highlighted properly. (#26695) - Fixed issue where Zed would behave weirdly when opening new fullscreen windows by disabling window tabbing. (#26600)
- Fixed goto single file worktrees during terminal
cmd-click
s. (#26582) - Vim: Fixed insert before (
shift-i
) in visual modes. (#25603; thanks 5brian) - Vim: Fixed Vim ignoring
cursor_shape
settings. (#25439; thanks 0x2CA) - Vim: Fixed
.
repeat for remapped surrounds/exchange actions. (#26101) - Vim: Fixed
"seed_search_query_from_cursor" : "selection"
. (#26107; thanks 0x2CA) - Vim: Fixed vim exchange's "clear exchange" function didn't clear the exchange and kept you in operator pending mode. (#25804; thanks thomasheartman)
- Vim: Fixed incorrect behavior of backward search. (#24974; thanks nilehmann)
- Vim: Fixed
x g ctrl-a
step. (#26023; thanks 0x2CA) - Linux: Fixed
ctrl-alt-f
not correctly toggling search filters in project search. (#25917; thanks GuilhermeRGoncalves)
Breaking Changes and Notices
- Renamed the
vim::Backspace
andvim::Space
actions tovim::WrappingLeft
andvim::WrappingRight
respectively. The old names are still available, but they are marked as deprecated and users are advised to use the new names. (#25694; thanks asqarslanov)
v0.178.4-pre
- Git: Changed git commit message editors to use placeholder text for Git's suggested merge messages. (#26992)
- Git: Fixed various minor bugs.