Release notes
Zed v1.20.1
This week's release includes an optional cursor movement animation, a setting to open Markdown files directly in the rendered preview, Emmet wrap with abbreviation support, and configurable window title formatting.
Shipped by the Zed Guild 🛡️
- Added the
on_new_windowsetting to choose whether new windows show the Launchpad (launchpad, the default) or an empty untitled buffer (empty_tab). (#63522; thanks albertbogusz) - Fixed
ctrl-tabjumping to random documents when the mouse moved during a quick tab switch. (#52671; thanks OmChillure) - Fixed a crash in
editor: rotate selections forwardandeditor: rotate selections backwardwhen using cursors on nonconsecutive lines. (#63937; thanks timvermeulen) - Fixed language servers from other projects appearing in the LSP Logs view and their statuses showing in unrelated windows' status bars. (#61221; thanks aviatesk)
- Fixed layout issues in the Settings UI for recently created GitHub accounts. (#63630; thanks tidely)
- Fixed "View File History" when run from a diff view. (#63539; thanks albertbogusz)
Learn about the Zed Guild.
Features
AI
- Added Gemini 3.8 Flash to the Google AI models. (#63643; thanks macayu17)
- Improved recovery when OpenAI temporarily returns HTTP 404 errors. (#63705)
Git
- Improved repository cloning by showing live progress in the activity indicator. (#63239; thanks itsfuad)
- Improved Git Graph commit details to show the same full commit timestamp as the
Datecolumn. (#62679; thanks dem1tris)
Languages
- Added Emmet's wrap with abbreviation support (
editor: wrap with abbreviation). (#63383) - Added syntax highlighting for the C23
constexprkeyword. (#63833; thanks Jesse-Cooper) - Improved language server request routing to respect dynamically registered document selectors. (#59243; thanks aviatesk)
- Improved Go syntax highlighting by distinguishing control-flow keywords from other keywords. (#63769; thanks Gami13)
macOS
- Improved detection of worktree root path changes to use fewer file descriptors. (#63863)
Other
- Added configurable window title formatting with the
window_title_formatandwindow_title_separatorsettings. (#54379; thanks jknlsn)- Currently supported variables are
${projectName},${fileName},${filePath},${relativePath},${branch},${remoteName},${remoteHost},${appName}, and${separator}. - These settings will be populated when importing from VS Code's settings, if
window.titleandwindow.titleSeparatorare set.
- Currently supported variables are
- Added the
markdown_preview.open_markdown_files_in_previewsetting to open Markdown files directly in the rendered preview. (#63462; thanks joshkent94) - Added an optional cursor movement animation, enabled by setting
cursor_animation.enabledtotrue. (#63195; thanks tiny-paris) - Added a status bar countdown for pending multi-stroke key bindings. (#63343)
- Added a tooltip showing the file path when hovering over files and folders in the Project Panel. (#63299; thanks skmanoj322)
- The tooltip can be disabled, or its delay configured, by changing the
project_panel.title_tooltip_delaysetting.
- The tooltip can be disabled, or its delay configured, by changing the
- Added
dev: Debug Filesystem Watchingto inspect local watcher events, watch roots, and scan exclusions, and export diagnostic captures as JSON. (#64186) - Added the
command_palette.use_command_historysetting to disable history-based command palette ranking without erasing history. (#64181) - Improved multi-cursor editing performance. (#60605; thanks Rani367)
- Improved installed size on macOS and Linux by stripping debug symbols from release binaries, making them roughly 25% smaller. (#63429)
- Improved recent commands in the command palette with history indicators, a wider layout, and controls to remove individual commands from history using
shift-backspaceor the remove button. (#64181) - Improved worktree scan performance by removing redundant executable checks. (#63190; thanks hamishc)
- Raised the default open file descriptor soft limit at startup on Unix/macOS to prevent
EMFILE(Too many open files) errors in large workspaces. (#64188)
Bug Fixes
- Fixed private files being shared with collaborators through project search. (#63860; thanks 39ali)
- Fixed a settings key containing a quote or a backslash corrupting
settings.json. (#62949; thanks interkelstar) - Fixed the Git Panel's History tab, commit search, branch diff, and opening a commit by ref failing when a branch name matched a path in the working tree. (#63666; thanks itsfuad)
- Fixed Git Panel keybindings matching the Changes tab while the History tab was active. (#63689; thanks shindgew)
- Fixed diagnostics from the previous language server staying on a file after changing its language. (#63460; thanks kjanat)
- Fixed syntax highlighting for injected languages in strings containing interpolations. (#49265; thanks jeffbrennan)
- Fixed a BasedPyright memory leak caused by incorrect workspace diagnostics polling. (#63336)
…