8269e98
windows: Bump WindowsTerminal (#52562)
Click to expand commit body
Release Notes: - N/A or Added/Fixed/Improved ...
Lukas Wirth created
8269e98
windows: Bump WindowsTerminal (#52562)
Release Notes: - N/A or Added/Fixed/Improved ...
Lukas Wirth created
9649a72
Fix wrong selection in outline panel (#52673)
Fix the outline entry sort order to prefer the entry whose heading starts at the cursor position. Closes #52418 Release Notes: - Fixed Outline Panel selection being off-by-one in Markdown heading boundaries --------- Co-authored-by: dino <dinojoaocosta@gmail.com>
Om Chillure and dino created
bb14648
icons: Add EditorConfig file icon (#52705)
Release Notes: - Added file icon for EditorConfig (`.editorconfig`) --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Tom Zaspel and Danilo Leal created
0640e55
editor: Merge additional completion edits into primary undo transaction (#52699)
Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Closes #45986 Release Notes: - Fixed postfix snippets now creating 1 `undo` actions instead of 2.
HuaGu-Dragon created
2b4c217
editor: Fix LSP extension commands failing at end of file (#52651)
## Context Closes #51330 When the cursor is at the very end of a file, `find_specific_language_server_in_selection` in `crates/editor/src/lsp_ext.rs` silently skips the selection because the anchor's `buffer_id` is `None`. This causes `editor: switch source header` (clangd) and rust-analyzer extension commands (`expand macro`, `open docs`, `open playground`) to do nothing. The fix falls back to the singleton buffer's ID when the anchor has no `buffer_id`. ## How to Review Single file change in `crates/editor/src/lsp_ext.rs`. The diff is small β pre-compute the singleton buffer ID, then use it as fallback in the `filter_map` closure. An integration test verifies the fix. ## Self-Review Checklist - [x] Reviewed own diff for quality, security, and reliability - [x] No unsafe blocks - [x] Tests pass (639 editor tests, 0 failures) - [x] Manual testing: switch source header works at beginning, middle, and end of C++ file ## Test Plan - [x] New integration test: `test_find_language_server_at_end_of_file` β verifies `find_specific_language_server_in_selection` returns `Some` at both beginning and end of file - [x] Confirmed the test fails without the fix (assertion on "should find language server at end of file") - [x] Manual: open a C++ file with clangd, place cursor at very end, run `switch source header` β now correctly opens the header - [x] Manual: verify it still works at beginning and middle of file (non-regression) - [x] `cargo test -p editor` β 639 passed, 0 failed Release Notes: - Fixed `editor: switch source header` and other LSP extension commands not working when the cursor is at the very end of a file. --------- Co-authored-by: Florian Trehaut <florian.trehaut@hillcode.fr> Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Florian TREHAUT , Florian Trehaut , and Kirill Bulatov created
4317359
agent_ui: Fix auto-scroll in subagent cards (#52719)
Due to the async nature of markdown parsing, sometimes subagent cards would not scroll fully to the bottom of the content because the `scroll_to_bottom` function was being called just while the agent was running... and sometimes, it'd finish running before the markdown had fully finished parsing. The solution is to remove the `is_running` conditional. Release Notes: - Agent: Improved auto-scroll of subagent content in preview cards, ensuring the content is always visible until the end.
Danilo Leal created
2c7ce42
sidebar: Clarify which projects are remote in the UI (#52720)
This PR adds a little server icon to the side of the project label to clarify that's a remote project. This is particularly useful when having the remote and non-remote version of a project open in the same multi-workspace/window. <img width="400" height="282" alt="Screenshot 2026-03-30 at 7β― 59@2x" src="https://github.com/user-attachments/assets/9bb3e02e-a64d-412e-88ef-57b18fb5e13d" /> Release Notes: - N/A
Danilo Leal created
6332655
collab_panel: Persist favorited channels in the global KV store (#52600)
Follow up to https://github.com/zed-industries/zed/pull/52541 Favorite channels weren't appearing on multiple windows because they were serialized in a given window's collab panel state. This PR moves them to the global key value store. Also, solved a little issue with non-unique ids which was making clicking on the original instance of a favorite channel do nothing. Release Notes: - N/A
Danilo Leal created
28b73a1
agent_ui: Refine the thinking block display design (#52608)
Follow up to https://github.com/zed-industries/zed/pull/51525 Closes https://github.com/zed-industries/zed/issues/52452 This PR further refines the behavior of thinking blocks in the agent panel. In the PR linked above, I had previously made it auto-expand while running but then auto-collapse when finished. Although that reduced the sense of staleness when the model is thinking for too long, it caused layout shift that many found jarring. Therefore, this PR changes the behavior so that, by default, thinking blocks render "almost" fully expanded. They will have a max-height and will auto-scroll as content streams in. Therefore, this design fully removes layout shift and still allows you to sort of follow along the generated thinking content, even though sometimes it can be fast, in which case you can always fully expand it. Lastly, I'm also adding a "thinking display" setting that allows to choose between the "automatic" behavior (what I just described, the default), always expanded, or always collapsed. Here's a preview: https://github.com/user-attachments/assets/c96c89c7-40ed-4e9b-9ffc-f70b0659be47 Release Notes: - Agent: Refined thinking block display, removing layout shift while still allowing it to be readable while it streams in. It comes together with a "Thinking Display" setting to control the behavior
Danilo Leal created
f051677
sidebar: Rework archive feature (#52534)
## Context
<!-- What does this PR do, and why? How is it expected to impact users?
Not just what changed, but what motivated it and why this approach.
Link to Linear issue (e.g., ENG-123) or GitHub issue (e.g., Closes #456)
if one exists β helps with traceability. -->
## How to Review
<!-- Help reviewers focus their attention:
- For small PRs: note what to focus on (e.g., "error handling in
foo.rs")
- For large PRs (>400 LOC): provide a guided tour β numbered list of
files/commits to read in order. (The `large-pr` label is applied
automatically.)
- See the review process guidelines for comment conventions -->
## Self-Review Checklist
<!-- Check before requesting review: -->
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [ ] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
Release Notes:
- N/A
---------
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Bennet Bo Fenner and Ben Brandt created
b59ae5c
Bump Rust version to 1.94 (#51086)
Closes #ISSUE Before you mark this PR as ready for review, make sure that you have: - [ ] Added a solid test coverage and/or screenshots from doing manual testing - [ ] Done a self-review taking into account security and performance aspects - [ ] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - N/A
Piotr Osiewicz created
7f7520b
agent_ui: Fix expanded message editor jitters while typing (#52612)
Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Closes #52132. *This PR previously also fixes the "expanded message editor not taking up full height" part, but #52545 has already fixed that. Yet it seems to leave a new issue (that was previously not revealed) behind, as follows.* This PR fixes the `Full + ExcludeOverscrollMargin` editor mode (which the agent panel message editor uses in expanded mode), which could jitter while typing because render-time layout and scroll-position updates were clamping against different effective `scroll_beyond_last_line` policies. This PR fixes that inconsistency so the expanded editor stays stable while typing, and adds a regression test covering `ExcludeOverscrollMargin` scroll clamping. https://github.com/user-attachments/assets/86abf04d-c1a1-419b-96d0-8ca097c0acb0 https://github.com/user-attachments/assets/03dbdc3c-f58e-4378-8c6a-4bda1ae425c8 Release Notes: - Fixed the expanded Agent Panel message editor so it no longer jitters while typing. --------- Co-authored-by: MrSubidubi <finn@zed.dev>
Yao Xiao and MrSubidubi created
501e72d
Fix crash when LSP returns multiple nested definition ranges (#52701)
This fixes a crash when navigating to multiple definitions in a singleton buffer (https://github.com/zed-industries/zed/pull/51461). Release Notes: - N/A
Max Brunsfeld created
49ed4dc
Hide cursor in embedded terminal when not focused (#52404)
## Context Fixes #52063 This change hides the cursor in embedded terminal mode when not focused. Embedded mode is used for read-only terminal output (like the Agent panel). Showing a cursor in a read-only context when unfocused is confusing, so we suppress it. <img width="549" height="496" alt="Screenshot 2026-03-25 at 12 03 15" src="https://github.com/user-attachments/assets/20b29c28-85a7-4f5e-87ea-acf47d15d506" /> ## How to Review The change is in a single file: `crates/terminal_view/src/terminal_view.rs:754-761`. Focus on the `should_show_cursor()` method Verify the logic correctly hides the cursor only when both conditions are met (Embedded mode AND not focused). ## Self-Review Checklist - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments (N/A - no unsafe code) - [x] The content is consistent with the UI/UX checklist - [x] Tests cover the new/changed behavior (behavior is minimal UI fix, existing tests should cover) - [x] Performance impact has been considered and is acceptable (negligible) Release Notes: - Fixed cursor visibility issue in embedded terminal panels
Anas Limem created
0860605
gpui: Update animated image timing to pause when inactive (#52685)
- only advance frames and request animation frames while the window is active. - Reset last_frame_time to None when inactive to avoid fast catch-up after resuming focus - This fixes an issue where if you would have a gif open and lose focus, the app tries to speedup to catch up the elapsed time Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Might Close #21563, I shall measure the performance, I originally only intended the fix to fix the speed up issue as I faced it while working on gifs. Release Notes: - N/A or Added/Fixed/Improved ...
MostlyK created
ce7512b
Fix terminal rename not working from context menu on inactive tabs (#50031)
Closes #49939 Before you mark this PR as ready for review, make sure that you have: - [x] Added a solid test coverage and/or screenshots from doing manual testing <img width="485" height="58" alt="Screenshot 2026-02-24 at 11 53 57β―PM" src="https://github.com/user-attachments/assets/651db04a-fc52-46ed-b017-ad586c817bdc" /> - [x] Done a self-review taking into account security and performance aspects - [x] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - Fix terminal rename not working from context menu on inactive tabs
Mohammad Razeghi created
8cbcadf
Make paste a separate undo transaction from preceding edits (#52003)
When undoing a paste, it is really confusing when that actually also removes what was type right before the paste if the paste happened fast enough after. Release Notes: - Fixed undoing a paste sometimes also undoing edits right before the paste
Lukas Wirth created
a17a1c1
nix: Fix screen-casting when building Zed with nix (#52690)
Release Notes: - Fixed screen-casting when building Zed with Nix.
Jakub Konka created
3060e41
gpui: Add middle and right click mouse events for macOS (#49637)
- [x] Added a solid test coverage and/or screenshots from doing manual testing Manual testing performed successfully on Tahoe 26.2. - [x] Done a self-review taking into account security and performance aspects - [x] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - Fixed missing right- and middle-mouse button drag on MacOS Co-authored-by: MrSubidubi <finn@zed.dev>
Gustaf Johansson and MrSubidubi created
24ea5e9
eval_cli: Simplify build setup for more datasets (#52686)
Cleans up build setup and simplifies it a bunch so that we can use the binary in more eval docker containers Release Notes: - N/A
Ben Brandt created
46a0262
agent: Remove duplicated description from tool schema (#52678)
Turns out we were including the description of a tool inside the schema
again, which I don't think is needed.
Before:
```
LanguageModelRequestTool {
name: "web_search",
description: "Search the web for information using your query.\nUse this when you need real-time information, facts, or data that might not be in your training.\nResults will include snippets and links from relevant web pages.",
input_schema: Object {
"required": Array [
String("query"),
],
"description": String("Search the web for information using your query.\nUse this when you need real-time information, facts, or data that might not be in your training.\nResults will include snippets and links from relevant web pages."),
"type": String("object"),
"properties": Object {
"query": Object {
"description": String("The search term or question to query on the web."),
"type": String("string"),
},
},
"additionalProperties": Bool(false),
},
use_input_streaming: false,
},
```
After:
```
LanguageModelRequestTool {
name: "web_search",
description: "Search the web for information using your query.\nUse this when you need real-time information, facts, or data that might not be in your training.\nResults will include snippets and links from relevant web pages.",
input_schema: Object {
"required": Array [
String("query"),
],
"type": String("object"),
"properties": Object {
"query": Object {
"description": String("The search term or question to query on the web."),
"type": String("string"),
},
},
"additionalProperties": Bool(false),
},
use_input_streaming: false,
},
```
Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
Closes #45315
Release Notes:
- agent: Reduced amount of tokens consumed by tool descriptions
Bennet Bo Fenner created
ef4af8f
Fix/gemini tool schema unsupported keys (#52670)
### Summary
The Gemini API enforces strict validation on `function_declarations` and
rejects requests containing unsupported JSON Schema keywords such as
`additionalProperties`, `propertyNames`. This caused Write mode to fail
with "failed to stream completion" when tools with complex schemas were
used.
This PR strips these unsupported keywords from tool schemas before
sending them to the Gemini API in `adapt_to_json_schema_subset`.
### How to Review
- Check `crates/language_model/src/tool_schema.rs` β the
`adapt_to_json_schema_subset` function now removes
`additionalProperties` and `propertyNames` from schemas.
- Tests are added covering removal of these keys and nested schema
handling.
- To reproduce the original issue, send a tool schema containing
`propertyNames` or `additionalProperties` to the Gemini API β it returns
HTTP 400 `INVALID_ARGUMENT`
### How to Test
Run the unit tests:
```sh
cargo test -p language_model
```
OR manually reproduce this using ->
```
curl -s "https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=YOUR_KEY" \
-H 'Content-Type: application/json' \
-d '{"contents":[{"parts":[{"text":"test"}]}],"tools":[{"functionDeclarations":[{"name":"test","parameters":{"type":"OBJECT","properties":{"field":{"type":"OBJECT","propertyNames":{"pattern":"^[a-z]+$"},"additionalProperties":{"type":"STRING"}}}}}]}]}'
```
#### Closes #52430
- [x] I've reviewed my own diff for quality, security, and reliability
- [ ] Unsafe blocks (if any) have justifying comments
- [ ] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
Video
[Screencast from 2026-03-29
08-32-18.webm](https://github.com/user-attachments/assets/a0069f0e-1f2b-45dc-85bf-f24aacb08599)
### Note : Reopens previous work from closed PR #52644 (fork was
deleted)
Release Notes:
- Fixed an issue where Gemini models would not work when using specific
MCP servers
Om Chillure created
dbb8afe
gpui: Fix BGRA conversion for SVG rendering (#52641)
### Description
Fixes swapped red/blue channels when rendering SVG images.
#### Describe the bug
When rendering a full-color SVG into an Image object using
Image::from_bytes(ImageFormat::Svg, ...) on macOS, the resulting bitmap
has its Red and Blue channels swapped. For example, a color specified as
#38BDF8 (Light Blue) in the SVG source appears as yellowish in the
rendered GPUI view.
#### Steps to reproduce
1. Create a GPUI application.
1. Generate or load an SVG string containing a specific color, for
example:
```xml
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100">
<rect width="100" height="100" fill="#38BDF8"/>
</svg>
```
3. Load this SVG into an Image object:
```rust
let image = Arc::new(Image::from_bytes(
ImageFormat::Svg,
svg_string.into_bytes(),
));
```
4. Display this image in a view using an img() element.
#### Expected behavior
The rectangle should be rendered in **Light Blue (#38BDF8)**.
#### Actual behavior
The rectangle is rendered in **Yellowish Color (#F8BD38)**.
### Self-Review Checklist:
- [X] I've reviewed my own diff for quality, security, and reliability
- [X] Unsafe blocks (if any) have justifying comments
- [X] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [X] Tests cover the new/changed behavior
- [X] Performance impact has been considered and is acceptable
### Closes #ISSUE
### Release Notes:
- Fixed swapped color channels when pasting SVG images from the
clipboard.
---------
Co-authored-by: MrSubidubi <finn@zed.dev>
hnakashima and MrSubidubi created
21da59d
agent: Fix streaming edit file tool inserting newlines when old_text ends with newline (#52661)
Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Release Notes: - N/A
Bennet Bo Fenner created
6694a3b
gpui: Implement pinch event support for X11 and Windows (#51354)
Closes #51312 - Remove platform-specific #[cfg] gates from PinchEvent, event listeners, and dispatch logic in GPUI - Windows: Intercept Ctrl+ScrollWheel (emitted by precision trackpads for pinch gestures) and convert them to GPUI PinchEvents - Image Viewer: remove redundant platform-specific blocks - X11: Bump XInput version to 2.4 and implement handlers for XinputGesturePinch events - [x] Added a solid test coverage and/or screenshots from doing manual testing - [x] Done a self-review taking into account security and performance aspects - [x] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - Pinching gestures now available on all devices. --------- Co-authored-by: John Tur <john-tur@outlook.com>
MostlyK and John Tur created
d72a038
sidebar: Switch with `ctrl-tab` (#52423)
Overrides `ctrl-tab` when the sidebar/agent panel is focused to switch between recently viewed threads Release Notes: - N/A or Added/Fixed/Improved ...
Cameron Mcloughlin created
54a95e7
Add VecMap::entry_ref (#52601)
Thinking more on #52596, I realized the `entry` method needs a key by value, which meant we were always cloning a path list even if it was already in the map. This PR adds an `entry_ref` that takes the key by reference and delays cloning the key until we know we're going to be inserting. Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Release Notes: - N/A
Eric Holk created
fa2790d
Make carve outs in property test more explicit (#52610)
Refactors the property test to be explicit about the exceptions to the sidebar's "properties" Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Closes #ISSUE Release Notes: - N/A
Mikayla Maki created
4cb10df
sidebar: Add property tests (#52540)
## Context
<!-- What does this PR do, and why? How is it expected to impact users?
Not just what changed, but what motivated it and why this approach.
Link to Linear issue (e.g., ENG-123) or GitHub issue (e.g., Closes #456)
if one exists β helps with traceability. -->
## How to Review
<!-- Help reviewers focus their attention:
- For small PRs: note what to focus on (e.g., "error handling in
foo.rs")
- For large PRs (>400 LOC): provide a guided tour β numbered list of
files/commits to read in order. (The `large-pr` label is applied
automatically.)
- See the review process guidelines for comment conventions -->
## Self-Review Checklist
<!-- Check before requesting review: -->
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable
Release Notes:
- N/A
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Anthony Eid and Mikayla Maki created
8cdae31
Strong app state (#52602)
This PR upgrades the workspace's app state to a strong pointer. It's an app-global concern, and it should only die when the app dies. When the app dies the process exits, so the cyclic reference problem isn't an issue. Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Release Notes: - N/A
Mikayla Maki created
f3120ac
Show multiple worktree chips in sidebar for threads with mismatched worktrees (#52544)
## Summary
When a thread was created in a workspace whose roots span different git
worktrees (e.g. the `olivetti` branch of project_a and the `selectric`
branch of project_b), the sidebar now shows a worktree chip for each
distinct branch name β like `{olivetti} {selectric}` β each with its own
git worktree icon. Same-named worktrees are collapsed into a single
chip. The tooltip on any chip shows the full list of worktree paths.
Previously, only one worktree chip was ever shown (from the first path).
### Implementation
- Introduces `WorktreeInfo` struct replacing the flat
`worktree_name`/`worktree_full_path`/`worktree_highlight_positions`
fields on `ThreadEntry` with `worktrees: Vec<WorktreeInfo>`
- Adds `worktree_info_from_thread_paths` which derives worktree display
info from a thread's own stored `folder_paths` metadata rather than from
the workspace path
- Updates `ThreadItem` in the UI crate to accept
`Vec<ThreadItemWorktree>` and render multiple chips, deduplicating by
name
- Updates fuzzy search to match against all worktree names
- Adds tests for multiple worktree chips and same-name deduplication
Release Notes:
- N/A
Eric Holk created
6d09ede
Fix bracketed paste in terminal on middle click (#52158)
## Context **Current Behavior:** Middle click pastes multiple lines of text and runs each as an individual terminal command **Expected Behavior:** On Linux middle click should use bracketed paste to paste multiple lines and wait for the user to hit "Enter" before running all commands together like when pressing Ctrl+Shift+V Steps to reproduce old behavior: 1. Open terminal 2. Copy multiple lines of text from outside the terminal 3. Middle click to paste text in terminal ## Self-Review Checklist <!-- Check before requesting review: --> - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Release Notes: Fixed multiple line paste behavior in terminal on middle click Co-authored-by: Bryan Mehall <1575089+bryanmehall@users.noreply.github.com>
Bryan Mehall and Bryan Mehall created
4aa0ed1
Bump tree-sitter-rust for string literal fixes (#52606)
This PR bumps tree-sitter-rust for this fix: https://github.com/tree-sitter/tree-sitter-rust/pull/307 Release Notes: - N/A
Max Brunsfeld created
54b0ec9
agent_ui: Use the CircularProgress component also for split token display (#52599)
This PR swaps numbers for two circular progress components for the models that support displaying token usage broken down by input and output tokens. Here's how the UI looks like: <img width="500" height="386" alt="Screenshot 2026-03-27 at 5β― 03@2x" src="https://github.com/user-attachments/assets/1fa01f6e-a8d8-40fd-a663-b95de6c79174" /> Release Notes: - Agent: Make token usage display consistent between the models that support displaying split usage (input and output) and those that don't.
Danilo Leal created
a6aad85
git: Fix out-of-bounds indexing when diff bases contain CRLF (#52605)
Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Release Notes: - N/A
Cole Miller created
9fe2a60
Add VecMap and use it in ProjectGroupBuilder (#52596)
This adds a collection that has a map-like API but is backed by vectors. For small collections, this often outperforms a HashMap because you don't have the overhead of hashing things and everything is guaranteed to be contiguous in memory. I hand-rolled one of these in `ProjectGroupBuilder` but this factors it into its own collection. This implements the API that `ProjectGroupBuilder` needed, but if this becomes more widely used we can expand to include more of the `HashMap` API. Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Release Notes: - N/A
Eric Holk created
9d6208b
Add check to prevent closing pinned items (#50333)
Pinned items should not be closed when the close action is triggered. Closes #50309 Before you mark this PR as ready for review, make sure that you have: - [x] Added a solid test coverage and/or screenshots from doing manual testing - [x] Done a self-review taking into account security and performance aspects - [x] Aligned any UI changes with the [UI checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) Release Notes: - Fixed a bug where middle-clicking a pinned tab would close it.
Austin Cummings created
79b9cae
language_core: Remove imports support (#52570)
This PR removes the imports query and all surrounding support from the language_core crate. The imports query was experimented with during the addition of Zeta 2. However, it has been unused for a few months now and the direction does not seemt to be pursued anymore. Thus, removing the support here. Release Notes: - N/A
Finn Evers created
0969363
Skip PR assignee selection for org-member PRs (#52593)
Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [ ] Unsafe blocks (if any) have justifying comments - [ ] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Closes N/A β deploying [codeowner-coordinator#90](https://github.com/zed-industries/codeowner-coordinator/pull/90) to zed repo. ## Summary Pass `ASSIGN_INTERNAL` and `ASSIGN_EXTERNAL` repository variables to the assign-reviewers workflow. The coordinator script now uses these to control whether an individual PR assignee is set based on the author's org membership. **Defaults:** org members skip assignee (teams self-organize accountability), external contributors get an assignee (identifies who should shepherd the PR). Both are togglable from repo Settings β Variables without code changes. Side benefit: skips the 30-55 second `poll_for_reviewers` polling loop for org-member PRs. ## Post-merge manual step Set repository variables (Settings β Secrets and variables β Actions β Variables): - `ASSIGN_INTERNAL` = `false` - `ASSIGN_EXTERNAL` = `true` Release Notes: - N/A
John D. Swanson created
7d3ccce
Don't auto-close in search (#52553)
This was incidentally broken when we switched to the auto_height editor Self-Review Checklist: - [ ] I've reviewed my own diff for quality, security, and reliability - [ ] Unsafe blocks (if any) have justifying comments - [ ] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [ ] Tests cover the new/changed behavior - [ ] Performance impact has been considered and is acceptable Closes #52124 Release Notes: - Disabled autoclose of brackets in the project search
Conrad Irwin created
257712e
ui: Make UI independent from settings crate (#52578)
This will allow us to use UI crate on the web Self-Review Checklist: - [ ] I've reviewed my own diff for quality, security, and reliability - [ ] Unsafe blocks (if any) have justifying comments - [ ] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [ ] Tests cover the new/changed behavior - [ ] Performance impact has been considered and is acceptable Closes #ISSUE Release Notes: - N/A --------- Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Piotr Osiewicz and Zed Zippy created
58e63ff
git_graph: Fix checkout curve rendering (#52580)
This makes the curves start later in the graph which is one of the last things for the graph to be ready for release ### Before <img width="266" height="182" alt="image" src="https://github.com/user-attachments/assets/830a8586-c0a4-4ce8-8e64-82082b8afb25" /> ### After <img width="266" height="224" alt="image" src="https://github.com/user-attachments/assets/06dbe2a3-763f-41c2-a74b-30dda0c9e0bd" /> Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Release Notes: - N/A or Added/Fixed/Improved ...
Anthony Eid created
852b4fc
git_graph: Implement basic search functionality (#51886)
## Context This uses `git log` to get a basic search working in the git graph. This is one of the last blockers until a full release, the others being improvements to the graph canvas UI. ## Self-Review Checklist <!-- Check before requesting review: --> - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Release Notes: - N/A --------- Co-authored-by: Remco Smits <djsmits12@gmail.com> Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Anthony Eid , Remco Smits , and Danilo Leal created
cb97ac4
Always pass `--no-optional-lock` to git (#52499)
Release Notes: - N/A or Added/Fixed/Improved ...
Lukas Wirth created
93e6411
theme: Split out theme_settings crate (#52569)
Self-Review Checklist: - [ ] I've reviewed my own diff for quality, security, and reliability - [ ] Unsafe blocks (if any) have justifying comments - [ ] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [ ] Tests cover the new/changed behavior - [ ] Performance impact has been considered and is acceptable Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
c90bf6e
Fix unformatted error contexts (#52568)
When debugging a remote SSH connection, I came across an unformatted format string in the output log. I changed the raw `.context(fmt)` call to a `.with_context(|| format!(fmt))`. I ran a quick sweep through the codebase to identify and fix two other instances of the same issue. Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Release Notes: - N/A
Jakub Charvat created
69286d6
git: Forbid deleting current git worktree or branch from picker (#52327)
## Context This just makes the UI enforce some git cli rules more clearly and prevents some unexpected behavior. ## Self-Review Checklist <!-- Check before requesting review: --> - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Release Notes: - N/A
Anthony Eid created
a2f1703
editor: Autoscroll to initial selection on select all matches edit (#49232)
Fix the way selections are built in `Editor::select_all_matches` in order to guarantee that the original selection, where the user's cursor is located, is the last selection provided to `MutableSelectionsCollection::select_ranges` as the editor will attempt to scroll to the last selection when the user starts editing. This way, we ensure that the user stays in the same location from which the `editor: select all matches` action was triggered when they start editing. Closes #32894 Release Notes: - Fixed an issue where editing selections after `editor: select all matches` would scroll to the last match --------- Co-authored-by: dino <dinojoaocosta@gmail.com>
Ben Vollrath and dino created
e823ef8
docs: Update macos.md visual tests initial setup --bin path (#46428)
Two days ago, `macos.md` was updated, changing the --bin name from visual_test_runner to zed_visual_test_runner. This was updated for the **Updating baselines** section, but not for **Initial setup** I just updated it. Release Notes: - N/A
Iago BermΓΊdez created
3b66f90
client: Persist last used organization (#52505)
## Context
Persists last used organization through restart. Opted to do this via
`kvp` instead of `settings.json` since the value could change often, and
we would have to persist an ID rather than a friendly name.
Closes CLO-568.
## How to Review
<!-- Help reviewers focus their attention:
- For small PRs: note what to focus on (e.g., "error handling in
foo.rs")
- For large PRs (>400 LOC): provide a guided tour β numbered list of
files/commits to read in order. (The `large-pr` label is applied
automatically.)
- See the review process guidelines for comment conventions -->
## Self-Review Checklist
<!-- Check before requesting review: -->
- [ ] I've reviewed my own diff for quality, security, and reliability
- [ ] Unsafe blocks (if any) have justifying comments
- [ ] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [ ] Tests cover the new/changed behavior
- [ ] Performance impact has been considered and is acceptable
Release Notes:
- N/A
Neel created