Releases: zed-industries/zed
v0.228.0-pre
This week's release includes the ability to easily ask the agent to resolve merge conflicts, @-mentioning your branch diff to provide all changes since main as context, removing/renaming worktrees over SSH, and deleting worktrees via the branch picker.
Features
AI
- Agent: Added ability to @-mention your branch diff to include all changes since main as context. (#51235)
- Agent: Enabled thinking mode when using Anthropic models with Copilot. (#46540)
- Agent: Added
Paste as Plain Textto the agent panel message editor right-click menu. (#50625) - Agent: Added
api_urlandapi_keysettings for the LM Studio provider. (#48309; thanks SkyVence)
Git
- Added the ability to quickly resolve merge conflicts with the agent. (#49807)
- Added the ability to delete a git worktree from the worktree picker (
cmd-shift-backspaceon macOS,ctrl-shift-backspaceon Linux/Windows). (#50015; thanks davidalecrim1) - Added support for removing and renaming worktrees when connected via SSH. (#50759)
- Added a
git: restore and nextaction that restores the diff hunk at the cursor and conditionally moves to the next one. In the git diff view, the default restore keybinding (cmd-alt-zon macOS,ctrl-k ctrl-ron Linux/Windows) now triggers this action instead ofgit: restore. (#50324)
Other
- Markdown Preview: Improved speed at which markdown lists update after checking or unchecking items. (#48633; thanks wesleynw)
- Extensions: Added
kernel_language_namesfield for declaring Jupyter kernel language aliases in language configs. (#49762; thanks rgbkrk) - Extensions: Added API for extensions to provide settings schemas, enabling autocompletion for language server settings. (#48334; thanks aviatesk)
Bug Fixes
- Windows: Fixed opening files with names like
main (1).log. (#50770; thanks hagz0r) - Windows: Fixed IME intercepting keystrokes in Vim normal and visual modes. (#51041)
- Windows: Fixed environment variables failing to load when project paths contain single quotes. (#50782; thanks AmaanBilwar)
- Agent: Fixed an issue where the
Copy Commandbutton would not appear on hover for terminal tool calls. (#51191; thanks OmChillure) - Agent: Fixed an issue where
shift-enterwould insert a newline at the end of the text instead of the cursor position when using certain keymaps. (#47595; thanks dastrobu) - Agent: Fixed an issue where shared agent thread URLs would not open. (#50915)
- Terminal: Fixed drag-and-drop not working in vertical terminal panels. (#49825; thanks claiwe)
- Debugger: Fixed Python string values displaying escape sequences instead of actual characters. (#50554)
- Markdown Preview: Fixed code block scrollbars flashing on vertical scroll. (#50817; thanks cppcoffee)
- Markdown Preview: Fixed parser options being enabled collectively instead of individually, which caused rendering issues. (#50440)
- Extensions: Fixed overflowing of author's list. (#51045; thanks francesco-gaglione)
- Fixed the
Expand All Files/Collapse All Filesbutton in the project diff view. (#50859) - Fixed
project panel: reveal in file managerto work even when no project panel entry is selected. (#50866; thanks loadingalias) - Fixed a panic in
lsp_symbols_at_cursorwhen dealing with diff hunks. (#51077) - Fixed a panic in LiveKit when joining a channel using legacy audio with a device that has fewer or more than 2 channels. (#51276)
- Fixed a potential crash when deleting SSH servers too eagerly. (#51091)
- Fixed a source of underflowing subtractions causing spurious panics. (#51078)
- Fixed ability to select audio input/output devices for legacy (non-experimental/rodio-enabled) audio. (#51128)
- Fixed agent panel stealing keyboard focus from modals during workspace restoration. (#50511; thanks Dnreikronos)
- Fixed an issue in the Project Panel where conflicting file moves could overwrite each other instead of leaving the losing file in place. (#51090)
- Fixed an issue where
"autosave": "on_focus_change"would not reliably work in multibuffers. (#50686; thanks OmChillure) - Fixed an issue where buffer content could become stale after undoing edits when an external tool wrote to the file while the buffer was dirty. (#51037; thanks lex00)
- Fixed an issue where newlines could be inserted into read-only editors. (#50804)
- Fixed clicking on non-selectable picker entries (e.g. section headers) confirming the currently selected item. (#50705; thanks Dnreikronos)
- Fixed conda environment not auto-activating in the terminal during remote development sessions. (#50895; thanks lingyaochu)
- Fixed detection of when
pylspis not installed properly on a user's system so that it doesn't get launched as an LSP when it doesn't exist. (#51034; thanks rgbkrk) - Fixed missing labels for
tycompletion items in remote development. (#50697; thanks lingyaochu) - Fixed crash reporter metadata collection. (#50728)
- Fixed crash when trying to join a channel/test audio on Nix-built Zed on Linux. (#50743)
- Fixed default settings and default key bindings reopening duplicate tabs instead of reusing the existing tab. (#51053; thanks ishaksebsib)
- Fixed docs search results scrolling with arrow keys. (#50901; thanks implabinash)
- Fixed mouse cursor disappearing when clicking a changed file in the Git Changes panel. (#51016)
- Fixed project panel empty area showing a non-functional scrollbar; scrolling now works from anywhere in the panel. (#50683; thanks virajbhartiya)
- Fixed some error messages in OpenAI/Copilot Chat conversations that were using the Debug representation. (#50824)
- Fixed terminal
ctrl-clickpath detection failing when path is preceded by a prefix like0:. (#50663; thanks xcb3d) - Fixed the
View AI Settingsbutton being visible on the Welcome page despite AI features being disabled in settings. (#50941; thanks OmChillure) - Fixed Zed connecting to MCP servers when AI is disabled. (#47857; thanks oliverbarnes)
- Fixed
editor: toggle commentsto include a trailing space in Git Commit, Go Mod, and Go Work files. (#51033; thanks injust) - Fixed
formatter: "auto"silently failing instead of trying other language servers when the first one doesn't support formatting. (#50661; thanks Dnreikronos) - Fixed links being highlighted when pressing modifier keys while the mouse cursor is hidden. (#50424; thanks [nishanthkarthik](https://githu...
v0.227.1
This week's release includes support for parallel subagents, Vercel AI Gateway as a new LLM provider, git diff stats in the git panel, and support for compound emojis.
We've also migrated all built-in agents to the ACP Registry, enabling you to remove agents you do not use.
Features
AI
- Agent: Added a new
spawn_agenttool which allows the Zed Agent to utilize subagents for doing tasks in parallel and better context management. (#50493) - Agent: Added support for GPT-5.3-Codex as a bring-your-own-key model in the OpenAI provider. (#50122)
- Agent: Added Vercel AI Gateway as a new LLM provider in Zed. (#50207; thanks dancer)
- Agent: Added the ability to jump to a file from a diff inside the agent conversation with option-enter (
editor: Open excerpts). (#50292) - Agent: Added persistence for draft prompts across Zed restarts. (#49541)
- Agent: Added persistence for the thinking mode toggle and thinking effort when selecting a thread from history. (#49714)
- Agent: Added restoration of token counts and scroll position when loading a previous agent thread. (#50620)
- Agent: Improved loading state for the thread view when there's only a running terminal command. (#50501)
- Agent: Improved the editing of queued messages by moving the content back to the main message editor, avoiding the chance of it getting sent mid-editing. (#50490)
- Agent: Made file mention chips in the chat input clickable so they open the referenced files in the editor. (#46751; thanks soyllamas)
- Agent: Added
cmd-ykeybinding for accepting changes in the agent diff review, matching the git diff review shortcut. (#50656) - ACP: Made all built-in agents removable and manageable via the ACP Registry. (#50094)
- Added support for providing an API key to OpenAI-compatible edit prediction providers. (#50615)
Git
- Added trusted workspace support for Zed's git integration. (#50649)
- Added git diff stats to git panel entries. (#49519; thanks bobbymannino)
Languages
- Added support for specifying settings for the Go LSP adapter. (#50472)
- Registered
.prettierrcas a JSON file type. (#50156)
Windows
- Improved auto-update robustness in the face of apps holding the Zed.exe handle. (#50332)
- Changed date and time formatting to respect the system time formatting preferences. (#50227; thanks scuzqy)
Linux
- Reduced GPU memory usage during resize. (#50030)
Other
- macOS: Added
ctrl-enterkeybinding to type a newline in search bars. (#50420; thanks injust) - Added support for compound emojis. (#50082; thanks marcocondrache)
- Changed the language selector to auto-select the current buffer's language when opened. (#48475; thanks cppcoffee)
- Added file icons for YAML, Helm and GitLab files, and used the Docker icon for
Containerfile. (#50529; thanks tzabbi) - Added support for listing tree-sitter tokens in highlights tree view, including their resolved theme keys. Semantic token entries also show their resolved theme keys. (#49197; thanks ozacod)
- Added configurable
vim.yank.backgroundtheme color for vim yank highlight. (#49517; thanks kaspernyhus) - Added truncation for long file names in tab titles. (#50550)
- Changed miniprofiler file extension to
.miniprof.json. (#50429) - Improved redaction of sensitive environment variables from debugger error logs. (#50008; thanks notpeter)
Bug Fixes
- Linux: Handle GPU device loss gracefully. (#50902)
- Collab: Fixed unable to rejoin project bug ("already subscribed to entity"). (#50630)
- Git: Fixed a bug that caused the git worktree picker from displaying and creating worktrees over collab. (#50614)
- Agent: Fixed a UI bug where the agent panel settings would sometimes render the empty state ("No MCP server added yet"), even if there are MCP servers configured in settings.json. In particular, this happened when one of them was hanging on startup. (#50089)
- Agent: Fixed Agent Panel code blocks not scrolling horizontally during text selection. (#50416)
- Fixed
editor::JoinLineswhen a multi-line selection includes the end of the final line. (#48035; thanks jrobsonchase) - Fixed a bug where files would still be marked as having git conflicts after resolving them. (#50327)
- Fixed a crash on Linux when window callbacks attempted to register new callbacks. (#49533; thanks cardinalpointstudio)
- Fixed a crash when opening the settings UI. (#50488)
- Fixed a crash when rendering mermaid diagrams in markdown preview. (#50176)
- Fixed a crash when using "Reveal in File Manager" on files in WSL projects (#46767). (#50610; thanks SarthakMishra)
- Fixed an error when OpenRouter returns a usage-only event with empty choices. (#50603; thanks imumesh18)
- Fixed an issue where class names were not highlighted correctly in JavaScript files. (#49325)
- Fixed an issue where the log file and log file backup would keep growing indefinitely. (#50571)
- Fixed being able to scroll the edit prediction popover out of the containing pane. (#50361)
- Fixed a bug in project search where collapsing a single buffer then performing a new search in the same view would break the expand/collapse all button behavior. (#50525)
- Fixed cancelled turns in a conversation that failed (e.g. 500 from the LLM provider) being retried even after cancellation. (#50580)
- Fixed Cmd+click navigating to file instead of definition in certain cases. (#49012; thanks chenwuji2000-cyber)
- Fixed devcontainer git failure toasts so they show the actual git error. (#49230; thanks oliverbarnes)
- Fixed extraneous buffer header when splitting the commit view. (#50606)
- Fixed GPU acceleration not working on certain Linux devices. (#50270)
- Fixed Linux worktree file watching so child entries appear after deleting and recreating a directory at the same path. (#50412; thanks Chriss4123)
- Fixed multiple mermaid diagram rendering issues in markdown preview. (#50485)
- Fixed popover spacing for split diff buttons. (#49655)
- Fixed project panel not updating selection when switching to a gitignored file that was already visible. (#49521; thanks skyline69)
- Fixed REPL output width clamping to apply to the content area so images don't get clipped by controls. (#48435; thanks cvanelteren)
- Fixed scroll top behavior when there are more sticky headers than vertical_scroll_margin. (#50359; thanks [KyleBarton](https://githu...
v0.227.1-pre
v0.226.5
v0.227.0-pre
This week's release includes support for parallel subagents, Vercel AI Gateway as a new LLM provider, git diff stats in the git panel, and support for compound emojis.
We've also migrated all built-in agents to the ACP Registry, enabling you to remove agents you do not use.
Features
AI
- Agent: Added a new
spawn_agenttool which allows the Zed Agent to utilize subagents for doing tasks in parallel and better context management. (#50493) - Agent: Added support for GPT-5.3-Codex as a bring-your-own-key model in the OpenAI provider. (#50122)
- Agent: Added Vercel AI Gateway as a new LLM provider in Zed. (#50207; thanks dancer)
- Agent: Added the ability to jump to a file from a diff inside the agent conversation with option-enter (
editor: Open excerpts). (#50292) - Agent: Added persistence for draft prompts across Zed restarts. (#49541)
- Agent: Added persistence for the thinking mode toggle and thinking effort when selecting a thread from history. (#49714)
- Agent: Added restoration of token counts and scroll position when loading a previous agent thread. (#50620)
- Agent: Improved loading state for the thread view when there's only a running terminal command. (#50501)
- Agent: Improved the editing of queued messages by moving the content back to the main message editor, avoiding the chance of it getting sent mid-editing. (#50490)
- Agent: Made file mention chips in the chat input clickable so they open the referenced files in the editor. (#46751; thanks soyllamas)
- Agent: Added
cmd-ykeybinding for accepting changes in the agent diff review, matching the git diff review shortcut. (#50656) - ACP: Made all built-in agents removable and manageable via the ACP Registry. (#50094)
- Added support for providing an API key to OpenAI-compatible edit prediction providers. (#50615)
Git
- Added trusted workspace support for Zed's git integration. (#50649)
- Added git diff stats to git panel entries. (#49519; thanks bobbymannino)
Languages
- Added support for specifying settings for the Go LSP adapter. (#50472)
- Registered
.prettierrcas a JSON file type. (#50156)
Windows
- Improved auto-update robustness in the face of apps holding the Zed.exe handle. (#50332)
- Changed date and time formatting to respect the system time formatting preferences. (#50227; thanks scuzqy)
Linux
- Reduced GPU memory usage during resize. (#50030)
Other
- macOS: Added
ctrl-enterkeybinding to type a newline in search bars. (#50420; thanks injust) - Added support for compound emojis. (#50082; thanks marcocondrache)
- Changed the language selector to auto-select the current buffer's language when opened. (#48475; thanks cppcoffee)
- Added file icons for YAML, Helm and GitLab files, and used the Docker icon for
Containerfile. (#50529; thanks tzabbi) - Added support for listing tree-sitter tokens in highlights tree view, including their resolved theme keys. Semantic token entries also show their resolved theme keys. (#49197; thanks ozacod)
- Added configurable
vim.yank.backgroundtheme color for vim yank highlight. (#49517; thanks kaspernyhus) - Added truncation for long file names in tab titles. (#50550)
- Changed miniprofiler file extension to
.miniprof.json. (#50429) - Improved redaction of sensitive environment variables from debugger error logs. (#50008; thanks notpeter)
Bug Fixes
- Collab: Fixed unable to rejoin project bug ("already subscribed to entity"). (#50630)
- Git: Fixed a bug that caused the git worktree picker from displaying and creating worktrees over collab. (#50614)
- Agent: Fixed a UI bug where the agent panel settings would sometimes render the empty state ("No MCP server added yet"), even if there are MCP servers configured in settings.json. In particular, this happened when one of them was hanging on startup. (#50089)
- Agent: Fixed Agent Panel code blocks not scrolling horizontally during text selection. (#50416)
- Fixed
editor::JoinLineswhen a multi-line selection includes the end of the final line. (#48035; thanks jrobsonchase) - Fixed a bug where files would still be marked as having git conflicts after resolving them. (#50327)
- Fixed a crash on Linux when window callbacks attempted to register new callbacks. (#49533; thanks cardinalpointstudio)
- Fixed a crash when opening the settings UI. (#50488)
- Fixed a crash when rendering mermaid diagrams in markdown preview. (#50176)
- Fixed a crash when using "Reveal in File Manager" on files in WSL projects (#46767). (#50610; thanks SarthakMishra)
- Fixed an error when OpenRouter returns a usage-only event with empty choices. (#50603; thanks imumesh18)
- Fixed an issue where class names were not highlighted correctly in JavaScript files. (#49325)
- Fixed an issue where the log file and log file backup would keep growing indefinitely. (#50571)
- Fixed being able to scroll the edit prediction popover out of the containing pane. (#50361)
- Fixed a bug in project search where collapsing a single buffer then performing a new search in the same view would break the expand/collapse all button behavior. (#50525)
- Fixed cancelled turns in a conversation that failed (e.g. 500 from the LLM provider) being retried even after cancellation. (#50580)
- Fixed Cmd+click navigating to file instead of definition in certain cases. (#49012; thanks chenwuji2000-cyber)
- Fixed devcontainer git failure toasts so they show the actual git error. (#49230; thanks oliverbarnes)
- Fixed extraneous buffer header when splitting the commit view. (#50606)
- Fixed GPU acceleration not working on certain Linux devices. (#50270)
- Fixed Linux worktree file watching so child entries appear after deleting and recreating a directory at the same path. (#50412; thanks Chriss4123)
- Fixed multiple mermaid diagram rendering issues in markdown preview. (#50485)
- Fixed popover spacing for split diff buttons. (#49655)
- Fixed project panel not updating selection when switching to a gitignored file that was already visible. (#49521; thanks skyline69)
- Fixed REPL output width clamping to apply to the content area so images don't get clipped by controls. (#48435; thanks cvanelteren)
- Fixed scroll top behavior when there are more sticky headers than vertical_scroll_margin. (#50359; thanks KyleBarton)
- Fixed tab bar not reliably scrolling to the active tab when pinned tabs are present....
v0.226.4
This week's release includes support for self-hosted OpenAI-compatible servers for edit predictions, a new Review Diff button in the git branch diff view for sending diffs to an agent for review, diagnostic count badges in the project panel, and the ability to undo the reject all action when reviewing agent-made changes.
Features
AI
- Added the ability to use a self-hosted OpenAI-compatible server for edit predictions. (#49554)
- Agent: Added the ability to undo the
reject allaction from agent-made changes. (#48462) - Agent: Added support for Claude Sonnet 4.6 for Bedrock. (#49439; thanks 5herlocked)
- Agent: Added fallback error handling for connect failures. (#50063)
- Agent: Changed
agent::addSelectionToThread(cmd->) to use the current line of the cursor when there is no selection. (#48045; thanks notpeter)
Git
- Added diff stat numbers to the git branch diff (
git: branch diff) view. (#49716) - Added a
Review Diffbutton in thegit: branch diffview so that the whole diff can be quickly sent for review to an agent. (#49513) - Improved split diff performance by reducing number of entity clones for very large pre-loaded multibuffers. (#49573)
Languages
- Improved completion order for Python-based LSPs. (#47160; thanks lingyaochu)
- Added syntax highlighting for HTML character references (
·,',{, etc.) in TSX, JavaScript, and HTML files. (#48629; thanks br-schneider) - Go: Added definition highlights for functions, methods, and types. (#49120; thanks tvi)
- Markdown: Added
.mdcas a recognized file extension. (#50074; thanks avifenesh)
REPL
- Added WSL and SSH remote kernels and wired up spawn/kill kernel proto messages and client requests. (#47891; thanks MostlyKIGuess)
- Added ability to clear outputs by action. (#49631; thanks rgbkrk)
- Added basic handling of HTML in REPL outputs. (#49646; thanks rgbkrk)
Windows
- Added a
zed: record etw profileaction that can be used to collect performance profiles. (#49712)
Other
- Improved the memory footprint of Zed. (#49703)
- Reduced memory usage on macOS. (#49236; thanks marcocondrache)
- Optimized performance for language servers which register many file-watching notifications. (#49778)
- Improved the checkerboard pattern in the image viewer to be more visually pleasant. (#49575; thanks MostlyKIGuess)
- Added diagnostic count badges to the project panel, displaying error and warning counts next to file names. You can modify this setting using the
diagnostic_badgesoption, which is disabled by default. (#49802; thanks Obli04) - Added copy button for project diagnostics messages. (#49671; thanks ozacod)
- Improved multi-cursor paste to distribute each clipboard line to its corresponding cursor when the line count matches. (#48676)
- Added
debug_panel::Toggleto show/hide debug panel liketerminal_panel::Toggle. (#48020; thanks samueldominguez) - Added
workspace::ActivateLastPaneaction for keybindings that focus the last pane. (#49853; thanks gh-xj) - Improved the
zed: open performance profileraction to display profiling data from the remote server. (#49582)
Bug Fixes
- Windows: Fixed remote server failing to launch. (#50153)
- Windows: Fixed a panic registering a path with language servers when the UNC path cannot be represented by a Rust URI. (#50310)
- Agent: Fixed the OpenAI-compatible setting description to point to the server's completion API URL. (#49846; thanks Marcuss2)
- Agent: Fixed the agent edit tool clearing file contents before the first edit arrives, which caused buffers to appear empty for prolonged periods with slow agents. (#49633)
- Agent: Fixed Codex ACP installation robustness by staging downloads. (#45428; thanks cppcoffee)
- Agent: Fixed Anthropic streaming for alternative providers by accepting SSE
data:{...}(no space) lines. (#47847; thanks raphaelluethy) - Agent: Fixed the agent panel silently stopping instead of showing an error when a model response stream terminates abnormally. (#49337)
- Debugger: Fixed a bug where active debug lines could be set in the wrong pane. (#49390)
- Git: Fixed a bug where the buttons to toggle the split diff view would have no effect when the diff being viewed was empty. (#49884)
- Git: Fixed pull request link detection picking up unrelated links in git output. (#49817; thanks kbidlack)
- Linux: Fixed crashes that could happen due to our crash handler erroneously catching signals intended for wasmtime. (#49944)
- Fixed
workspace: open filesnot respectinguse_system_path_promptssetting. (#47027; thanks austincummings) - Fixed a (very rare) crash that could happen due to lost edits in channel buffers. (#50034)
- Fixed a crash when git produces duplicate status entries for the same file path. (#49191)
- Fixed a crash when using the editor minimal. (#49692)
- Fixed a crash when using vim paste on clipboard data copied with the editor's copy command containing multiple entire-line selections. (#49134)
- Fixed a panic in
editor::GoToDefinitionSplitif you managed to close the current pane before the definitions were resolved. (#50060) - Fixed a panic when rendering an image larger than the GPU could support. (#50025)
- Fixed a panic when authentication failed to bind to loopback port. (#49916)
- Fixed panics with selection handling in expanded diff hunk. (#49719)
- Fixed a panic when growing and shrinking selections while the buffer size changes (e.g., when expanding/collapsing diffs). (#48898)
- Fixed a panic when opening the remote server modal. (#50650)
- Fixed an issue where custom macOS app icons would revert to default blue folders after an update. (#49727; thanks amtoaer)
- Fixed bracket highlights flickering when editing inside brackets. (#49797; thanks lingyaochu)
- Fixed certain context menu items not reacting to click events. (#49557)
- Fixed clipboard selection range for multi-line copy-and-trim. (#48977)
- Fixed footer buttons clipped in stash picker when vim mode is enabled on macOS. (#49814; thanks amtoaer)
- Fixed interop detection on WSL not working on newer setups. (#49708)
- Fixed linked edits for delete/change/substitute commands so tag pairs stay in sync. (#48458; thanks ixacik)
- Fixed mouse scroll in terminal apps (tmux, neovim, etc.) only s...
v0.226.4-pre
v0.225.13
v0.225.12
- linux: Reduce crashes in the face of transient GPU errors (#50539)
- Linux: Select a more appropriate GPU (#50528)
- Linux: Fix panic when requested window size was larger than supported by your GPU (#50346)
- Fixed a visual gap between diff hunk controls and buffer headers (#50468)
- Fixed a bug that prevented settings files from opening on remotes (#50383)
- Linux: Fixed a panic in the new WPGU renderer during resize (#50344)
- vim: Fixed panic when incrementing a number preceded by a multibyte character (#50338)