Skip to content

Releases: zed-industries/zed

v0.157.3-pre

12 Oct 15:11
Compare
Choose a tag to compare
v0.157.3-pre Pre-release
Pre-release
  • Fixed completion menu rendering.

v0.157.2-pre

10 Oct 11:42
Compare
Choose a tag to compare
v0.157.2-pre Pre-release
Pre-release
  • Fixed completion items inserted with a delay (#19005)

v0.156.1

10 Oct 11:32
Compare
Choose a tag to compare
  • Fixed completion items inserted with a delay (#19005)

v0.157.1-pre

09 Oct 18:59
Compare
Choose a tag to compare
v0.157.1-pre Pre-release
Pre-release
  • Fixed a potential hang and panic when an SSH project goes through a slow reconnect.

v0.157.0-pre

09 Oct 17:10
Compare
Choose a tag to compare
v0.157.0-pre Pre-release
Pre-release

Enhancements

General

  • Added support for color swatches in the language server completions list (#18665; thanks thecrypticace).
  • Streamlined the creation of new branches from the branch selector (#18712).
  • Added a notice in the activity indicator if an error occurs while loading the shell environment (#18567; thanks WeetHet).

Languages

  • Added runnables for main functions in C (#18720; thanks talal).

Example task configuration:

[
  {
    "label": "Run ${ZED_STEM}",
    "command": "gcc",
    "args": [
      "$ZED_FILE",
      "-o",
      "${ZED_DIRNAME}/${ZED_STEM}.out",
      "&&",
      "${ZED_DIRNAME}/${ZED_STEM}.out"
    ],
    "tags": ["c-main"]
  }
]

Vim

  • Added regex and caseSensitive arguments to vim::MoveToNext and vim ::MoveToPrev commands, for toggling regex and case sensitive search (#18429; thanks osa1).

Example:

{
  "context": "VimControl && !menu",
  "bindings": {
    "*": ["vim::MoveToNext", { "regex": false, "caseSensitive": false }],
    "#": ["vim::MoveToPrev", { "regex": false, "caseSensitive": false }]
  }
}

Bug Fixes

  • Fixed completion items being applied improperly on fast typing (#18907).
  • Fixed an issue where diff hunks at the boundaries of multi buffer excerpts could not be expanded (#18885).
  • Fixed external formatters not being found, even when they were available in the $PATH of a project (#18611).
  • Fixed option-t and option-shift-t in terminal on macOS (#18749).
  • Fixed code action list not being horizontally aligned correctly (#18748; thanks RemcoSmitsDev).
  • Fixed tab switcher icons not respecting the tabs.git_status setting (#18733; thanks Daste745).
  • Linux: Fixed a bug where the cursor would be the wrong size on Wayland (#18642).

Breaking Changes and Notices

  • Removed built-in support for Protocol Buffers, in favor of making it available as an extension. The Protocol Buffers extension will be suggested for download when you open a .proto file (#18704).

v0.156.0

09 Oct 16:55
Compare
Choose a tag to compare

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 and Notices

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

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).