0.186.9
05/15/2025
- Fixed rejecting overwritten files if the agent had previously edited them. (#30746)
Keep up with the weekly Zed releases.
0.186.9
05/15/2025
0.186.8
05/14/2025
0.186.7
05/14/2025
This week, we are launching the beta for our new debugger. Sign up for the waitlist and we'll send you an email once we let you in.
ctrl-r
binding to refresh diagnostics in the project diagnostics editor context. (#29706)workspace.title_bar.show_onboarding_banner
preference to hide onboarding banners. (#29709; thanks nt8r)skip_focus_for_active_in_search
setting for the file finder, which allows turning off the default behavior of skipping focus on the active file while searching in the file finder. (#27624; thanks patrickJramos)workspace.show_user_picture
preference to workspace.title_bar.show_user_picture
. (#29709; thanks nt8r)editor::GoToParentModule
for rust-analyzer-backed projects. (#29755)r enter
now maintains indentation, matching Vim. (#29838; thanks AidanV)do <-> done
, then <-> fi
, etc.) so they can be toggled between using %
. (#29700)editor::SelectLargerSyntaxNode
to properly select nodes when the cursor is positioned at the end of words or lines. (#29978)autoscroll_on_clicks
not being applied when expanding selection. (#28235; thanks neunato)SelectPrevious
behavior. (#27695; thanks fernandeeees)cmd-click
not registering foo/bar:20:in
-style paths. (#30207)cmd
-hovered words in terminal. (#30206)0.185.16
05/12/2025
workspace::ToggleZoom
. (#30504)0.185.15
05/09/2025
assistant: quote selection
. (#30428)menu::SelectPrevious
keybindings not working in the agent panel's model selector. (#30274)node.path
setting was not respected when invoking npm. (#30416)node
binary from being detected.0.185.14
05/09/2025
diagnostic
tool. (#30374)0.185.13
05/08/2025
mistral-medium
to the Mistral provider. (#30171)0.185.12
05/08/2025
0.185.11
05/07/2025
supports_tools
field in settings (defaults to false
) (#30120)0.185.10
05/07/2025
Today's release introduces the Agent Panel for AI-powered editing.
0.185.9
05/07/2025
Today's release introduces the Agent Panel for AI-powered editing, initial support for resolving merge conflicts, a VS Code settings importer, and improvements to diagnostics reporting.
zed::ImportVsCodeSettings
action. (#29018)tab_switcher::ToggleAll
to search open tabs from all panes and focus the selected one. (#28047)F10
toggling of menus. (#29607)git_panel.sort_by_path
setting to mix untracked/tracked files in the diff list. (#28791)upstream
remote over origin
if it exists. (#29382)expand_excerpt_lines
from 3 to 5. This makes it faster to see more context in the git diff view. (#28791)gr
to gR
. (#28602; thanks 5brian)/fetch
commands in text threads. (#29124)zed: open project settings
if the ".zed" directory was excluded from the files scanned in a workspace (in "file_scan_exclusions"). (#29578)SelectNext
and SelectPrevious
did not preserve the last selection's cursor direction. (#29293)settings.json
and keymap.json
. (#29989)ciq
in vim mode inside of a raw string in a bash file. (#29617)(
and )
in command-palette find and replace. (#29555; thanks Hilda24)'t'
motion going on top of character that is at the beginning of soft wrapped line instead of before. (#29303; thanks AidanV)0.184.10
05/04/2025
0.184.9
05/02/2025
0.184.8
04/30/2025
Today's release features drag-and-drop file uploads to remote projects, remote branch support in the branch picker, multiple Python virtual environments in a single worktree, and customizable Vim cursor shapes for different modes.
editor::GoToPreviousChange
and editor::GoToNextChange
. (#28891){
"vim_mode": true,
"vim": {
"cursor_shape": {
"normal": "hollow",
"insert": "bar",
"replace": "block",
"visual": "underline"
}
}
}
shift-v up
on an empty line would appear to have selected the line after (though in reality it did not). (#29253)--system-specs
arg wouldn't work if Zed panicked during app initialization (e.g., when failing to create a Vulkan context in blade). (#29240)scroll_beyond_last_line
set to vertical_scroll_margin
. (#28471; thanks MrSubidubi)DeployReplace
while the Find dialog was open did not switch to the Find & Replace dialog. (#29066)DeployReplace
while the Find & Replace dialog was already open did not focus it. (#29066)netcat
(nc
) installed on your system to enter passwords for git
or ssh
(remote development). If you previously installed netcat
specifically for Zed, you may uninstall it. (#28920)gv
after p
in visual line mode. (#29251)c j
and c k
did not respect indentation. (#28934; thanks AidanV)ctrl-y
. (#27754; thanks 5brian)ZED_DEVICE_ID
environment variable in an attempt to fix some cases where it erroneously failed to parse. The ZED_DEVICE_ID
is now expected to always be a 4-digit hexadecimal number (as it is in the output of lspci
) with an optional 0x
or 0X
prefix. (#29235)0.183.13
04/30/2025
pyproject.toml
files. (#29662)0.183.12
04/29/2025
zed: open project settings
if the ".zed" directory was excluded from the files scanned in a workspace (in "file_scan_exclusions") (#29578)ctrl-enter
shortcut in Assistant text threads incorrectly opening inline assist instead of triggering Send. (#29313)0.183.11
04/25/2025
0.183.10
04/23/2025
Today's release features Git amend support, customizable bottom dock layouts, improved diagnostics rendering, and support for OpenAI's o3
and o4-mini
models.
f8
/shift-f8
) are rendered more clearly. (#28006)f8
/shift-f8
now always go to the "next" or "prev" diagnostic, regardless of the state of the editor. (#28006)bottom_dock_layout
setting that can take the following options: contained
(default), full
, left_aligned
, and right_aligned
. This setting defines how the bottom dock should be laid out when multiple docks are open at the same time. (#26211; thanks th0jensen)editor::FindNextMatch
and editor::FindPreviousMatch
that are similar to editor::SelectNext
and editor::SelectPrevious
with "replace_newest": true
, but jump to the first or last selection when there are multiple selections. (#28559)git::Restore
compatibility bind (revert_hunk). Mac: cmd-k cmd-z
and Linux: ctrl-k ctrl-z
. (#28444).vy
, .vyi
) files. (#28307; thanks ThatOneCalculator).vscode/tasks.json
files even if they are .gitignore
d. (#28631; thanks hrou0003)editor: select all matches
. (#28435; thanks neunato)editor: copy and trim
command. (#29023; thanks redforks)f
, b
, u
, r
, rb
, and the newly released t
strings. (#28709).go
files and other file types. (#27336; thanks rodrigoFfreire)single-repeat
after accepting a completion; now pressing .
to replay the completion will re-insert the completion text at the cursor position. (#28586):s//
command now defaults to replacing the first match per line (like Vim). Use /g
to replace all matches. (#28138; thanks dinocosta)feedback: file bug report
action would redirect to an outdated URL. (#28790; thanks MrSubidubi)ExtensionLspAdapter
were lost. (#28173; thanks vitallium)select_larger_syntax_node
to first expand to the word within a string, and then to the larger syntax node. (#29184)gv
after p
in visual line mode. (#29251)ctrl-c
in normal mode. (#29169)0.182.11
04/17/2025
file bug report
action would redirect to an outdated URL. (#28790; thanks @MrSubidubi)0.182.10
04/17/2025
0.182.9
04/16/2025
editor: toggle case
command. Use cmd-shift-u
for macOS and ctrl-shift-u
for Linux, when using the JetBrains
keymap. (#28415)insert_text_mode
field of completions from the language server protocol. (#28171)ConfirmCompletionInsert
and ConfirmCompletionReplace
that control how completions are inserted, these override completions.lsp_insert_mode
, by default, shift-enter
triggers ConfirmCompletionReplace
which replaces the whole word. (#28121)completions.lsp_insert_mode
that changes what will be replaced when an LSP completion is accepted. (#27453; thanks frederik-uni)[-
, ]-
, [+
, ]+
, [=
, ]=
. (#28044; thanks 5brian)^
wasn't being escaped in Go tests. Run regex to improve shell compatibility (notably with zsh). (#27746; thanks jakejx)0.181.8
04/15/2025
0.181.7
04/14/2025
GPT-4.1
, GPT‑4.1 mini
, and GPT‑4.1 nano
via Copilot Chat and OpenAI API, accessible in both the stable Assistant panel and the new Agent panel (beta). (#28708)0.181.6
04/11/2025
0.181.5
04/09/2025
hide_mouse
to on_typing_and_movement
, on_typing
or never
.control
, shift
, etc. are now parsed case-insensitively, so for example F8
, CTRL
, SHIFT
are now acceptable alternatives to f8
, ctrl
, and shift
when declaring keybindings. Additionally, upper-case (ASCII) characters will now be converted explicitly to shift
+ the lowercase version of the character, to match the Vim behavior. (#27813)ProjectPanel::ToggleHideGitIgnore
action to toggle the new project_panel.hide_gitignore
setting. (#26636; thanks AlvaroParker)GIT_ASKPASS
if you already have one set instead of overriding with our own. Fixes git push
in Coder. (#27681):ls
and :buffers
. (#27797; thanks 5brian):options
and :map
. (#27798; thanks 5brian)g?
convert to Rot13
/Rot47
. (#27824; thanks 0x2CA)d]}
to not delete the closing brace (#27786)d}
from the start of the line to not delete the paragraph separator (#27786)d}
from the middle of the line to not delete the final newline (#27786)space
on multibyte characters at end of line. (#27860; thanks mastion)o
and shift-o
in visual block mode. (#27678; thanks mastion)Terminal && vi_mode
as keybinding context to detect when the terminal is in vi_mode. (#26236; thanks iyht)workspace::ToggleRightDock
would open the assistant panel even when disabled via settings (#27215; thanks MrSubidubi)text
, background
) were incorrectly being used instead of terminal theme colors (terminal.{foreground,background}
) (#27617)ZED_DEVICE_ID
environment variable. You can obtain the device ID of your GPU by running lspci -nn | grep VGA
which will output each GPU on one line like:
08:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA104 [GeForce RTX 3070] [10de:2484] (rev a1)
2484
. This value is in hexadecimal, so to force Zed to use this specific GPU you would set the environment variable like so:
ZED_DEVICE_ID=0x2484
.bashrc
or similar0.180.4
04/08/2025
0.180.3
04/07/2025
0.180.2
04/02/2025
editor::CopyAndTrim
action to trim selections when copying. (#27206)go_to_definition_fallback
setting, which can be assigned find_all_references
(default) or none
. (#27426)--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){"lsp": {"rust-analyzer": {"binary": {"path": "/some/abs/path/rust-analyzer", "env": {"RA_PROFILE": "*>100"} }}}}
. (#27213; thanks davidbarsky)tasks.json
file while in an invalid state. (#27185)nerd-fonts
package installed (which provides around 2000 monospaced fonts), it decreases RAM usage from ~800MB to around ~300MB. (#27362; thanks AlvaroParker)editor::SelectLargerSyntaxNode
for better visibility. (#27295)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)keymap.json
, where now you can double click to only select certain parts of an action, instead of selecting the whole action. (#27175)stderr
-prefix of a language server's stderr logs. (#27213; thanks davidbarsky)File "file.py", line 8
are now clickable in the terminal. (#26903; thanks thorbenk)APKBUILD
files as "Shell Script". (#27099; thanks vixalien)bun.lock
files to be recognized as JSONC. (#27359; thanks A-caibird)'
and "
marks (last location jumped from in the current buffer, and location when last exiting a buffer). (#27231; thanks AidanV):marks
which brings up a list of current marks. (#26885; thanks AidanV)@github/copilot-language-server
. (#27401)except
, finally
, else
, and elif
control flow keywords in Python would be incorrectly indented when entered at the correct level of indentation. (#27428)inactiveRegions
didn't replace existing diagnostics anymore when using the clangd
language server. (#26737; thanks naim94a).
access like <Foo.Bar>
would be auto-closed as </>
instead of </Foo.Bar>
. (#27374)soft_wrap
at window width instead of preferred_line_length
. (#27205)0.179.5
03/31/2025
0.179.4
03/28/2025
0.179.3
03/27/2025
hide_mouse_while_typing
setting. (#27519)0.179.2
03/26/2025
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.
editor: show word completions
. (#26410)use_system_prompts
. On macOS, you can set this to false
to use Zed's in-window confirmation dialogs instead of the system ones. (On Linux, Zed's dialogs are always used). (#26201; thanks Hawkbawk)version_control.<variant>
theme properties. (#27106)SelectRepo
action that opens the repository selector in a modal. (#26950)git_hosting_providers
setting for configuring custom Git hosting providers. (#26879; thanks khayyamsaleem)@
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)Expand Excerpt Down
so the button stays in place, allowing rapid expansion without moving the mouse. (#27058)keymap.json
by treating ::
like word characters when inside a string. (#26574; thanks KyleBarton)'[A-Z]
. (#25702; thanks AidanV)'(
and ')
. (#25702; thanks AidanV)copilot
key from features
in settings. Use edit_prediction_provider
instead. (#26689)eager
or subtle
) directly from the UI via the status bar menu. (#26680)enable_preview_from_code_navigation
set to true
, "Go Back" from a newly opened tab could focus on the tab to the right instead of returning to the original preview tab. (#26943)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)space
not handling non-ASCII characters. (#27053; thanks 5brian)0.178.5
03/19/2025
0.178.4
03/19/2025
git.hunk_style
setting to control whether staged or unstaged
hunks are hollow. (26816; thanks jakcharvat)alt-shift-enter
to interact with the button on the new status toasts, toast::RunAction
. (#26420)Open Remote...
to File
menu. (#26288)cmd
on macOS and ctrl
off of macOS. (#26390)Open With
menu. (#26357)workspace/executeCommand
for actions' data. (#26239)cmd-click
in terminal to find more paths. (#26174)npm
from PATH is newer than 18.0.0). (#26209)@variable.special
syntax highlights. (#26271; thanks edwloef)ctrl-o
) work by default in terminal. (#26479)inactiveRegions
extension. (#26146; thanks naim94a)vtsls
and typescript-language-server
to the list of available language servers. (#26046; thanks sacki5)<count>%
motion. (#25839; thanks 5brian):reg[isters]
to show the current values of registers. (#25945; thanks AidanV)ctrl-a
/ctrl-x
. (#25997; thanks 5brian)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)Go to Line
palette is open would cause it to jump to the previous scroll position. (#26362)txt
files. (#25420; thanks MrSubidubi)!!
to rerun the last command. (#26122; thanks dinocosta)cmd+click
on a URL was not working sometimes. (#26128)Cmd+Click
on a file import. (#26120)()
or []
would not be highlighted properly. (#26695)cmd-click
s. (#26582)shift-i
) in visual modes. (#25603; thanks 5brian)cursor_shape
settings. (#25439; thanks 0x2CA).
repeat for remapped surrounds/exchange actions. (#26101)"seed_search_query_from_cursor" : "selection"
. (#26107; thanks 0x2CA)x g ctrl-a
step. (#26023; thanks 0x2CA)ctrl-alt-f
not correctly toggling search filters in project search. (#25917; thanks GuilhermeRGoncalves)vim::Backspace
and vim::Space
actions to vim::WrappingLeft
and vim::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)0.177.11
03/18/2025
0.177.10
03/17/2025