Releases: zed-industries/zed
Releases · zed-industries/zed
v0.165.1-pre
Bump to 0.165.1 for @cole-miller
v0.165.0-pre
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).
Breaking Changes and Notices
v0.164.2
Enhancements
General
- Improved app responsiveness in environments with multiple Python virtual environments (#21420)
- 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).
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).
- Updated tsconfig.json and package.json JSON schemas from upstream (#20910).
AI
- Restyled Apply/Discard buttons (#21017)
Vim
- Added the
=
operator, for auto-indent (#21427) - 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" } }
Bug Fixes
- Fixed
code_actions_on_format
setting when used with a language server like ZLS (#20847; thanks Techatrix). - 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). - Fixed a panic when backspacing at the start of a buffer with
always_treat_brackets_as_autoclosed
enabled. (#21482) - Fixed dismissing the macOS IME menu with escape when no marked text was present (#21413)
- Improved positioning of macOS IME overlay (#21416)
- Fixed file-less excerpts always opening instead of activating (#21472)
- Fixed a bug in the Markdown preview where images in the same paragraph would be rendered next to each other (#21247)
Breaking Changes and Notices
- Zed longer provides universal binaries for macOS releases (#21014).
v0.164.2-pre
- vim: Added the
=
operator, for auto-indent (#21427) - Fixed a panic when backspacing at the start of a buffer with
always_treat_brackets_as_autoclosed
enabled. (#21482) - (nightly only) fix ctrl-alt-X shortcuts (#21474)
- Fixed file-less excerpts always opening instead of activating (#21472)
- Improved positioning of macOS IME overlay (#21416)
- Fixed dismissing the macOS IME menu with escape when no marked text was present (#21413)
v0.164.1-pre
v0.163.3
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)