This week's release includes changes to the file finder fuzzy matching logic, support for defining the thread view's maximum width as well as keybindings for scrolling.
Shipped by the Zed Guild 🛡️
- Helix: Fix search selection range deduplication logic. (#52922; thanks feitreim)
- Repl: Fixed installing ipykernel with uv managed environements. (#51897; thanks feitreim)
- Fixed
Failed to load shell environmenterrors on Windows when users have custom terminal shell arguments configured (e.g., cmd.exe with/k echo Helloor similar startup commands). (#51787; thanks AmaanBilwar) - Fixed a bug where diagnostic underlines disappeared when "semantic_tokens" set to "full". (#53008; thanks lingyaochu)
- Fixed a bug where semantic token highlighting could not be disabled via empty rules in
settings.json. (#52963; thanks lingyaochu) - Fixed an issue in the Git graph where hovering a commit might select the wrong row after scrolling. (#53218; thanks lingyaochu)
- Fixed dev container failing to open when Docker Compose file contains
labels. (#53057; thanks OmChillure) - AI: Preserve
draft_promptwhen creating a new agent threads. (#53250; thanks AmaanBilwar) - Vim: Add editor setting for changing regex mode default in vim searches. (#53092; thanks seanstrom)
- File Finder: Improve fuzzy finding logic to be order-indenpendent. For example, searching for
Cargotoml uiwill now match oncrates/ui/Cargo.toml(#51164; thanks 11happy)
Learn about the Zed Guild.
Features
AI
- Added a max-width to the thread view for better readability, particularly when the panel is zoomed in. (#52730)
- Bedrock: Added 9 new models across 3 new providers (NVIDIA, Z.AI) and expanded coverage for existing providers (Mistral, MiniMax). (#53043; thanks 5herlocked)
- Added a setting to control
reasoning_effortin custom OpenAI-compatible models. (#50582; thanks vimsucks) - Added keybindings for scrolling in agent view. (#52657; thanks hron)
- Added new agent notification sound options. (#52284; thanks jm-observer)
- Add padding to markdown output in card layout. (#53194; thanks markosnarinian)
- Added a setting to control whether or not the button to resolve merge conflicts with the agent should be displayed. ((#53033))
Git
- Added support for git checkpoint operations in remote/Dev Container sessions, restoring the "Restore from checkpoint" button in Agent threads. (#48896; thanks oliverbarnes)
- Added support for
diff.plusanddiff.minustheme selectors in the diff syntax grammar. (#45459; thanks bcomnes)
Languages
- Added the option for highlights from languages to specify fallbacks. That means that if you have a pattern with the captures
@second.capture @first.capture, Zed will first try resolving a highlight from your theme for the code fragment using the first capture, then look for the second capture if no match for the first capture could be found. (#52575) - Improved syntax highlighting for custom jsx elements in TSX and JavaScript languages. Theme authors and users can now highlight these in their theme/theme overrides using
tag.component.jsx. (#49881; thanks finico)
Collaboration
- Added persistence to the
Show Occupied Channelscollab toggle. (#53029)
Other
- Added "Focus Follows Mouse" for editor and terminal panes. (#46740; thanks jrobsonchase)
- Added
Ctrl+Rkeybinding for opening recent projects on macOS and Linux, matching VS Code's default behavior on all platforms. (#52893; thanks davidalecrim1) - Added a
sort_ordertoproject_panelsettings which dictates how files and directories are sorted relative to each other in asort_mode. (#50221; thanks Steffen70) - Added controls to the settings UI for whether the terminal and agent panels use flexible width. (#52946)
- Added options to
pane::DeploySearchfor keymap-driven search initiation. (#47331; thanks joelazar) - Added search support (Ctrl+F / Cmd+F) to the markdown preview. (#52502; thanks Tahinli)
- Changed
zed -nto only open a new window for folders that don't already exist as a workspace root in some window. If the appropriate window already exists,-nwill activate it instead. (#53346) - Improved keyboard navigation for the recent projects modal. (#52866)
- Improved the About Zed dialog to open as a standalone window instead of a native system prompt. (#52523; thanks dve00)
- Improved the display of the sign in state in the title bar, by namely showing "Signing in" when in an active process of signing in. (#53255)
- Improved the recent projects picker to show the currently active project in the "This Window" section with a checkmark indicator. (#53302)
- Update
pane: reveal in project panelto display a notification when the user attempts to use it with an unsaved buffer or a file that is not part of the open projects. (#51246; thanks prertik) - Improved the flexibility of settings profiles by offering a way for profiles to lay atop of zed defaults, skipping user settings all together. (#52456)
- Added
--dev-containerCLI flag to automatically open a project in a dev container when.devcontainer/configuration is present. (#51175; thanks antont) - Git: Improved how we surface the affordance to resolve codebase-wide merge conflicts with the agent in the UI. (#53033)
Bug Fixes
- Fix navigation within the rules library making it so hovering the sidebar doesn't activate the visible rule. (#53264)
- Agent: Fixed an issue where sometimes you couldn't scroll all the way to the bottom of the thread even though there's visibly more content below the fold. (#53017)
- Git: Fixed display of the main worktree name in the worktree picker. (#53351)
- Fixed a bug where a cleverly crafted directory name could lead to remote code execution. (#53335)
- Fixed a bug where project symbols did not take you to the correct location when diffs are expanded. (#52268; thanks Steven-Weng)
- Fixed a crash when searching archived threads whose titles contain emoji or other non-ASCII characters. (#53114)
- Fixed a parsing failure where docker env var key/value pairs can contain an "=" character in the value. (#53134; thanks yeetypete)
- Fixed a tooltip memory leak. (#52853)
- Fixed ACP slash commands disappearing after reopening restored threads. (#53209; thanks yonisirote)
- Fixed an issue where "Hover Popover Delay" setting could not be searched or linked correctly in the settings UI. (#53359; thanks daydalek)
- Fixed app_port deserialization in dev container. (#53322; thanks KyleBarton)
- Fixed C/C++ preprocessor directives (
#include,#define, etc.) appearing unhighlighted in builtin themes. (#49031; thanks chenwuji2000-cyber) - Fixed dev container behavior for configs which use images without a dockerfile. (#53106; thanks KyleBarton)
- Fixed dev container creation modal being dismissed when clicking outside it. (#52506; thanks antont)
- Fixed docker compose Dockerfile build context not being preserved in dev_container integration. (#53140; thanks yeetypete)
- Fixed double-clicking empty space in the pinned tab row not opening a new tab when
show_pinned_tabs_in_separate_rowis enabled. (#51592; thanks mgabor3141) - Fixed ESLint not reporting diagnostics in some cases for projects that use flat-config, legacy-config, and monorepo projects across ESLint 8, 9, and 10. (#52886)
- Fixed high GPU usage from the agent panel's generating spinner while an agent is running. (#51756; thanks AndPuQing)
- Fixed horizontal rules and blockquotes not being visible in the Markdown preview. (#53223)
- Fixed HTML alignment styles not being applied in markdown previews. (#53196; thanks PlagueFPS)
- Fixed markdown escape characters being visible in LSP diagnostic messages when leading whitespace caused indented code blocks. (#51766; thanks Dnreikronos)
- Fixed mermaid diagrams not showing text in markdown preview by bundling fallback fonts and fixing generic font family resolution in the SVG renderer. (#51623; thanks Dnreikronos)
- Fixed occasional crashes when viewing a screen share. (#53088)
- Fixed rebuilding dev extensions when user git config contains url rewriting rules. (#52538; thanks brandonchinn178)
- Fixed restricted mode dialogs overflowing past the window when many unrecognized projects are open. (#53124; thanks SAKETH11111)
- Fixed serialization error with Docker Compose for dev containers. (#53090; thanks KyleBarton)
- Fixed SSH recent-project labels to show configured nicknames instead of raw hosts when available. (#53103; thanks SAKETH11111)
- Fixed theme selector losing the selected theme after filtering with a query that matches nothing and then clearing the filter. (#52461; thanks Dnreikronos)
- Fixed vim's matching '%' to handle multiline comments
/* */and preprocessor directives#if #else #endif. (#53148; thanks tanaxer01) - Fixed Windows bind mount issue with dev containers. (#53093; thanks KyleBarton)
- Fixed Zed Agent profile selector button not visually updating when cycled with Shift+Tab. (#53126; thanks k4yt3x)
- Settings text inputs no longer lose user data when blurring focus. (#53036)
- Fixed terminal cursor blink not resetting when navigating with action-bound keys (e.g.,
alt+left/righton macOS,alt+b/fon Linux). ((#53171; thanks Dnreikronos)) - Fixed devcontainer initialization erroneously requiring each service to have a volumes key. (#53137; thanks yeetypete)
- Fixed devcontainer initialization erroneously requiring source keys for all volume mounts. (#53137; thanks yeetypete)
- Fixed a crash and improved matching and highlighting in the file picker for paths with non-ASCII characters (e.g., Turkish İ, ß, fi). (#52989; thanks davidalecrim1)
- Agent: Fixed image mention labels by persisting the file name after submitting the prompt. (#52995)
- Agent: Fixed directory mentions being incorrectly parsed as files when pasting into prompt editor. (#52995)
Breaking Changes and Notices
- Removed the notification panel from Zed. (#50204)