Releases: zed-industries/zed
Releases · zed-industries/zed
v0.164.0-pre
Enhancements
General
- Added image rendering to the Markdown preview (#21082)
- Added
file_scan_inclusions
setting to force Zed to index files that match the provided globs, even if they're gitignored (#16852; thanks Hawkbawk). - Added task settings to suppress summary and command line in the task output
show_summary
/show_command
(#20920; thanks omennia). - Added support for
ctrl-k
/ctrl-y
alternate cut/yank buffer on macOS (#21003).
AI
- Restyled Apply/Discard buttons (#21017)
Vim
- Added support for
ctrl-w _
andctrl-w =
(#21227). - Added
ctrl-w {+,-,>,<}
for resizing the current pane (#21038; thanks AidanV). - Added vim "unmatched" motions:
]}
,])
,[{
and[(
(#21098; thanks helgemahrt). - Added
vii
,vai
andvaI
for selectingindent-text-object
(#21121; thanks vultix). - Fixed
:
on the welcome screen (#20937) - Restores
dia
to mean "delete in argument" instead of "delete within angle brackets". (#20918)
To keep this in your own keymap use:{ "context": "vim_operator == a || vim_operator == i || vim_operator == cs", "use_layout_keys": true, "bindings": { "a": "vim::AngleBrackets" } }
SSH Remoting
- Added support for extension languages on the remote server (#20049).
Languages
- Python: pylsp will now use version installed in user venv, if one is available (#21069).
- Python: Added
string.doc
python syntax highlighting to class and module-level docstrings. (#20486; thanks clwainwright) - JSON: Added json-language-server configuration via settings (#20748; thanks 4teapo).
- Fix the
code_actions_on_format
setting when used with a language server like ZLS (#20847; thanks Techatrix). - Updated tsconfig.json and package.json JSON schemas from upstream (#20910).
Bug Fixes
- Fixed diagnostics editor not scrolling properly under certain conditions (#21209).
- Fixed multiple project panel selection bugs (#20859 and #20577; thanks 0xtimsb)
- Fixed eslint 404 downloads (#21233).
- Fixed incorrect handling of the completion list defaults (#21202)
- Fixed enter not working and menu toggle binding not shown in the file finder menu (#21087).
- Fixed a bug where it is possible to get in near-unrecoverable panel state by resizing the panel past the edge of the workspace (#20637).
- Fixed a bug where the non-OS save dialog would fail to save with "file exists" (#21080)
- Fixed symlink resolution when opening projects from within Zed. Previously this only happened within zed's cli, but that broke file watching on Linux when opening a symlinked directory (#21039).
- Fixed remote server panic of "local task dropped by a thread that didn't spawn it" (#21022).
- Fixed terminal title and breadcrumbs behavior (#20997).
- macOS: Add keybind for
ctrl-home
/ctrl-end
(MoveToBeginning
,MoveToEnd
) (#21007). - macOS: Fixed for
cmd-shift-\
(cmd-|
) not working for MoveToEnclosingBracket (#21207). - macOS: Fixed cmd-shift-e / ctrl-shift-e (
pane::RevealInProjectPanel
/project_panel::ToggleFocus
) to better my VSCode behavior (#21228).
Breaking Changes and Notices
- Zed longer provides universal binaries for macOS releases (#21014).
v0.163.2
Enhancements
General
- Added an
editor: open docs
action to open links to documentation via rust-analyzer (#19233; thanks wanlufun). - Added a setting to adjust the width of the file finder modal (#18682; thanks isaacdonaldson).
"file_finder": { "modal_width": "medium" },
- Added indication of deleted files. Files deleted outside of Zed will have a strikethrough in the title of the tab (#20711).
- Sublime Keymap: Added
editor::SelectAllMatches
compatibility bind (find_all_under
). Mac:ctrl-cmd-g
and Linux:alt-f3
(#20866). - Sublime Keymap: Improved tab switching (#20547; thanks ShinyChang).
- Enabled snippet parsing to successfully parse snippets with choices (#13958; thanks Anthony-Eid).
- Show completion menu when tabbing to a snippet variable with multiple choices (#13958; thanks Anthony-Eid).
- Improved detection of
.env.*
files as Shell Scripts by default (#20429). - Improved the vertical movement behavior when reaching the start or end of a document. The selection goal is now maintained, aligning with native text field functionality (#20705; thanks lord).
- Improved handling of externally deleted files: auto-save will be disabled, multibuffers will treat this as a save conflict, and single buffers will ask for restore confirmation (#20742).
- Changed the tab bar height according to
ui-density
(#19076; thanks Aaron-212). - Updated Copilot's underlying version to Copilot.vim 1.41.0 (#20520).
- Linux: Added Support for Back/Forward multimedia keys (#20695).
AI
- Added inline hints that guide users on how to invoke the inline assistant and open the assistant panel. (These hints can be disabled by setting
{"assistant": {"show_hints": false}}
) (#20824). - Updated the Assistant to show more details in error cases (#20740).
Vim
- Added
:<range>cpplink
to copy a permanent git link to the highlighted range to the clipboard (#20707). - Added support for
%
to jump between pairs of tags (#20536; thanks hrou0003). - Added support for
ctrl-o
in insert mode to enter temporary normal mode (#19454; thanks axelcarl).
SSH Remoting
- Improved environment variable handling for SSH remotes (#20641).
Languages
- Python: Improved syntax highlighting (#20487, #20763):
- Differentiated between function and method calls and definitions.
function.definition
matches the highlight for e.g. rust,function.call
is new (thanks clwainwright). - Differentiated between class calls and class definitions (thanks clwainwright).
- Better highlighting of function decorators (the
@
symbol is punctuation, and now the decorator itself has afunction.decorator
tag) (thanks clwainwright). - Made
cls
a special variable (likeself
) (thanks clwainwright). - Added
ellipsis
as a built-in constant (thanks clwainwright). - Added syntax highlighting for attribute docstrings (thanks JaagupAverin).
- Differentiated between function and method calls and definitions.
- Python: Added pytest-based test discovery and runnables (#18824; thanks jrderuiter).
- Python: Added a configurable option for switching between unittest and pytest as a test runner under Python language settings. Set "TASK_RUNNER" to "unittest" under task settings for Python if you wish to use unittest to run Python tasks; the default is pytest (#18824; thanks jrderuiter).
- Python: Improved toolchain selection for Conda environments (#20702; thanks wolffiex).
- Python: Improved handling of triple-quote strings (#20664).
- Python: Improved detection of Poetry-based environments (#20669).
- Python: tasks now use active toolchain to run (#20667).
- HTML: Added injections for Markdown syntax highlighting (#20527; thanks uncenter).
- JavaScript, TypeScript, and TSX: Highlighted
?
and:
in ternary expressions as operator (#20573; thanks Huliiiiii). - Added some more common Prettier plugin base paths (#20758; thanks sweetppro).
Bug Fixes
- Fixed ESLint 404 downloads (#21233).
- Fixed for cmd-shift-\ (cmd-|) not working for MoveToEnclosingBracket on macOS (#21207).
- Fixed cmd-shift-e / ctrl-shift-e (pane::RevealInProjectPanel / project_panel::ToggleFocus) to better my VSCode behavior (#21228).
- Fixed a crash when opening a file containing a very large number of ascii control characters on one line (#20841).
- Fixed Rust LSP adapter on FreeBSD (#20736; thanks CalebHeydon).
- Fixed quirks around dropping project entries into tab bar that might have led to tabs being pinned sometimes (#20722).
- Fixed rendering of dragged project panel entries (#20686).
- SSH Remoting: Fixed accidental use of GNU netcat instead of nc provided by macOS (#20751).
- SSH Remoting: Correctly show an error when SSH'ing into a 32-bit arm system (#20618).
- (macOS) Fixed a panic when using the Pinyin keyboard with emojis (#20969)
Breaking Changes and Notices
- Removed the
low_speed_timeout
setting from LLM provider settings, since it was only used to increase the timeout to give LLMs more time, but since we don't have any other use for it, we simply remove the setting to give LLMs as long as they need (#20681).
v0.163.2-pre
- Python: tweaked default pylsp settings to be less noisy (mypy and pycodestyle are no longer enabled by default). (#21027)
v0.162.5
v0.163.1-pre
- Fixed keyboard shortcuts on Spanish ISO keyboards (#20998)
- (macOS) Fixed a panic when using the Pinyin keyboard with emojis (#20969)
- Fixed a panic when reloading keymaps (#20965)
- Fixed a bug where tapping
shift
could type "shift" if you had a binding on "shift shift" (#20957) - Fixes opening the menu when Chinese Pinyin keyboard is in use (#20915)
v0.162.4
v0.163.0-pre
Enhancements
General
- Added an
editor: open docs
action to open links to documentation via rust-analyzer (#19233; thanks wanlufun). - Added a setting to adjust the width of the file finder modal (#18682; thanks isaacdonaldson).
"file_finder": { "modal_width": "medium" },
- Added indication of deleted files. Files deleted outside of Zed will have a strikethrough in the title of the tab (#20711).
- Sublime Keymap: Added
editor::SelectAllMatches
compatibility bind (find_all_under
). Mac:ctrl-cmd-g
and Linux:alt-f3
(#20866). - Sublime Keymap: Improved tab switching (#20547; thanks ShinyChang).
- Enabled snippet parsing to successfully parse snippets with choices (#13958; thanks Anthony-Eid).
- Show completion menu when tabbing to a snippet variable with multiple choices (#13958; thanks Anthony-Eid).
- Improved detection of
.env.*
files as Shell Scripts by default (#20429). - Improved the vertical movement behavior when reaching the start or end of a document. The selection goal is now maintained, aligning with native text field functionality (#20705; thanks lord).
- Improved handling of externally deleted files: auto-save will be disabled, multibuffers will treat this as a save conflict, and single buffers will ask for restore confirmation (#20742).
- Changed the tab bar height according to
ui-density
(#19076; thanks Aaron-212). - Updated Copilot's underlying version to Copilot.vim 1.41.0 (#20520).
- Linux: Added Support for Back/Forward multimedia keys (#20695).
AI
- Added inline hints that guide users on how to invoke the inline assistant and open the assistant panel. (These hints can be disabled by setting
{"assistant": {"show_hints": false}}
) (#20824). - Updated the Assistant to show more details in error cases (#20740).
Vim
- Added
:<range>cpplink
to copy a permanent git link to the highlighted range to the clipboard (#20707). - Added support for
%
to jump between pairs of tags (#20536; thanks hrou0003). - Added support for
ctrl-o
in insert mode to enter temporary normal mode (#19454; thanks axelcarl).
SSH Remoting
- Improved environment variable handling for SSH remotes (#20641).
Languages
- Python: Improved syntax highlighting (#20487, #20763):
- Differentiated between function and method calls and definitions.
function.definition
matches the highlight for e.g. rust,function.call
is new (thanks clwainwright). - Differentiated between class calls and class definitions (thanks clwainwright).
- Better highlighting of function decorators (the
@
symbol is punctuation, and now the decorator itself has afunction.decorator
tag) (thanks clwainwright). - Made
cls
a special variable (likeself
) (thanks clwainwright). - Added
ellipsis
as a built-in constant (thanks clwainwright). - Added syntax highlighting for attribute docstrings (thanks JaagupAverin).
- Differentiated between function and method calls and definitions.
- Python: Added pytest-based test discovery and runnables (#18824; thanks jrderuiter).
- Python: Added a configurable option for switching between unittest and pytest as a test runner under Python language settings. Set "TASK_RUNNER" to "unittest" under task settings for Python if you wish to use unittest to run Python tasks; the default is pytest (#18824; thanks jrderuiter).
- Python: Improved toolchain selection for Conda environments (#20702; thanks wolffiex).
- Python: Improved handling of triple-quote strings (#20664).
- Python: Improved detection of Poetry-based environments (#20669).
- Python: tasks now use active toolchain to run (#20667).
- HTML: Added injections for Markdown syntax highlighting (#20527; thanks uncenter).
- JavaScript, TypeScript, and TSX: Highlighted
?
and:
in ternary expressions as operator (#20573; thanks Huliiiiii). - Added some more common Prettier plugin base paths (#20758; thanks sweetppro).
Bug Fixes
- Fixed a crash when opening a file containing a very large number of ascii control characters on one line (#20841).
- Fixed Rust LSP adapter on FreeBSD (#20736; thanks CalebHeydon).
- Fixed quirks around dropping project entries into tab bar that might have led to tabs being pinned sometimes (#20722).
- Fixed rendering of dragged project panel entries (#20686).
- SSH Remoting: Fixed accidental use of GNU netcat instead of nc provided by macOS (#20751).
- SSH Remoting: Correctly show an error when SSH'ing into a 32-bit arm system (#20618).
Breaking Changes and Notices
- Removed the
low_speed_timeout
setting from LLM provider settings, since it was only used to increase the timeout to give LLMs more time, but since we don't have any other use for it, we simply remove the setting to give LLMs as long as they need (#20681).
v0.162.3
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).
- Improved prompt for generating title summaries, avoiding preambles (#20822).
- Stopped showing signature help after completions by default (#20726).
- 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::MoveToNe...
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)