Releases: zed-industries/zed
Releases · zed-industries/zed
v0.162.3-pre
- Fixed holding down space in the terminal (preview only) (#20879)
- Fixed slash commands from other slash commands (like
/default
) not being evaluated (Preview only). (#20864) - Fixed a crash on Big Sur (preview only) (#20846)
- Improve prompt for generating title summaries, avoiding preambles (#20822)
- Stopped showing signature help after completions by default (#20726)
- (Preview) Fixed broken rust-analyzer downloads (#20718)
v0.162.2-pre
v0.162.1-pre
v0.162.0-pre
The remainder of the bugs squashed during last week's Quality Week are shipping with today's preview release!
Enhancements
General
- Repl: Added kernel picker (#20274).
- Added setting to display error and warning indicators in project panel items (#18182; thanks nilskch).
- Added macOS key equivalents to
cmd-shift-p
debug: Open Key Context View
(#20530). - Added support for kernelspecs based on python environments (#20467).
- Added initial support for FreeBSD (#20480; thanks CalebHeydon).
- Added language setting to disable inline comments in certain scopes. Example:
{"languages": {"Go": {"inline_completions_disabled_in": ["comment", "string"]}}}
(#20508). - Added ability to configure
rootFontSize
for thetailwindcss-language-server
. Example settings:{"lsp": {"tailwindcss-language-server": {"settings": { "rootFontSize": 50}}}}
(#20500). - Added shortcuts for
open settings
andrevert selected hunks
to JetBrains keymap (#20414; thanks trin94). - Added initial set of default emacs keybindings (#19605; thanks vextorspace).
- Added a
project panel: remove from project
action so that users can now add a keybinding to trigger it:project_panel::RemoveFromProject
(#20360). - Added support for look-around in project search (#20308; thanks wbbradley).
- Changed project panel to mark files when opening them, which should make it more intuitive to mark multiple files after opening a single one (#20412).
- Improved
terminal.working_directory
when editing settings.json or other non-project files (#18251). - Improved task tabs to always rerun tasks on click (#20591).
- Improved runnable's refresh timings during project search (#20470).
- Improved the deleting or trashing of files by showing a confirmation prompt when unsaved changes exist (#20172).
- Improved window title by showing workspace name before filename (#20310; thanks schpet).
- Improved revealing items for outline and project panels (now center of the list is preferred) (#20349).
- Improved contrast in default One themes (#20304).
- Repl: Only show session-oriented
repl::
actions for editors after a session has been created (#20396).
AI
- Changed the model selector in the assistant panel to only show configured models (#20392).
- Improved knowledge of which model is used when with alternative inline models turned on (#20350).
- Improved UI feedback when inserting
/delta
without new changes (#20356).
SSH Remoting
- Improved error message on unsupported OS/Arch (#20529).
- Improved support of Zed remote server compilation for riscv64 (#20489; thanks ifsheldon).
Languages
- Python: Added
python-lsp-server
as a secondary built-in language server (#20358). - Zig: Changed treesitter grammars to the official Zig grammar (#20004; thanks xdBronch).
Bug Fixes
- Fixed detection of
detect_venv.directories
being ignored by a worktree (#20227; thanks SirSilver). - Fixed context menus not cycling over its edge when selecting items (#20592).
- Fixed the inability to navigate into project search input with the keyboard (#20579).
- Fixed an issue with image output from REPL kernels that didn't use base64 padding (#20561).
- Fixed window drawing when switching X11 workspaces, particularly for tiling window managers such as i3wm and XMonad (#20535).
- Fixed
editor::Rewrap
now preserves cursors and only inserts whitespace by using character-level diff instead of line-level diff (#20368). - Fixed a long initial delay when performing a project search in a large repository (#20513).
- Fixed a bug in toolchain selector that caused it to not pick up venvs for tabs before the user interacted with them (#20488).
- Fixed a bug in the language selector that caused it to pick up Markdown as the language for a buffer up until the tab was interacted with (#20488).
- Fixed
language server logs
menu only showing a single entry when using SSH remoting (#20495). - Fixed language server names showing up only as
"node"
(#20428). - Fixed an issue where the image preview would not update when the underlying file changed (#20374; thanks wbbradley).
- Fixed an issue where completions were not triggering when multiple language servers were used for a single file (#20471).
- Fixed a bug where you could not jump to an untitled file from the multibuffer headers (#20469).
- Fixed a bug that allowed toggling comments in readonly buffers (#20464; thanks antaz).
- Fixed a bug where toggling line numbers would incorrectly hide whitespace indicators (#20427).
- Fixed project panel entries flickering the border when the user clicks on another entry to open it (when preview tabs are disabled) (#20417).
- Fixed a bug where
[]
was considered a clickable link in the terminal (#20386; thanks MrSubidubi). - Fixed a bug where a directory would be expanded when dropped onto itself in project_panel (#20365; thanks matubu).
- Fixed inline completions (Copilot, Supermaven, ...) taking over when a snippet completion was active. That resulted in
tab
not working to jump to the next placeholder in the snippet (#20300). - Fixed a bug where file-closing actions would close pinned tabs (#19593; thanks axelcarl).
- Typescript: Fixed a bug where abstract classes weren't shown correctly in the outline view when editing code (#20377).
- Fixed Zed when the directory that you opened is renamed (#20313).
- SSH Remoting: Fixed password dialog for remote server showing ligatures (#20549).
Breaking Changes and Notices
We have made a number of changes to keyboard shortcuts to support non-US keyboard layouts. See the blog post for more information on our general approach, or the issue for details about what changed.
-
All builtin shortcuts that were bound to
alt-[a-z]
have been rebound, as these shortcuts intefered with typing on non-US keyboards. You can restore these by adding them to your keymap file. The complete list of changes is:Old Binding Mapped To Function alt-b
alt-right
editor::MoveToNextWordStart
alt-d
alt-delete
editor::DeleteToNextWordEnd
alt-f
alt-left
editor::MoveToNextWordEnd
alt-shift-f
ctrl-shift-f
project_panel::SearchInDirectory
...
v0.161.2
v0.161.1
🍂🎉 We squashed some bugs during last week's Quality Week, and half of these fixes have made their way into this week's stable release! 🐛🐞🐜 + 🔨💥 = 😵⚰️!
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 areveal
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 thatx
does not clobber your clipboard (#20277). - Improved outline panel keyboard navigation (#20385).
- 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 toeditor::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 theEditor
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).
- Disabled REPL buttons and actions for remote projects and collaboration (#20397).
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 ./...
andgo 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
anda
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 examplectrl-v escape
inserts an escape character(U+001B), orctrl-v u 1 0 E 2
types ტ (U+10E2). As in vimctrl-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](https://github.com/zed-industries/zed...
v0.161.1-pre
- Improved outline panel keyboard navigation (#20385).
- Fixed preview tabs being disabled in code, even if they were enabled in the settings (#20416).
- Fixed a regression where key binding symbols weren't shown in certain pickers (#20367).
- Disabled REPL buttons and actions for remote projects and collaboration (#20397).
v0.161.0-pre
🍂🎉 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 areveal
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 thatx
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 toeditor::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 theEditor
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 ./...
andgo 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
anda
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 examplectrl-v escape
inserts an escape character(U+001B), orctrl-v u 1 0 E 2
types ტ (U+10E2). As in vimctrl-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 w...
v0.160.7
Enhancements
General
- Added support for new models with GitHub Copilot Chat (OpenAI o1-mini, o1-preview; Anthropic Claude 3.5 Sonnet (#19968)).
- Added support for
zed://ssh/<connection>/<path>
(#19970). - 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.
- The instance URL must have
- 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 ofsettings.json
(#19900). This button takes the place of the previous/workflow
command, but it is experimental and may change! - 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).
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).
- Fixed image support in REPL for certain versions of matplotlib that included preceding and/or trailing whitespace in the base64 image data (#19977).
- Fixed Zed incorrectly changing soft wrap based on .editorconfig contents (#20198).
- Fixed outline panel navigation with
menu::SelectNext
andmenu::SelectPrev
(#20083). - Fixed outline panel-related performance issues when selections change in the large document (#20031).
- Fixed deserialization error with Gemini 1.5 Pro (#20200; thanks zeitlings).
- SSH Remoting: make downloading binary on remote more reliable (#19983).
- SSH Remoting: Fixed a bug where we could cache an HTML error page as a binary (#19990).
- SSH Remoting: Fixed compatibility with busy box gunzip (#20046).
- SSH Remoting: Fixed compatibility with non-sh/bash/zsh shells (#20046).
- SSH Remoting: Fixed fallback to uploading binary when downloading on the remote fails (#19991).
- SSH Remoting: Fixed panic when restoring untitled unsaved buffers (#20215).
v0.160.7-pre
Bug fixes
- Remoting: Fixed panic when restoring untitled unsaved buffers (#20215).