Releases

Keep up with the weekly Zed releases.


November

0.161.0

11/06/2024

macOS
Linux

🍂🎉 Quality Week Fall 2024 is this week! 🐛🐞🐜 + 🔨💥 = 😵⚰️!

Enhancements

General

  • Added scrollbar to info popovers in editor (#20184).
  • Added auto-scrolling to project panel when a vertical edge of a panel is hovered with a dragged entry (#20207).
  • Added option to dim inactive panes (#18968; thanks aexvir).
  • Added option to highlight active pane with a border (#18968; thanks aexvir).
  • Added auto_indent_on_paste setting, which can be used on a per-language basis, to configure whether indentation should be adjusted when pasting. This setting is enabled by default for languages other than YAML and Markdown (#20193).
  • Added a new reveal option for tasks: "no_focus". If used, the tasks terminal panel will be opened and shown, but not focused (#19901).
  • Added a new editor: spawn nearest task action that spawns the task with a run indicator icon nearest to the cursor. It can be configured to also use a reveal strategy (#19901).
{
  "context": "EmptyPane || SharedScreen || vim_mode == normal",
  "bindings": {
    ", r t": ["editor::SpawnNearestTask", { "reveal": "no_focus" }],
  }
}
  • Improved editor performance with large # of diagnostics (#20189).
  • Improved sort order in completions to show relevant matches first (#20145; thanks 80avin).
  • Improved project search functionality by reusing the query from the focused buffer's local search (#20253).
  • Improved large project search performance (#20211).
  • Improved workspace::SendKeystrokes to support re-binding keys. For example you can now do: "x": ["workspace::SendKeystrokes", "\" _ x"] in vim mode to ensure that x does not clobber your clipboard (#20277).
  • Updated the settings schema to allow null as a value for optional settings instead of showing a warning (#20192).
  • Added debug: open theme preview action to the command palette to preview the current theme's styles (#20039).
  • Added optional ignore_indent parameter to editor::ToggleComments to place comment characters at the left margin. You can make this the default by adding "ctrl-/": ["editor::ToggleComments", { "ignore_indent": true }] to your keymap.json in the Editor context (#19746; thanks NichtJens).
  • Added debug: Open Key Context View action to command palette to help debug custom key bindings (#19872).
  • Added scrollbars to outline panel (#19969).
  • Added \u2028 and \u2029 as invisible characters. Previously these were treated as \n (#19712).
  • Markdown Preview: Added button to copy code blocks (#19312; thanks Irilith).
  • Markdown Preview: Added detection to update when file was changed outside of the editor (#20175).

AI

  • Improved memory footprint for inline transformations (#20296).
  • Moved the text selection action to a slash command (/selection) in the assistant panel (#19988; thanks marechaux).
  • Diagnostics are no longer automatically attached as context to /tab, /file slash commands in the Assistant Panel. Use /diagnostics to include them if desired (#20297).

SSH Remoting

  • Improved latency of connecting (#20220).
  • Improved keyboard navigation in SSH modal (#19894).
  • Fixed duplicated SSH Remote Projects (#20271; thanks AidanV).

Languages

  • Added support for autoclosing braces {} and single quotes '' in Shell Scripts (#20278).
  • Added support for git worktrees. Zed can now open git worktrees and the git status in them is correctly handled (#20164).
  • Go: Improved go test ./... and go generate ./... commands to run in the go module directory rather than the current package directory (#20190; thanks rpadaki).
  • Go: Added runnable and tasks for go generate commands (#19987; thanks rpadaki).
  • C/C++: Fixed info popups from clangd missing information (#20090).

Vim

  • Added r and a as aliases for [ and < text objects (copying vim-surround) (#20104; thanks mike-lloyd03).
  • Added :noh[lsearch] (#20056).
  • Added ctrl-v/ctrl-q to type any unicode code point. For example ctrl-v escape inserts an escape character(U+001B), or ctrl-v u 1 0 E 2 types ტ (U+10E2). As in vim ctrl-v ctrl-j inserts U+0000 not U+000A. Zed does not yet implement insertion of the vim-specific representation of the typed keystroke for other keystrokes (#19585).
  • Added ctrl-shift-v as an alias for paste on Linux (#19585).
  • Extended ctrl-w to work in non-editor contexts. E.g. markdown preview and screen shares (#20058).
  • Fixed r, ~ etc. appearing to modify readonly buffers (#20264).
  • Fixed some shortcuts to render correctly in Command (#20254).
  • Fixed q and @ in visual mode (#20261).
  • Fixed paragraph object in the presence of softwrap (#20259).
  • Fixed search in the assistant panel (#20258).
  • Fixed d G in not deleting until the actual end of the document if soft-wrap is turned on (#20160).
  • Fixed o not scrolling new head into view (#20054).
  • Fixed gu$ missing last character of the line (#20057).
  • Fixed surrounds to allow b/B/r/a anywhere you could use (, {, [, < (#20104; thanks mike-lloyd03).

Bug Fixes

  • Fixed a crash that could happen when closing a workspace with pinned untitled buffers (#20294).
  • Fixed undo and redo macOS menu items being always disabled (#20293).
  • Fixed project panel losing focus after file creation attempt (#20273).
  • Fixed an issue that prevented removing key bindings for actions used in the macOS application menu (#20268).
  • Fixed a bug where rewrapping with a long word at the start of the line would cause a new line to be inserted (#20256).
  • Fixed a bug where Zed would create a new temporary file on each boot for telemetry logs (#20209).
  • Fixed python toolchain detection when worktree local path is set (#20229; thanks WeetHet).
  • Fixed mouse cursor shape flickering in project and outline panels when crossing items (#20202; thanks stippi).
  • Fixed an issue where single quotation marks were spuriously auto-closed when typing in line comments (#20206).
  • Fixed extend/shrink selection on JetBrains keymap (#20199; thanks trin94).
  • Fixed an issue in TypeScript where @vtsls/language-server may not have been updated to the latest version (#20197).
  • Fixed unhelpful auto-indent suggestions in markdown (#20193).
  • Fixed a bug in macOS Sequoia where you couldn't save a new file as *.sql, as it would rename to .sql.s (#20195). As a side effect you can no longer save a new file as *sql.s. We hope to remove this workaround when the operating system fixes its bug; in the meantime you can either set "use_system_path_prompts": false in your settings file to skip the macOS dialogues, or create new files by right clicking in the project panel.
  • Fixed an inconsistency in the recent project picker, where different keybindings would determine whether to reuse the window or not (#20176).
  • Rewrap Command: Fixed a bug in handling of text wrapping for some ideographic writing systems (#20218).
  • Rewrap Command: Fixed the command to consider the width of each tab character at the beginning of the line to be the configured tab size (#20196).
  • Rewrap Command: The command now considers the width of each tab character at the beginning of the line to be the configured tab size (#20196).
  • SSH Remoting: Fixed opening multiple folders on one server (#20281).
  • SSH Remoting: Fixed remoting when the remote runs tcsh (#20220).
  • Outline Panel: Improved performance during large project searches (#20171).
  • Image Viewer: Added file path to breadcrumbs toolbar for images (#20155).
  • Project Panel: Fixed an issue where single-clicking on a file would not focus the editor with preview_tabs disabled (#20154).
  • Fixed an issue where the multibuffer hint was shown when terminal was in centered mode (#20137; thanks tekikaito).
  • Linux: Fixed duplicate font loading (#19374; thanks AlvaroParker).

Breaking Changes and Notices

  • active_pane_magnification value is no longer used, it should be migrated to active_pane_modifiers.magnification.
  • Vim: Rebound the function argument text object to g (#20104; thanks mike-lloyd03).