0.173.8
02/13/2025
macOS
Loading...
Loading...
Linux
Loading...
Loading...
Introducing Edit Prediction. Powered by Zeta, our open-source, open-dataset language model.
To learn more, check out the blog post.
Enhancements
- Allow searching within the results of a project search (#23819).
- Icon themes: Added the ability for extensions to change the file icon for the following file types:
- Bicep (
.bicep
) (#24757; thanks jezikk). - C# (
.cs
) (#24711; thanks sethstha) - Cue (
.cue
) (#24711; thanks sethstha) - GitLab YAML (
gitlab-ci.yml
) (#24711; thanks sethstha) - Luau (
.luau
) (#24711; thanks sethstha) - Markdown (
.md
,.markdown
) (#24648) - React (
.mjsx
,.cjsx
,.mtsx
,.ctsx
) (#24659, thanks twlite) - Solidity (
.sol
) (#24711; thanks sethstha) - Svelte (
.svelte
) (#24644) - Stylehint (
stylelint.config.cjs
,stylelint.config.js
,stylelint.config.mjs
, etc.) (#24605; thanks radmorecameron)
- Bicep (
- Icon themes: Added support for configuring both a light and dark icon theme and switching between them based on system preference (#24702).
{
"icon_theme": {
"mode": "system",
"light": "Zed (Default)",
"dark": "Zed (Default)"
}
}
- Added an option to open the icon theme selector from the user menu (#24482; thanks beniaminzagan).
- Added icon support for additional Prettier config file types (#24496; thanks sethstha).
- Added a way to access the extension store from the theme selector to make it easier to find new themes (#24195).
- Added an indicator in About/CopySystemSpecs when running in debug mode (#24457).
- Added an explicit background color to the syntax tree view (#24524; thanks kaf-lamed-beyt).
- Added
ToggleStagedSelectedDiffHunks
action for staging and unstaging individual diff hunks (#24606). - Added commands
editor: copy file name
andeditor: copy file name without extensions
(#22174; thanks ankddev). - Added dimensions and file size information for images (#21675; thanks kaf-lamed-beyt).
- Unified selection directions when performing
editor: select all matches
(#23993). - Pass the
NODE_EXTRA_CA_CERTS
environment variable through to NPM when installing language servers (#23662; thanks jswny). - Improved default completion label fallback (#23909).
- Improved
project_panel::NewSearchInDirectory
to search the parent directory when triggered on a file (#23696; thanks wblazer). - Improved divider in status bar by rendering it only conditionally (#24114; thanks ksweetie).
- Improved close active item to better handle pinned tabs: pinned tabs now stay open when using close shortcuts, auto focuses to any other non-pinned tab instead (#23488).
- Improved the
debug::OpenSyntaxTreeView
action by automatically opening in split to the right (#24452). - Improved outline panel initial update (#24500).
- Improved bracket auto-closing in PHP language extension (#24558; thanks MrSubidubi).
- Linux: Move from using openssl for collaboration to rustls/ring (#24141).
- Modified some keymap actions and settings for naming consistency (#23834). To ensure a smooth transition, we implemented a settings migrator. If Zed detects that you’ve customized a keybinding with an outdated name, you’ll receive a toast notification. This notification includes an action that, when activated, creates a backup of your current settings and updates the setting name while preserving your custom binding. Our aim is to establish consistent and easily-searchable action names. For any potential future changes, we’ll continue to use the migrator, so that you do not have to manually update your
keymap.json
file.
Vim
- Added
e
for entire file object.yae
to copy entire file (#24039). - Added
ctrl-w a
to close all items in the current pane (#24162). - Added
gr
for replace with register (#24326). - Added a default keymap that returns the user to
normal
mode after pressing escape during a pendingvisual-surround
operation (#24484; thanks roycrippen4). - Introduced first version of
:set
with support for[no]wrap
,[no]number
,[no]relativenumber
(#24209; thanks maxbucknell). - Improved multi-line operations (#24518; thanks 5brian).
- Preserve trailing whitespace in inner text object selections (#24481; thanks 5brian).
- Load vim keymap after a user-configured keymap (#24161).
AI
- Added OpenAI o3-mini support for the Assistant (#24044).
- Added Copilot Chat support for o3-mini and remove support for o1-mini (#24080; thanks @SkywardSyntax).
Languages
- Add basic support for autoindent functionality in bash/shell files (#24156).
- Added file type associations for ESLint flat config files (#23994; thanks radmorecameron).
- Added support for Go fuzz tests (#24107; thanks @cborup).
Bug Fixes
- Fixed multiple save modals appearing when app is being closed multiple times (#24180).
- Fixed a bug where closing an empty, named, file would warn about unsaved content (#24171).
- Fixed display, revert and undo of deleted hunks when the file is empty (#24168).
- Fixes an issue with search actions so that they now execute on the clicked pane rather than the focused pane when using search UI in multiple panes (#24037).
- Fixed a bug where pressing ctrl/cmd (or other modifiers) after mouse down but before mouse up still triggered ctrl/cmd+click behavior (e.g. "go to definition") (#22988; thanks smoores-dev).
- Fixed mouse navigation buttons on some devices (Logitech, Mac OS) (#23332; thanks srsly4).
- Fixed some modifier changed events not being present on Linux X11. This affected things like the project search palette, where holding ctrl would not cause the split options to appear. (#24154).
- Fixed a bug where shifting focus to the terminal panel could be slow (#24172).
- Fixed an issue in certain themes where diffs would render with the wrong red and green colors for deletions and insertions (#24151).
- Fixed a crash that could happen when expanding certain diff hunks.
- Fixed a bug where diff hunks were not syntax highlighted when reopening a project with previously-opened buffers.
- Fixed an issue where language server diagnostic codes would be converted to strings leading to errors with some language servers (#24347).
- Fixed diff hunks not appearing when opening a single file within a larger repository (#24377).
- Fixed Around Subword No Include Whitespace (#24356; thanks 0x2CA).
- Fixed an issue where hidden files would have the default icon instead of the correct one (#24391).
- Fixed an issue where files with specific icons (such as
eslint.config.js
) would not have their specific icon without a leading.
(.eslint.config.js
) (#24391). - Fixed deletion diff hunks not being syntax highlighted in some cases (#24413).
- Fixed display of symbols such as
in hover popovers (#24388; thanks WeetHet). - Fixed bug where
select_next_git_entry
project panel action would only select a previous entry or the currently selected entry (#24217; thanks Anthony-Eid). - Fixed a bug where toggling a diff hunk that immediately precedes another hunk would act on both hunks (#24355).
- Fixed a crash in Wayland-based compositors like Sway when switching windows via the keyboard (#24379).
- Fixed an edge case with multibuffers that could break language features within them (#22958).
- Added a notification for deprecated settings and keymaps, allowing you to migrate them with a single click. A backup of your existing keymap and settings will be created in your home directory (#23834).
- Fixed a bug where the
json
file icon could not be replaced via icon themes (#24432; thanks sethstha). - Fixed file icons not being properly updated upon icon theme upgrade or uninstall (#24449; thanks MrSubidubi).
- Fixed an issue where worktree root name couldn't be renamed in project panel (#24487).
- Fixed outline panel not focusing editor when outlines and search results were opened with
outline_panel::Open
(#24535). - Fixed outline panel issues in a multi-worktree set-up (#24538).
- Fixed hover tooltips appearing after related element is pressed (#24540).
- Fixed a rare crash during syntax highlighting (#24492; thanks Liamolucko).
- Fixed an issue where, if multiple formatters were configured, they would run in parallel instead of sequentially, leading to unwanted artifacts (#24584). and incorrect output.
- Fixed issue where horizontal scrollbar would scroll few characters width when soft wrap is active (#24735).
- Fixed
editor::GoToDiagnostics
action stuck when multiple diagnostics groups belong to the same place (#24697). - Fixed a crash caused by calling
editor::SelectPrevious
twice in a row (#24660). - Fixed a bug that caused OS-level CA certificate bundles to not be respected (#24656).
- Fixed keybind hints being improperly scaled for custom ui font sizes (#24708; thanks MrSubidubi).
- Fixed an issue where subdirectories of an already opened project, when opened via the terminal, would open in the existing project instead of a new window (#24560).
- Fixed
ctrl-{<,>,+,-}
for resizing docks in addition to panes (#23874; thanks AidanV). - AI: Corrected Github Copilot o3-mini context length (#24152; thanks chapel).
- AI: Fixed an issue where the
inline_completions > disabled_globs
setting would not be respected when manually requesting a completion (editor: Show inline completion
) (#24121). - AI: Fixed usage of nonquantized models with LM Studio (#24054; thanks @cborup).
- Vim: Fixed an issue where doing line-wise operations in vim mode on the last line of a file with no trailing newline would not work properly (#24409).
- Vim: Fixed
/
/?
,n
/N
,gn
/gN
,*
/#
in project search results (#23819). - Vim: Fixed navigating to end of line with inlay hints (#23975).
- Vim: Fixed an issue where changing the case of an object at the end of the line would not change the case of the last character in the object (#24163).
- Vim: Fixed a bug where around word operations were selecting indentation (#24635; thanks 5brian).