0.194.3
07/09/2025
This week's release includes error reporting on malformed regex patterns in buffer and project searches, better view of multi-line text in search inputs, SVG previews, better settings.json
diagnostics, agent panel retries on API errors, better debugger breakpoint property management, and more!
Compatibility Note: this week's preview release (v0.195.x) includes a change to the handling of LSP actions when sharing projects via Zed Collaboration. When a host using the new Zed Preview collaborates with a guest using an older Zed release (<= v0.194.x), or vice versa, go to definition will not work on the guest. This can be fixed by running either the new preview or an older release on both host and guest. Go to definition will work again in mixed stable/preview shared projects after next week's releases.
Features
- Added support for respecting the NO_PROXY environment variable when any HTTP proxy is configured. See Zed Network Proxy docs for more. (#33742)
- Added SVG file preview, accessible via the quick action bar button or keyboard shortcuts (
ctrl/cmd+k v
andctrl/cmd+shift+v
) when editing SVG files. (#32694; thanks ronharel02) - Added ability to manipulate dock size with new
workspace::{Decrease,Increase,Reset}{Open,Active}DockSize
actions. (#31366; thanks aurexav) - Added warnings for unknown fields when editing
settings.json
. (#33678) - Improved pasted newlines in search: render as "\n" (with an underline), instead of line-wrapping. This should make it much clearer what you're searching for. (#33504)
- Improved Prettier config file detection (#33744; thanks IanMitchell)
- Use git cli to perform checkouts (to avoid a crash seen in libgit2) (#33499)
- Show regex parsing errors under the search bar for buffer and project search. (#33638; thanks mikalsande)
Bug Fixes
- Fixed the missing shadow for blurred-background windows on macOS. (#27403; thanks alphaArgon)
- Fixed an issue where rewrap would not work with selection when two comment blocks are separated with line of code. (#33566)
- Fixed an issue where horizontal autoscrolling would stutter and indent guides would drift when scrolling horizontally. (#33514; thanks MrSubidubi)
- Fixed git commit message line break getting stripped after committing. (#33409; thanks imumesh18)
- Fixed long branch names overflowing to multiple lines in git panel branch selector. (#33529; thanks ddoemonn)
- Fixed the removal of leading whitespace in a language server's stderr logs. (#33418; thanks davidbarsky)
- Fixed an issue with empty code actions menu locking the cursor (#33386)
- Fixed file finder selecting wrong worktree when creating a file (#33139; thanks CharlesChen0823)
- helix: Fixed edge-cases with word motions and newlines (#33408; thanks fantacell)
- Improved rewrap to respect changes in indentation or comment prefix (e.g.
//
vs///
) as boundaries so that it doesn't merge them into one mangled text. (#33566) - Linux: Now skips insertion of characters when modifiers are held. Before, characters were inserted if there's no match in the keymap. (#33424)
- emacs: Bound
alt-q
toeditor::Rewrap
(likeM-q
orM-x fill-paragraph
) (#33588) - Fixed a remote server (SSH) crash when editing JSON files (#33824).
Agent
- Automatically retry in Agent Panel instead of erroring out when an upstream AI API is overloaded or 500s (#33275)
- Show a notification when an Agent thread errors out and Zed is not the active window. (#33275)
- Added provider icon to the model selector making it easier to distinguish between providers. (#30595; thanks dive)
- Added GEMINI.md as a supported rules file name (#33381; thanks imumesh18)
- Use standardised format for configuring MCP Servers (#33539)
- Improved how we display errors in the agent panel. (#33680)
- Improved support for explicitly disabling individual tools when
enable_all_context_servers
is true. (e.g. enable all tools except XYZ). (#33536) - Improved the model selector by ensuring the active model is always focused on open. (#33567)
- Improved roles when triggering
assistant::Split
(shift-enter
) (#33215) - Fixed Bedrock bug causing streaming responses to return as one big chunk (#28281; thanks 5herlocked)
- Fixed slow scrolling in agent panel (#33608; thanks maan2003)
- Fixed an issue where Anthropic requests would sometimes fail because of malformed assistant messages (#33643)
- Fixed an issue with some themes where selections inside the agent panel would occlude the selected text completely. (#32388)
- Fixed an issue where performing a web search request would sometimes fail (#33639)
- Fixed a off-by-one error on the line indices when using a selection as context for the agent. (#33549; thanks afgomez)
- Fixed a bug where the agent could use disabled tools sometimes (#33392)
- Fixed copilot failing due to missing
Copilot-Vision-Request
from request. (#33552; thanks imumesh18) - Fixed an issue where configuring an MCP server would not restart the underlying server correctly (#33922)
- Fixed an issue where Gemini Models would not work because of incompatible tool schemas (#33919)
- Fixed a bug that prevented MCP servers to appear in the settings view. (#33860)
- Fixed an issue where tools would not work when two MCP servers provided a tool with the same name (#33854)
- Remove
version
fields in settings foragent
,language_models > anthropic
,language_models > openai
. Your settings will automatically be migrated. This is a backwards incompatible change (<= v0.193.x requiresversion
; >= v0.194.x will complain ifversion
is present). If you're running into issues with this open an issue here (#33372)
Debugger
- CodeLLDB no longer enables pretty-printers for Rust by default. This fixes pretty-printers for C++. This is a breaking change for user-defined debug scenarios from debug.json; in order to enable Rust pretty printing when using CodeLLDB, add
"sourceLanguages": ["rust"]
to your debug configuration. This change does not affect scenarios automatically inferred by Zed.(#33670) - Breakpoint properties (log/hit condition/condition) can now be set directly from breakpoint list. (#33097)
- Reorganized layout of a debug panel without any sessions for a vertical dock position. (#33625)
- Moved parent directories of source breakpoints into a tooltip. (#33625)
- Fixed Zed's debugger issuing threads request before it is allowed to do so per DAP specification. (#33627)
- Fixed a bug which caused global debug scenarios (from global .zed/debug.json) to not be picked up. (#33664)
- Fixed an issue with Debug Adapter log showing sessions from other Zed windows in the dropdown. (#33656)
- Fixed invalid json schema for
debug.json
. (#33875) - Restarting a debug session now reruns build tasks that are associated with the session (#33724)
- go: debugger now respects the
envFile
setting (#33666) - go: Fixed debugging Go subtests. (#33694)
- javascript: Fixed nameless child sessions appearing with the JavaScript adapter. (#33739)
- javascript: Added attachSimplePort to JavaScript DAP schema (#31412; thanks sigmaSd)
- ruby:The ruby debug adapter has been moved to the ruby extension, if you have any saved debug scenarios you'll need to change
"adapter": "Ruby"
to"adapter": "rdbg"
. (#33541) - rust: Ensure Cargo locator only targets relevant executables. (#33126; thanks CathalMullan)
Languages
- python: Support highlighting additional operators ("&=", "<<=", ">>=", "@=", "^=" and "|=") (#33720)
- python: Improved auto outdent for Python while typing keywords like
except
,else
,finally
, etc. (#33370) - markdown: Fixed issue where
(
wouldn’t autocomplete when.
is preceded by it in Markdown. (#33705) - markdown: Improved rewrap for lists, todos, and block quotes. (#33702)
- markdown: Allow multiple Markdown preview tabs (#32859; thanks ddoemonn)
- markdown: Support PgUp/PgDown in Markdown previews (#33403; thanks djsauble)
- heex: Fixed Emmet file expansion for files ending in .html.heex. (#32208; thanks conradwt)
Vim
- vim: Added support for vim-mode in git commit editor (#33222; thanks AlvaroParker)
- vim: Allow
.
repeat in visual mode. (#33569) - vim: Run r! in a non-interactive shell (#33568)
- vim: Paragraph objects now support counts:
d2ap
,v2ap
, etc. (#33489; thanks warp-records) - vim: Motions now push to the jump list using the same logic as vim (i.e.
G
/g g
/g d
always do, butj
/k
always don't). Most non-vim actions (including clicking with the mouse) continue to push to the jump list only when they move the cursor by 10 or more lines. (#33495) - vim: Fixed an issue when pasting text that was yanked with vim's linewise selections. (#33555; thanks afgomez)
- vim: Fixed a crash with ctrl-g (#33474)