Releases

Keep up with the weekly Zed releases.


April

0.182.0

04/09/2025

macOS
Loading...
Loading...
Linux
Loading...
Loading...

Enhancements

  • Added support for screensharing on X11 (Linux). (#27807)
  • Added a button to open the project search to the status bar. (#28388)
  • Added an editor: toggle case command. Use cmd-shift-u for macOS and ctrl-shift-u for Linux, when using the JetBrains keymap. (#28415)
  • Added warning for leading or trailing whitespace while renaming or creating new file or directory in Project Panel. (#28215)
  • Added tasks from rust-analyzer. (#28359)
  • Added ability to spawn tasks by tag with key bindings. (#25650; thanks aevsai)
  • Added tags to tasks selector. (#25650; thanks aevsai)
  • Improved runnable detection for test modules in Rust. (#28024; thanks MrSubidubi)
  • Improved contrast of terminal ANSI colors in Gruvbox theme(s). (#27166; thanks dallinhuff)
  • Improved the project panel to show an error when a file or directory already exists while renaming or creating a new one. (#28177)
  • Improved keybindings for close all tabs to better match VSCode behavior. (#28060)
  • Improved multi buffer excerpts to merge when expanded. (#27893)

Git

  • Added an activity indicator for long-running git commands. (#28204)

Languages

  • Added support for the insert_text_mode field of completions from the language server protocol. (#28171)
  • Added a way to temporarily stop LSP servers. (#28034)
  • Improved Bash heredoc highlighting. (#28185; thanks chbk)
  • Zed-managed pylsp installations will now correctly upgrade themselves. (#28338)
  • LSP completions: added actions 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)
  • Added new setting completions.lsp_insert_mode that changes what will be replaced when an LSP completion is accepted. (#27453; thanks frederik-uni)

Vim

  • Added motions from the indent wise plugin [-, ]-, [+, ]+, [=, ]=. (#28044; thanks 5brian)
  • Switch to the configured default mode after paste instead of hard-coding Normal mode. (#27897; thanks jneem)
  • Expanded default helix-style keybindings in experimental HelixNormal mode. (#28103; thanks jneem)

AI

Agent Panel (private beta)

  • Added support for gemini-2.5-pro-preview-03-25 in the assistant. (#28326)
  • Truncate bash tool output. (#28291)
  • Adjusted system prompt to:
    • avoid having the agent create backup files unnecessarily. (#28244)
    • avoid incomplete code generation. (#28245)
    • explicitly instruct the model to fix code causing test failures rather than removing tests, unless specifically requested by the user. (#28349)
    • direct it to never act on TODO-type comments it encounters, unless the user directly asked it to do so or they relate to the current task at hand. (#28358)
  • Fixed an issue that caused the agent to fail reading large files if the LSP hadn't started yet. (#28352)
  • Only require confirmation for batch tool when subset of tool calls require confirmation. (#28363)
  • Fixed a problem that would cause the agent to keep recreating a file instead of editing it. (#28372)

Join the agent panel beta waitlist.

Bug Fixes

  • Fixed a bug causing the git panel to not update after pushing to a remote. (#28327)
  • Fixed a regression where code-actions used when formatting on save were rejected if they contained commands. (#28392)
  • Fixed invalid read-only with split pane. (#28012; thanks 0x2CA)
  • Fixed a panic that could occur when paths changed in the project diff. (#28364)
  • Fixed an issue when using auto-import code actions provided by pyright (or basedpyright) where the import would be jumbled with the scoped import resulting in an invalid result. (#28354)
  • Fixed a panic during shutdown of the remote server. (#28290)
  • Fixed an issue where new participants were not muted when the room was deafened. (#28330)
  • Fixed mouse selection scrolling too fast in both editor and terminal. (#28309)
  • Fixed text selection misalignment in terminal when the inline assistant is active. (#26112; thanks flappyBug)
  • Fixed compiling dev extensions with Tree-sitter grammars on Linux aarch64. (#27906; thanks jkbz64)
  • Fixed an issue where pasting code starting with a new line resulted in incorrect auto indent. (#28134)
  • Fixed a bug where ^ wasn't being escaped in Go tests. Run regex to improve shell compatibility (notably with zsh). (#27746; thanks jakejx)
  • Fixed an issue causing "robot voice" when enabling the microphone on some bluetooth headphones (hopefully). (#28045)
  • Fixed an issue where the active line number in the editor was not always highlighted. (#28015; thanks MrSubidubi)
  • Fixed missing background for inline code blocks in the editor hover tooltip. (#27980)
  • Fixed a bug where Zed sometimes added multiple redundant FS watchers when language servers requested to watch paths. This could cause saves and git operations to fail if Zed exceeded the file descriptor limit. (#27957)
  • Fixed certain case where typing closing bracket would skip it when auto close setting is turned off. (#27960)
  • Git: Fixed an issue where non-UTF8 files in a git diff would generate log spam. (#28276)
  • Vim: Fixed visual line yank while on the newline character yanking following line. (#28005; thanks 5brian)
  • Vim: Fixed paste action to switch back to the configured default mode. (#28304; thanks jneem)
  • Vim: Fixed visual object expands. (#28301; thanks 0x2CA)

Breaking Changes and Notices

  • If using system node Zed now requires Node >= v20. Previously Node >= v18 was required. (Node v18 EOL date is 2025-04-30; Node v19 EOL since 2023-06-01). Note: This does not change the Zed bundled Node runtime version (still v23). (#27912; thanks thorbenk)