Releases

Keep up with the weekly Zed releases.


September

0.154.0

09/19/2024

macOS
Linux

Enhancements

General

  • Added file icons to the tab switcher. Enable with by adding "tabs": {"file_icons": true} to settings (#17115; thanks Daste745).
  • Added an editor: rewrap command for rewrapping text to the maximum line width (#17909).
  • Added the ability to copy surrounding code blocks in the assistant panel into the clipboard, or inserting them directly into the editor, without manually selecting. Place cursor anywhere in a code block (marked by triple backticks) and use the assistant::CopyCode action (cmd-k c / ctrl-k c) to copy to the clipboard, or the assistant::InsertIntoEditor action (cmd-< / ctrl-<) to insert into editor (#17853; thanks thataboy).
  • Added ability to click on filepaths when using git diff inside the built-in terminal (#17446; thanks watsoncj).
  • Added theme styling option to separate terminal background view from terminal background color, for transparent terminal backgrounds (#17611; thanks AlbertMarashi).
  • Added keyboard shortcut to rearrange tabs (left: ctrl-shift-pageup, right: ctrl-shift-pagedown) like Chrome (#15583; thanks tepek2).
  • Added a way to join all panes into one with pane::JoinAll action (#17673).
  • Added a setting for cursor_shape. Can be bar, block, underline, or hollow. Default is bar (#17572; thanks thataboy).
  • Added an inlay_hints.show_background setting to allow displaying backgrounds for inlay hints in the editor (#18010).
    • This setting defaults to false.
    • If enabled, the inlay hint backgrounds will use the hint.background color from the theme.
  • Added access to the local shell environment for task context providers, enabling local Rust tool installations to function (#17964; thanks WeetHet).
  • Improved underline appearance (#17586; thanks ncor).
  • Persisted tab pin state across Zed runs (#17670).
  • Changed documentation popovers to render Markdown prose using the UI font instead of the buffer font. Code blocks still using the buffer font (#17761).
  • Improved welcome page design and added additional links (#17874).
  • Enabled dark mode for documentation (#17940).
  • Changed ui_font_size and buffer_font_size to require values to be between 6px and 100px (inclusive) (#17829).
  • Changed tab_size setting to require values be between 1 and 16 (inclusive) (#17882; thanks ihavecoke).

SSH Remoting

  • Added support for booting langauge servers (in limited circumstances) (#17655).
  • Settings files are now opened in a non-remote window (#18020).
  • Show LSP status in status bar (#17912).
  • Look up language server binaries in the environment on SSH host (#17658).

Languages

  • Improved C syntax highlighting (#17541; thanks krizej).
  • Improved C++ syntax highlighting (#17471; thanks VacheDesNeiges).
  • Changed built-in language support (Rust, Go, C, YAML, ...) to lookup language-server specific settings locally in project directory first before falling back to global value (#17753).
  • Changed rust-analyzer support to look up rust-analyzer binaries by default in $PATH. That changes the default value to something users requested (#17926).
  • Improved highlighting for property names in CSS (#17324).

Vim

  • Improved edge-case handling for ctrl-a/ctrl-x (#17644; thanks hekmyr).
  • When using OpenFile (gf in Vim mode) and the word under the cursor is not an existing file path, we now fall back and additionally check whether a file called <word-under-cursor>.<language-specific-path-suffixes> exists. That's similar to Vim's suffixesadd option (#17805).

AI

  • Added a new /delta command to re-insert changed files that were previously included in a context (#17903).
  • Added support for OpenAI o1-mini and o1-preview models (#17796).
  • Added support for fill-in-the-middle style inline completions (#17578; thanks kevmo314).
  • Added support for specifying keep_alive for Ollama AI models via settings (#17906).
  • Changed default low_speed_timeout_in_seconds option to 600 for OpenAI provider to accommodate recent o1 model release (#17804).

Bug Fixes

  • Fixed tab bar not preserving pinned tab state when an editor::NewFile action is executed (#18072).
  • Fixed macOS incorrectly using ~/.cache/zed instead of ~/Library/Caches/Zed (#17949).
  • Fixed a bug where files with colons in their names could not be opened from the Zed CLI (#17281; thanks erickguan).
  • Fixed a bug where Zed would initiate a window move and then refuse to release the mouse (#17801; thanks skytwosea).
  • Fixed a bug where file watching for Go projects would resort to watching the filesystem root (#17769).
  • Fixed a bug where an extra row was appearing in the toolbar when it was empty (#17888; thanks zhang0098).
  • Fixed a bug where the editor: toggle comments command didn't use the right comment syntax in JSX and TSX elements (#17734).
  • Fixed ctrl-b not moving the cursor (#17808).
  • Fixed display of task commands by using single quotation marks instead of backticks (#17637; thanks bestgopher).
  • SSH remoting: Fixed rename over language server (#17897).
  • SSH remoting: Fixed shell environment loading for remote shells (#17665).
  • Fixed user-configured initialization_options being passed as workspace/Configuration for the vtsls, TypeScript, and YAML language servers (#17757).
  • Fixed a wrong offset calculation in the Supermaven inline completion provider (#17925; thanks kevmo314).
  • Fixed the is and ... highlights for TypeScript (#17787; thanks AlbertMarashi).
  • Fixed a panic that could occur when expanding an excerpt within a multibuffer when the cursor was at the end of the excerpt (#17955).
  • Fixed a link in the Assistant panel to the OpenAI console (#17675; thanks aa2kb).
  • Fixed inline completions showing up in Vim normal mode (#17727).
  • Vim: Fixed gv after > and < in visual mode (#17986).
  • Fixed link to Privacy Policy in terms displayed by macOS DMG (#17877; thanks Eamon Sisk).
  • Linux: x86 binaries now require glibc >= 2.35; was >= 2.29 (https://github.com/zed-industries/zed/pull/17375).