Releases: zed-industries/zed
Releases · zed-industries/zed
v0.171.3-pre
- Added support for DeepSeek to the Assistant. (#23800)
v0.171.2-pre
v0.170.4
v0.170.3
v0.171.1-pre
v0.170.2
v0.171.0-pre
Enhancements
General
- Added
editor: swap selection ends
action which swaps the cursor location from the beginning/end of a given selection (#23428). - Added
workspace: activate next window
andworkspace: activate previous window
actions for cycling between windows (#23356; thanks 0xtimsb). - Added new command to move the focused panel to the next valid dock position –
workspace: move focused panel to next position
(#23317; thanks dinocosta). - Added scrollbar to terminal (#23256; thanks 0xtimsb).
- Added auto-expand for directories on hover for a while during dragging (#23080; thanks 0xtimsb).
- Persisted font size changes made with actions to the user settings (#23265).
- Tab switcher: Preserve selected position when tab is closed (#22861; thanks aborg-dev).
- Improved which keybindings are selected for display. Now later entries within
bindings
will take precedence. The default keymaps have been updated accordingly (#23378). - Improved handling of errors within the user keymap file. Parse errors within context, keystrokes, or actions no longer prevent loading the key bindings that do parse (#23113).
- Improved app responsiveness when encountering a large number of diagnostics (#23122).
- The tooltip for inline git blame now waits a bit before disappearing when the mouse leaves it (#22644).
- Linux: Added support for the Cut, Copy, Paste, Undo, Redo, New, Open, Save, and Find keys to the default keymap (#22997; thanks Jules-Bertholet).
- Linux: Added a way to use audio in collaboration rooms (#23191).
Language Support
- Improved syntax highlight for Python: new capture groups for
@function.arguments
,@function.kwargs
,@type.class.inheritance
,@keyword.definition
,@attribute.builtin
and@type.builtin
(#21454; thanks elisiariocouto).
AI
- Added deepseek-r1 to ollama context size defaults (#23420).
- Switched from using
o1-preview
too1
for OpenAI provider (#23425).
Vim, Emacs, and Keybinds
- Added Emacs mark mode (
ctrl-space
/ctrl-@
to set mark;ctrl-x ctrl-x
to swap mark/cursor) (#23297). - Added Vim
:!
,:<range>!
and:r!
support (#23169). - Added Vim
!
operator in normal/visual mode (#23169).
Bug Fixes
- Fixed
%
in Vim mode not working correctly for multi-char brackets, such asdo/end
in Elixir or\begin
and\end
in LaTeX (#23471). - Fixed broken symlinks when installing dev extensions (#22396; thanks Qkessler).
- Fixed renaming project entries in remote development (#23382; thanks aborg-dev).
- Fixed context menus staying open when action was triggered via keyboard (#23380).
- Fixed project panel colors when one git repository is nested beneath another (#23300).
- Fixed an issue where docks did not remember the active panel (#23207; thanks AaronFeickert).
- Fixed outline panel navigation in unnamed files (#23273).
- Linux: Fixed missing task terminal output for short-running commands (#23085; thanks aborg-dev).
- Fixed a crash that occurred when adding a new file or directory to the first folded directory (#23217; thanks 0xtimsb).
- Fixed
editor: copy path
not work in ssh remote (#23235; thanks CharlesChen0823). - Fixed active line number highlight (#23266).
- Fixed the "Matches multiple schemas when only one must validate" warning for the
assistant
setting (#23190). - Fixed inlay hints handling for the same position (#23156).
Breaking changes
selection
keyboard context has been replaced withselection_mode
(#23297).
v0.170.1
Enhancements
General
- Improved app responsiveness with large number of diagnostics (#23122).
- Improved visibility of errors from language servers by reporting them in the UI when the user invokes an LSP action (#23011).
- Improved formatting of selection by adding support for multiple cursors (#22933).
- Improved diagnostic excerpts by using syntactic info to determine the context lines to show (#22858).
- Added an error toast that is shown when a dev extension fails to install (#22914).
- Added the process ID (PID) to terminal tab tooltips (#21955; thanks Angelk90).
- Added
project_panel.entry_spacing
setting to configure spacing between entries in the project panel:comfortable
(default) orstandard
(#16255; thanks mikesun). - Improved keymap settings file with enhanced JSON schema information, enabling better
json-language-server
completions and tooltips, especially for actions requiring input (#23044).
Language Support
- Added support for checking for
yaml-language-server
on the$PATH
(#22036; thanks henryhchchc). - Changed default formatter for C/C++ to be the primary language server, not Prettier. Format-on-save is still disabled by default for C/C++, but if one uses the
editor: format
command now, it will default to the language server.clangd
can format C++ files, whereas prettier cannot (#23112, #23119). - Fixed rename symbols action when the language server does not have the capability to prepare renames - such as
luau-lsp
(#23000). - Added configuration sent on initialization to the
Server Info
section of the language server logs (#23084). - Improved LSP debug logs by defaulting to soft wrap and folding a suffix of long lines. Also adds autoscroll, so if the cursor is on the last line of the logs they will scroll like
tail
(#22996).
AI
- Added support for LM Studio to the Assistant (#23097; thanks yagil).
- Renamed Github Copilot Chat "o1-preview" model to "o1" (#23038; thanks SkywardSyntax).
Vim, Emacs, and Keybinds
- Vim: Added SubWord TextObject (#22387; thanks 0x2CA).
- Vim: Added support for the popular vim_sneak plugin. This is disabled by default and can be enabled by binding a key to the
Sneak
andSneakBackward
operators (#22793; thanks nilehmann). - Emacs: Added support for
ctrl-t
transposing characters on Linux (#22974). - Added
Diagnostics
key context allowing Diagnostic pane-specific keybinds (#23043; thanks everdrone). - macOS: Added
fn-f
keyboard shortcut for fullscreen toggle (#23184).
Bug Fixes
- Fixed a bug binding to
fn-X
(where X is a printing key) on macOS (#23070). - Fixed highlighting of "tool" directives in go.mod (#22995).
- Fixed error message about shell environment failing to load when joining projects in collaboration (#23138).
- Fixed Vim
dxG
delete to line (#23053; thanks 0x2CA). - Fixed handling of selection ranges when formatting selections within a multibuffer (#22929).
- Fixed result count in branch picker searches (#22908; thanks AaronFeickert).
- Fixed issue with project-specific env not being found via .envrc (direnv) on Linux (#22803; thanks 0xtimsb).
- Fixed outline items not scrolling properly (#22890).
- Fixed extend/shrink selection in JetBrains keymap on macOS (#22814; thanks narqo).
- Fixed completion labels becoming overly large due to LSP completion items with newlines (#23409).
- Changed the default keybinding to accept partial inline completions from
ctrl-right
toctrl-cmd-right
on macOS, becausectrl-right
is already bound to jump to the end of the line (#23357) - Fixed an issue where horizontal scrollbars of editors would always be painted (even if there is no horizontal scrolling to be done) (#23339).
- Fixed a bug that could prevent accepting a partial inline completion (#23327).
v0.170.1-pre
- Fixed completion labels becoming overly large due to LSP completion items with newlines (#23409)
- Changed the default keybinding to accept partial inline completions from
ctrl-right
toctrl-cmd-right
on macOS, becausectrl-right
is already bound to jump to the end of the line. (#23357) - Fixed an issue where horizontal scrollbars of editors would always be painted (even if there is no horizontal scrolling to be done) (#23339)
- Fixed a bug that could prevent accepting a partial inline completion. (#23327)