github zed-industries/zed v0.205.0-pre

pre-release10 hours ago

This week's release includes a stash picker, apply and drop git stash commands, the ability to amend commit messages without having any changes in your working copy, better drag-and-drop support in the project panel, better error reporting when the auto-updater fails, and improved token consumption when mentioning large files in the agent panel. Also, for the Pythonistas 🐍, Zed now directly ships with the ty language server (disabled by default) and Ruff (enabled by default) - no need to install the extensions for these anymore!

Features

General

  • Added support for drag-and-drop files and external paths into the empty space of the project panel, placing them in the last folder you have added to the project. (#38008)
  • Improved drag-and-drop support by allowing folded directories to be dragged onto other items in the project panel. (#38070)
  • Added whitespace_map setting to control which visible characters are used to render whitespace when the show_whitespace setting is enabled. (#37704; thanks iluuu1994)
  • Improved error reporting when auto-updating fails. (#38241)
  • Added scrollbars to the markdown preview and syntax tree view. (#38183)
  • Added pane::SplitAndMove{Up,Down,Left,Right} to allow creating a split without cloning the current buffer. (#38034)
  • Added support for icon themes to change the folder icon based on the directory name. (#36351; thanks jacobtread)
  • Added reusing of reference search buffers when applicable. (#37994)
  • Improved autosave behavior to prevent a confirmation dialog when quickly closing files and using the afterDelay setting. (#36929; thanks itsaphel)
  • Improved the displayed keybinding for the pane::GoForward action on Linux. (#38221; thanks RocketRide9)
  • Installing a dev extension will now automatically remove the release extension should it be installed. (#38088)
  • Improved ctrl-k (editor::CutToEndOfLine) behavior when used at the end of lines. (#34553; thanks AidanV)
  • Added an option to make editor::CutToEndOfLine not gobble newlines. (#34553; thanks AidanV)
{
    "context": "Editor",
    "bindings": {"ctrl-k": ["editor::CutToEndOfLine", { "stop_at_newlines": true }]}
}
  • Added a title_bar.show setting. (#37428; thanks bgub)
  • Added repl.max_columns and repl.max_lines settings. (#37927; thanks cvanelteren)
  • Allowed 0 as a value for the excerpt_context_lines setting. (#37982)

AI

  • ACP: Passed proxy settings through to all ACP agents. (#38247)
  • Agent: Added the agent.message_editor_min_lines setting to allow users to customize the agent panel message editor default size by using a different minimum number of lines. (#37975; thanks ojkelly)
  • Agent: When an agent requests a tool that doesn't exist, this is now treated as a failed tool call instead of stopping the thread. (#38207)
  • Agent: Added support for API key and API URL to connect to remote Ollama provider. This also adds URL and API key to be set from agent panel settings. (#34110; thanks imumesh18)
  • Agent: Added ability to control Provider Routing for OpenRouter models from settings. (#37979; thanks imumesh18)
  • Agent: When @mentioning large files, the Agent Panel now sends an outline of the file instead of the whole thing. (#38032)

Vim / Helix

  • Helix: Added dedicated "helix select" mode that can be targeted by keybindings. (#37748; thanks romaninsh)

Git

  • Added more git stash functionality. (#35927; thanks AlvaroParker)
    • Added a stash picker to pop and drop a specific stash entry.
    • Added git stash apply command.
    • Added git stash drop command.
    • Disabled the stash pop action on the git panel when no stash entries exist.
  • Commit messages can now be amended in the UI without any other changes needing to be made. (#37256; thanks Hawkbawk)
  • Added tooltip to Git branch picker items, making it easier to distinguish long branch names. (#38261)
  • Used \x00 representation instead of literal null character in strings to improve compatibility with git diff and GitHub's diff viewer. (#38033; thanks AlvaroParker)

Languages

  • Python: Added built-in support for ty language server (disabled by default). (#37580)
  • Python: The Ruff native language server is now available without installing an extension. (#37804)
  • Python: Improved toolchain prioritization of local virtual environments. (#37510; thanks dunkmann00)
  • TypeScript: Added out-of-the-box support for Tailwind completions in .ts files. (#38254)

Bug Fixes

  • macOS 26: Fixed an issue where scrolling could sometimes feel choppy. (#38179)
  • Linux: Fixed Secret Service integration sometimes producing Incorrect secret error. (#38043; thanks bemyak)
  • Helix: Fixed an issue where Helix mode would incorrectly fall back to "normal" mode instead of remaining in "helix normal" mode (e.g., when pressing vv). (#37748; thanks romaninsh)
  • Agent: Fixed text insertion to respect cursor position instead of always appending to the end. (#38253; thanks Kyrilasa)
  • Agent: Fixed panicking when streaming codeblocks with leading whitespace. (#38225)
  • Agent: Fixed overflowing server title in the MCP server section in the agent settings view. (#38195; thanks clicktodev)
  • Agent: Fixed external agent authentication failures when file paths contain spaces. (#38175; thanks hakanensari)
  • Agent: Fixed handling of changes to LLM provider URL in settings to also load the associated API key. (#38163)
  • Agent: Fixed a crash when filtering MCP tools. (#37929)
  • Agent: Fixed an issue where completions for @mentions in the agent panel would sometimes not be dismissed when typing a space. (#37922)
  • JavaScript: Fixed name escaping in dynamic jest/vitest task names. (#36999; thanks lsndr)
  • Python: Fixed incorrect indentation for Python block statements (for, finally, if, else, try) that have trailing comments. (#37903; thanks ImFeH2)
  • Git: Fixed an issue where git's core.excludesFile (~/.config/git/ignore) was not being respected in addition to .gitignore. (#33592)
  • Fixed issue where completions menu flashed on every keystroke in TSX files with emmet extension installed. (#38320)
  • Fixed a bug that could cause duplicated diagnostics with some language servers. (#38212)
  • Fixed filled button hover background. (#38235; thanks huacnlee)
  • Fixed project search replacement replacing stale search results. (#38251)
  • Fixed broken keybinding display when hovering over mode selector menu items. (#38204; thanks AlvaroParker)
  • Fixed Zed overly notifying language servers about open buffers, which could've resulted in confusing errors in multi-language projects (e.g., in Go). (#38196)
  • Fixed shell selection for terminal tool. (#38186)
  • Fixed an issue where ANSI colors were incorrectly adjusted to improve contrast on some background colors. (#38155; thanks timvermeulen)
  • Fixed the basedpyright onboarding banner. (#38135; thanks narqo)
  • Fixed a bug where action documentation while editing keymap.json was only shown for actions that take input. (#38156)
  • Fixed an issue where keybindings would fail to save in the Keymap Editor if the keymap.json file was completely empty. (#38087)
  • Fixed an issue where the line_indicator_format setting would not update based on the value in settings.json. (#38071)
  • Fixed an issue where the SVG preview would not update when following the active editor. (#38081)
  • Fixed task arguments being quoted incorrectly for nushell and powershell. (#38056)
  • Fixed pre-release LSP fetching setting not having an effect until restarting Zed. (#38046)
  • Fixed navigating buffer search history. (#37924; thanks tidely)
  • Fixed an issue where installing a dev extension would show the installation status as "removing" in the activity indicator. (#37985)
  • Fixed keymap precedence by favoring user settings over base keymap/configs. (#37557; thanks Zertsov)
  • Fixed code actions menu items being cut off in the editor. (#37951)
  • Fixed an issue where placeholders inside editors would not wrap. (#37919)
  • (preview only) Restored ctrl-shift-{left,right} for editor: select {larger,smaller} syntax node. This is VSCode's default and avoids the breaking change from #37874

Windows Beta

  • Fixed an issue where a Zed window would stay minimized when opening an existing file in that window via the Zed CLI. (#38287)

Don't miss a new zed release

NewReleases is sending notifications on new releases.