Preview releases

April

Zed 0.133.0

04/24/2024

Download (Apple silicon)

Download (Intel chip)

Download (Universal binary)

Enhancements

General

  • Added an editor::ExpandExcerpts action (bound to shift-enter by default), which can expand the multi-buffer excerpt the cursor is currently in by 3 lines (#5377). You can customize the number of lines by rebinding this action like so:
// In your keybindings array...
{
  "context": "Editor && mode == full",
  "bindings": {
    "shift-enter": ["editor::ExpandExcerpts", { "lines": 5 }],
  }
}
  • CLI now accepts an optional name of release channel as its first argument. For example, zed --stable will always use your Stable installation's CLI. Trailing args are passed along (#10851).
  • Changed cmd-w to close the window when there are no open tabs (#5322).
    • See it in action here.
  • Added a setting to determine the minimum column where the inline blame information is shown. Example: {{"git": {"inline_blame": {"min_column": 80}}}. (#10555).
    • Check it out here.
  • Added a setting to show/hide the Project Panel button in the status bar: {"project_panel": {"button": false}}.
  • Added drop_target_size setting. This should be a fractional percent (e.g., 0.5).
  • Improved the hitboxes for drop targets.
  • Updated drop targets to respect the alpha channel of the drop_target.background color.
  • Improved buffer search workflow: cmd-f will select the query string when the buffer search editor is focused.
  • Exposed Rust traits as type.interface for individual syntax theming.

Collaboration

  • Added support for remote development. This feature is currently in alpha; if you are interested in trying this out, please email [email protected].
  • Improved Markdown preview in channel notes to re-render when another collaborator changes the content.

Git

  • Added GitHub avatars to tooltips that appear when hovering over a git blame entry (either inline or in the blame gutter).
    • Check it out here.
  • Added links to GitHub pull requests to the git blame tooltips, if they are available.
    • Check it out here.

Tasks

  • Added tooltips entries in the task: spawn modal.

Languages

  • Added language_servers setting to language settings for customizing which language server(s) run for a given language.
  • Added auto-installation for the HTML extension on startup.
    • This can be disabled by adding { "auto_install_extensions": { "html": false } } to your settings.
  • Added ReScript as a suggested extension for .res and .resi files.
  • Added LOG as a suggested extension for .log files.
  • Added support for finding the Ruby language server solargraph in the user's $PATH as it is when cding into a project's directory (#9811).
  • Added support for configuring the path and arguments for solargraph language server manually. Example from settings: {"lsp": {"solargraph": {"binary": {"path":"/Users/thorstenball/bin/solargraph","arguments": ["stdio"]}}}} (#9811).

Bug Fixes

  • Fixed an issue where the wrong language server could be used for formatting (#10902).
  • Fixed Rust tasks using incorrect package name (#10925).
  • Fixed a bug where non-focused windows weren't showing a hover state for clickable areas (#9784).
  • Fixed a bug that caused disabled navigation buttons to show up in terminal panel.
  • Fixed a bug where the UI would stutter when dragging tabs over any element that stopped event propagation.
  • Fixed a bug where the user's selection was changed when using the language server's rename action.
  • Fixed a bug where multiple terminals were being opened on workspace::NewTerminal calls (#4567).
  • Fixed a bug where project panel: collapse all entries was expanding collapsed worktrees.
  • Fixed a bug where terminal file paths could not be clicked when the column portion of path was malformed (#10688).

Breaking Changes

  • Moved project_panel::OpenInTerminal into workspace::OpenInTerminal action and added it in editors, tab context menus, and proper panel file entries (#4566)
  • Removed built-in support for Deno, in favor of making it available as an extension.
  • Removed task status indicator and added a Spawn task action to terminal panel context menu.

Zed 0.132.0

04/17/2024

Download (Apple silicon)

Download (Intel chip)

Download (Universal binary)

Enhancements

General

  • Added preview tabs (#4922).
  • Added an editor controls menu to the tool bar. This will contain visual, editor-specific options like toggling inlay hints, showing git status or blame, etc.
    • The top-level inlay hint toggle has been removed from the tool bar, as it is now in this menu.
    • Toggling the inline git blame is also possible from this menu.
  • Added support for Centered Layout (#4685).
  • Added restore_on_startup option, accepting last_workspace (default) and none options. With none, new Zed instances will not restore workspaces that were open last.
  • Added a setting under scroll_sensitivity that allows user to control the scroll sensitivity. This value acts as a multiplier for the horizontal and vertical scroll speed.
  • Improved search UI. It now works in narrower panes, and avoids scrolling the editor on open. <img width="899" alt="Screenshot 2024-04-11 at 21 33 17" src="https://github.com/zed-industries/zed/assets/94272/44b95d4f-08d6-4c40-a175-0e594402ca01"> <img width="508" alt="Screenshot 2024-04-11 at 21 33 45" src="https://github.com/zed-industries/zed/assets/94272/baf4638d-427b-43e6-ad67-13d43f0f18a2"> <img width="361" alt="Screenshot 2024-04-11 at 21 34 00" src="https://github.com/zed-industries/zed/assets/94272/ff60b561-2f77-49c0-9df7-e26227fe9225"> <img width="348" alt="Screenshot 2024-04-11 at 21 37 03" src="https://github.com/zed-industries/zed/assets/94272/a2a700a2-ce99-41bd-bf47-9b14d7082b0e">
  • Added a setting to show/hide the terminal button in the status bar: {"terminal": {"button": false}} to hide it (#10513).
  • Improved ordering and organization of context menus in the project panel to bring them closer to those in similar applications.
  • Hovering over an edited message in the chat now displays a tooltip revealing the timestamp of the last edit.
  • Added bindings to allow up and down arrow keys to be used while the tab switcher is open.
  • Added support for toggling a checkbox in markdown preview by clicking on it (cmd+click) (#5226).
  • Signing out of Zed will now clear the credentials state and delete the corresponding keychain items (#4716).
  • Added support for scrolling to the message you are replying to when clicking on the reply preview (#10028).
  • Added a project_panel.auto_fold_dirs setting which collapses the nesting in the project panel when there is a chain of folders containing a single folder. <img width="288" alt="Screenshot 2024-04-12 at 11 10 58 AM" src="https://github.com/zed-industries/zed/assets/2280405/efd61e75-026c-464d-ba4d-90db5f68bad3">
  • Increased diagnostic context to match the project search context.
  • Adjusted Zoom In/Out for Pane and Terminal Pane to show keybinding labels.

Git

  • Added inline git blame information the editor. It's enabled by default. It can be turned off in the settings with {"git": { "inline_blame": {"enabled": false } } } for every buffer. It can be turned on/off temporarily for the current buffer, with editor: toggle git blame inline (#4793).
  • Added a notification to show git blame errors.

Tasks

  • Added task summary output into corresponding terminal tabs.
  • Task::Rerun action can now override allow_concurrent_runs and use_new_terminal properties of the task that is being reran.
  • Added tasks for bash and Python to execute selections and open files in terminal.
  • Improved task modal ordering, run, and deletion capabilities.

Extensions

  • Changed the "Install" button for extensions to always install the latest compatible version instead of becoming disabled when the latest version of an extension is incompatible with the current Zed version.
  • Added an indicator to show the currently-installed extension version when not on the latest version.
  • Disabled extension entries when there is a development copy of that extension installed.

Languages

  • Added ability to specify clangd binary path (must be absolute) and arguments in user settings. Example: {"lsp": {"clangd": {"binary": {"path": "/usr/bin/clangd", "arguments": ["--log=verbose"] }}}}

Vim

  • Added the current operator stack to the Vim status bar at the bottom of the editor (#4447).
  • Added g c c and g c to Vim keybindings to toggle comments in normal and visual mode respectively.
  • Added g ] and g [ to Vim keybindings to go to next and previous diagnostic error.
  • Changed [ x and ] x (which select larger/smaller syntax node) in Vim mode to also work in visual mode.
  • Updated Vim regexes to use \< \> instead of \b (#10539).
  • Added a vim: open default keymap command to show the default Vim keymap (#8593).

Bug Fixes

  • Fixed project panel entries misalignment with narrow panel & file icons turned off.

  • Fixed git blame data not handling the undoing of deletions correctly. (#10583).

  • Fixed git blame functionality not handling errors correctly when there are no commits yet or when file isn't committed yet.

  • Fixed caret movement issue for some special characters.

  • Fixed "Find In Project" app menu item having no keybinding (#10611).

  • Fixed some cases where diagnostics tab showed outdated entries before the language server is done with its analysis.

  • Fixed a bug where multiple extension suggestions for the same extension could be shown at once (#10320).

  • Fixed a bug where project panel settings changes would not be applied immediately.

  • Fixed Markdown code blocks in tooltips not having correct language highlighting.

    Before:

    image
    image

    After:

    screenshot-2024-04-16-12 43 39@2x
    screenshot-2024-04-16-12 43 39@2x
  • Fixed Markdown returned by clangd being rendered the wrong way (#10511).

    Before:

    screenshot-2024-04-16-12 32 15@2x
    screenshot-2024-04-16-12 32 15@2x

    After:

    screenshot-2024-04-16-12 33 02@2x
    screenshot-2024-04-16-12 33 02@2x
  • Fixed left movement in Vim mode when soft wrapping is enabled (#10350).

  • Fixed a panic when installing the CLI/registering for the zed:// protocol.

  • Fixed a panic when rendering certain malformed SVGs.

Breaking Changes

  • Pulled support for the following languages out into extensions, with automatic suggestions for their corresponding file extensions:
    • Elm (.elm)
    • GLSL (.vert, .frag)
    • Lua (.lua)
    • Nix (.nix)
    • Nu (.nu)
    • OCaml (.ml, .mli)
    • Racket (.rkt)
    • Scheme (.scm)
    • Terraform (.tf, .tfvars, .hcl)
    • Vue (.vue)

Zed 0.131.0

04/10/2024

Download (Apple silicon)

Download (Intel chip)

Download (Universal binary)

Enhancements

General

  • Reduced memory usage for files by up to 50%.
  • Added action to open markdown preview in the same pane.
  • Added support for displaying channel notes in markdown preview.
  • Added support for displaying the current active editor when opening markdown preview.
  • Added support for scrolling the editor to the corresponding block when double clicking an element in markdown preview.
  • Added tooltips when hovering over links inside the markdown preview.
  • Added support for detecting and highlighting links in markdown preview.
  • Added a status indicator for LSP actions (#4380).
  • Added selection and line counts to the status bar (#4204). The format of the line indicator can be made more compact via the following setting:
"line_indicator_format": "short"
  • Added a setting to hide/show the navigation history buttons:
"tab_bar": {
   "show_nav_history_buttons": true
 }
  • Improved error reporting on startup (#9036).
  • Increased search result context from 3 lines to 4 lines.

Tasks

  • Added more icons to task modal.
  • Added task status indicator to the status bar.

Languages

  • Added yield keyword highlight for Rust.
  • Added highlighting for parameters in blocks in Ruby.

Vim

  • Added search motions (/,?,n,N,*,#) in visual modes and as targets for operators like d,c,y (#4346).
  • Added support for vim-surround (#4965). Note that HTML tags are not yet supported.

Bug Fixes

  • Fixed an issue where the "New messages" indicator in the channel chat would be shown even if the message was deleted.
  • Fixed highlighting of messages when clicking on the reply message text in the chat and there were no other messages from other users (#10024).
  • Fixed clear chat state when switching edit/reply message state (#10042).
  • Fixed an issue where the status of failed LSP actions was left in the status bar.
  • Fixed status bar focus issues when spawning a terminal via workspace: new terminal action.
  • Fixed language server notifications being too large (#10090, #10190, #10217).
  • Fixed "quickfix" code actions that were based on diagnostics not showing up in Go files (#10177).
  • Fixed a bug where some hover popovers would render \n instead of a new line.
  • Fixed Zed not picking up shell environments correctly when running on macOS 12 (#9786).
  • Fixed project shared notification staying open, when the user that shared the project left the room.
  • Fixed highlighting of constants in Ruby (#9995).
  • Fixed a bug where newline characters in file names would introduce UI artifacts in the project panel (#8603).
  • Fixed several bugs in the project panel related to directories whose names contain numbers (#9729, #10193).
  • Fixed crashes with huge buffer_font_size values (#10149).
  • Fixed a (rare) panic while collaborating.
  • Fixed a crash when joining two consecutive lines (#9692).
  • Vim: Fixed a bug with cgn backwards movement.
  • Vim: Fixed a bug where the block cursor would not render italic text under it (#8799).
  • Vim: Fixed undo grouping in Replace mode (#10031).
  • Vim: Fixed : when no files are open.

Breaking changes

  • Removed built-in support for HTML and Dart, in favor of making them available as extensions. The respective extensions for these languages will be suggested for download when opening their associated file types: .html, .htm, or .shtml for HTML, and .dart for Dart.
  • Disabled format_on_save by default in C and C++.
  • Updated gn and gN to select the next search result as in Vim. Adding multi-cursors to the next/prev copy of the word under the cursor is now bound to gl/gL.
  • Switched to the system UI font for user interface elements on macOS. The previous default font can be restored via the following snippet in your settings.json file:
"ui_font_family": "Zed Sans"

Zed 0.130.2

04/08/2024

Download (Apple silicon)

Download (Intel chip)

Download (Universal binary)

  • Made "Find All References" respect the language server's capabilities. This fixes some instances where certain language servers would stop working after receiving a "Find All References" request.
  • Fixed panic when deleting just-generated text
  • Fixed panic in tasks modal (Preview only).
  • Fixed panic when dragging into Zed.
  • Restore the ability to save a multibuffer (preview only)
  • Fixed panic in visual line mode with folds (#10284)

Zed 0.130.1

04/04/2024

Download (Apple silicon)

Download (Intel chip)

Download (Universal binary)

Bug Fixes

  • Improved error handling when formatting buffers with prettier. Previously prettier errors would be logged but ignored. Now prettier errors are shown in the UI, just like language server errors when formatting. And if no formatter is specified (or set to "auto") and Zed attempts to use prettier for formatting, then prettier errors are no longer skipped. That fixes the issue of prettier not formatting invalid syntax, but its error being skipped, leading to typescript-language-server or another language server formatting invalid syntax.