Releases: zed-industries/zed
v0.210.4
Sign up for Office Hours: On November 5, get an inside look into Zed's PR review process and get your PR reviewed live with Conrad Irwin.
This week's release includes support for Claude Haiku 4.5 in the agent panel, git diff view support for stash entries, Settings UI improvements including validation warnings and searchable theme dropdowns, language enhancements for Markdown, JavaScript/TypeScript, Rust, C/C++, and Vue 3, Vim improvements including filename autocomplete, and performance optimizations for startup time and font rendering.
Features
AI
- Agent: Added Claude Haiku 4.5. (#40298; thanks versecafe)
- Registered
.rules,.cursorrules,.windsurfrules, and.clinerulesas Markdown files. (#40614)
Git
- Added git diff view for stash entries. (#38280; thanks AlvaroParker)
- Added toolbar on git diff view for stash entries. (#38280; thanks AlvaroParker)
- Added prompt before executing a destructive stash action on diff view. (#38280; thanks AlvaroParker)
- Added way to hide git blame popover by pressing the escape key. (#40549; thanks timvermeulen)
- Added the
editor::CollapseAllDiffHunksaction, mirroring the existingeditor::ExpandAllDiffHunks. (#40668; thanks FloppyDisco) - Added disabled state for "Uncommitted Changes" toolbar buttons when there are no changes present. (#39909; thanks Simek)
Settings UI
- Added a warning banner when the settings file you are actively editing is in a broken or invalid state. (#40823)
- Added the ability to search for theme and icon themes in their respective fields. (#40829)
- Changed the stepper increment to 0.05 for centered padding left/right. (#40751; thanks delvin02)
- Added window controls to the settings window on Linux. (#40706)
- Added auto-scroll to reveal items in navigation bar and window when tabbing. (#40734)
- Adjusted default step values for number input UI element used for changing Font Weight. (#40408; thanks Simek)
Languages
- Markdown Preview: Improved table elements styling. (#39190; thanks Simek)
- Markdown Preview: Added default keybindings
gtfor navigating to the next tab andgTfor navigating to the previous tab in Vim mode. (#39854; thanks Pranav2612000) - Markdown: Improved decoration logic for links. (#39905; thanks Simek)
- JS/TS/TSX: Improved granularity of keyword highlighting: Themes can now specify
keyword.controlfor control flow keywords likeif,else,return, etc. (#39801; thanks azeier) - Rust/C/C++: Added the ability to separately highlight control flow keywords for users and theme authors via the
keyword.controlsyntax property. (#39683; thanks Hmikihiro) - JS/TS: Improved symbol outline panel. (#39797; thanks ogdakke)
- Vue: Added support for Vue language server version 3. (#40651). Learn more here
- Improved text color in LSP document color highlight. (#39372; thanks huacnlee)
- Added comment language injections for builtin languages. This enables highlighting of
TODOs and similar notes with the comment extension installed. (#39884; thanks thedadams)
Vim
- Made Vim mode indicator themeable. (#39813; thanks willeyh-git)
- Added filename autocomplete for Vim commands. (#36332; thanks AidanV):
- write, edit, split, vsplit, tabedit, tabnew
- Helix: Added
vim::HelixSubstituteandvim::HelixSubstituteNoYankwith better imitations of helix's behavior. (#38735; thanks jneem) - Helix: Improved multi-cursor creation and deletion. (#38090; thanks fantacell)
Windows
- Improved recently opened folders in WSL. (#40375)
- Bound
ctrl-c(when you have a selection) andctrl-vto copy and paste by default in the Windows terminal.
Other
- Improved startup time on systems with slow process spawning capabilities. (#40774)
- Improved editor font rendering on lodpi displays. (#40401)
- Added
--reuse(-r) CLI flag to replace the workspace in an existing window instead of opening a new one. (#38131; thanks mateonoel2) - Added a
zed: reveal log in file manageraction to the command palette. (#40815) - Added line ending indicator to the status bar (disabled by default; enabled by setting
status_bar.line_endings_buttontotrue). (#39609; thanks kitt-cat) - Added
workspace::NewFileSplitaction, which can be used to programmatically split the editor in the provided direction. (#39726; thanks riandrake) - Added
open_file_on_pastesetting to configure auto opening of file on paste in the project panel. (#40331; thanks zeld-a) - Added the ability to run search actions when a modal is currently active. (#39446; thanks timvermeulen)
- Added
title_bar.window_controls_positionsetting to customize window control button placement on Linux ("left"for macOS style or"right"for Windows style). (#38834; thanks sousaakira) - Added basic ICO support, improved unsupported image handling. (#40822)
- Added more bindings for the Emacs keymap. (#40101; thanks Affonso-Gui)
- Improved line and column number handling for paths in remotes. (#40410)
- Improved scrollbar colors for Gruvbox theme. (#38145; thanks dangooddd)
- Changed the workspace key context to now include the state of the 3 docks. (#40454; thanks FloppyDisco)
- Increased affordance of the download button in each extension card in the extensions page. (#40795)
- Aligned appearance of path displayed by Image Viewer breadcrumbs with other panes. (#40601; thanks Simek)
- Updated JSONC files' icon. (#40726; thanks ruxwez)
- Excluded port-forward flags in
scpcommands for file and directory uploads. (#40402; thanks yusufrahadika) - Reworked editors to register and query buffers on scroll. (#40388)
- Removed trash option in remote projects. (#40838)
Bug Fixes
- Windows: Fixed SSH jumphost connection issues. (#40713)
- Windows: Fixed Right Alt key not working in keybindings. (#40536; thanks jvb0)
- Windows: Fixed an issue where the project diff view did not work for multi-repo projects when using WSL or SSH remoting. (#40535)
- Windows / Settings UI: Fixed an issue where the settings popup would keep the process alive when closing Zed. ([#39790](https:...
v0.210.4-pre
- Fixed diagnostics not working with basedpyright/pyright beyond an initial version of the document (#41096)
v0.209.7
v0.210.1-pre
- Fixed an issue where having a correct
file_finder.include_ignoredsetting would result in failed to migrate errors. (#41114) - Fixed a bug where nushell processes wouldn't get killed after closing a terminal tab. (#41060)
- Fixed an issue where having an empty formatter array in your settings
"formatter": []would result in an erroneous prompt to migrate settings. (#40932)
v0.209.6
v0.210.0-pre
This week's release includes support for Claude Haiku 4.5 in the agent panel, git diff view support for stash entries, Settings UI improvements including validation warnings and searchable theme dropdowns, language enhancements for Markdown, JavaScript/TypeScript, Rust, C/C++, and Vue 3, Vim improvements including filename autocomplete, and performance optimizations for startup time and font rendering.
Features
AI
- Agent: Added Claude Haiku 4.5. (#40298; thanks versecafe)
- Registered
.rules,.cursorrules,.windsurfrules, and.clinerulesas Markdown files. (#40614)
Git
- Added git diff view for stash entries. (#38280; thanks AlvaroParker)
- Added toolbar on git diff view for stash entries. (#38280; thanks AlvaroParker)
- Added prompt before executing a destructive stash action on diff view. (#38280; thanks AlvaroParker)
- Added way to hide git blame popover by pressing the escape key. (#40549; thanks timvermeulen)
- Added the
editor::CollapseAllDiffHunksaction, mirroring the existingeditor::ExpandAllDiffHunks. (#40668; thanks FloppyDisco) - Added disabled state for "Uncommitted Changes" toolbar buttons when there are no changes present. (#39909; thanks Simek)
Settings UI
- Added a warning banner when the settings file you are actively editing is in a broken or invalid state. (#40823)
- Added the ability to search for theme and icon themes in their respective fields. (#40829)
- Changed the stepper increment to 0.05 for centered padding left/right. (#40751; thanks delvin02)
- Added window controls to the settings window on Linux. (#40706)
- Added auto-scroll to reveal items in navigation bar and window when tabbing. (#40734)
- Adjusted default step values for number input UI element used for changing Font Weight. (#40408; thanks Simek)
Languages
- Markdown Preview: Improved table elements styling. (#39190; thanks Simek)
- Markdown Preview: Added default keybindings
gtfor navigating to the next tab andgTfor navigating to the previous tab in vim mode. (#39854; thanks Pranav2612000) - Markdown: Improved decoration logic for links. (#39905; thanks Simek)
- JS/TS/TSX: Improved granularity of keyword highlighting: Themes can now specify
keyword.controlfor control flow keywords likeif,else,return, etc. (#39801; thanks azeier) - Rust/C/C++: Added the ability to separately highlight control flow keywords for users and theme authors via the
keyword.controlsyntax property. (#39683; thanks Hmikihiro) - JS/TS: Improved symbol outline panel. (#39797; thanks ogdakke)
- Vue: Added support for Vue language server version 3. Know more here. (#40651)
- Improved text color in LSP document color highlight. (#39372; thanks huacnlee)
- Added comment language injections for builtin languages. This enables highlighting of
TODOs and similar notes with the comment extension installed. (#39884; thanks thedadams)
Vim
- Made Vim mode indicator themeable. (#39813; thanks willeyh-git)
- Added filename autocomplete for Vim commands. (#36332; thanks AidanV):
- write, edit, split, vsplit, tabedit, tabnew
- Helix: Added
vim::HelixSubstituteandvim::HelixSubstituteNoYankwith better imitations of helix's behavior. (#38735; thanks jneem) - Helix: Improved multi-cursor creation and deletion. (#38090; thanks fantacell)
Windows
- Improved recently open folders in WSL. (#40375)
- Bound
ctrl-c(when you have a selection) andctrl-vto copy and paste by default in the windows terminal.
Other
- Improved startup time on systems with slow process spawning capabilities. (#40774)
- Improved editor font rendering on lodpi displays. (#40401)
- Added
--reuse(-r) CLI flag to replace the workspace in an existing window instead of opening a new one. (#38131; thanks mateonoel2) - Added a
zed: reveal log in file manageraction to the command palette. (#40815) - Added line ending indicator to the status bar (disabled by default; enabled by setting
status_bar.line_endings_buttontotrue). (#39609; thanks kitt-cat) - Added
workspace::NewFileSplitaction, which can be used to programmatically split the editor in the provided direction. (#39726; thanks riandrake) - Added
open_file_on_pastesetting to configure auto opening of file on paste in the project panel. (#40331; thanks zeld-a) - Added the ability to run search actions when a modal is currently active. (#39446; thanks timvermeulen)
- Added
title_bar.window_controls_positionsetting to customize window control button placement on Linux ("left"for macOS style or"right"for Windows style). (#38834; thanks sousaakira) - Added basic ico support, improved unsupported image handling. (#40822)
- Added more bindings for the Emacs keymap. (#40101; thanks Affonso-Gui)
- Improved line and column number handling for paths in remotes. (#40410)
- Improved scrollbar colors for Gruvbox theme. (#38145; thanks dangooddd)
- Changed the workspace key context to now include the state of the 3 docks. (#40454; thanks FloppyDisco)
- Increased affordance of the download button in each extension card in the extensions page. (#40795)
- Aligned appearance of path displayed by Image Viewer breadcrumbs with other panes. (#40601; thanks Simek)
- Updated jsonc files' icon. (#40726; thanks ruxwez)
- Excluded port-forward flags in
scpcommands for file and directory uploads. (#40402; thanks yusufrahadika) - Reworked editors to register and query buffers on scroll. (#40388)
- Removed trash option in remote projects. (#40838)
Bug Fixes
- Windows: Fixed SSH jumphost connection issues. (#40713)
- Windows: Fixed Right Alt key not working in keybindings. (#40536; thanks jvb0)
- Windows: Fixed an issue where the project diff view did not work for multi-repo projects when using WSL or SSH remoting. (#40535)
- Windows / Settings UI: Fixed an issue where the settings popup would keep the process alive when closing Zed. (#39790; thanks ddoemonn)
- Settings UI: Fixed an issue where tabbing to the nav bar from the search bar while the nav bar was scrolled would resu...
v0.209.5
v0.209.4
This week's release includes more performance improvements, support for Codestral as an edit predictions provider, more test detection in different languages, and a load of bug fixes!
Features
AI
- Added a "Copy All Messages" button to ACP logs view (#40076; thanks yordis)
- Provide auth method descriptions in the UI when available (#40098)
- Add Codestral as an edit predictions provider (#34371; thanks dvcrn
Performance Improvements
- Improved Zed startup speed when using themes provided by extensions (#40015)
- Reduced micro-stutters in project search with large multi-buffer contents. (#39857
Languages
- JS/TS: Added support for detecting
node:testandbun:testtest runners (#39238; thanks versecafe) - Rust: Added rust-analyzer support for musl remotes (#40108)
- Go: Added ability to run Go Testable Examples (#39390; thanks lzakharov)
- Markdown Preview: Added support for HTML
imgtags inside paragraphs (#38107; thanks RemcoSmitsDev) - Kotlin: Made the official Kotlin Language Server the default language server for Kotlin. (#40776)
Other
- Added Fold At Level 1-9 actions to the command palette (#39422; thanks MunishMummadi)
- Allow adding files to .gitignore from git panel (#38089; thanks robert7k)
- Added a search bar to the repository selector (#39351; thanks ddoemonn)
- Added an option to hide hidden files in the project panel by setting
hide_hiddenin the project panel settings. (#39843) - Debugger: Browser debugging is now supported in SSH and WSL projects. #39248
- Collab: Disallow rename/delete/copy on unshared files. (#40540)
Bug Fixes
- Fixed environment variable capture when login shell is xonsh (#39834; thanks Merlin04)
- Fixed editor::DuplicateLineUp duplicating the last line onto itself when the line doesn't end with a newline (#39610; thanks TomPlanche)
- Fixed line copy not including a newline at end of buffer, causing paste to occur on the same line (#39610; thanks TomPlanche)
- Fixed a bug where users couldn't return the UI font family to the default value through the UI. (#40129)
- Fixed project files matches when using slash (
/) at the start in order to consider relative paths (#39480) - Fixed redirect stdin command for fish shell (#39963; thanks kevinrambaud)
- Fixed
editor::DuplicateLineUpduplicating the last line onto itself when the line doesn't end with a newline (#39610; thanks TomPlanche) - Fixed line copy not including a newline at end of buffer, causing paste to occur on the same line (#39610; thanks TomPlanche)
- Fix issue where Zed would unconditionally override user's custom shell with system default from passwd entry. (#40181; thanks cppcoffee)
- Fixed collaboration panel labels not being responsive to resizing (#40157; thanks delvin02)
- Fixed remoting not working when nushell is set as the default shell on the remote target (#40084)
- Fixed a bug where environment variables like
NODE_EXTRA_CA_CERTSwere not loaded from the user's shell initialization scripts in WSL or SSH remote projects. (#40148) - Fixed image files not getting auto-revealed in project panel. (#40128)
- Fixed ligatures forming between real text and inlay hints on macOS (#39928)
- Fixed manual worktree reordering (#39944; thanks eth0net)
- Fixed bug that could cause navigation to break when clicking on a line number in a multibuffer (#39447; thanks timvermeulen)
- Fixed DAP logs being unviewable on remote projects. (#39744; thanks Hawkbawk)
- Fixed an issue where nested opacity is rendered incorrectly. (#35407; thanks unixzii)
- Fixed a bug with keyboard navigation in the remote project modal. (#39965)
- Fixed an issue where clicking a sticky item in the project panel wouldn’t correctly scroll the view to show its start. (#39938)
- Updated image preview background checkboxes to match the actual image size, making it easier to see the bounds of images with transparent backgrounds. (#40078)
- Made it so that extending a selection using shift-click now preserves the character/word/line granularity of the initial selection (#39759; thanks timvermeulen)
- macOS: Fixed an issue on macOS where typing an emoji on a line would cause the line to shift downwards by a few pixels (#39886)
- Git: Fixed "open/copy permalink to line" paths not being URL-escaped (#39895)
- Git: Improved appearance of links in message content inside Blame tooltip. (#40124; thanks Simek)
- Git: Improved appearance of Git Blame tooltip. (#40130; thanks Simek)
- Git: Fixed 'Open Diff' action for untracked files when
sort_by_pathis enabled (#39862) - Vim: Fixes bug were typing
9999999999999999999j(19 9's) would go up instead of down. The max Vim count is now isize::MAX - 1 (#40059; thanks AidanV) - Vim: Improved Vim’s change surround command to closely match tpope/vim-surround behavior. (#38721)
- Agent: Improved
agent: quote selectionto also work for a message that was already sent but is being edited (#39947) - Agent: Fixed an issue where the completion menu would still be active after confirming a slash command (#40126)
- Agent: Fixed tool call markdown output unintentionally being collapsed by default (#40164)
- Agent: Expanded automatic retry behavior for errors (#39787)
Errors classified as "retryable" (such as rate limit errors) will now automatically be retried when:- Using the Zed provider while on a token-based plan
- Using the Zed provider while on a legacy plan with burn mode enabled
- Using a non-Zed provider
- Agent: Fixed a bug where the review icon button wouldn't work to open the review tab if focus weren't in the panel's message editor. (#40144)
- Agent: Fixed an issue where Ollama models would use the wrong context window size (#39941)
- Fixed occasional panics when querying selections. (#40249)
- Fixed panic when hitting escape in dialogs on windows. (#40348)
- Fixed occasional
RefCell already mutably borrowedpanic in windows event handling. (#40336) - Fixed alt text in markdown preview creating inconsistent highlighting. (#40374)
- Fixed a crash on macOS when opening a file that starts with a UTF-8 byte order mark (BOM). (#40419)
- Fixed open path prompt panicking on certain inputs. ([#40488](https://github....
v0.209.4-pre
- Applied
async-tarpatch (CVE-2025-62518) - Fixed a bug where bold-face font was applied to the wrong characters in items in the autocomplete menu (#40840)
v0.209.3-pre
- Fixed a crash on macOS when opening a file that starts with a UTF-8 byte order mark (BOM). (#40419)
- Fixed open path prompt panicking on certain inputs (#40488)
- Fixed hang in Vim's visual block motions when updating selections (#40723)
- Made the official Kotlin Language Server the default language server for Kotlin. (#40776)
- acp: Fix following not working with certain tool calls. (#40710)
- Fixed an issue where diff hunks would sometimes erroneously toggle upon mouse clicks. (#40773)