0.187.2
05/15/2025
Keep up with the weekly Zed releases.
0.187.2
05/15/2025
0.187.1
05/14/2025
0.187.0
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. Meanwhile, today's preview release includes a minimap, image support in hover documentation, and many improvements to the agent panel.
"minimap": {"show": "always"}
. See the PR for configuration options.hover_popover_delay
to settings which determines time to wait in milliseconds before showing the informational hover box. (#30620)"search": {"button": false}
"diagnostics": {"button": false}
"title_bar": {"show_project_items": false}
"title_bar": {"show_branch_name": false}
included_files
field to the DeploySearch
action to automatically pre-fill which files to include in the search. This lets you use a keybinding to search in a particular folder or for a certain set of files. (#30327; thanks trishume)workspace: close active dock
action to close the currently focused dock. (#30369)terminal::RerunTask
task action. (#30288)OpenDocs
action to open Zed's docs in a browser, aliased to :h[elp]
in Vim. (#30179)scrollbar.thumb.active_background
color to themes. Theme authors can use this property in combination with scrollbar.thumb.hover_background
to customize the color of the editor scrollbar thumbs while these are hovered or being dragged. (#30177; thanks MrSubidubi)ESC
to cancel dragging in Zed. (#30318)font_features
. (#27808; thanks peppidesu)default_width
setting. (#30652)o1
model would not work when using Copilot Chat. (#30581)MyClass["sayHello(name)"]
instead of MyClass["sayHello"]
. (#30351)useRef<HTMLDivElement>(null)
) would incorrectly insert snippet placeholders, breaking the syntax. (#30312)<Animated.View>
) now maintain linked edits between opening and closing tags. (#30167)debug:
to dev:
to avoid confusion with the new debugger feature (#30675):
dev::OpenDebugAdapterLogs
dev::OpenSyntaxTreeView
dev::OpenThemePreview
dev::OpenLanguageServerLogs
dev::OpenKeyContextView
0.186.7
05/12/2025
workspace::ToggleZoom
. (#30504)0.186.6
05/09/2025
assistant: quote selection
. (#30428)menu::SelectPrevious
keybindings not working in the model selector. (#30274)node.path
setting was not respected when invoking npm. (#30416)node
binary from being detected.0.186.5
05/09/2025
diagnostic
tool. (#30374)0.186.4
05/08/2025
mistral-medium
to the Mistral provider. (#30171)cmd-click
not registering foo/bar:20:in
-style paths. (#30207)cmd
-hovered words in terminal. (#30206)0.186.3
05/08/2025
0.186.2
05/07/2025
supports_tools
field in settings (defaults to false
) (#30120)0.186.1
05/07/2025
Today's release introduces the Agent Panel for AI-powered editing.
0.186.0
05/07/2025
Today's release introduces the Agent Panel for AI-powered editing.
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)Today, the agent panel is publicly available to all, but for previous beta testers, here's what landed since last release (v0.185.9-pre
):
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)0.185.9
05/06/2025
0.185.8
05/06/2025
edit_file
tool. (#29997)claude-3-7-sonnet-thinking
for Copilot Chat Provider because it is not supported by Copilot Chat. (#29999)agent: open active thread as markdown
not working when another panel is focused. (#29993)settings.json
and keymap.json
. (#29989)0.185.7
05/06/2025
assistant::ToggleFocus
, assistant::ToggleModelSelector
, and assistant::OpenRulesLibrary
actions to the agent
namespace. Existing keymaps that mention these actions by their old names will continue to work. (#29943)bash
(if available) instead of the user's shell when calling the terminal tool. (#29924)assistant
settings key to agent
. A migration for existing settings files is included. (#29943)prompt
field was ignored on custom key bindings for InlineAssist
. (#29960)/fetch
commands in text threads. (#29124)0.185.6
05/05/2025
...
) for Zed AI users. (#29922)gpt-4.1
, gpt-4o
, o4-mini
when using Copilot Chat as a provider. (#29369)0.185.5
05/05/2025
single_file_review
setting to the UI. (#29859)Manual
profile). (#29745)0.185.4
05/02/2025
@mentions
in the inline prompt editor and when editing past messages in the agent panel. (#29734)now
and list_directory
tools by default in Write profile. (#29809)batch_tool
, code_actions
, code_symbols
, contents
, symbol_info
, rename
. (#29808)0.185.3
05/02/2025
assistant.stream_edits
setting (default: false
) which enables streaming file creation and editing when set to true
. (#29785)0.185.2
05/01/2025
0.185.1
05/01/2025
open
tool for opening files or URLs. (#29707)@
-mentions now work with very large files. (#29687)0.185.0
04/30/2025
Today's release features 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)Join the agent panel beta waitlist.
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)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.8
04/30/2025
0.184.7
04/29/2025
grep
tool output with syntax information. (#29601)0.184.6
04/29/2025
0.184.5
04/28/2025
0.184.4
04/25/2025
snippet_sort_order
to control snippet sorting behavior in code completion menus. (#29429)0.184.3
04/25/2025
0.184.2
04/24/2025
ctrl-enter
shortcut in Assistant text threads incorrectly opened inline assist instead of triggering Send. (#29313)0.184.1
04/23/2025
0.184.0
04/23/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"
}
}
}
Join the agent panel beta waitlist.
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.10
04/22/2025
0.183.9
04/22/2025
0.183.8
04/22/2025
select_larger_syntax_node
to first expand to the word within a string, and then to the larger syntax node. (#29184)ctrl-c
in vim normal mode (#29169)0.183.7
04/21/2025
Note to agent beta testers: This is the first preview release since we've started rewriting our agent loop. Regressions may exist, but we're incrementally landing the necessary infrastructure to build a more reliable agent panel. If you notice any regressions, please reach out in the agent beta
Zed Community Discord channel.
enter
to add context from the menu triggered by @
referencing. (#29107)find_replace_file
tool to edit_file
, and regex_search
to grep
. (#29168)0.183.6
04/18/2025
0.183.5
04/17/2025
assistant: quote selection
. (#28964)0.183.4
04/17/2025
0.183.3
04/17/2025
0.183.1
04/16/2025
bottom_dock_layout
setting still functions. (Preview only)0.183.0
04/16/2025
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 jumps 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)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)0.182.9
04/15/2025
contents
tool. (#28738)Reject All
to not always reject all the hunks. (#28806)0.182.8
04/15/2025
0.182.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)INVALID_ARGUMENT
when using Gemini with code_actions
or rename
tools enabled. (#28634)0.182.6
04/14/2025
0.182.5
04/11/2025
0.182.4
04/11/2025
0.182.3
04/11/2025
0.182.2
04/10/2025
0.182.1
04/10/2025
bash
tool with the terminal
tool, which uses the current shell. (#28470)0.182.0
04/09/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)gemini-2.5-pro-preview-03-25
in the assistant. (#28326)Join the agent panel beta waitlist.
^
wasn't being escaped in Go tests. Run regex to improve shell compatibility (notably with zsh). (#27746; thanks jakejx)0.181.5
04/08/2025
0.181.4
04/07/2025
read_files
tool now reads only the symbol outline files above a certain size, to conserve context window space. Then it suggests that the agent call read_files
again with the relevant line ranges it saw in the outline. (#28158)edit_files
tool in favor of find_replace
. (#28041)assistant: open prompt library
not opening the prompt library when the Assistant Panel was not focused. (#28156)agent: open agent diff
command with the Agent Panel closed. (#28132)0.181.3
04/04/2025
0.181.2
04/03/2025
0.181.1
04/03/2025
Sign up for the agent editing beta waitlist here.
0.181.0
04/02/2025
Today, we're kicking off a new beta release: Agentic Editing in Zed. If you want access to it, join the beta waitlist.
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 similarhide_mouse_while_typing
setting to hide_mouse
(#27677)shift
+ the lowercase version of the character, to match the Vim behavior. (#27813)0.180.2
03/28/2025
0.180.1
03/27/2025
0.180.0
03/26/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.2
03/24/2025
0.179.1
03/20/2025
version_control.<variant>
theme properties. (#27106)0.179.0
03/19/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)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.4
03/18/2025
0.178.3
03/17/2025
git.hunk_style
setting to control whether staged or unstaged
hunks are hollow. (26816; thanks jakcharvat)