Releases: zed-industries/zed
Releases · zed-industries/zed
v0.158.2
v0.159.0-pre
Enhancements
General
- Added file icons for Zig, Julia, SCSS, HCL, Nix, and Roc files (#19529; thanks PixelJanitor).
- Added macOS Services menu (fixed global macOS shortcuts) (#16959).
- Added highlighting for "invisible" unicode characters. This includes ASCII control codes, and best effort detection across the rest of the Unicode range (#19298).
- Added support for detecting images with non-lowercase file extensions (#19304).
- Added a user-visible error message when a manual save fails (#19311).
- Improved [re]open for external worktree entries (#19612).
- Improved prompt for generating context editor summaries (#19530; thanks wolffiex).
- Moved Git hunk controls to the right of the header (#19515).
SSH Remote
- Added support for machines with older versions of glibc, or not using glibc at all (#19571).
- Added project panel symlink icons for the remote clients (#19464).
- Improved reconnect modal's robustness (#19567).
- Improved error handling (#19533).
- Improved reconnects (#19485).
Languages
Vim
- Added support for incrementing and decrementing numbers with leading zeros in Vim mode (#18362; thanks ThomAub).
Bug Fixes
- Fixed directory name comparison on Linux not considering the case (#19211; thanks wannacu).
- Fixed issue where auto-update would quietly fail if rsync not available (#19392).
- Fixed code action for
Fix with assistant
appearing when assistant was disabled (#19553). - Fixed empty keystroke with simulated IME (#19414; thanks brunocalza).
- Fixed a bug where auto-indent didn't work correctly when pasting with multiple cursors on adjacent lines (#19521).
- Fixed incorrect checkbox placement in Markdown preview (#19383; thanks zfz7).
- Fixed Markdown preview rendering of empty list items (#19449; thanks mgsloan).
- Fixed inconsistent serialization of workspace paths order (#19232; thanks eth0net).
- Fixed error handling when no project paths could be opened (#19320).
- SSH Remoting: Fixed SSH fingerprint prompt (#19526).
- SSH Remoting: Fixed
Save As
to pick the file on the remote (#19517). - SSH Remoting: Fixed message reliability across restarts (#19398).
- SSH Remoting: Fixed
cmd-o
to always open a local project (#19376). - SSH Remoting: Fixed regression with ability to set arguments for SSH (#19336).
- SSH Remote: Fixed a panic when doing
zed ssh://server/
(#19322).
Breaking Changes and Notices
v0.158.1
Enhancements
General
- Added the ability to click intermediate auto-folded project panel entries (#18956).
- Added a new
editor: format selections
action that allows formatting only the currently selected text via the primary language server (#18752; thanks terziele). - Added an
editor: reload file
command (#18395; thanks schpet). - Improved performance on macOS when working with very long lines (#19215).
- Adjusted the divider rule in LSP hovers to be more muted (#19255; thanks dyedgreen).
- Switched to using the system locale in the terminal instead of forcing
en_US.UTF-8
(#18967; thanks shish). - Improved Supermaven completions by preventing suggestions based on outdated cursor positions (#18858; thanks kevmo314).
Languages
- Improved language auto-detection of TypeScript, JavaScript, and shell scripts. Added shebang detection for ts-node, tsx, bun, Deno JS, Deno TS, dash, and ash (#19114).
- Improved automatic indentation behavior in JSX (#18816; thanks schpet).
Vim
- Added basic support for Alacritty's vi mode to the built-in terminal (which is using Alacritty under the hood). Vi mode can be activated with
ctrl-shift-space
, enabling basic motions to navigate the terminal's scrollback buffer (#18715; thanks NukaCody). - Added support for using the insert button to activate vim mode (#19245; thanks axelcarl).
- Added
:e[dit]
,:e[dit]!
, which call theeditor: reload file
command (#18395; thanks schpet). - Added
z
keybindings for scrolling (#18928; thanks syndesis). - Changed
/
in Vim mode to always reset the search options in the search bar back to regex-only. That means using*
(in normal or visual mode) still works with its options, but the next/
will reset the search options. That makes it much closer to how/
behaves in Vim (#19058). - Improved vim mode's whole word match by using the search bar's "Match whole words" option, instead of wrapping the search term with
\<...\>
. This allows easier toggling of whole-word search, and it also works without enabling the regex mode (#18725; thanks osa1). - Added a
regex
option tovim::Search
command to allow disabling regex search by default in the keymap (#19177; thanks osa1).
Example usage:
{
"context": "VimControl && !menu",
"bindings": {
"/": ["vim::Search", { "regex": false }],
}
}
Bug Fixes
- Fixed Astro LSP interactions (#19266).
- Fixed a bug where prettier was attempting to install too frequently (#19283).
- Fixed a bug where language servers from PATH would sometimes be prioritized over the ones from
direnv
(#19144; thanks WeetHet). - Fixed
\s
in regex search not behaving correctly (#19241). - Fixed an issue where the project search would sometimes show "Search all files" when there were no results (#19108; thanks CharlesChen0823).
- Fixed a bug where relative paths were copied incorrectly from tab context menu (#19206; thanks CharlesChen0823).
- Fixed a bug where Supermaven was crashing on deleting non-ASCII text (#19153; thanks JunkuiZhang).
- Fixed tab closing not respecting history. You can use the
tabs.activate_on_close = neighbour
settings to activate adjacent tabs, if you prefer that behavior (#19150). - Fixed support for macOS Keyboard Shortcuts for specific menu items like
Window->Zoom
(#18921; thanks henryhchchc). - Fixed a bug where auto-indent was not enabled while typing in multi-buffers (#18984).
Breaking Changes and Notices
- Renamed one
cursor_shape
fromunderscore
tounderline
(#19028).
v0.158.1-pre
Bug fixes
- Fixed Account URL (#19300)
v0.158.0-pre
Enhancements
General
- Added the ability to click intermediate auto-folded project panel entries (#18956).
- Added a new
editor: format selections
action that allows formatting only the currently selected text via the primary language server (#18752; thanks terziele). - Added an
editor: reload file
command (#18395; thanks schpet). - Improved performance on macOS when working with very long lines (#19215).
- Adjusted the divider rule in LSP hovers to be more muted (#19255; thanks dyedgreen).
- Switched to using the system locale in the terminal instead of forcing
en_US.UTF-8
(#18967; thanks shish). - Improved Supermaven completions by preventing suggestions based on outdated cursor positions (#18858; thanks kevmo314).
Languages
- Improved language auto-detection of TypeScript, JavaScript, and shell scripts. Added shebang detection for ts-node, tsx, bun, Deno JS, Deno TS, dash, and ash (#19114).
- Improved automatic indentation behavior in JSX (#18816; thanks schpet).
Vim
- Added basic support for Alacritty's vi mode to the built-in terminal (which is using Alacritty under the hood). Vi mode can be activated with
ctrl-shift-space
, enabling basic motions to navigate the terminal's scrollback buffer (#18715; thanks NukaCody). - Added support for using the insert button to activate vim mode (#19245; thanks axelcarl).
- Added
:e[dit]
,:e[dit]!
, which call theeditor: reload file
command (#18395; thanks schpet). - Added
z
keybindings for scrolling (#18928; thanks syndesis). - Changed
/
in Vim mode to always reset the search options in the search bar back to regex-only. That means using*
(in normal or visual mode) still works with its options, but the next/
will reset the search options. That makes it much closer to how/
behaves in Vim (#19058). - Improved vim mode's whole word match by using the search bar's "Match whole words" option, instead of wrapping the search term with
\<...\>
. This allows easier toggling of whole-word search, and it also works without enabling the regex mode (#18725; thanks osa1). - Added a
regex
option tovim::Search
command to allow disabling regex search by default in the keymap (#19177; thanks osa1).
Example usage:
{
"context": "VimControl && !menu",
"bindings": {
"/": ["vim::Search", { "regex": false }],
}
}
Bug Fixes
- Fixed Astro LSP interactions (#19266).
- Fixed a bug where prettier was attempting to install too frequently (#19283).
- Fixed a bug where language servers from PATH would sometimes be prioritized over the ones from
direnv
(#19144; thanks WeetHet). - Fixed
\s
in regex search not behaving correctly (#19241). - Fixed an issue where the project search would sometimes show "Search all files" when there were no results (#19108; thanks CharlesChen0823).
- Fixed a bug where relative paths were copied incorrectly from tab context menu (#19206; thanks CharlesChen0823).
- Fixed a bug where Supermaven was crashing on deleting non-ASCII text (#19153; thanks JunkuiZhang).
- Fixed tab closing not respecting history. You can use the
tabs.activate_on_close = neighbour
settings to activate adjacent tabs, if you prefer that behavior (#19150). - Fixed support for macOS Keyboard Shortcuts for specific menu items like
Window->Zoom
(#18921; thanks henryhchchc). - Fixed a bug where auto-indent was not enabled while typing in multi-buffers (#18984).
Breaking Changes and Notices
- Renamed one
cursor_shape
fromunderscore
tounderline
(#19028).
v0.157.5
v0.157.4
Enhancements
General
- Added support for color swatches in the language server completions list (#18665; thanks thecrypticace).
- Streamlined the creation of new branches from the branch selector (#18712).
- Added a notice in the activity indicator if an error occurs while loading the shell environment (#18567; thanks WeetHet).
Languages
Example task configuration:
[
{
"label": "Run ${ZED_STEM}",
"command": "gcc",
"args": [
"$ZED_FILE",
"-o",
"${ZED_DIRNAME}/${ZED_STEM}.out",
"&&",
"${ZED_DIRNAME}/${ZED_STEM}.out"
],
"tags": ["c-main"]
}
]
Vim
- Added
regex
andcaseSensitive
arguments tovim::MoveToNext
andvim ::MoveToPrev
commands, for toggling regex and case sensitive search (#18429; thanks osa1).
Example:
{
"context": "VimControl && !menu",
"bindings": {
"*": ["vim::MoveToNext", { "regex": false, "caseSensitive": false }],
"#": ["vim::MoveToPrev", { "regex": false, "caseSensitive": false }]
}
}
Bug Fixes
- Fixed a potential hang and panic when an SSH project goes through a slow reconnect.
- Fixed completion items being applied improperly on fast typing (#18907).
- Fixed an issue where diff hunks at the boundaries of multi buffer excerpts could not be expanded (#18885).
- Fixed external formatters not being found, even when they were available in the
$PATH
of a project (#18611). - Fixed
option-t
andoption-shift-t
in terminal on macOS (#18749). - Fixed code action list not being horizontally aligned correctly (#18748; thanks RemcoSmitsDev).
- Fixed tab switcher icons not respecting the
tabs.git_status
setting (#18733; thanks Daste745). - Linux: Fixed a bug where the cursor would be the wrong size on Wayland (#18642).
Breaking Changes and Notices
- Removed built-in support for Protocol Buffers, in favor of making it available as an extension. The Protocol Buffers extension will be suggested for download when you open a
.proto
file (#18704).
v0.157.4-pre
v0.156.2
v0.157.3-pre
- Fixed completion menu rendering.