Skip to content

Releases: zed-industries/zed

v0.198.0-pre

30 Jul 17:40
Compare
Choose a tag to compare
v0.198.0-pre Pre-release
Pre-release

This week's release includes performance improvements for projects with large numbers of repositories, memory optimization for GPU rendering, enhancements to the keymap editor's keystroke input and layout, Git stash/pop functionality through the Git panel, and Vim mode support for the :norm command.

Features

  • Keymap Editor: Added a short timeout to the stop recording keybind handling in the keystroke input, so that it is now possible using the default bindings as an example (custom bindings should work as well) to search for/enter a binding ending with escape (with no modifier), pause for a moment, then hit escape escape escape to stop recording and search for/enter a keystroke ending with escape. (#35289)
  • Keymap Editor: Made the keymap editor denser, improving how easy you can parse it at a glance. (#35236)
  • Windows: Searching Windows paths is now possible with a forward slash. (#35198)
  • Improved support for keyboard-based dock show/hide in Jetbrains keymap. (#35234)
  • Added collapse functionality to outline entries, allowing you to collapse/expand sections in the outline view. (#33490; thanks NRodriguezcuellar)
  • Added a new expand_outlines_with_depth setting to customize how deep the tree is expanded by default when a file is opened. (#33490; thanks NRodriguezcuellar)
  • Added support for closing docks (sidebars) with shift-escape in the Jetbrains keymaps. (#35230)
  • Added editor: convert to sentence case. (#35015)
  • Added icon for SurrealQL (.surql) files. (#34855; thanks ThatOneCalculator)
  • Improved Zed's performance in projects with large number of repositories. (#35052)
  • Improved highlighting of regex errors in search dialogs. (#35001)
  • Improved display of environment variables in LSP Logs: Server Info view. (#34971)

Git

  • Added a menu entry on the git panel to git stash and git pop stash. (#32821; thanks AlvaroParker)
  • Improved support for GitHub remote URLs where the username/organization is preceded by an extra / to match the behavior of git, gh and github.com. (#34134; thanks zacharyhamm)

Vim

  • Added support for :norm. (#33232; thanks AidanV)
  • Allowed for Vim and Zed-style modified keys specified in issue (#33232; thanks AidanV):
    • Vim style and zed style
  • Differs from Vim in how multi-line is handled:
    • Vim is sequential
    • Zed is combinational (with multi-cursor)
  • Improved insert in helix_mode when a selection exists to better match helix's behavior: collapse selection to avoid replacing it. (#34765; thanks praguevara)
  • Improved append (insert_after) to better match helix's behavior: move cursor to end of selection if it exists. (#34765; thanks praguevara)

Languages

  • Python: Zed now reports a slightly different set of workspace folders for Python projects to work around quirks in handling of multi-lsp projects with virtual environment. This behavior will be revisited in the near future. (#35243)
  • Added support for running Go benchmarks named "Benchmark". (#35167; thanks rfratto)

Bug Fixes

  • Agent: Fixed duplicated settings item in the agent panel as well as improved copy for the setting to allow running commands without permission. (#35120)
  • Agent: Fixed delay when loading keybindings in the Agent panel settings. (#34954; thanks imumesh18)
  • Fixed unnecessary Ollama model loading. (#35032; thanks etimvr)
  • Hide Copilot commands when AI functionality is disabled. (#35055; thanks injust)
  • JavaScript/TypeScript tasks: Fixed handling of Vitest/Jest tests with regex-specific characters in their name. (#35090)
  • Debugger: Fixed a bug where a Go debug session could not be stopped if no breakpoint was ever hit. (#35190)
  • Git: Fixed Git commit editor being searchable. (#35099)
  • Search: Fixed a bug where regex search would close parenthesis automatically. (#35005)
  • Fixed replace command on helix mode: now it actually replaces what was selected and keeps the replaced text selected to better match helix. (#34789; thanks praguevara)
  • Fixed warm-related panic happening during startup. (#35319)
  • Fixed a bug where updates to the bottom dock layout setting would not be applied until a restart. (#35308)
  • Fixed various issues with handling indentation in Bash. (#35116)
  • Fixed an issue where Zed would sometimes allocate excessive memory for GPU rendering. (#34992)
  • Fixed ~ not being expanded correctly in cwd field of task definitions. (#35097)
  • Fixed issue where pane: reveal in project panel action was not working if the entry was behind sticky items. (#35067)
  • Fixed issue with auto-height layouts where horizontal autoscroll is triggered right before text wraps. (#34564; thanks djsauble)
  • Fixed an issue where terminal breadcrumbs would not react instantly to settings changes. (#35016)
  • Fixed an issue where editor: move line up action sometimes crashed if the cursor was at the end of a line beside a fold marker. (#34982)
  • Linux: Fixed switching from client side decoration to server side decoration on Wayland. (#35151; thanks marius851000)

Breaking Changes and Notices

  • Agent: Renamed the "open configuration" action to "open settings" for better discoverability and consistency. (#35329)

v0.197.3

30 Jul 16:51
Compare
Choose a tag to compare

This week's release includes Magistral support for Ollama, a screen selector dropdown for picking which screen to share when collaborating through Zed, an option to disable all AI features in Zed, automatic retries on more failed requests in the Agent panel, debugger data breakpoint access type specification, improvements to the keymap editor, and a new action to diff the current selection against the clipboard contents.

Features

  • Added screen selector dropdown to screen share button. (#31506)
  • Added 25+ keybinds to the macOS and Linux/Windows JetBrains compatibility keymaps. (#34641)
  • Added panel.sticky_entry.background theme selector for modifying project panel entries when they become sticky when scrolling and overlap with entries below them. (#34655; thanks bcomnes)
  • Added none as one of the values for snippet_sort_order to completely disable snippet completion. (#34565; thanks zeux)
  • Keymap Editor: Made keystroke search matches match based on ordered (not necessarily contiguous) runs. For example, searching for cmd shift-j will match cmd-k cmd-shift-j alt-q and cmd-i g shift-j but not alt-k shift-j or cmd-k alt-j.

Agent

  • The Agent panel now automatically retries failed requests under more circumstances. (#34842)
  • Added support for adding multiple OpenAI API compatible providers. (#34212)
  • Added the use_modifier_to_send setting, which makes holding a modifier (cmd/ctrl), together with enter, required to send a new message. (#34709, #34866)
  • Improved Bedrock streaming by eliminating response buffering delays. (#33931; thanks tiagoq)
  • Added setting to disable all AI features ("disable_ai": true). (#34896)
  • Agent: Added magistral support to ollama. (#35000; thanks @versecafe)
  • Agent: Added support for magistral-small and magistral-medium. (#34983)
  • Agent: Added support for Mistral Devstral Medium. (#34888)
  • Agent: Context servers will now be spawned in the currently active project root. (#35271)
  • Agent: The edit tool can now access files outside the current project, but only if the user grants it permission to. (#35221)
  • LMStudio: Display specific backend error messaging on failure rather than generic ones (#34538)

Debugger

  • Added support for Go subtest runner with raw string names. (#34636; thanks Spissable)
  • Added support for specifying a data breakpoint's access type - Read, Write, Read & Write. (#34639)

Git

Vim

  • Added ; key binding to collapse the current text selection in Helix mode. (#34315; thanks djsauble)
  • Added editor::BlameHover action for showing the git blame popover under the cursor. By default bound to ctrl-k ctrl-b and to g h in vim mode. (#32096; thanks Daste745)

Languages

  • Improved indentation during typing for C/C++ around if/for/while/do blocks. (#34549; thanks zeux)

Bug Fixes

  • Agent: Fixed a crash that occurred when jumping from a message to a thread included in the context. (#34843)
  • Agent: Fixed an issue where clicking on "Start New Thread" in the agent configuration would not always switch to the correct provider/model. (#34708)
  • Agent: Fixed a regression where the keybindings for the New Thread and New Text Thread entries were missing from the New Thread... menu. (#34967)
  • Debugger: Fixed debug console persist to history when reusing a previous item. (#34893; thanks RemcoSmitsDev)
  • Debugger: Fixed built-in JavaScript debug tasks were not working due to missing type field value. (#34894; thanks RemcoSmitsDev)
  • Debugger: Fixed attaching with DebugPy. DebugPy is now installed automatically from pip (instead of GitHub), unless it is present in active virtual environment. Additionally this should resolve any startup issues with missing .so on Linux. (#34706)
  • Vim: Fixed an issue so ctrl-w / ctrl-h and ctrl-u work in pickers on Linux when Vim mode is enabled. (#34840)
  • Linux: xkb-defined hotkeys for arrow keys should behave as expected. (#34823; thanks stillonearth)
  • Linux: Fixed an issue where button clicks wouldn't work on startup until clicked on the center pane. (#34590)
  • Wayland/Linux: Made resizing smoother on Wayland/Linux. (#34760; thanks sethdusek)
  • Fixed search filter patterns on remote projects. (#34748; thanks maan2003)
  • Fixed an issue where closing remote workspace restores last local workspace on startup. (#34931)
  • Fixed an issue where the last removed folder from workspace used to reopen on Zed startup. (#34925)
  • Fixed empty pane being left after a binary file is dropped into a new pane. (#34908)
  • Fixed an issue where redo would not work after buffer formatting (including formatting on save) when the formatting did not result in any changes. (#34898)
  • Fixed textmate keymap misbehaving in certain contexts. (#34895)
  • Fixed an issue where scrollbars would appear in containers where no scrolling was possible. (#34832)
  • Fixed workspace: open in terminal action not working with paths that contain spaces in SSH projects. (#34844)
  • Fixed an issue where accepting variable completion in PHP would result in a double $ sign in the prefix. (#34726)
  • Fixed an issue where the cursor doesn't move up and down on arrow keys when no completions are shown. (#34678)
  • Fixed the issue where the green (+) cursor style sometimes appears when navigating to the definition in buffer. (#34638)
  • Fixed regressions with loading environment variables in nushell (#35002, #35054)
  • Fixed project panel not opening when project panel: rename and project panel: duplicate actions are triggered from workspace. (#34988)

Breaking Changes and Notices

  • The context predicates in the keymap file now handle ! and > differently. Before this change ! meant "this node does not match", now it means "none of these nodes match". Before this change > meant "child of", now it means "descendent of". We do not expect these changes to break many keymaps, but they may cause subtle changes for complex context queries. (#34664)
  • Renamed CloseInactiveItems action to CloseOtherItems for naming consistency. (#34676)

v0.197.3-pre

29 Jul 19:59
dd60cc2
Compare
Choose a tag to compare
v0.197.3-pre Pre-release
Pre-release
  • Context servers will now be spawned in the currently active project root. (#35271)
  • Improved LSP code lens handling. (#35207)
  • Fixed tasks that leaked despite workspace window close. (#35246)
  • Fixed a regression with loading environment variables in nushell. (#35054)
  • Keymap Editor: Fixed an issue introduced in v0.197.2 whereby modifier keys would show up and not be removable while recording keystrokes in the keybind edit modal. (#35237)

v0.196.7

29 Jul 19:35
Compare
Choose a tag to compare
  • Improved LSP code lens handling. (#35207)
  • Fixed tasks that leaked despite workspace window close. (#35246)
  • Keymap Editor: Fixed an issue where the modifiers used to activate keystroke search would appear in the keystroke search. (#35208)
  • Keymap Editor: Made it possible to search for repeat modifiers, such as a binding with cmd-shift cmd. (#35208)
  • Keymap Editor: Made keystroke search matches based on ordered (not necessarily contiguous) runs. For example, searching for cmd-shift-j will match cmd-k cmd-shift-j alt-q and cmd-i g shift-j but not alt-k shift-j or cmd-k alt-j. (#35208)
  • Keymap Editor: Fixed the clear keystrokes binding (delete by default) not working in the keystroke input. (#35208)

v0.197.2-pre

28 Jul 20:45
0a9e3c4
Compare
Choose a tag to compare
v0.197.2-pre Pre-release
Pre-release
  • Agent: The edit tool can now access files outside the current project, but only if the user grants it permission to. (#35221)
  • lmsudio: Display specific backend error messaging on failure rather than generic ones (#34538)
  • Keymap Editor: FIxed an issue where the modifiers used to activate keystroke search would appear in the keystroke search
  • Keymap Editor: Made it possible to search for repeat modifiers, such as a binding with cmd-shift cmd
  • Keymap Editor: Made keystroke search matches match based on ordered (not necessarily contiguous) runs. For example, searching for cmd shift-j will match cmd-k cmd-shift-j alt-q and cmd-i g shift-j but not alt-k shift-j or cmd-k alt-j
  • Keymap Editor: Fixed the clear keystrokes binding (delete by default) not working in the keystroke input (#35218)
  • Fixed a regression with loading environment variables in nushell (#35002)
  • Fixed project panel not opening when project panel: rename and project panel: duplicate actions are triggered from workspace. (#34988)

v0.197.1-pre

24 Jul 17:06
Compare
Choose a tag to compare
v0.197.1-pre Pre-release
Pre-release
  • Agent: Added magistral support to ollama. (#35000; thanks @versecafe)
  • Agent: Added support for magistral-small and magistral-medium. (#34983)
  • Agent: Added support for Mistral Devstral Medium. (#34888)
  • Agent: Fixed a bug where the Follow Agent button was disabled incorrectly in some states. (#34978)
  • Agent: Fixed a regression where the keybindings for the New Thread and New Text Thread entries were missing from the New Thread... menu. (#34967)
  • Fixed some bugs with editor: diff clipboard with selection. (#34999)

v0.196.6

24 Jul 16:55
Compare
Choose a tag to compare
  • Agent: The Agent panel now automatically retries failed requests under more circumstances. (#34842, #35037)
  • Agent: Fixed a crash that occurred when jumping from a message to a thread included in the context. (#34843)
  • Linux: Fixed a regression where actions bound to ctrl-0..9, ctrl-[, ctrl-^, in keymap.json, no longer worked. (#35028)

v0.197.0-pre

23 Jul 19:51
Compare
Choose a tag to compare
v0.197.0-pre Pre-release
Pre-release

This week's release includes a screen selector dropdown for picking which screen to share when collaborating through Zed, an option to disable all AI features in Zed, automatic retries on more failed requests in the Agent panel, Go subtest runner improvements, debugger data breakpoint access type specification, a new action to diff the current selection against the clipboard contents, and many more keybindings under the JetBrains keymap.

Features

  • Added screen selector dropdown to screen share button. (#31506)
  • Added 25+ keybinds to the macOS and Linux/Windows JetBrains compatibility keymaps. (#34641)
  • Added panel.sticky_entry.background theme selector for modifying project panel entries when they become sticky when scrolling and overlap with entries below them. (#34655; thanks bcomnes)
  • Added none as one of the values for snippet_sort_order to completely disable snippet completion. (#34565; thanks zeux)

Agent

  • The Agent panel now automatically retries failed requests under more circumstances. (#34842)
  • Added support for adding multiple OpenAI API compatible providers. (#34212)
  • Added the use_modifier_to_send setting, which makes holding a modifier (cmd/ctrl), together with enter, required to send a new message. (#34709, #34866)
  • Improved Bedrock streaming by eliminating response buffering delays. (#33931; thanks tiagoq)
  • Added setting to disable all AI features ("disable_ai": true). (#34896)

Debugger

  • Added support for Go subtest runner with raw string names. (#34636; thanks Spissable)
  • Added support for specifying a data breakpoint's access type - Read, Write, Read & Write. (#34639)

Git

Vim

  • Added ; key binding to collapse the current text selection in Helix mode. (#34315; thanks djsauble)
  • Added editor::BlameHover action for showing the git blame popover under the cursor. By default bound to ctrl-k ctrl-b and to g h in vim mode. (#32096; thanks Daste745)

Languages

  • Improved indentation during typing for C/C++ around if/for/while/do blocks. (#34549; thanks zeux)

Bug Fixes

  • Agent: Fixed a crash that occurred when jumping from a message to a thread included in the context. (#34843)
  • Agent: Fixed an issue where clicking on "Start New Thread" in the agent configuration would not always switch to the correct provider/model. (#34708)
  • Debugger: Fixed debug console persist to history when reusing a previous item. (#34893; thanks RemcoSmitsDev)
  • Debugger: Fixed built-in JavaScript debug tasks were not working due to missing type field value. (#34894; thanks RemcoSmitsDev)
  • Debugger: Fixed attaching with DebugPy. DebugPy is now installed automatically from pip (instead of GitHub), unless it is present in active virtual environment. Additionally this should resolve any startup issues with missing .so on Linux. (#34706)
  • Vim: Fixed an issue so ctrl-w / ctrl-h and ctrl-u work in pickers on Linux when Vim mode is enabled. (#34840)
  • Linux: xkb-defined hotkeys for arrow keys should behave as expected. (#34823; thanks stillonearth)
  • Linux: Fixed an issue where button clicks wouldn't work on startup until clicked on the center pane. (#34590)
  • Wayland/Linux: Made resizing smoother on Wayland/Linux. (#34760; thanks sethdusek)
  • Fixed search filter patterns on remote projects. (#34748; thanks maan2003)
  • Fixed an issue where closing remote workspace restores last local workspace on startup. (#34931)
  • Fixed an issue where the last removed folder from workspace used to reopen on Zed startup. (#34925)
  • Fixed empty pane being left after a binary file is dropped into a new pane. (#34908)
  • Fixed an issue where redo would not work after buffer formatting (including formatting on save) when the formatting did not result in any changes. (#34898)
  • Fixed textmate keymap misbehaving in certain contexts. (#34895)
  • Fixed an issue where scrollbars would appear in containers where no scrolling was possible. (#34832)
  • Fixed workspace: open in terminal action not working with paths that contain spaces in SSH projects. (#34844)
  • Fixed an issue where accepting variable completion in PHP would result in a double $ sign in the prefix. (#34726)
  • Fixed an issue where the cursor doesn't move up and down on arrow keys when no completions are shown. (#34678)
  • Fixed the issue where the green (+) cursor style sometimes appears when navigating to the definition in buffer. (#34638)

Breaking Changes and Notices

  • The context predicates in the keymap file now handle ! and > differently. Before this change ! meant "this node does not match", now it means "none of these nodes match". Before this change > meant "child of", now it means "descendent of". We do not expect these changes to break many keymaps, but they may cause subtle changes for complex context queries. (#34664)
  • Renamed CloseInactiveItems action to CloseOtherItems for naming consistency. (#34676)

v0.196.5

23 Jul 18:46
Compare
Choose a tag to compare

This week's release includes a new keymap editor view, a memory view for the debugger, support for data breakpoints, improved user/agent collaborative editing where the agent now receives diffs of user edits, automatic retry for more Agent errors, and the ability to rename, delete, and duplicate files via the command palette when focused on the workspace.

Features

  • Introduced a new keymap editor view:
    • Search for existing actions via keystroke input
    • Set keybindings via keystroke input
  • Added support for streaming LSP workspace diagnostics. (#34022; thanks 4teapo)
  • Added project panel: rename, project panel: delete and project panel: duplicate actions to workspace. (#34478)
  • Added editor: toggle focus action, which focuses the last active editor pane item. (#34495)
  • Added panel.sticky_entry.background theme selector for modifying project panel entries when they become sticky when scrolling and overlap with entries below them. (#34655; thanks bcomnes)
  • Linux / Windows: Added show_menus setting to always show menu bar. (#34139)
  • macOS: Added default mappings for alt-delete and cmd-delete in Terminal (delete word to right; delete to end of line). (#34493)
  • Added ability to fold all excerpts in a multibuffer (alt-click) and in singleton buffers editor::ToggleFoldAll. (#34317)
  • Added severity argument to editor::GoToDiagnostic, editor::GoToPreviousDiagnostic, project_panel::SelectNextDiagnostic and project_panel::SelectPrevDiagnostic actions. (#33995; thanks happenslol)
  • Added Google Repo .repo folders to default file_scan_exclusions. (#34431)
  • Improved performance with the minimap enabled. (#33067)
  • Improved behavior when clicking a sticky item in the Project Panel so it scrolls just enough for the item to no longer be sticky. (#34367)

Agent

  • Added a chip communicating which Zed plan you're subscribed to in the agent panel settings view. (#34503)
  • Added support for clicking on the header of the read file tool to jump to the exact file location. (#33161; thanks max-frai)
  • Enhanced read_file tool call result message for long files. (#34542; thanks Damecek)
  • Improved user/agent collaborative editing: agent now receives diffs of user edits. (#34487)
  • Automatic retry for more Agent errors. (#34473)
  • Whenever the Agent stops, play a sound (if configured) and show a notification (if configured) if the Zed window was in the background. (#34473)
  • Preserve unsent chat message text when creating a new thread. (#34150)
  • Disabled project_notifications by default for the time being. (#34619)
  • Only auto-retry Agent requests when Burn Mode is enabled. (#34669)

Debugger

  • Added memory view. (#33955)
  • Added support for data breakpoints. (#34391)
  • Added support for shutting down debug sessions while they're booting up. (#34362)
  • Added support for environment variable files in the Go debugger through the envFile setting. (#34300; thanks Spissable)
  • Improved the appearance of JavaScript sessions in the debug panel's session list. (#34322)
  • Multi-line debug inline values are now truncated. (#34305)
  • Made the semantics of the dap.$ADAPTER.binary setting more intuitive for the JavaScript and Debugpy adapters. In the new semantics, this should be the path to dapDebugServer.js for JavaScript and the path to the src/debugpy/adapter directory for Debugpy. (#33926)

Git

  • Added support for shift-clicking to stage a range of entries in the git panel. (#34296)
  • Added support for "Open Pull Request" on more platforms. (#33833; thanks stephenhillier)
  • Improved merge conflict buttons clarity by changing labels to "Use HEAD" and "Use Origin". (#34297)
  • Passphrase prompts from GPG to unlock commit signing keys are now shown in Zed. (#34096)

Terminal

  • Python: Value of activate_script setting is now automatically inferred based on the kind of shell the user is running with. (#33205; thanks rv-ragul)
  • Allowed for configuration and use of pyenv Python activation script. (#33119; thanks theelderbeever)
  • Automatic contrast adjustment in terminal is no longer applied to decorative characters used in block art. (#34238)

Bug Fixes

  • Agent: Fixed token count not getting shown in the TextThread. (#34485; thanks imumesh18)
  • Agent: Fixed a potential crash when fetching large non-HTML files. (#34253)
  • Agent: Fixed an issue where the agent panel notification would linger on even after you closed the window. (#34230)
  • Agent: Fixed an issue with tool calling with the Mistral provider (thanks @sviande and @armyhaylenko). (#34692)
  • Debugger: Fixed autocompletion not always replacing the correct search text. (#33959; thanks RemcoSmitsDev)
  • Lua: Fixed --[[ incorrectly extending -- upon a new line. (#34156)
  • Linux: Fixed a bug where file_finder::Toggle was not scrolling forward. (#34380; thanks somtooo)
  • Linux X11: Fixed the issue where the spacebar doesn't work with multiple keyboard layouts. (#34514)
  • Fixed the issue where the green (+) cursor style (e.g. drag and drop text) sometimes appeared when navigating to the definition and then back to the previous buffer. (#34557)
  • Fixed the positioning of the terminal inline assistant when it's deployed after clearing the terminal. (#34465)
  • Fixed editor freeze from large LSP workspace diagnostic responses. (#34022; thanks 4teapo)
  • Fixed language server shutdown process to prevent race conditions and improper termination by waiting for shutdown confirmation before closing connections. (#33417; thanks imumesh18)
  • Fixed snippets from extensions not working. (#34450)
  • Fixed an issue where pane activations would sometimes have a brief delay, causing a flicker in the process. (#33973; thanks AlvaroParker)
  • Fixed an issue where interacting with blocks in the editor would sometimes not properly work with the minimap enabled. (#33067)
  • Fixed automatic contrast adjustment for Powerline separators. (#34417)
  • Fixed JS/TS outlines to show generator functions. (#34388; thanks eventualbuddha)
  • Fixed a bug where the Close others context menu action was keeping the active tab open instead of the right-clicked tab. (#34355; thanks vipexv)
  • Resolved an issue where the ESLint language server returned an empty string for the CodeDescription.href field in diagnostics, leading to missing diagnostics in editor. (#33814; thanks imumesh18)
  • Fixed horizontal scrolling not working for sticky items in the Project Panel. (#34367)
  • F...
Read more

v0.196.5-pre

21 Jul 19:50
fab9da0
Compare
Choose a tag to compare
v0.196.5-pre Pre-release
Pre-release
  • agent: Fixed an issue with tool calling with the Mistral provider (thanks @sviande and @armyhaylenko) (#34692)
  • Fixed an issue where folding the topmost buffer in a multibuffer would cause the header to jump slightly. (#34721)