Skip to content

Releases: zed-industries/zed

v0.155.0-pre

25 Sep 17:14
Compare
Choose a tag to compare
v0.155.0-pre Pre-release
Pre-release

Enhancements

General

  • Added icons to the file finder (#18091; thanks Daste745).
  • Added a notification to warn users if their user settings or project-local settings failed to deserialize (#18122).
  • Improved preview tabs by marking them as permanent when saved (#18158).
  • Improved performance in repositories using Git fsmonitor--daemon feature (#18326).
  • Improved activity indicators' UX by allowing more of them to be hidden on click (#18305).
  • Improved the appearance of diff hunks in the editor (#18283).
  • Improved buffer search performance when switching tabs (#18281).
  • Improved Permalinks to markdown files on GitHub and GitLab (#18241).
  • Improved completion resolve mechanism (#18212).

AI

  • Added a new assistant.inline_alternatives setting to configure additional models that will be used to perform inline assists in parallel (#18098).
  • Added a new Fix with Assistant action on code with errors or warnings (#18163).
  • Added max tokens for Ollama's qwen2.5-coder model (#18290; thanks thehamsti).

Languages

  • Added escape string highlights to JSON and JSONC files (#18138; thanks Huliiiiii).

Vim

  • Added the ability to spawn multiple cursors through the g-A and g-I motions while in visual select mode (#18183; thanks sergioengineer).
  • Added gq/gw for rewrapping lines (#18156).

Bug Fixes

  • SSH remoting: Fixed projects not restoring previous locations and not refreshing the project panel on open (#18262; thanks CharlesChen0823).
  • SSH remoting: Fixed cmd-o to correctly open files on the host (#18308).
  • SSH remoting: Fixed buffer reloading (#18245).
  • SSH remoting: Fixed format on save (#18242).
  • SSH remoting: Fixed go to definition outside of worktree (#18094).
  • SSH remoting: Fixed LSP queries run over collab (#18099).
  • SSH remoting: Removed "reveal in finder" option from menu (#18306).
  • Fixed a recent regression where tuple and unit structs were omitted from the outline view in Rust (#18297).
  • Fixed a bug where Python import names were highlighted as types (#17984; thanks verhovsky).
  • Fixed running ESLint offline (#18286).
  • Fixed a panic when graphemes are included in supermaven completions (#18279; thanks s3bba).

Breaking Changes

  • (Potentially breaking change) Zed will now use the node installed on your $PATH (if it is more recent than v18) instead of downloading its own. You can disable the new behavior with {"node": {"disable_path_lookup": true}} in your settings. We do not yet use system/project-local node_modules (#18172).

v0.154.2

25 Sep 22:53
Compare
Choose a tag to compare

Bug Fixes

  • Fixed a panic when graphemes are included in supermaven completions (#18279).

v0.154.1

25 Sep 17:49
Compare
Choose a tag to compare

Enhancements

General

  • Added file icons to the tab switcher. Enable with by adding "tabs": {"file_icons": true} to settings
    (#17115; thanks Daste745).
  • Added an editor: rewrap command for rewrapping text to the maximum line width (#17909).
  • Added the ability to copy surrounding code blocks in the assistant panel into the clipboard, or inserting them directly into the editor, without manually selecting. Place cursor anywhere in a code block (marked by triple backticks) and use the assistant::CopyCode action (cmd-k c / ctrl-k c) to copy to the clipboard, or the assistant::InsertIntoEditor action (cmd-< / ctrl-<) to insert into editor (#17853; thanks thataboy).
  • Added ability to click on filepaths when using git diff inside the built-in terminal (#17446; thanks watsoncj).
  • Added theme styling option to separate terminal background view from terminal background color, for transparent terminal backgrounds (#17611; thanks AlbertMarashi).
  • Added keyboard shortcut to rearrange tabs (left: ctrl-shift-pageup, right: ctrl-shift-pagedown) like Chrome (#15583; thanks tepek2).
  • Added a way to join all panes into one with pane::JoinAll action (#17673).
  • Added a setting for cursor_shape. Can be bar, block, underline, or hollow. Default is bar (#17572; thanks thataboy).
  • Added an inlay_hints.show_background setting to allow displaying backgrounds for inlay hints in the editor (#18010).
    • This setting defaults to false.
    • If enabled, the inlay hint backgrounds will use the hint.background color from the theme.
  • Added access to the local shell environment for task context providers, enabling local Rust tool installations to function (#17964; thanks WeetHet).
  • Improved underline appearance (#17586; thanks ncor).
  • Persisted tab pin state across Zed runs (#17670).
  • Changed documentation popovers to render Markdown prose using the UI font instead of the buffer font. Code blocks still using the buffer font (#17761).
  • Improved the behavior of editor: rewrap when working with a selection that contained comments at different indentation levels (#18146).
  • Improved the auto update: view release notes locally feature by displaying release notes for each patch version associated with the installed minor version (#18108).
  • Improved welcome page design and added additional links (#17874).
  • Enabled dark mode for documentation (#17940).
  • Changed ui_font_size and buffer_font_size to require values to be between 6px and 100px (inclusive) (#17829).
  • Changed tab_size setting to require values be between 1 and 16 (inclusive) (#17882; thanks ihavecoke).

SSH Remoting

  • Added support for booting language servers (in limited circumstances) (#17655).
  • Settings files are now opened in a non-remote window (#18020).
  • Show LSP status in status bar (#17912).
  • Look up language server binaries in the environment on SSH host (#17658).

Languages

  • Improved C syntax highlighting (#17541; thanks krizej).
  • Improved C++ syntax highlighting (#17471; thanks VacheDesNeiges).
  • Changed built-in language support (Rust, Go, C, YAML, ...) to lookup language-server specific settings locally in project directory first before falling back to global value (#17753).
  • Changed rust-analyzer support to look up rust-analyzer binaries by default in $PATH. That changes the default value to something users requested (#17926).
  • Improved highlighting for property names in CSS (#17324).

Vim

  • Improved edge-case handling for ctrl-a/ctrl-x (#17644; thanks hekmyr).
  • When using OpenFile (gf in Vim mode) and the word under the cursor is not an existing file path, we now fall back and additionally check whether a file called <word-under-cursor>.<language-specific-path-suffixes> exists. That's similar to Vim's suffixesadd option (#17805).

AI

  • Added a new /delta command to re-insert changed files that were previously included in a context (#17903).
  • Added support for OpenAI o1-mini and o1-preview models (#17796).
  • Added support for fill-in-the-middle style inline completions (#17578; thanks kevmo314).
  • Added support for specifying keep_alive for Ollama AI models via settings (#17906).
  • Changed default low_speed_timeout_in_seconds option to 600 for OpenAI provider to accommodate recent o1 model release (#17804).

Bug Fixes

  • Fixed tab bar not preserving pinned tab state when an editor::NewFile action is executed (#18072).
  • Fixed macOS incorrectly using ~/.cache/zed instead of ~/Library/Caches/Zed (#17949).
  • Fixed a bug where files with colons in their names could not be opened from the Zed CLI (#17281; thanks erickguan).
  • Fixed a bug where Zed would initiate a window move and then refuse to release the mouse (#17801; thanks skytwosea).
  • Fixed a bug where file watching for Go projects would resort to watching the filesystem root (#17769).
  • Fixed a bug where an extra row was appearing in the toolbar when it was empty (#17888; thanks zhang0098).
  • Fixed a bug where the editor: toggle comments command didn't use the right comment syntax in JSX and TSX elements (#17734).
  • Fixed ctrl-b not moving the cursor (#17808).
  • Fixed display of task commands by using single quotation marks instead of backticks (#17637; thanks bestgopher).
  • SSH remoting: Fixed rename over language server (#17897).
  • SSH remoting: Fixed shell environment loading for remote shells (#17665).
  • Fixed user-configured initialization_options being passed as workspace/Configuration for the vtsls, TypeScript, and YAML language servers (#17757).
  • Fixed a wrong offset calculation in the Supermaven inline completion provider (#17925; thanks kevmo314).
  • Fixed the is and ... highlights for TypeScript (#17787; thanks AlbertMarashi).
  • Fixed a panic that could occur when expanding an excerpt within a multibuffer when the cursor was at the end of the excerpt (#17955).
  • Fixed a link in the Assistant panel to the OpenAI console (#17675; thanks aa2kb).
  • Fixed inline completions showing up in Vim normal mode (#17727).
  • Vim: Fixed gv after > and < in visual mode (#17986).
  • Fixed vtsls being initialized the wrong way, which would mean the wrong options were used to enable completions or inlay hints (#18259).
  • Fixed a bug where copying from the assistant panel appended an additional newline to the end of the clipboard contents (#18090).
  • Fixed link to Privacy Policy in terms...
Read more

v0.154.1-pre

24 Sep 13:56
Compare
Choose a tag to compare
v0.154.1-pre Pre-release
Pre-release

Fixes

  • Fixed vtsls being initialized the wrong way, which would mean the wrong options were used to enable completions or inlay hints. (#18014)
  • Improved the behavior of editor: rewrap when working with a selection that contained comments at different indentation levels. (#18146)
  • Fixed buffer search options toggling unexpectedly on redeploys
    (#18166)
  • Fixed a bug where copying from the assistant panel appended an additional newline to the end of the clipboard contents. (#17661)
  • Enhanced the auto update: view release notes locally feature to display release notes for each patch version associated with the installed minor version. (Partially addresses #17527))
  • Fixed search results in project-wide search not being highlighted
    consistently and navigation sometimes being broken (#18254, #18219, #17690)

v0.153.7

24 Sep 14:32
Compare
Choose a tag to compare

Fixes

  • Fix wrong offset calculation in the assistant panel.
  • Fixed buffer search options toggling unexpectedly on redeploys
    (#18166)
  • Fixed search results in project-wide search not being highlighted
    consistently and navigation sometimes being broken (#18254, #18219, #17690)

v0.154.0-pre

19 Sep 17:06
Compare
Choose a tag to compare
v0.154.0-pre Pre-release
Pre-release

Enhancements

General

  • Added file icons to the tab switcher. Enable with by adding "tabs": {"file_icons": true} to settings
    (#17115; thanks Daste745).
  • Added an editor: rewrap command for rewrapping text to the maximum line width (#17909).
  • Added the ability to copy surrounding code blocks in the assistant panel into the clipboard, or inserting them directly into the editor, without manually selecting. Place cursor anywhere in a code block (marked by triple backticks) and use the assistant::CopyCode action (cmd-k c / ctrl-k c) to copy to the clipboard, or the assistant::InsertIntoEditor action (cmd-< / ctrl-<) to insert into editor (#17853; thanks thataboy).
  • Added ability to click on filepaths when using git diff inside the built-in terminal (#17446; thanks watsoncj).
  • Added theme styling option to separate terminal background view from terminal background color, for transparent terminal backgrounds (#17611; thanks AlbertMarashi).
  • Added keyboard shortcut to rearrange tabs (left: ctrl-shift-pageup, right: ctrl-shift-pagedown) like Chrome (#15583; thanks tepek2).
  • Added a way to join all panes into one with pane::JoinAll action (#17673).
  • Added a setting for cursor_shape. Can be bar, block, underline, or hollow. Default is bar (#17572; thanks thataboy).
  • Added an inlay_hints.show_background setting to allow displaying backgrounds for inlay hints in the editor (#18010).
    • This setting defaults to false.
    • If enabled, the inlay hint backgrounds will use the hint.background color from the theme.
  • Added access to the local shell environment for task context providers, enabling local Rust tool installations to function (#17964; thanks WeetHet).
  • Improved underline appearance (#17586; thanks ncor).
  • Persisted tab pin state across Zed runs (#17670).
  • Changed documentation popovers to render Markdown prose using the UI font instead of the buffer font. Code blocks still using the buffer font (#17761).
  • Improved welcome page design and added additional links (#17874).
  • Enabled dark mode for documentation (#17940).
  • Changed ui_font_size and buffer_font_size to require values to be between 6px and 100px (inclusive) (#17829).
  • Changed tab_size setting to require values be between 1 and 16 (inclusive) (#17882; thanks ihavecoke).

SSH Remoting

  • Added support for booting langauge servers (in limited circumstances) (#17655).
  • Settings files are now opened in a non-remote window (#18020).
  • Show LSP status in status bar (#17912).
  • Look up language server binaries in the environment on SSH host (#17658).

Languages

  • Improved C syntax highlighting (#17541; thanks krizej).
  • Improved C++ syntax highlighting (#17471; thanks VacheDesNeiges).
  • Changed built-in language support (Rust, Go, C, YAML, ...) to lookup language-server specific settings locally in project directory first before falling back to global value (#17753).
  • Changed rust-analyzer support to look up rust-analyzer binaries by default in $PATH. That changes the default value to something users requested (#17926).
  • Improved highlighting for property names in CSS (#17324).

Vim

  • Improved edge-case handling for ctrl-a/ctrl-x (#17644; thanks hekmyr).
  • When using OpenFile (gf in Vim mode) and the word under the cursor is not an existing file path, we now fall back and additionally check whether a file called <word-under-cursor>.<language-specific-path-suffixes> exists. That's similar to Vim's suffixesadd option (#17805).

AI

  • Added a new /delta command to re-insert changed files that were previously included in a context (#17903).
  • Added support for OpenAI o1-mini and o1-preview models (#17796).
  • Added support for fill-in-the-middle style inline completions (#17578; thanks kevmo314).
  • Added support for specifying keep_alive for Ollama AI models via settings (#17906).
  • Changed default low_speed_timeout_in_seconds option to 600 for OpenAI provider to accommodate recent o1 model release (#17804).

Bug Fixes

  • Fixed tab bar not preserving pinned tab state when an editor::NewFile action is executed (#18072).
  • Fixed macOS incorrectly using ~/.cache/zed instead of ~/Library/Caches/Zed (#17949).
  • Fixed a bug where files with colons in their names could not be opened from the Zed CLI (#17281; thanks erickguan).
  • Fixed a bug where Zed would initiate a window move and then refuse to release the mouse (#17801; thanks skytwosea).
  • Fixed a bug where file watching for Go projects would resort to watching the filesystem root (#17769).
  • Fixed a bug where an extra row was appearing in the toolbar when it was empty (#17888; thanks zhang0098).
  • Fixed a bug where the editor: toggle comments command didn't use the right comment syntax in JSX and TSX elements (#17734).
  • Fixed ctrl-b not moving the cursor (#17808).
  • Fixed display of task commands by using single quotation marks instead of backticks (#17637; thanks bestgopher).
  • SSH remoting: Fixed rename over language server (#17897).
  • SSH remoting: Fixed shell environment loading for remote shells (#17665).
  • Fixed user-configured initialization_options being passed as workspace/Configuration for the vtsls, TypeScript, and YAML language servers (#17757).
  • Fixed a wrong offset calculation in the Supermaven inline completion provider (#17925; thanks kevmo314).
  • Fixed the is and ... highlights for TypeScript (#17787; thanks AlbertMarashi).
  • Fixed a panic that could occur when expanding an excerpt within a multibuffer when the cursor was at the end of the excerpt (#17955).
  • Fixed a link in the Assistant panel to the OpenAI console (#17675; thanks aa2kb).
  • Fixed inline completions showing up in Vim normal mode (#17727).
  • Vim: Fixed gv after > and < in visual mode (#17986).
  • Fixed link to Privacy Policy in terms displayed by macOS DMG (#17877; thanks Eamon Sisk).
  • Linux: x86 binaries now require glibc >= 2.35; was >= 2.29 (#17375).

v0.153.6

19 Sep 16:30
Compare
Choose a tag to compare

Enhancements

General

  • Added "Pin/Unpin Tab" action to the workspace, assistant and terminal panes (#17426).
  • Added ability to select and act upon intermediate auto-folded project entries (remove, rename, cut, paste) (#17520).
  • Improved DeleteToPreviousWordStart and DeleteToNextWordEnd interactions around newlines. You can opt-in into the previous behavior by adding {"ignore_newlines": true} to either action's binds in your keymap (#16848; thanks kjzl).
  • Improved language server reliability in multi-worktree projects and monorepo. We now notify the language server more reliably about which files have changed (#17499).
  • Improved popup menu margins (#17159; thanks huacnlee).
  • Updated Markdown code blocks to use the buffer font (#17351; thanks matubu).
  • Added support for display_name for custom models in OpenAI and Google Gemini AI providers (#17508).
  • Added search settings section to configure default options enabled in buffer and project searches (#17179; thanks thataboy).
  • Added yaml-language-server configuration via settings. See: zed.dev/docs/languages/yaml (#17479).
  • Increased the default memory limit for vtsls from 3GiB to 8GiB
    (#17354).
  • Linux (X11): Added Drag and Drop support (#17491; thanks XDeme1).

Vim

  • Added vim-style smart case option for search patterns (#16932; thanks 0x2CA).
  • Added :y[ank] (#17448).
  • Project Panel: Added s keybind to open with default app (#17231; thanks KorigamiK).
  • Added :diff and :revert (that work with '<,'>) to open the selected diff and revert it (#17456).
  • Added d o to open the diff and d p to revert (spiritually similar to vim's do/dp, though obviously not the same) (#17456).
  • Added ctrl-p and ctrl-n to summon the autocomplete menu in insert mode (#17456).
  • Added ( and ) for sentence motion (#17425).

AI

  • Added support for using the configured UI font size in the inline assistant (#17542; thanks haasn).
  • Added support for adding multiple files in a single /file command when pressing tab (#17652).
  • Added support for copying and pasting slash commands in the assistant panel (#17490).
  • Added context_size for "yi-coder" model in Ollama (#17409; thanks rauberdaniel). More information about the model on ollama.
  • Added ability to configure environment variables for context servers through settings. These variables are passed to the server process when launched (#17356; thanks dsp-ant).
  • Improved "Assistant::NewContext" quote selection behavior (#17589).
  • Improved "Assistant::QuoteSelection" to handle multicursor selections (#17589).

Bug Fixes

  • Fixed an issue where a failed inline assistant prompt could not be restarted (#17651).
  • Fixed an issue where commands generated by the terminal command could sometimes be executed without confirmation (#17647).
  • Fixed JSON Schema for tabs.file_icons default value (#17629; thanks kachick).
  • Fixed parenthesis matching for file links in terminal (#17512; thanks saahityaedams).
  • Fixed an issue when using Google Gemini models, where the setting low_speed_timeout_in_seconds was not respected (#17423).
  • Fixed a bug where $PATH could be incompletely loaded during task execution.
  • Fixed Go tasks not working when trying to run tests or benchmarks in sub-packages (#17998.
  • Increased memory limit for eslint to reduce crashes (#17724).
  • Go: Fixed regression by restoring regex to match tests (#17645).
  • Vim: Fixed the behavior of surrounding a text object (#17603; thanks emandres).
  • Vim: Fixed s// to act on current line only (#17234; thanks Horam-Zarri).
  • Vim: Fixed "_ register writes overwriting " register (#17419).
  • Vim: Reverted Y to vim behavior. If you want the neovim version (as a built in mapping to y$) you must configure it in your settings (#17563; thanks vbhavsar).
  • Vim: Fixed parsing of commands with ranges :3 d (#17474).
  • Linux: Fixed blurry mouse cursor on wayland when the screen scale is other than 100% (#17496; thanks senonide).
  • Linux: x86 binaries now require glibc >= 2.35; was >= 2.29 (#17375).

v0.153.6-pre

18 Sep 20:45
Compare
Choose a tag to compare
v0.153.6-pre Pre-release
Pre-release

Bug fixes:

  • Fixed Go tasks not working when trying to run tests or benchmarks in sub-packages (#17998).

Note This release replaces v0.153.5-pre which had ci-related build failures.

v0.153.5-pre

18 Sep 11:47
Compare
Choose a tag to compare
v0.153.5-pre Pre-release
Pre-release

Bug Fixes

  • Fixed Go tasks not working when trying to run tests or benchmarks in sub-packages.

NOTE: Due to CI issues. This release did not finalize correctly will be superceeded by v0.153.6-pre shortly.

v0.153.4-pre

16 Sep 23:54
Compare
Choose a tag to compare
v0.153.4-pre Pre-release
Pre-release
  • Fixed a performance problem that happened after opening and closing many editors with vim mode enabled.