A new major update of the Zed editor has been announced, featuring the introduction of drag-and-drop file uploads for remote projects, enhanced remote branch support in the branch picker, the ability to manage multiple Python virtual environments within a single worktree, and customizable Vim cursor shapes tailored for various modes. The update features enhancements in terminal right-click functionality, regex highlighting, code completion ranking, and head commit SHA information. The branch picker has been enhanced to support remote branches and now includes head commit SHA information for the Git branch picker.
The virtual environment selector now retrieves virtual environments according to the parent directory of the currently active file, enabling the use of multiple active virtual environments within a single worktree. Code completions emphasize LSP hints and HTML highlighting. The editor now includes customizable cursor shape settings for each mode, along with added support for Qwen3. Recent updates fix several problems, such as a bug where pressing shift-v on an empty line appeared to select the next line, wrong paths opening when you cmd-click in the terminal, crashes happening when joining a project with a multibuffer that has combined excerpts, repeated excerpts in multi-buffers, the app crashing when scrolling over single-line input fields, and differences in macOS key symbols showing up on other platforms. The update eliminates the requirement for OpenBSD netcat (nc) to input passwords for git or ssh during remote development. The ZED_DEVICE_ID environment variable has been enhanced, and the configuration directory utilized when Zed is installed through Flatpak has been corrected.
Zed v0.184.8
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.
Enhancements
- Added the ability to copy external files into remote projects by dragging them onto the project panel. ( #28987)
- Added a way to navigate between changes with
editor::GoToPreviousChangeandeditor::GoToNextChange. ( #28891)- Improved terminal right-click to automatically select the word under the cursor if no selection is present. ( #29131; thanks kylelau519)
- Improved regex highlighting. ( #28183; thanks chbk)
- Improved code completion ranking with better balance between LSP and fuzzy search results. ( #29442)
Git
- Added support for remote branches to the branch picker. ( #28978)
- Added head commit SHA information to the Git branch picker in the title bar and Git panel. ( #29007)
Languages
- Python: Virtual environment picker now looks up virtual environments based on the parent directory of the active file; this enables having multiple active virtual environments in a single worktree. ( #28875)
- Improved code completions to prioritize LSP hints, such as local variables, so they appear at the top of the list. ( #29182)
- Improved HTML highlighting. ( #28184; thanks chbk)
Vim
{ "vim_mode": true, "vim": { "cursor_shape": { "normal": "hollow", "insert": "bar", "replace": "block", "visual": "underline" } } }AI
- Ollama: Added support for Qwen3. Defaults to 16K token context. See Assistant Configuration Docs to increase. ( #29580)
Bug Fixes
- Fixed a regression where
shift-v upon an empty line would appear to have selected the line after (though in reality it did not). ( #29253)- Fixed wrong paths opening when cmd-clicking in the terminal. ( #29274)
- Fixed a panic when joining a project with a multibuffer with merged excerpts. ( #29245)
- Fixed an issue where the
--system-specsarg wouldn't work if Zed panicked during app initialization (e.g., when failing to create a Vulkan context in blade). ( #29240)- Fixed duplicated excerpts (and resulting panics) in multi-buffers. ( #29193)
- Fixed an issue where Zed would crash when scrolling over single-line input fields with
scroll_beyond_last_lineset tovertical_scroll_margin. ( #28471; thanks MrSubidubi)- Fixed an issue where the editor context menu remained visible when a modal, such as the command palette, was opened. ( #29127; thanks redforks)
- Fixed the signature popover not hiding on editor scroll. ( #29149)
- Fixed Zed sometimes becoming a stopped background process when run from a terminal. ( #29070)
- Fixed an issue where invoking
DeployReplacewhile the Find dialog was open did not switch to the Find & Replace dialog. ( #29066)- Fixed an issue where invoking
DeployReplacewhile the Find & Replace dialog was already open did not focus it. ( #29066)- Fixed macOS key symbols being displayed on other platforms. ( #29016)
- Fixed an issue where editor scrolling would stop when the mouse hovered over another editor's gutter. ( #28924)
- Fixed a bug that would sometimes cause Gemini models to fail streaming their response. ( #29470)
- Fixed a missing shell-escape in askpass resulting in erroneous "Permission denied" errors when trying to connect to a remote server over SSH. (preview only) ( #29449)
- Fixed a bug where the Key Context View could show incorrect context, causing confusing results. ( #29324)
- Fixed a rare panic in the editor. ( #29352)
- Fixed issues with code completions where they wouldn't show completions with matched prefix at the top. ( #29456)
- Removed the need to have OpenBSD
netcat(nc) installed on your system to enter passwords forgitorssh(remote development). If you previously installednetcatspecifically for Zed, you may uninstall it. ( #28920)- Git: Fixed amend not working for detached HEAD. ( #29017)
- Vim: Fixed a panic when using
gvafterpin visual line mode. ( #29251)- Vim: Fixed character count in visual line mode. ( #28669; thanks 5brian)
- Vim: Fixed an issue where
c jandc kdid not respect indentation. ( #28934; thanks AidanV)- Vim: Fixed cursor scrolling off screen with
ctrl-y. ( #27754; thanks 5brian)- Linux: Improved parsing of
ZED_DEVICE_IDenvironment variable in an attempt to fix some cases where it erroneously failed to parse. TheZED_DEVICE_IDis now expected to always be a 4-digit hexadecimal number (as it is in the output oflspci) with an optional0xor0Xprefix. ( #29235)- Linux: Fixed incorrect config directory being used when Zed is installed via Flatpak. ( #28952)
Breaking Changes and Notices
