Releases: zed-industries/zed
v0.167.1-pre
- The Python virtual environment activation command is no longer shown in the terminal output by default. (#22256)
- Fixed shell environments not being loaded properly to be used by language servers and terminals in case a project had multiple worktrees.
- Fixed
Failed to run direnv
messages showing up in case Zed restored a window that contained a worktree with a single file. #21972
v0.167.0-pre
Enhancements
General
- Multibuffers now support folding (hiding) results from a given file/buffer together (#22046).
- Added
.prettierignore
support to the Prettier integration (#21297; thanks 0xtimsb) - Added
MoveItemToPane
andMoveItemToPaneInDirection
actions (#21760; thanks Igonato). - Improved
editor::OpenUrl
to also handle the selected portion of a URL (#21825; thanks 0xtimsb). - Clicking on empty space in the Project Panel now deselects all selected items (#22073; thanks 0xtimsb)
- Improved diff syntax highlighting (#21740; thanks uncenter)
- Improved performance of the cursor position indicator in single buffers (#21946)
- gpui: Add linear gradient support to fill background (#20812; thanks huacnlee)
- Added file icon for metal (#21720; thanks nervenes)
- Added file icon for gitcommit files (#21935)
- Added the ability to spawn tasks in the center pane, when spawning from a keybinding (#22004):
[ { // Assuming you have a task labeled "echo hello" "ctrl--": [ "task::Spawn", { "task_name": "echo hello", "target": "center" } ] } ]
Languages and AI
- Changed how inline completions (Copilot, Supermaven, ...) and normal completions (from language servers) interact. Zed will now also show inline completions when the completion menu is visible. The user can accept the inline completion with
<shift-tab>
and the active entry in the completion menu with<tab>
(#21858, #22069, #22077, #22093). - Improved completions menu layout to be more stable and use available space better (#22102).
- Added Restart Button to Inline Assistant When Prompt Is Unchanged (#20439; thanks g0t4)
- Improved ElixirLS LSP autocomplete to show module, function and struct field details (#21666; thanks jotaviobiondo).
- Suggest Cython extension for syntax highlighting of
.pyx
,.pxd
and.pxi
files (#22053; thanks lgeiger).
Vim, Emacs and Keymaps: Oh my!
- Added
Editor::DuplicateSelection
action. Bound tocmd-d
/ctrl-d
in JetBrains/SublimeText keymaps (#21154 and #21976; thanks CharlesChen0823) - Added
Editor && selection
context for keybindings that are active when there is a text selection (#21927; thanks ozanmakes). - Addded
ToggleRegex
action (macos:cmd-alt-x
, linux:ctrl-alt-x
) for buffer search (#21799; thanks CharlesChen0823) - vim: Add support for
:g/<pattern>/<cmd>
and:v/<pattern>/<cmd>
(#22177) - vim: Add support for [x/]x (#22176)
- vim: Do not dismiss inline completions when leaving insert/replace mode with
<esc>
(#22075). - vim: Improved cursor shape behavior to better match Vim (#21502; thanks 5brian).
- emacs: Improved
ctrl-a
/ctrl-e
/home
/end
behavior (#21923) - emacs: Added for
ctrl-s
/ctrl-r
/ctrl-g
for navigating buffer search results (#21923)
Settings
- Added
hover_popover_delay
to control the delay before showing hover boxes (#22006; thanks AaronFeickert). - Added
lsp_highlight_debounce
to configure delay for querying highlights from language server (#21702; thanks xzbdmw). - Added
horizontal_scroll_margin
andscrollbar.axis
settings (#19495; thanks frqubit). - Added
max_tabs
to limit the maximum number of open tabs (#18933; thanks BuonOmo).
Bug Fixes
- Fixed an issue where the working directory for a task was sometimes incorrectly set as a file instead of a directory (#22004).
- Fixed
task::Spawn
sort order so project tasks are shown first. (#21706; thanks IViktorov). - Fixed running Python commands with paths that include spaces (#21981; thanks silvanocerza)
- Fixed splitting terminal items in the center (#22088).
- Fixed disabled extensions blocking scroll events in the extensions list (#22189).
- Fixed panic in linked editing ranges (#21905)
- Fixed panic when jumping between panes (#21948)
- Fixed panic when streaming language model completions (#21914)
- Fixed terminal pane tabs arrangement and closing (#22013).
- Fixed Hover Popover Font Callbacks (#21945; thanks 0x2CA)
- Fixed opening repos when .git is a soft link (#21153; thanks can2049)
- Fixed creation of project panel items when the editor is dismissed via the mouse (#21045; thanks CharlesChen0823)
- Fixed private files not being redacted when not part of a larger worktree (#21861)
- Fixed language servers starting when doing project search (#21787)
- Fixed high CPU usage when ignoring warnings in the diagnostics view (#21787)
v0.166.1
Enhancements
General
- Added support for opening images, either by dropping them onto a pane or by opening them via the command line (#21803).
- Added
left_neighbour
option to thetabs.activate_on_close
setting to activate the left adjacent tab on tab close (#21800; thanks MrSubidubi). - Added
show_completions_on_input
andshow_completion_documentation
per-language settings. These settings were available before, but were not configurable per-language (#21722). - Added support for language server actions being executed on file rename (#21651).
- Added
editor: insert uuid v4
andeditor: insert uuid v7
actions for inserting generated UUIDs into the editor (#21656). - Added setting (
"project_panel": {"show": "always"}
) to display error and warning indicators in tabs (#21383; thanks nilskch). - Added
editor::OpenContextMenu
action to open context menu at current cursor position (#21494). - Changed the include warnings toggle in the diagnostic tab to be global for a Zed session (#21618).
- Improved key equivalents for Norwegian Extended layout (#21665).
- Linux: Added preliminary support for voice chat and viewing screenshares (#21550).
Languages
- Added support for
*.C
and*.H
(uppercase) to be recognized as C++ (#21647; thanks budde25). - Added JavaScript runnable detection for
context
andsuite
methods for mochajs framework (#21719; thanks RemcoSmitsDev). - Added YAML and TOML frontmatter highlighting for markdown (#21503; thanks uncenter).
Vim
- Added delete action to HelixNormal mode (#21544; thanks leroycep).
- Added
[ c
&] c
to select prev/next git modified file within the project panel (#20941; thanks Anthony-Eid). - Added
[ d
&] d
to select prev/next file with diagnostics from an LSP within the project panel (#20941; thanks Anthony-Eid). - Added
{
&}
to select prev/next directory within the project panel (#20941; thanks Anthony-Eid).
Bug Fixes
- Fixed missing
musl
dependency required to build from source on ArchLinux (#21830; thanks connortsui20). - Fixed diagnostics editor not scrolling properly under certain conditions (#21209).
- Fixed completion list moving around on load of documentation. The previous approach to mitigating this was to rate-limit the fetch of docs, configured by a
completion_documentation_secondary_query_debounce
setting, which is now deprecated (#21716). - Fixed right click selection behavior in project panel (#21707; thanks 0xtimsb).
- Fixed a bug where
cmd-escape
could act like.
(#21667). - Fixed a bug where the
panel.background
color was not used in the file tree (#21559; thanks nilskch). - Fixed detection of git remotes when using SSH and username is not "git" (#21508; thanks nickbreaton).
- Fixed opening git worktrees that were created from a bare repository (#21596).
- Fixed completion item labels not being updated after the resolve for non-LSP compliant servers (#21521).
- Fixed an issue with multiline code actions' rendering by forcing them to be single line (#21409; thanks WeetHet).
- SSH Remoting: Fixed an issue where some dev extensions would not work after being uploaded to the remote server (#21761).
Breaking Changes and Notices
editor::ShowInlineCompetion
is nowoption-tab
on macOS (notoption-/
).editor::{Next,Previous}Completion
areoption-tab
andoption-shift-tab
(notoption-[
andoption-]
). This fixes typing characters generated by option-{/,[,]} on keyboards like Croatian (#21669).- In keymap.json
"use_layout_keys": true
is now the default. If you want to opt-out of this behaviour, set"use_key_equivalents": true
to have keys mapped for your keyboard (#21662). See documentation.
v0.166.1-pre
Bug Fixes
- Reverted "Resolve documentation for visible completions (#21705)" released in v0.166.0-pre.
v0.166.0-pre
Enhancements
General
- Linux: Added preliminary support for Zed Collaboration voice chat and viewing screenshares (#21550).
- Added support for opening images via drag and drop or terminal (#21803).
- Added
left_neighbour
option to thetabs.activate_on_close
setting to activate the left adjacent tab on tab close (#21800; thanks MrSubidubi). - Added
show_completions_on_input
andshow_completion_documentation
per-language settings. These settings were available before, but were not configurable per-language (#21722). - Added support for language server actions being executed on file rename (#21651).
- Added
editor: insert uuid v4
andeditor: insert uuid v7
actions for inserting generated UUIDs into the editor (#21656). - Added setting (
{"tabs": {"show_diagnostics": "all"}}
) to display error and warning indicators in tabs (#21383; thanks nilskch). - Added
editor::OpenContextMenu
action to open context menu at current cursor position (#21494). - Changed the include warnings toggle in the diagnostic tab to be global for a Zed session (#21618).
- Improved LSP resolution of documentation for completions. Only query documentation for visible completions and reduce redundant queries (#21705).
- Improved key equivalents for Norwegian Extended layout (#21665).
Languages
- Added support for
*.C
and*.H
(uppercase) to be recognized as C++ (#21647; thanks budde25). - Added JavaScript runnable detection for
context
andsuite
methods for mochajs framework (#21719; thanks RemcoSmitsDev). - Added support for Markdown frontmatter highlighting (YAML and TOML) (#21503; thanks uncenter).
Vim
- Added delete action to HelixNormal mode (#21544; thanks leroycep).
- Added
[ c
&] c
to select prev/next git modified file within the project panel (#20941; thanks Anthony-Eid). - Added
[ d
&] d
to select prev/next file with diagnostics from an LSP within the project panel (#20941; thanks Anthony-Eid). - Added
{
&}
to select prev/next directory within the project panel (#20941; thanks Anthony-Eid).
Bug Fixes
- Fixed missing
musl
dependency required to build from source on ArchLinux (#21830; thanks connortsui20). - Fixed diagnostics editor not scrolling properly under certain conditions (#21209).
- Fixed completion list moving around on load of documentation. The previous approach to mitigating this was to rate-limit the fetch of docs, configured by a
completion_documentation_secondary_query_debounce
setting, which is now deprecated (#21716). - Fixed right click selection behavior in project panel (#21707; thanks 0xtimsb).
- Fixed a bug where
cmd-escape
could act like.
(#21667). - Fixed a bug where the
panel.background
color was not used in the file tree (#21559; thanks nilskch). - Fixed detection of git remotes when using SSH and username is not "git" (#21508; thanks nickbreaton).
- Fixed opening git worktrees that were created from a bare repository (#21596).
- Fixed completion item labels not being updated after the resolve for non-LSP compliant servers (#21521).
- Fixed an issue with multiline code actions' rendering by forcing them to be single line (#21409; thanks WeetHet).
- SSH Remoting: Fixed an issue where some dev extensions would not work after being uploaded to the remote server (#21761).
Breaking Changes and Notices
editor::ShowInlineCompetion
is nowoption-tab
on macOS (notoption-/
).editor::{Next,Previous}Completion
areoption-tab
andoption-shift-tab
(notoption-[
andoption-]
). This fixes typing characters generated by option-{/,[,]} on keyboards like Croatian (#21669).- In keymap.json
"use_layout_keys": true
is now the default. If you want to opt-out of this behaviour, set"use_key_equivalents": true
to have keys mapped for your keyboard (#21662). See documentation.
v0.165.4
Enhancements
General
- Added the ability to split the terminal panel (#21238).
- Added an uninstall script. To uninstall zed, run
zed --uninstall
via the CLI binary (#21213; thanks WeetHet). - GIF images now play when opened (#21274; thanks dovakin0007).
- Reduced the amount of
completionItem/resolve
calls done in the completion menu (#21286). - Improved suggestions for snippets (#21524; thanks 0xtimsb).
- Improved outline panel opening behavior to so the editor centers on the selection (#21375)
- Stop scrolling when clicking to the edges of the visible text area. Use
autoscroll_on_clicks
to configure this behavior. (#20287; thanks haruleekim) - Published updated JSON Schema for themes v0.2.0.json (#21428).
- Added "Copy Extension ID" to extension details menu (#21395; thanks uncenter).
- Removed project panel
Trash
action for remote projects. (#21300; thanks Moshyfawn) - Enabled toolchain virtual environment in new terminals (#21388; thanks [sn1c]
- Added
show_user_picture
setting (default: true) to allow users to hide their profile picture in titlebar (#21526).
Languages
- Added textobject support to erlang, haskell, lua, php, prisma, proto, toml, and zig (#21488)
- Added new
editor::FoldFunctionBodies
action to fold all function bodies (textobject languages only) (#21504) - Improved runnable detection for JavaScript/Typescript files (#21246; thanks RemcoSmitsDev).
- Added Python syntax highlighting for forward references (#20766; thanks JaagupAverin).
- Enabled clangd's dot-to-arrow feature (#21142; thanks feeiyu).
- Added support for running Rust examples as tasks (#21412).
.pcss
files are now recognized as CSS (#21402; thanks MrSubidubi)- Add V file icon (#20017; thanks spytheman)
Vim
- Added
==
indent line (#21490) - Added settings to control
highlight_on_yank
orhighlight_on_copy
(#21479; thanks RustyDev24). - Added motions
[[
,[]
,]]
,][
for navigating by section,[m
,]m
,[M
,]M
for navigating by method, and[*
,]*
,[/
,]/
for comments. These currently only work for languages built in to Zed, as they are powered by new tree-sitter queries (#20924). - Added new text objects:
ic
,ac
for inside/around classes,if
,af
for functions/methods, andg c
for comments. These currently only work for languages built in to Zed, as they are powered by new tree-sitter queries (#20924).
Bug Fixes
-
Fixed incorrect "close tab" keybinding shown in context menu of the terminal panel tabs on Linux and Windows (#21254).
-
Fixed buffer search for queries ending with non-letter characters (#19152; thanks CharlesChen0823).
-
Fixed underline when hovering a code link not showing when
multi_cursor_modifier
iscmd_or_ctrl
(#20949; thanks remixz). -
Fixed cursor position displaying when no buffers open (#21295).
-
Fixed folds not opening when jumping from search results multibuffer (#21433)
-
Fixed diagnostics status bar flashing when typing (#21463).
-
Fixed AI Context menu text wrapping causing overlap. (#21438; thanks huacnlee)
-
Fixed showing prev/next hunk navigation buttons when there is only one hunk (#21437)
-
Fixed workspace serialization of collapsed panels (#21408)
-
Fixed item closing overtly triggering save dialogues (#21374).
-
Fixed Copilot Chat OAuth Token parsing (#21360; thanks fred-sch).
-
Fixed mouse cursor size and blur issues on Wayland (#21373; thanks 0xtimsb)
-
Fixed Zed not visible in the "Open with" list in the file manager for Flatpak. (#21177; thanks 0xtimsb)
-
Fixed a panic when folding in a multibuffer (#21511).
-
Fixed a rare panic when changing tab (#21510)
-
Fixed a panic when closing tabs containing new unsaved files (#21480).
-
Fixed an issue where the app could crash when opening the markdown preview with a malformed image tag (#21616)
-
Fixed an edge case with appliance of autocompletions in VTSLS that could result in incorrect edits being applied. (#21755)
Breaking Changes and Notices
v0.165.4-pre
v0.165.3-pre
- Fixed an issue where the app could crash when opening the markdown preview with a malformed image tag (#21616)
v0.165.2-pre
Bump to 0.165.2 for @osiewicz
v0.165.1-pre
Bump to 0.165.1 for @cole-miller