Skip to content

Releases: zed-industries/zed

v0.160.0-pre

30 Oct 16:26
8560f0d
Compare
Choose a tag to compare
v0.160.0-pre Pre-release
Pre-release

Enhancements

The action is happening on Zed Stable, where we are launching SSH Remoting (Beta). 💻🌐🎉

Check out the stable release for more details!

General

  • Added support to show invisible characters in the editor (#19846).
  • Added support for self-hosted GitLab instances when generating Git permalinks (#19909).
    • The instance URL must have gitlab somewhere in the host in order to be recognized.
  • Added feature to show commit summary as part of the inline Git blame (#19759; thanks pjtatlow).
  • Improved the parsing of Git remote URLs to support additional scenarios (#19924).

AI

  • Added "Suggest Edit" button to the assistant panel if "enable_experimental_live_diffs": true is set in the "assistant" section of settings.json (#19900). This button takes the place of the previous /workflow command, but it is experimental and may change!

Languages

  • Added support for Doxygen-style doc comments starting with /// or //! in C++ (#19858).
  • Improved syntax highlighting for type hints in Python (#18185; thanks ClanEver).

Bug Fixes

  • Fixed an issue where the project diagnostics view spuriously allowed horizontal scrolling by a small amount (#19856).
  • Fixed block cursor rendering only the first character of multi-character graphemes (#19867).

v0.159.5

30 Oct 17:00
bcf6806
Compare
Choose a tag to compare

Enhancements

Today we're excited to launch Zed SSH Remoting in Beta. 💻🌐🎉

For remote hosts, we support macOS remotes (both Intel x86_64 and ARM aarch64) and Linux on x86_64 or ARM: Ubuntu 20/22/24, Raspbian, Debian 11/12, Fedora 40/41/42, ArchLinux, Alpine, NixOS, SUSE/OpenSUSE as well as RedHat 8.x/9.x, and clones (Rocky Linux, CentOS Stream, AlmaLinux, Amazon Linux, Oracle Linux).

Blog Post: https://zed.dev/blog/remote-development
Docs: https://zed.dev/docs/remote-development

Note: The original version of remote development sent traffic via Zed's servers. As of Zed v0.157, you can no longer use that mode.

General

  • Added file icons for Gleam (#19887; thanks okkdev), Zig, Julia, SCSS, HCL, Nix, and Roc files.
  • Added the ability to fold all blocks of code at a target "level." macOS: cmd-k, cmd-<number>, Linux: ctrl-k, ctrl-<number> (#19750).
  • Added indent guides to the project and outline panel (#18260, (#19719)).
  • Added macOS Services menu (fixed global macOS shortcuts) (#16959).
  • Added support for detecting images with non-lowercase file extensions (#19304).
  • Added a user-visible error message when a manual save fails (#19311).
  • Added toolchain selector to the status bar with initial support for Rust and Python (#19576).
  • Added ability to cancel language server work in remote development (#19946).
  • Improved [re]open for external worktree entries (#19612).

AI

  • Improved Inline Assistant placeholder text. Including focus context panel and navigate history key bindings (#19447).
  • Improved prompt for generating context editor summaries (#19530; thanks wolffiex).
  • Moved Git hunk controls to the right of the header (#19515).

Languages

  • Added keybindings for applying hunks in Proposed Changes: cmd-shift-y / ctrl-shift-y (#19749).
  • Added autoclosing of Rust multiline strings (#19765).
  • Added .editorconfig support (#19455).
  • Registered .postcss files as CSS (#19416).

Vim

  • Added support for incrementing and decrementing numbers with leading zeros in Vim mode (#18362; thanks ThomAub).

Bug Fixes

  • Fixed directory name comparison on Linux not considering the case (#19211; thanks wannacu).
  • Fixed issue where auto-update would quietly fail if rsync was not available (#19392).
  • Fixed code action for Fix with assistant appearing when assistant was disabled (#19553).
  • Fixed empty keystroke with simulated IME (#19414; thanks brunocalza).
  • Fixed a bug where auto-indent didn't work correctly when pasting with multiple cursors on adjacent lines (#19521).
  • Fixed incorrect checkbox placement in Markdown preview (#19383; thanks zfz7).
  • Fixed Markdown preview rendering of empty list items (#19449; thanks mgsloan).
  • Fixed inconsistent serialization of workspace paths order (#19232; thanks eth0net).
  • Fixed error handling when no project paths could be opened (#19320).
  • Fixed an issue where the branch switcher would show an error when opening a file outside of the project (#19888).
  • Fixed outline panel panicking on filtering (#19811).
  • Fixed horizontal scrollbar not being hidden (#19767).
  • Fixed an issue where HTML tags within list items would break the Markdown preview (#19785).
  • Fixed an issue where clicking on an image inside the project panel would not re-use an existing image tab (#19717).
  • Fixed autoclosing quotes when the string is already open (#19765).
  • Fixed project panel bug when renaming files where up/down keys could select other files (#19670; thanks zhang0098).
  • Fixed slowness when collaborating (#19912).
  • Fixed an issue where diagnostic underlines and certain text highlights were not rendered correctly below block decorations such as the inline assistant prompt (#19920).
  • Fixed a rare crash that could happen when certain SQL statements were prepared (#19922).
  • Fixed prettier not reporting failures in the status panel on formatting and installation errors (#19951).
  • Vim: Fixed a bug where the o and O commands did not respect the extend_comment_on_newline setting (#19766).

Breaking Changes and Notices

  • Changed terminal.option_as_meta default from true to false for better out-of-the-box experience on non-US keyboards. Terminal Emacs users will want to set this to true (#19364).

v0.159.5-pre

30 Oct 15:04
fe1f841
Compare
Choose a tag to compare
v0.159.5-pre Pre-release
Pre-release

Bug fixes

  • Added ability to cancel language server work in remote development (#19946).
  • Fixed prettier not reporting failures in the status panel on formatting and installation errors (#19951).

v0.159.4-pre

29 Oct 21:33
Compare
Choose a tag to compare
v0.159.4-pre Pre-release
Pre-release

Bug Fixes

  • Fixed slowness when collaborating (#19912).
  • Fixed an issue where diagnostic underlines and certain text highlights were not rendered correctly below block decorations such as the inline assistant prompt (#19920).
  • SSH Remoting: Fixed closing the auth dialogue to not try to auth with the empty password (#19925).
  • SSH Remoting: Fix diagnostics summary over collab (#19923).
  • Fixed a rare crash that could happen when certain SQL statements are prepared (#19922).
  • Fixed a bug where the Julia icon was not displayed for Julia files (#19916).
  • (preview only) Fixed quote-autoclose in Rust (#19914)

v0.159.3-pre

29 Oct 16:51
a6a8e46
Compare
Choose a tag to compare
v0.159.3-pre Pre-release
Pre-release

v0.159.2-pre

28 Oct 20:56
6a58d8c
Compare
Choose a tag to compare
v0.159.2-pre Pre-release
Pre-release

Enhancements

  • Added indent guides to the project panel (#18260).
  • Added indent guides to the outline panel (#19719)
  • vim: o/O now respect extend_comment_on_newline (#19766)
  • Added autoclosing of rust multiline strings (#19765).
  • Added the ability to fold all blocks of code at a target "level." macOS: cmd-k, cmd-<number>, Linux: ctrl-k, ctrl-<number> (#19750).
  • Added keybindings for applying hunks in Proposed Changes: cmd-shift-y / ctrl-shift-y (#19749).
  • Improved Inline Assistant placeholder text. Including focus context panel and navigate history key bindings (#19447).
  • Added toolchain selector to the status bar with initial support for Rust and Python (#19576).

Bug Fixes

  • Fixed outline panel panicking on filtering (#19811)
  • Fixed horizontal scrollbar not being hidden (#19767).
  • Fixed an issue where HTML tags within list items would break the markdown preview (#19785)
  • Fixed an issue where clicking on an image inside the project panel would not re-use an existing image tab (#19717).
  • Fixed autoclosing quotes when the string is already open (#19765).
  • Fixed project panel bug when renaming files where up/down keys could select other files (#19670; thanks zhang0098).

SSH Remoting:

  • Fixed a bug where the branch switcher could not be used remotely (#19755).
  • Changed the update logic of the SSH remote server to not fetch the latest version for a current channel, but to fetch the version matching the current Zed version. If Zed is updated, the server is updated too. If the server is newer than the Zed version an error will be displayed (#19740).
  • Changed the update process of the remote server binary to not attempt an update if we can detect that the current binary is used by another process (#19724).
  • Changed the update process of the remote server binary to mark the lock file as stale in case the SSH connection of the process that created the lock file isn't open anymore (#19724).
  • Reuse SSH connections across hosts (#19692).
  • Fixed a bug where inerrrupting ssh connecting could leave your local binary cached in an invalid state (#19700).
  • SSH connections now download the server binary on the host by default. (#19748)

If you want to upload the binary from the client machine, change the upload_binary_over_ssh value to true in the settings.
Example:

{
  "ssh_connections": [
    {
      "host": "192.168.1.10",
      "projects": ["~/code/zed/zed"],
      // by default Zed will download the server binary from the internet on the remote.
      // When this is true, it'll be downloaded to your laptop and uploaded over SSH.
      // This is useful when your remote server has restricted internet access.
      "upload_binary_over_ssh": true
    }
  ]
}

v0.159.1-pre

24 Oct 18:39
2f030e3
Compare
Choose a tag to compare
v0.159.1-pre Pre-release
Pre-release

Enhancements

  • Switch to using Anthropic -latest model names by default (#19615).

Bug Fixes

  • Fixed a panic that could occur when trying to complete arguments with the /delta command (#19693).
  • Fixed terminals opened on remote hosts failing to deserialize with an error message after restarting Zed (#19672).
  • Various SSH improvements (#19672, #19668) (Preview Only).

v0.158.2

24 Oct 18:49
d1880c6
Compare
Choose a tag to compare

Enhancements

  • Switch to using Anthropic -latest model names by default (#19615).

Bug Fixes

  • Fixed a panic that could occur when trying to complete arguments with the /delta command (#19693).

v0.159.0-pre

24 Oct 07:18
Compare
Choose a tag to compare
v0.159.0-pre Pre-release
Pre-release

Enhancements

General

  • Added file icons for Zig, Julia, SCSS, HCL, Nix, and Roc files (#19529; thanks PixelJanitor).
  • Added macOS Services menu (fixed global macOS shortcuts) (#16959).
  • Added highlighting for "invisible" unicode characters. This includes ASCII control codes, and best effort detection across the rest of the Unicode range (#19298).
  • Added support for detecting images with non-lowercase file extensions (#19304).
  • Added a user-visible error message when a manual save fails (#19311).
  • Improved [re]open for external worktree entries (#19612).
  • Improved prompt for generating context editor summaries (#19530; thanks wolffiex).
  • Moved Git hunk controls to the right of the header (#19515).

SSH Remote

  • Added support for machines with older versions of glibc, or not using glibc at all (#19571).
  • Added project panel symlink icons for the remote clients (#19464).
  • Improved reconnect modal's robustness (#19567).
  • Improved error handling (#19533).
  • Improved reconnects (#19485).

Languages

  • Added .editorconfig support (#19455).
  • Registered .postcss files as CSS (#19416).

Vim

  • Added support for incrementing and decrementing numbers with leading zeros in Vim mode (#18362; thanks ThomAub).

Bug Fixes

  • Fixed directory name comparison on Linux not considering the case (#19211; thanks wannacu).
  • Fixed issue where auto-update would quietly fail if rsync not available (#19392).
  • Fixed code action for Fix with assistant appearing when assistant was disabled (#19553).
  • Fixed empty keystroke with simulated IME (#19414; thanks brunocalza).
  • Fixed a bug where auto-indent didn't work correctly when pasting with multiple cursors on adjacent lines (#19521).
  • Fixed incorrect checkbox placement in Markdown preview (#19383; thanks zfz7).
  • Fixed Markdown preview rendering of empty list items (#19449; thanks mgsloan).
  • Fixed inconsistent serialization of workspace paths order (#19232; thanks eth0net).
  • Fixed error handling when no project paths could be opened (#19320).
  • SSH Remoting: Fixed SSH fingerprint prompt (#19526).
  • SSH Remoting: Fixed Save As to pick the file on the remote (#19517).
  • SSH Remoting: Fixed message reliability across restarts (#19398).
  • SSH Remoting: Fixed cmd-o to always open a local project (#19376).
  • SSH Remoting: Fixed regression with ability to set arguments for SSH (#19336).
  • SSH Remote: Fixed a panic when doing zed ssh://server/ (#19322).

Breaking Changes and Notices

  • Changed terminal.option_as_meta default from true to false for better out-of-the-box experience on non-US keyboards. Terminal Emacs users will want to set this to true (#19364).
  • SSH Remoting: Prevented uploading local settings to the remote (#19577).

v0.158.1

23 Oct 18:04
Compare
Choose a tag to compare

Enhancements

General

  • Added the ability to click intermediate auto-folded project panel entries (#18956).
  • Added a new editor: format selections action that allows formatting only the currently selected text via the primary language server (#18752; thanks terziele).
  • Added an editor: reload file command (#18395; thanks schpet).
  • Improved performance on macOS when working with very long lines (#19215).
  • Adjusted the divider rule in LSP hovers to be more muted (#19255; thanks dyedgreen).
  • Switched to using the system locale in the terminal instead of forcing en_US.UTF-8 (#18967; thanks shish).
  • Improved Supermaven completions by preventing suggestions based on outdated cursor positions (#18858; thanks kevmo314).

Languages

  • Improved language auto-detection of TypeScript, JavaScript, and shell scripts. Added shebang detection for ts-node, tsx, bun, Deno JS, Deno TS, dash, and ash (#19114).
  • Improved automatic indentation behavior in JSX (#18816; thanks schpet).

Vim

  • Added basic support for Alacritty's vi mode to the built-in terminal (which is using Alacritty under the hood). Vi mode can be activated with ctrl-shift-space, enabling basic motions to navigate the terminal's scrollback buffer (#18715; thanks NukaCody).
  • Added support for using the insert button to activate vim mode (#19245; thanks axelcarl).
  • Added :e[dit], :e[dit]!, which call the editor: reload file command (#18395; thanks schpet).
  • Added z keybindings for scrolling (#18928; thanks syndesis).
  • Changed / in Vim mode to always reset the search options in the search bar back to regex-only. That means using * (in normal or visual mode) still works with its options, but the next / will reset the search options. That makes it much closer to how / behaves in Vim (#19058).
  • Improved vim mode's whole word match by using the search bar's "Match whole words" option, instead of wrapping the search term with \<...\>. This allows easier toggling of whole-word search, and it also works without enabling the regex mode (#18725; thanks osa1).
  • Added a regex option to vim::Search command to allow disabling regex search by default in the keymap (#19177; thanks osa1).

Example usage:

{
  "context": "VimControl && !menu",
  "bindings": {
    "/": ["vim::Search", { "regex": false }],
  }
}

Bug Fixes

  • Fixed Astro LSP interactions (#19266).
  • Fixed a bug where prettier was attempting to install too frequently (#19283).
  • Fixed a bug where language servers from PATH would sometimes be prioritized over the ones from direnv (#19144; thanks WeetHet).
  • Fixed \s in regex search not behaving correctly (#19241).
  • Fixed an issue where the project search would sometimes show "Search all files" when there were no results (#19108; thanks CharlesChen0823).
  • Fixed a bug where relative paths were copied incorrectly from tab context menu (#19206; thanks CharlesChen0823).
  • Fixed a bug where Supermaven was crashing on deleting non-ASCII text (#19153; thanks JunkuiZhang).
  • Fixed tab closing not respecting history. You can use the tabs.activate_on_close = neighbour settings to activate adjacent tabs, if you prefer that behavior (#19150).
  • Fixed support for macOS Keyboard Shortcuts for specific menu items like Window->Zoom (#18921; thanks henryhchchc).
  • Fixed a bug where auto-indent was not enabled while typing in multi-buffers (#18984).

Breaking Changes and Notices

  • Renamed one cursor_shape from underscore to underline (#19028).