Skip to content

Releases: zed-industries/zed

v0.156.0-pre

02 Oct 16:44
Compare
Choose a tag to compare
v0.156.0-pre Pre-release
Pre-release

Enhancements

General

  • Added a horizontal scrollbar to project panel (#18513).
  • Added new fold actions to toggle folds (cmd-k cmd-l), fold every fold (cmd-k cmd-0) unfold every fold (cmd-k cmd-j) to fold recursively (cmd-k cmd-[) and unfold recursively (cmd-k cmd-]).
  • Added snippets: configure snippets command to create and modify snippets (#18453; thanks loczek).
  • Added snippets: open folder command for opening the ~/.config/zed/snippets directory (#18453; thanks loczek).
  • Added a setting for the terminal's default cursor shape. The setting is {"terminal": {"cursor_shape": "block"}}. Possible values: block, bar, hollow, underline (#18530).
  • Added file watching for symlinks (#17609; thanks AlvaroParker).
  • Added keyboard shortcuts inside tooltips in the project search, buffer search, etc (#18282).
  • Added editor.document_highlight.bracket_background field to the theme to set background color of highlighted brackets. This will fall back to editor.document_highlight.read_background, if not set (#17566; thanks thataboy).
  • Improved alignment of rendered tables in Markdown Preview (#18315; thanks andarut).
  • Improved consistency and reliability of direnv detection by making direnv integration use direct (direnv export json) mode by default instead of relying on a shell hook (#18536; thanks WeetHet).
  • Improved language server log panel split ergonomics (#18527).
  • Improved experience of configuring external formatters by making formatter arguments optional (#18340; thanks twz123).
  • Improved the git blame gutter to take up only the space required to display the longest git author name in the current file (#18145).
  • Changed the behavior of the git gutter so that diff hunk are expanded immediately when clicking the gutter, and hunk controls are displayed above the hunk (#18313).
  • Changed the view the release notes button in the update toast to trigger the auto update: view release notes locally action (#18486).
  • Changed ui_font_weight and buffer_font_weight settings to require values to be between 100 and 950 (inclusive) (#18594; thanks JunkuiZhang).

SSH Remoting

  • Added running LSP Adapters on host (#18359).
  • Enabled assistant panel and inline assists (running on client) (#18367).

AI

  • Added llama3.2 support (#18366).
  • Linux: Added ability to paste images into the Assistant Panel to include them as context on Linux Wayland (#17671; thanks maan2003).

Languages

  • Improved syntax highlighting for C++ (#18016; thanks VacheDesNeiges).
  • Added syntax highlighting inside heredoc strings in PHP (#18368; thanks sylbru).
  • Added support for using locally installed pyright if available (#18353).
  • Associated uv.lock files with the TOML language (#18426; thanks thorbenk).

Vim

  • Added :fo[ld], :foldo[pen] and :foldc[lose] (#18424).
  • Added za to toggle fold under cursor (#18421).
  • Added zO/zC/zA to open, close and toggle folds recursively (and fixed zc to not recurse into selections) (#18421).
  • Added zR/zM to open/close all folds in the buffer (#18421).

Bug Fixes

  • Assistant: Changed the assistant model to be less likely to incorporate diagnostic information when not requested to fix any issues (#18596; thanks rowillia).
  • Assistant: Fixed copy/cut/paste not working in the assistant panel when selection was empty (#18403).
  • Fixed Reveal in Finder/File Manager, Copy Path, Copy Relative Path and Copy file location actions not working with multibuffers (#18626).
  • Fixed the behavior of {"terminal": {"blinking": "[on|off|terminal_controlled]"} to work correctly and to work correctly when custom cursor_shape is set (#18538).
    • terminal.cursor_shape only controls the default shape of the terminal, not the blinking.
    • terminal.blinking = on means that it's always blinking, regardless of what terminal programs want
    • terminal.blinking = off means that it's never blinking, regardless of what terminal programs want
    • terminal.blinking = terminal_controlled (default) means that it's blinking depending on what terminal programs want. when a terminal program resets the cursor to default, it sets it back to terminal.cursor_shape if that is set.
  • Fixed the environment not loading if direnv mode is set to direct and .envrc is not allowed (#18473; thanks WeetHet).
  • Fixed task indicators not showing up at the starts of folds (#18526).
  • Fixed a bug where go to definition would scroll the editor even when the definition was already within the viewport (#18441; thanks osa1).
  • Fixed an bug where some tooltips would not show up (#18435).
  • Fixed low_speed_timeout_in_seconds for Ollama (#18417).
  • Fixed a slight gutter flicker when going over 999 lines (#18021; thanks galenelias).
  • Fixed use_on_type_format setting not working when defined inside "languages" in the settings. This change will now change the default behavior for C, C++, and Markdown, by turning language server's OnTypeFormatting completions off by default (#18387).
  • Fixed the cursor shape in the editor not changing back to default when {"cursor_shape": "..."} setting is removed. This does not apply to Vim mode (#18379).
  • Fixed sending alt-enter in terminal (#18363).
  • Fixed overriding the path of a language server binary for all language servers. {"lsp":{"<lsp-name>":{"binary":{"path": "_"}}}} will now work for all language servers including those defined by extensions (#18318).
  • Removed confusing soft wrap option behavior (#18412).
  • Removed automatic reinstallation of language servers (#18318). (It mostly didn't work)
  • SSH Remote: Fixed cmd-O to correctly open files on the remote host (#18308).
  • Linux: Fixed some cases where Linux X11 mouse scrolling didn't work at all (#18484; thanks mgsloan).
  • Linux: Fixed handling of switching between Linux X11 devices used for scrolling (#18484; thanks mgsloan).
  • Linux: Fixed a bug where middle mouse clicks could be interpreted as left or right mouse clicks (#18504; thanks mycroft).
  • Linux: Fixed a regression with middle-click pasting (#18503; thanks mycroft).
  • Linux: Fixed blur region on Plasma/Wayland (#18465; thanks jansol).
  • Vim: Fixed cursor position after :{range}yank (#18424).
  • Vim: Fixed register selection in visual yank (#18418).

Breaking Changes

  • Protocol Buffers language support: Renamed "proto" language to "Proto". This is a breaking change and requires users adjust their settings accordingly from proto to Proto unde...
Read more

v0.155.2

02 Oct 17:11
Compare
Choose a tag to compare

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

  • 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.155.2-pre

01 Oct 15:15
Compare
Choose a tag to compare
v0.155.2-pre Pre-release
Pre-release

Bug fixes

  • Linux: Fixed Ubuntu 20.04 compatibility on x86_64. This regression occurred in Zed Stable v0.153.6 and Zed Preview 0.154.0-pre and was unintentional. Glibc requirement on x86_64 linux is glibc >= 2.31 as it was prior to those releases. Impacted users will have to reinstall zed. (PR #18442).

v0.154.4

01 Oct 15:30
Compare
Choose a tag to compare

Bug fixes

  • Linux: Fixed Ubuntu 20.04 compatibility on x86_64. This regression occurred in Zed Stable v0.153.6 and Zed Preview 0.154.0-pre and was unintentional. Glibc requirement on x86_64 linux is glibc >= 2.31 as it was prior to those releases. Impacted users will have to reinstall zed. (PR #18442).

v0.155.1-pre

27 Sep 18:01
Compare
Choose a tag to compare
v0.155.1-pre Pre-release
Pre-release

Bug fixes

  • Fixed Ollama timeouts (Preview Only) (PR #18449).
  • Fixed a (rare) panic in file finder (PR #18374).

v0.154.3

27 Sep 21:06
Compare
Choose a tag to compare

Bug fixes

  • Fixed a (rare) panic in file finder (PR #18374).

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)