Preview releases

Zed Changelog


Zed 0.106.2


  • Changed the new "elixir": { "next": "on" } setting to "elixir": { "lsp": "next_ls" }. The elixir.lsp setting requires a full restart to take effect.
  • Fixed a bug in Zed's LSP implementation when using Next LS. (2098)

Zed 0.106.1


  • Added the ability to exclude warnings from project diagnostics. By default, they will be on, but they can be disabled temporarily by clicking on the warnings icon. The default behavior can be changed by changing the new diagnostics.include_warnings setting.
  • Enabled the semantic_index setting by default. The Semantic mode in project search will be visible by default now.
  • Fixed a bug where Zed would prompt to save a set of unchanged files when closing.

Zed 0.106.0




  • Added "Replace in project" functionality.
  • Added cmd-k shift-{left,right,up,down} to swap panes in that direction.
  • Added support for the experimental Next LS for Elixir, to enable it add the following field to your settings and restart Zed:
"elixir": {
    "next": "on"
  • Added a "Save all/Discard all" prompt when closing a pane with multiple edited buffers.
  • Added a "Discard" option to prompt when saving a file with conflicts (previously this only appeared on close, not on save).
  • Improved find and replace by allowing "replace with" text to be empty.
  • Improved zoom by allowing cmd-+ in addition to cmd-= for zoom in (#1021).
  • Vim
    • Added v1 of command mode (#279. This should cover most common use-cases (e.g. :w, :%s//); see the vim docs for more information. If you have a feature you would like to see, open a feature request.
    • Added key bindings for multiple selections:
      • Added g n / g N to select next/previous.
      • Added g > / g < to skip current selection and select next/previous.
      • Added g a to select all.
    • Added ctrl-w shift-{h,j,k,l} to swap panes in that direction (#278).
    • Added ctrl-w o (closes everything except the current item) and ctrl-w n (creates a new file in the pane above) (#1884).

Bug Fixes

  • Fixed a bug where hiding filters in project search would not focus on query editor.
  • Fixed an issue with the size of the fold line icon.
  • Fixed editor: toggle comments action not working in CSS buffers.
  • Vim
    • Fixed ctrl-d/ctrl-u to match vim (when :set scrolloff=3)
    • Fixed a panic when using j to go beyond end of file.

Zed 0.105.4


  • Fixed a bug when copilot re-login could cause panics

Zed 0.105.3


  • Fixed a bug where the code action popup menu would not scroll when the selection moved.
  • Fixed a bug where clicking a code action only ever performed the first action in the list rather than the one clicked on.

Zed 0.105.2


  • Fixed a bug where drag and drop didn't work correctly.
  • Added an explanation of how to set the OpenAI key when using semantic search.

Zed 0.105.1


  • Restored the cmd-shift-d key binding for 'duplicate line' and added cmd-shift-L as a binding for 'select all matches', like in VS Code. The previous action for cmd-shift-L, 'split selection into lines', has been moved to the Sublime keymap.
  • Fixed a panic when using the 'select all matches' action on an empty line.
  • Fixed a bug where moving a channel could make the channel inaccessible.
  • Fixed a bug where the 'Open Notes' action in the collaboration panel context menu didn't work.

Zed 0.105.0




  • Introduced semantic search: search your repository via natural language. To enable semantic search, ensure that your OPEN AI API key is available in the OPENAI_API_KEY environment variables add the following snippet to your settings.json file:
"semantic_index": {
  "enabled": true

To use semantic search, initiate a project search and activate the Semantic mode.

  • Added key bindings to activate search modes in project search:
    • Added alt-cmd-s to Toggle Semantic Search Mode.
    • Added alt-cmd-g to Toggle Regex Search Mode.
    • Added alt-cmd-x to Toggle Text Search Mode.
  • Defaulted new project searches to using last used search mode and settings.
  • Improved icon consistency throughout the app.
  • Added a editor::SelectAllMatches command, bound to cmd-shift-d, for selecting all matching occurrences under your selection. Note that this has replaced the previous binding for editor::DuplicateLine (#75).
  • Added an open in terminal action to the context menu on folders in the project panel
  • Vim
    • Added support for shift-d and shift-x to delete in visual mode.

Bug Fixes

  • Fixed a bug where search: replace next was not advancing the match index.
  • Fixed handling of bracket completion for international keyboard layouts that use IME. This led to Zed erroneously inserting the } character while removing the first character that triggered IME.
  • Vim
    • Fixed a panic when over-shooting with j.
    • Fixed y in VISUAL LINE mode when last line has no trailing newline (#2044).

Zed 0.104.4


  • Fixed a panic in vim mode when using down/up.
  • Fixed a panic that happened sometimes when collaborating.

Zed 0.104.3


  • Added g s / g S to vim mode to show symbols in the current buffer / workspace.
  • Fixed a bug with multi-key shortcuts with modifiers.

Zed 0.104.2


  • Fixed inlay hint highlights causing panic for certain cases with multi-byte characters.
  • Fixed a bug that was preventing errors from being shown in the inline assistant when it was still deployed.

Zed 0.104.1


  • Fixed replace in buffer not reacting to keyboard shortcuts outside of search bar.

Zed 0.104.0




  • Added "replace" functionality to buffer search.
  • Added syntax highlighting for Nushell script files (#331).
  • Improved auto-indentation when using the inline assistant.
  • Improved command palette's command ordering. Commands are now sorted lexicographically and by command's use count in the current session.
  • Vim
    • Added ZZ and ZQ to close the current item (#1868).
    • Added support for counts with insert actions (2i, 2o, 2a, etc.).
    • Added _ and g_.
    • Added . to replay (#946).

Bug Fixes

  • Fixed Tailwind autocompletes not appearing in template literals.
  • Fixed Python language server not launching without a network connection.
  • Fixed a case where language server download statuses could be skipped.
  • Fixed a case where language server diagnostic progress could get stuck when restarting a language server.
  • Fixed a bug that was preventing certain keystrokes from being shown in tooltips.
  • Fixed some issues with international keybindings. Zed now consults the IME functionality when handling keyboard shortcuts. This allows you to bind to characters (like " on a Brazilian keybaord, or $ on a Czech keyboard) that aren't typed with an unmodified key ((#1981), (#1913)).
  • Vim
    • Fixed counts with operators (2yy, d3d, etc.) ((#1496), (#970)).
    • Fixed J in visual mode, and with counts.
    • Fixed f and t on softwrapped lines.

Zed 0.103.1


  • Fixed some inconsistencies in the layout of toolbars.

Zed 0.103.0




  • Added basic Tailwind CSS autocomplete support (#746).
  • Added a CSS language server for autocomplete and linting.
  • Vim:
    • Added S to substitute line (#1897).

Bug Fixes

  • Fixed a bug where modals could not be dismissed with escape when certain views were active in the workspace.
  • Fixed a bug in the inline assistant's prompt history where the same entry was included multiple times.
  • Fixed an issue where search filters were partially cut off in the UI.
  • Fixed an issue with finding end of word on soft-wrapped lines.
  • Vim:
    • Fixed a bug where scrolling vertically would sometimes enter visual mode.


Zed 0.102.1


  • Fixed a bug where collaborators' cursors were rendered with the wrong color when not following them
  • Disabled save as prompt for channel notes.
  • Fixed an issue where icons were inconsistent sizes in the collaboration panel

Zed 0.102.0




  • Added a new "Inline Assist" feature that lets you transform a selection or generate new code at the cursor location by hitting ctrl-enter.
  • Added support for dynamic inlay hints.
  • Added a "ctrl-shift-:": "editor::ToggleInlayHints" default binding.
  • Added a relative_line_numbers setting (#988).
  • Added a detect_venv setting for the terminal. When configured, the Zed terminal will automatically activate Python virtual environments on terminal creation.
  • Improved project search by making it report results sooner.
  • Improved general LSP server load by delaying certain inlay hint requests.
  • Vim additions:
    • Added g {j,k,up,down,$,^,0,home,end} to navigate in display coordinates.
    • Added z o and z c to open and close folds.
    • Added z f in visual mode to fold selection.

Bug Fixes

  • Fixed a bug in project search where some results might not have been reported in presence of unnamed buffers.
  • Fixed a bug where [ and ] symbols would cause issues in terminal links (#1865).
  • Fixed several styling bugs related to dragging the mouse cursor.
  • Fixed a bug where the caret would blink when Zed application was not focused (#1116).
  • Vim bug fixes:
    • Fixed handling of motions when soft_wrap is enabled in zed. Like in vim, j,k,up,down,$,^,0,home,end will all now navigate in file coordinates, not display coordinates. Note, this may be a jarring change if you're grown used to the current behaviour of j and k. You can make the issue less acute by setting "soft_wrap":"none" in your settings; or you can manually copy the bindings for g j to the binding for j (etc.) in your keymap.json to preserve the existing behaviour.
    • Fixed y when on the last line of a file with no trailing newline.

Zed 0.101.1


  • Fixed a bug where editors didn't auto-scroll when typing if all cursors could not fit within the viewport.
  • Fixed a bug where the buffer search input text would move up and down while typing.
  • Fixed some UI layout issues with the buffer search and project search toolbars.
  • Reduced the number of code-actions and document-highlights requests sent to language servers, improving language server responsiveness in large files.

Zed 0.101.0




  • Revamped project & buffer search UI.
  • Added search: cycle mode command in search.
  • Added a editor: toggle inlay hints command and a bar to toggle editor-related items.
  • Added a default_open_ai_model setting for the assistant (defaults to gpt-4-0613).
  • Added default key bindings for NewFile and NewDirectory in the project panel (bound to cmd-n and alt-cmd-n, respectively).
  • Added file icons for Python and Elixir.
  • Added support for $ and # in identifiers in Javascript/Typescript.
  • Improved completions for PHP #1820.
  • Improved multi-selection copy behavior by separating selections with a \n.
  • Vim additions:
    • Added Visual Block mode (#984), (#1415).
    • Added support for a<object> and i<object> in visual modes.
    • Added P support to paste before (#1869).
    • Added P support in visual modes to paste without overriding clipboard.
    • Added shift-enter to type a newline.

Bug Fixes

  • Fixed a bug where auto-closing quotation marks were inserted incorrectly in Rust (#684).
  • Fixed a bug where small syntax errors would mess up syntax highlighting more than necessary when editing certain languages, like Scheme and PHP.
  • Vim bug fixes:
    • Fixed scroll offset on ctrl-{e,y,u,b} (#1929).
    • Fixed escape to dismiss suggestions in insert mode.
    • Fixed scroll shortcuts (ctrl-{f,b,d,u,e,y}) in visual modes.
    • Fixed autocompletion of private fields and methods in Javascript/Typescript.
    • Fixed position when using p on text copied outside zed (#469).
    • Fixed indentation when using p on text copied from zed (#1015).

Zed 0.100.1


  • Switched the collaboration panel font to Zed's normal sans font
  • Switched to defaulting the collaboration to the left
  • Switched the Offline section to be collapsed by default
  • Fixed a bug where call notifications were accidentally full-screen on all displays except the main display.
  • Fixed a bug where dragging the docks would not follow mouse's exact position.
  • Added the ability to reset the dock size by double clicking (#1816).

Zed 0.100.0




  • Moved the collaboration dropdown into its own panel.
  • Improved LSP resource usage by querying fewer hints in big files.
  • Reduced collaboration mode clients' inlay hint footprint by enabling hint data resolution.
  • Added support for editor::SelectAll in Terminal.
  • Added settings to remove the AI assistant panel button (#1711).
  • Associated additional file extensions with known languages ((#633), (#1822)).
    • C++: cxx, hxx, inl
    • JavaScript: cjs
    • Python: mpy
    • TypeScript: cts, d.cts, d.mts, mts
  • Vim additions:
    • Added o and shift-o to toggle direction of visual selection.

Bug Fixes

  • Fixed a bug where where coreaudiod was consuming CPU, even before calls were initiated ((#1840), (#1919)).
  • Fixed terminal search focus not switching to terminal on mouse click inside.
  • Vim bug fixes:
    • Fixed a bug where editor selections didn't match vim selections (#1796).
    • Fixed s in visual line mode.
    • Fixed v and shift-v to toggle back to normal mode.
    • Fixed block selections, such as vi}, to contain correct whitespace.
    • Fixed escape in normal mode (#1857).