Skip to content

Releases: zed-industries/zed

v0.142.3-pre

28 Jun 14:50
Compare
Choose a tag to compare
v0.142.3-pre Pre-release
Pre-release
  • Fixed a bug that was causing system prompts to be dropped for Anthropic models.

v0.141.3

28 Jun 14:36
Compare
Choose a tag to compare
  • Fixed a bug that was causing system prompts to be dropped for Anthropic models.
  • Fixed a panic when editing HTML near the end of a file.
  • Fixed a panic when editing settings.json from inside the .zed directory.

v0.142.2-pre

27 Jun 23:35
Compare
Choose a tag to compare
v0.142.2-pre Pre-release
Pre-release
  • Fixed multi-key shortcuts (preview only)
  • Fixed a panic when editing HTML near the end of a file
  • Fixed a panic when editing settings.json from inside the .zed
    directory

v0.142.1-pre

26 Jun 20:54
Compare
Choose a tag to compare
v0.142.1-pre Pre-release
Pre-release

Bug Fixes

  • Fixed package.json language server failing to start (#13555).

v0.142.0-pre

26 Jun 17:51
Compare
Choose a tag to compare
v0.142.0-pre Pre-release
Pre-release

Breaking changes

SETTINGS DEPRECATION NOTICE

In your settings.json the following keys will need to be renamed:

  • language_overrides -> languages
  • copilot -> inline_completions
  • show_copilot_suggestions -> show_inline_completions

Previously, we were supporting the old keys as an alias for the new keys, but this led to unintended/confusing failure modes.
As a result we have deprecated the old keys.

See: Settings Deprecation Notice 2024-06-17 for more information.

Enhancements

AI

  • Added support for Claude 3.5 Sonnet (#13357).
  • Added the ability to customize available models for OpenAI-compatible services (#11984, #11075).

General

  • Added the ability to remove multi-cursors by clicking on them again. (#13058).
  • Added package version tooltips when hovering over package.json dependency entries (#13303).
  • Added vertical scrollbar to project panel (#4865).
  • Added editor: select enclosing symbol command based on tree-sitter outline. This is useful when combined with inline assist to rewrite a function.
  • Added a mouse context action to copy permalink to line. (#13247)
  • Allowed binding to shift or other modifier keys (#6460).
  • Added an active_line_width to configure the line width of the active indent guide (#12312).
  • Added a scroll_beyond_last_line setting (#4962).
  • Added a gutter.runnables setting that controls whether runnable indicators are displayed in the gutter (@13280).
  • Added Markdown Preview shortcut for the Atom keymap.
  • Added the workspace: clear all notifications command to clear notifications (#10761).

Vim

  • Added support for auto_surround (#12898).
    • Check it out here.
  • Fixed a panic when searching after focusing search bar with mouse (#13487).
  • Added action to surround text in visual mode (no default binding) (#13122).
  • Fixed vim "r" action to accept a count argument (#13287).
  • Fixed vim "shift-r" action to accept a count argument and allow repetition
    (#13287).
  • Fixed switching to normal mode after g c(vim::ToggleComments) in visual mode (#4439).

Bug Fixes

  • Fixed a bug where project settings were not loaded from .zed/settings.json if they were .gitignored. (#4432).
  • Fixed inline assist button not being hidden when assistant is disabled (#13289).
  • Fixed crate names not being shown in Rust completions menu (#13494).
  • Improved compatibility keybindings (Atom, JetBrains, TextMate)
    (#13326).
  • Fixed an issue where provider settings were lost when switching between Ollama models (#13399).
  • Fixed an edge case where some indent guides would disappear when a folded line is the first visible line on screen.
  • Fixed a bug that caused unnecessary computations to happen on every file-system event.
  • Fixed too-small windows on MacOS by adding minimum window size.
  • Fixed deleting the last character during IME composition would mistakenly delete other characters (#12862).
  • Improved organization in the Quick Action Bar (#13476).
  • Fixed autosave settings in project-specific settings file being ignored. (#13316).
  • Improved code folding to exclude folding line breaks in whitespace-sensitive languages (#11614).

v0.141.2

26 Jun 17:18
Compare
Choose a tag to compare

Breaking changes

SETTINGS DEPRECATION NOTICE

In your settings.json the following keys will need to be renamed:

  • language_overrides -> languages
  • copilot -> inline_completions
  • show_copilot_suggestions -> show_inline_completions

Previously, we were supporting the old keys as an alias for the new keys, but this let to unintended/confusing failure modes.
As a result we have deprecated the old keys.

See: Settings Deprecation Notice 2024-06-17 for more information.

Enhancements

General

  • Added an outline panel to show a "map" of the active editor. Toggle the outline panel via outline panel: toggle focus.

Pair the outline panel with the search multi-buffer to get a better overview of your search results!

outline panel

  • Added support for dropping files from the finder onto the project panel (#7386).
  • Added a 'selection and movement' tool to the Editor's toolbar, as well as controls to toggle it and a setting to remove it ("toolbar": {"selections_menu": true/false }).
  • Changed the behavior of the + menu in the tab bar to use standard actions and keybindings. Replaced New Center Terminal with New Terminal, and New Search, with the usual Deploy Search. Also added item-creating actions to this menu.
  • Improved performance of project panel in large worktrees (#13202).
  • Improved the look of code action and run indicators in the gutter (#12803).
  • Improved the style of disclosure controls throughout the UI.

AI

  • Improved the behavior of inline assist so that it no longer closes when an editor loses focus (e.g., from switching tabs) and then gains focus again. Instead, it only closes when you move the cursor outside of it, e.g., by clicking somewhere else in its parent editor.

Languages

  • VTSLS is now a default language server for TypeScript, TSX, and JavaScript.

If you would like to continue using typescript-language-server, use the following setting in your settings.json:

"JavaScript": {
  "language_servers": ["!vtsls", "typescript-language-server", "..."]
},
  • Added a more detailed message in place of the generic checking... messages when Rust-analyzer is running.

  • Added a rate limit for language server status messages, to reduce noisiness of those updates.

  • Added a cancel language server work action which will cancel long-running language server tasks.

  • Added the ability to cancel a cargo check by clicking on the status bar item.

Vim

  • Added pending keys to the mode indicator in Vim mode.
    • See it in action here.
  • Added support for register selection "a-"z, "0-"9, "-. "_ and "% (#11511).
  • Added support for multicursor registers (#11687).
  • Added support for the "/ register.
  • Added gv to restore previous visual selection (#12888).
  • Added support for ctrl-r X to paste in insert mode (#4308).
  • Fixed home and end in visual mode (#13068).
  • Fixed inserting a 0 in insert mode with a count (#9383).
  • Fixed gi when the insert ended at the end of a line (#12162).
  • Fixed gl when the first match is at the end of a line.
  • Fixed behavior of dw at the end of a soft wrapped line.
  • Fixed ci" on keyboards where typing a " requires the IME (#12523).
  • Fixed an issue where held-down modifier keys (such as Shift) would interrupt continuous key events, affecting navigation and selection behavior (#12566).

Bug Fixes

  • Fixed some syntax highlighting bug in Python (#12578).

Before

After

  • Fixed auxiliary details in completions returned by VTSLS
    (#13043).
  • Fixed a bug where the selected tab was not always shown when cycling between tabs with ctrl-tab.
  • Fixed a bug where the command palette was not scrolling down to the last element.
  • Fixed a bug where "Find all references" editor had cursor placed on the first line of the first excerpt in the multibuffer instead of having it on the first reference.
  • Fixed a possible hang when opening a worktree in a .git directory.
  • Fixed snippet completions sometimes being treated as plain text completions when using VTSLS (#12920).
  • Fixed the Hide Copilot context menu item to modify the appropriate setting.
  • Fixed a panic when editing C code (#13128).

v0.141.2-pre

23 Jun 17:40
Compare
Choose a tag to compare
v0.141.2-pre Pre-release
Pre-release
  • Fix: Command palette not scrolling down to the last element
  • Fixed a bug where "Find all references" editor had cursor placed on
    the first line of the first excerpt in the multibuffer instead of having
    it on the first reference.

v0.141.1-pre

21 Jun 09:48
Compare
Choose a tag to compare
v0.141.1-pre Pre-release
Pre-release

Release Notes:

  • Fixed spurious appliance of auto-formatting to YAML blocks.

v0.141.0-pre

19 Jun 18:57
Compare
Choose a tag to compare
v0.141.0-pre Pre-release
Pre-release

Enhancements

General

  • Added an outline panel to show a "map" of the active editor. Toggle the outline panel via outline panel: toggle focus.

Pair the outline panel with the search multi-buffer to get a better overview of your search results!

outline panel

  • Added support for snippets via simple-completion-language-server (#4611). To begin using snippets, install the snippets extension from the extension store:

snippets

Place your snippet files in ~/.config/zed/snippets. For instance, in your ~/.config/zed/snippets/snippets.json file, you may have:

{
  "my snippet": {
    "prefix": "log",
    "body": ["console.log(\"$1\")"],
    "description": "Expand `log` to `console.log()`"
  }
}

For more configuration information, see the simple-completion-language-server instructions.

  • Added support for dropping files from the finder onto the project panel (#7386).
  • Added a 'selection and movement' tool to the Editor's toolbar, as well as controls to toggle it and a setting to remove it ("toolbar": {"selections_menu": true/false }).
  • Changed the behavior of the + menu in the tab bar to use standard actions and keybindings. Replaced New Center Terminal with New Terminal, and New Search, with the usual Deploy Search. Also added item-creating actions to this menu.
  • Improved performance of project panel in large worktrees.
  • Improved the look of code action and run indicators in the gutter (#12803).
  • Improved the style of disclosure controls throughout the UI.

AI

  • Improved the behavior of inline assist so that it no longer closes when an editor loses focus (e.g., from switching tabs) and then gains focus again. Instead, it only closes when you move the cursor outside of it, e.g., by clicking somewhere else in its parent editor.

Languages

  • VTSLS is now a default language server for TypeScript, TSX, and JavaScript.
  • Improved quality of auxiliary details in completions returned by VTSLS.
  • Added a more detailed message in place of the generic checking... messages when Rust-analyzer is running.
  • Added a rate limit for language server status messages, to reduce noisiness of those updates.
  • Added a cancel language server work action which will cancel long-running language server tasks.
  • Added the ability to cancel a cargo check by clicking on the status bar item.
  • Improved syntax highlighting in Python (#12578).

Before

After

Vim

  • Added pending keys to the mode indicator in Vim mode.
    • See it in action here.
  • Added support for register selection "a-"z, "0-"9, "-. "_ and "% (#11511).
  • Added support for multicursor registers (#11687).
  • Added support for the "/ register.
  • Added gv to restore previous visual selection (#12888).
  • Added support for ctrl-r X to paste in insert mode (#4308).

Bug Fixes

  • Fixed a bug where the selected tab was not always shown when cycling between tabs with ctrl-tab.
  • Fixed a possible hang when opening a worktree in a .git directory
  • Fixed snippet completions sometimes being treated as plain text completions when using VTSLS (#12920).
  • Fixed the Hide Copilot context menu item to modify the appropriate setting.
  • Fixed a panic when editing C code (#13128).
  • Vim: Fixed home and end in visual mode (#13068).
  • Vim: Fixed inserting a 0 in insert mode with a count (#9383).
  • Vim: Fixed gi when the insert ended at the end of a line (#12162).
  • Vim: Fixed gl when the first match is at the end of a line.
  • Vim: Fixed behavior of dw at the end of a soft wrapped line.
  • Vim: Fixed ci" on keyboards where typing a " requires the IME (#12523).
  • Vim: Fixed an issue where held-down modifier keys (such as Shift) would interrupt continuous key events, affecting navigation and selection behavior (#12566).

Breaking changes

  • Removed the language_overrides alias for the languages setting, the copilot alias for the inline_completions setting, and the show_copilot_suggestions alias for the show_inline_completions setting. If you have settings under language_overrides, copilot, or show_copilot_suggestions, they should get moved to languages, inline_completions, and show_inline_completions, respectively. (#13171 ).

v0.140.5

19 Jun 18:28
Compare
Choose a tag to compare

Enhancements

General

  • Added an Ollama Provider for the assistant. If you have Ollama running locally on your machine, you can enable it in your settings under:
"assistant": {
    "version": "1",
    "provider": {
      "name": "ollama",
      // Recommended setting to allow for model startup
      "low_speed_timeout_in_seconds": 30,
    }
}

Chat like usual

image

Interact with any model from the Ollama Library

image

Open up the terminal to download new models via ollama pull:

image

  • Added support for snippets via simple-completion-language-server (#4611). To begin using snippets, install the snippets extension from the extension store:

snippets

Place your snippet files in ~/.config/zed/snippets. For instance, in your ~/.config/zed/snippets/snippets.json file, you may have:

{
  "my snippet": {
    "prefix": "log",
    "body": ["console.log(\"$1\")"],
    "description": "Expand `log` to `console.log()`"
  }
}

For more configuration information, see the simple-completion-language-server instructions.

  • Added the ability to search inside of selections (#8617).
  • Improved the performance of the project panel in large directories
  • Added the editor: toggle tab bar action.
  • Improved performance when handling large responses from language servers.

AI

  • Added search for saved assistant history.
  • Added /now command to the Assistant for getting the current date and time.
  • Improved the handling of JSON response bodies in the /fetch command in the Assistant.

Languages

  • Added runnable tests for TSX files. Runnable tests can be customized via tsx-test tag.
  • Added support for linked editing ranges LSP request. Editing opening tags in HTML/TSX files (with vtsls) performs the same edit on the closing tag as well (and vice versa) (#4535).
  • Added auto-completion support for package.json files (#12792).
  • Added support for looking up the rust-analyzer binary in $PATH. This allows using such tools as asdf and nix to configure per-folder rust installations. To enable this behavior, use the path_lookup key when configuring the rust-analyzer binary: {"lsp": {"rust-analyzer": {"binary": {"path_lookup": true }}}}.
  • Added inl to cpp config (#12605).

Vim

  • Allowed scrolling the currently-open information overlay using ctrl-{u,d,e,y} etc (#11883).
  • Added g/ for project search.
  • Added gu/gU/g~ for changing case (#12565).

Bug Fixes

  • Fixed some runnables in JavaScript/Typescript.
  • Fixed an issue where the IME pre-edit could desynchronize from the editor on macOS (#11829).
  • Fixed runnable for package.json, so it will work in any directory.
  • Fixed a bug that caused titles generate by the LLM to be longer than one line.
  • Fixed an issue where file icons were displayed in the project panel during a rename even when project_panel.file_icons was set to false (#12905).
  • Fixed a panic when opening the diagnostics view.
  • Fixed a crash that could happen when using certain cursor-motion bindings with a pending mouse selection.
  • Fixed a panic when worktree paths are incorrectly relative.
  • Fixed a panic when going to next search result when there are none.
  • Fixed the wrong icon being used in the assistant setup instructions.
  • Fixed tailwindcss-language-server not being activated inside Ruby strings (inside .erb) (#12728).
    • Check the video here.
  • Fixed tailwind-language-server not working in attributes inside of *.astro files (#12402).
    • Check the video here.
  • Fixed folder expansion when all items are closed (#12729).
  • Vim: Fixed indent via < and > not being repeatable with . (#12351).
  • Vim: Fixed f/t etc. for keys that require IME (#12522).

Breaking changes

  • Renamed the workspace::Restart action to workspace::Reload to avoid accidentally restarting Zed when trying to restart language servers (#12609).