Commit log

5d57a5a Bump to 0.232.2 for @maxbrunsfeld

Zed Zippy created

4802302 Cherry-pick fixes for v0.232.x preview patch (#53658)

Click to expand commit body
Cherry-picked PRs (in order applied):

1. https://github.com/zed-industries/zed/pull/53386
2. https://github.com/zed-industries/zed/pull/53400
3. https://github.com/zed-industries/zed/pull/53396
4. https://github.com/zed-industries/zed/pull/53428
5. https://github.com/zed-industries/zed/pull/53356
6. https://github.com/zed-industries/zed/pull/53215
7. https://github.com/zed-industries/zed/pull/53429
8. https://github.com/zed-industries/zed/pull/53458
9. https://github.com/zed-industries/zed/pull/53436
10. https://github.com/zed-industries/zed/pull/53451
11. https://github.com/zed-industries/zed/pull/53454
12. https://github.com/zed-industries/zed/pull/53419
13. https://github.com/zed-industries/zed/pull/53287
14. https://github.com/zed-industries/zed/pull/53521
15. https://github.com/zed-industries/zed/pull/53463
16. https://github.com/zed-industries/zed/pull/52848
17. https://github.com/zed-industries/zed/pull/53544
18. https://github.com/zed-industries/zed/pull/53556
19. https://github.com/zed-industries/zed/pull/53566
20. https://github.com/zed-industries/zed/pull/53579
21. https://github.com/zed-industries/zed/pull/53575
22. https://github.com/zed-industries/zed/pull/53550
23. https://github.com/zed-industries/zed/pull/53585
24. https://github.com/zed-industries/zed/pull/53510
25. https://github.com/zed-industries/zed/pull/53599
26. https://github.com/zed-industries/zed/pull/53099
27. #53662
28. #53660
29. #53657
30. #53654


Release Notes:

- N/A

---------

Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Anthony Eid <anthony@zed.dev>
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Co-authored-by: Eric Holk <eric@zed.dev>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Cameron Mcloughlin <cameron.studdstreet@gmail.com>
Co-authored-by: Cole Miller <cole@zed.dev>
Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Co-authored-by: Anthony Eid <56899983+Anthony-Eid@users.noreply.github.com>
Co-authored-by: Katie Geer <katie@zed.dev>
Co-authored-by: ojpro <contact@ojpro.me>

Richard Feldman , Danilo Leal , Ben Brandt , Bennet Bo Fenner , Bennet Bo Fenner , Nathan Sobo , Anthony Eid , Mikayla Maki , Eric Holk , Anthony Eid , Max Brunsfeld , Cameron Mcloughlin , Cole Miller , Mikayla Maki , Anthony Eid , Katie Geer , and ojpro created

62f512a Open new remote projects in the same window via sidebar (#53654) (cherry-pick to preview) (#53656)

Click to expand commit body
Cherry-pick of #53654 to preview

----
Previously, when opening a remote project via the sidebar, and picking a
new project path via the path picker, it would incorrectly open in a new
window.

Release Notes:

- N/A

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>

zed-zippy[bot] and Max Brunsfeld created

d5159be Set active repository when picking a root folder in recent project menu (#53645) (cherry-pick to preview) (#53649)

Click to expand commit body
Cherry-pick of #53645 to preview

----
This changes the behavior of the recent project picker in multi-folder
projects, so that when you select a folder that is a repository, it sets
the active repository in the Git panel as well.

Release Notes:

- N/A

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>

zed-zippy[bot] and Max Brunsfeld created

5fbfef4 ci: Use Zed Zippy configuration for creating cherry-pick branch (#53640) (cherry-pick to preview) (#53644)

Click to expand commit body
Cherry-pick of #53640 to preview

----
We hope this fixes an issue with permissions

Release Notes:

- N/A

Co-authored-by: Finn Evers <finn@zed.dev>

zed-zippy[bot] and Finn Evers created

9326927 docs: Update mentions to "assistant panel" (#53514) (cherry-pick to preview) (#53562)

Click to expand commit body
Cherry-pick of #53514 to preview

----
We don't use this terminology anymore; now it's "agent panel".

Release Notes:

- N/A

Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>

zed-zippy[bot] and Danilo Leal created

7b87a62 terminal: Properly apply focus when switching terminal via tabbing hotkey (#53127) (cherry-pick to preview) (#53618)

Click to expand commit body
Cherry-pick of #53127 to preview

----
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)
- [ ] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Closes #53056.

Release Notes:

- Fixed terminal tabs losing keyboard focus after switching tabs on
Linux X11

Co-authored-by: Andre Roelofs <p.arroelofs@gmail.com>

zed-zippy[bot] and Andre Roelofs created

4b8b3ab Fix project symbol picker UTF-8 highlight panic (#53485) (cherry-pick to preview) (#53563)

Click to expand commit body
Cherry-pick of #53485 to preview

----
This panic was caused because we incorrectly assumed that each character
was one byte when converting character indices to highlight range byte
indices.

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 #53479

Release Notes:

- Fix a panic that could occur in the project symbol search picker

---------

Co-authored-by: Lukas Wirth <lukas@zed.dev>

Co-authored-by: Anthony Eid <56899983+Anthony-Eid@users.noreply.github.com>
Co-authored-by: Lukas Wirth <lukas@zed.dev>

zed-zippy[bot] , Anthony Eid , and Lukas Wirth created

979f3fa zed 0.232.1

Mikayla Maki created

cd9dadb Change name of web search tool (#53573) (cherry-pick to preview) (#53576)

Click to expand commit body
Cherry-pick of #53573 to preview

----
Self-Review Checklist:

- [ ] 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

4c47798 Gracefully handle when linked worktree .git path is outside worktree root (#53443) (cherry-pick to preview) (#53565)

Click to expand commit body
Cherry-pick of #53443 to preview

----
In `update_git_repositories`, a `.git` path outside the worktree root
can occur legitimately when `.git` is a gitfile (as in linked worktrees
and submodules) pointing to a directory in the parent repo. Previously
this triggered a `debug_panic!`, crashing debug builds.

Now we skip the path with a `debug_assert!` that it is indeed a file
(not a directory), so a genuine `.git` directory outside the worktree
root would still be caught in debug builds.

(No release notes because this is extremely hard to encounter until
https://github.com/zed-industries/zed/pull/53215 lands)

Release Notes:

- N/A

Co-authored-by: Richard Feldman <richard@zed.dev>

zed-zippy[bot] and Richard Feldman created

40ca7c4 sidebar: Add setting to control side in the settings UI (#53516) (cherry-pick to preview) (#53561)

Click to expand commit body
Cherry-pick of #53516 to preview

----
Release Notes:

- N/A

Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>

zed-zippy[bot] and Danilo Leal created

b36391d compliance: Also check for approval pattern in pull request reviews (#53431) (cherry-pick to preview) (#53448)

Click to expand commit body
Cherry-pick of #53431 to preview

----
Release Notes:

- N/A

Co-authored-by: Finn Evers <finn@zed.dev>

zed-zippy[bot] and Finn Evers created

d043472 ci: Only link to PRs needing review if there are any (#53437) (cherry-pick to preview) (#53442)

Click to expand commit body
Cherrry-pick did for some reason not succeed in
https://github.com/zed-industries/zed/actions/runs/24153812289/job/70487669958
despite it _having_ the proper permissions.. 😨

That's something for later, so again, another manual pick

Release Notes:

- N/A

Finn Evers created

4d82b16 Cherry-pick compliance changes to preview branch (#53435)

Click to expand commit body
Release Notes:

- N/A

Finn Evers created

957fa4d fix: fix compliance report file upload (#53424)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Dino and Conrad Irwin created

f76e492 sidebar: Refactor flaky test (#53421)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Dino and Conrad Irwin created

a895df4 sidebar: Remove flaky test (#53418)

Click to expand commit body
This test is failing quite frequently in the CI/CD that runs for Preview
release.

Release Notes:

- N/A

Dino created

6742d02 compliance: Use tag instead of branch name by default (#53409)

Click to expand commit body
Release Notes:

- N/A

Finn Evers created

f0e499f Fetch refs in compliance tools (#53412)

Click to expand commit body
v0.232.x

Release Notes:

- N/A

Conrad Irwin created

11266e7 Update v0.232.x Preview Release Channel (#53405)

Click to expand commit body
Release Notes:

- N/A

Dino created

c372f24 agent_panel: Prevent content from overlapping with buttons in message editor (#53384)

Click to expand commit body
Follow up to https://github.com/zed-industries/zed/pull/53349 as I was
still seeing cases where content would overlap with buttons.

<img width="500" height="266" alt="Screenshot 2026-04-08 at 6  53@2x"
src="https://github.com/user-attachments/assets/e58742d4-a736-4509-9a29-35c135ddb980"
/>

I believe this PR makes the whole message editor more solid against
these cases because we're relying on `flex_basis` now to set the
max-width, which runs before we do any editor mode calculations. Tested
this a bunch and it seems to be pretty stable.

Release Notes:

- N/A

Danilo Leal created

248cc13 agent: Show notifications when thread is not the active one (#53149)

Click to expand commit body
We now always show a notification for a thread if it is not the active
one (even if the sidebar is open).
Also made clicking on the notification actually open the corresponding
thread (previously we would just changed the workspace)

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

320cef3 project_panel: Add `sort_order` settings (#50221)

Click to expand commit body
_(Feature Requests #24962)_

_"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:

- Added a `sort_order` to `project_panel` settings which dictates how
files and directories are sorted relative to each other in a
`sort_mode`.

---------

Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>

Dionys Steffen and Smit Barmase created

bf10266 gpui: Lazy-init font DB in SvgRenderer to avoid per-test overhead (#53381)

Click to expand commit body
Commit eaf14d028a6c changed SvgRenderer::new() to eagerly deep-clone the
system font database and enrich it with bundled fonts at construction
time. Since every #[gpui::test] creates a TestAppContext →
App::new_app() → SvgRenderer::new(), and nextest runs each test in its
own process, this added ~2-3s of overhead to every GPUI-based test (~132
minutes total across the full suite).

Move the expensive work (deep-clone + load_bundled_fonts +
fix_generic_font_families) into a OnceLock inside the font resolver
closure, so it only executes on the first actual SVG render. Tests that
never render SVGs thus do not need to load the fonts which in itself can
be fairly expensive.

This also bumps the opt-level for crane lift and some other wasmtime
crates, as only wasmtime isn't really sufficient

Release Notes:

- N/A or Added/Fixed/Improved ...

Lukas Wirth created

a0a7401 title_bar: Improve display of sign in state (#53255)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/52488

Release Notes:

- 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.

Danilo Leal created

b473ead ai: Preserve `draft_prompt` when creating a new agent threads (#53250)

Click to expand commit body
- added a shared helper `take_active_draft_initial_content` to resolve
initial content
- `draft_prompt` is copied over to a new thread and is persisted in old
thread with this behavior


Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] no Unsafe blocks 
- [x] 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 #38028 

Release Notes:

- persist draft messages in ai thread when a new thread is created so we
dont use any messages or draft prompts mistakenly

Question: 
need some guidance on how to persist a thread when the `draft_prompt` is
present but the message is unsent because currently having a draft
prompt in the agent input box and thenmaking a new agent thread copies
the prompt over to the new thread(changes from this pr) but on going
back to the old thread new thread is destroyed

Amaan created

45efb00 compliance: Check repository status for actor (#53343)

Click to expand commit body
Also includes two other minor fixes for stdout info prints

Release Notes:

- N/A

Finn Evers created

6286b7c Fix workspace removal, and chase down all the ramifications (#53366)

Click to expand commit body
This PR adjusts how project group removal works in the sidebar to be
project group aware. Removal is now a batched operation, and supports a
contextually appropriate fallback active workspace fallback. In the
process of removing this, I had to chase down and fix other broken code:
- Removes the "move to new window" actions
- Changed the sidebar to store things in "most recently added" order
- The recent project UI was still using workspaces, instead of project
groups
- Adjusted the archive command to use the new APIs to remove the
workspace associated with that worktree (cc: @rtfeldman)
- The property tests where still using indexes and workspaces instead of
project groups

Self-Review Checklist:

- [ ] 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

a2cf71d agent_panel: Allow dismissing the worktree error callout (#53375)

Click to expand commit body
This error callout here wasn't dismissible before:

<img width="600" height="2154" alt="Screenshot 2026-04-08 at 5  49@2x"
src="https://github.com/user-attachments/assets/4e9df452-9970-4145-a13d-75d5e0adee8b"
/>

Release Notes:

- N/A

Danilo Leal created

8b65a99 agent: Reset panel thread picker after git worktree creation (#53372)

Click to expand commit body
After a user creates successfully creates a new git worktree we reset
the agent thread picker state to avoid accidentally creating a new
worktree for a thread.

This also fixes some bugs where a past agent thread picker state was
invalid because it became out of sync after a new worktree was created,
or when a mutating git operation occurred.

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

783e062 csv_preview: Add independently resizable columns (#53295)

Click to expand commit body
This PR adds spreadsheet-style independently resizable columns (dragging
changes total table width) and fixes scrolling issues in variable list
mode.

**What changed:**

- Adds `ResizableColumnsState` struct for independently resizable
columns (spreadsheet-style)
- Adds `ColumnWidthConfig::Resizable` variant for spreadsheet mode
- Adds `DraggedResizableColumn` drag payload type
- Adds `ResizableHeaderInfo` for double-click-to-reset functionality
- Adds `render_resize_handles_resizable` function for resize handles
rendering
- Adds horizontal scroll handle to `TableInteractionState`
- Adds `.on_drag_move::<DraggedResizableColumn>` handler to Table for
drag resizing

**Bug fixes:**

- Fixed missing vertical scrollbar in variable list mode
- Fixed half-broken scrolling in variable list mode (added
.measure_all() to make scrollbar aware of the height of the table)
- Moved vertical scrollbar to be pinned at the right side of the pane
with table — previously it was attached to the table content and was
pushed off-screen when table content was too wide

**API addition:**

```rust
// New variant added:
pub enum ColumnWidthConfig {
    Static { widths: StaticColumnWidths, table_width: Option<DefiniteLength> },
    Redistributable { entity: Entity<RedistributableColumnsState>, table_width: Option<DefiniteLength> },
    Resizable(Entity<ResizableColumnsState>),  // NEW: spreadsheet-style
}
```

**Callers updated:**

- csv_preview: Changed from `ColumnWidthConfig::redistributable()` to
use new resizable mode
- git_graph: Added `resizable_info` parameter

**Context:**

This is part 3 of a 3-PR series improving data table column width
handling:

1. [#51059](https://github.com/zed-industries/zed/pull/51059) - Extract
modules into separate files (mechanical change)
2. [#51120](https://github.com/zed-industries/zed/pull/51120) -
Introduce width config enum for redistributable column widths (API
rework)
3. **This PR**: Add independently resizable columns + fix variable list
scrolling (new feature + bug fixes)

The series builds on previously merged infrastructure:

- [#46341](https://github.com/zed-industries/zed/pull/46341) - Data
table dynamic column support
- [#46190](https://github.com/zed-industries/zed/pull/46190) - Variable
row height mode for data tables

Primary beneficiary: CSV preview feature
([#48207](https://github.com/zed-industries/zed/pull/48207))

This work is based on the [original draft PR
#44344](https://github.com/zed-industries/zed/pull/44344), decomposed
into reviewable pieces.

-----

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 or Added/Fixed/Improved ...

---------

Co-authored-by: Anthony Eid <anthony@zed.dev>

Oleksandr Kholiavko and Anthony Eid created

81733d4 settings_ui: Fix hover popover delay setting's json_path (#53359)

Click to expand commit body
The "Hover Popover → Delay" setting item had its json_path set to
"hover_popover_enabled" (copy-paste error from the item above it),
introduced in #40739. This caused:

- "Copy Link" generating a wrong zed://settings/hover_popover_enabled
URL
- #hover_popover_delay filter returning no results in settings search
- Telemetry reporting delay changes as hover_popover_enabled

The pick/write closures were always correct, so the setting itself
functioned normally.

after the fix, filter works correctly

<img width="1793" height="752" alt="image"
src="https://github.com/user-attachments/assets/b7c459bf-c0d6-4988-ae87-087e859c6666"
/>

and the copy link button return the correct result
<img width="1787" height="120" alt="image"
src="https://github.com/user-attachments/assets/e2184f89-c400-453b-8e7d-f8ef8771e1d6"
/>

Release Notes:

- N/A

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

daydalek and Copilot created

5a7c099 sidebar: `ProjectGroup` -> `Project` rename (#53364)

Cameron Mcloughlin created

d2f0452 collab: Remove incoming invite badge count from panel icon (#53363)

Click to expand commit body
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

4a5826b Make deserialization a bit more resilient to data changes (#53362)

Click to expand commit body
This PR makes sidebar deserialization enforce the invariants that the
multiworkspace is supposed to enforce. Also, this PR makes it so that
failing to deserialize the active workspace no longer totally fails to
deserialize the multiworkspace.

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

a43ee6b Inherit parent thread settings when spawning subagents (#53328)

Click to expand commit body
When a subagent was spawned while the parent had runtime-modified
settings (fast mode, thinking, etc.), the subagent would start with
defaults from `AgentSettings` instead of inheriting the parent's current
values.

This adds `inherit_parent_settings` as a single place in
`Thread::new_subagent` that copies all runtime-mutable settings from the
parent:

- `speed`
- `thinking_enabled`
- `thinking_effort`
- `summarization_model`
- `profile_id`

These are the same properties that `set_*` methods already propagate to
`running_subagents` — this fix ensures they're also inherited at
creation time.

cc @benbrandt

Release Notes:

- N/A

Nathan Sobo created

871a342 agent_panel: Add some UI fixes post max-width introduction (#53352)

Click to expand commit body
Quick follow up to https://github.com/zed-industries/zed/pull/52730 with
some adjustments. Ended up cleaning some unused UI elements already
(i.e., the "Recent" history items in the agent panel's empty state).

Release Notes:

- N/A

Danilo Leal created

ac6117a Fix shell escaping in getting current env (#53335)

Click to expand commit body
Credit to Dario Weißer for bringing this to our attention.

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:

- Fixed a bug where a cleverly crafted directory name could lead to
remote code execution

Conrad Irwin created

30e7e8b Adjust worktree name display in agent panel and git picker (#53351)

Click to expand commit body
This PR adjust the name of the worktree within the agent panel: we
display `main` if you're in the main worktree and then the worktree name
when in a linked one. Additionally, I also took the opportunity to fix
something that confused me in the general worktree picker: for the list
item that represented the main worktree, we were using the current
checked out branch name for that item's name. I think that's a bit
incorrect, given the _name_ of that worktree isn't the name of the
branch you have active at that moment. For now, I'm using simply `main`
as the worktree name. Lastly, also added a little blue check icon in the
worktree _and branch_ picker to highlight which worktree/branch is
currently active.

| main worktree | linked worktree | main worktree in picker |
|--------|--------|--------|
| <img width="802" height="338" alt="Screenshot 2026-04-07 at 10  32
2@2x"
src="https://github.com/user-attachments/assets/aad993e6-adc3-4c8d-b01a-abb2597182e7"
/> | <img width="804" height="332" alt="Screenshot 2026-04-07 at 10 
32@2x"
src="https://github.com/user-attachments/assets/e59c5b86-8cee-476c-ab7b-32ae87249c1a"
/> | <img width="804" height="856" alt="Screenshot 2026-04-07 at 10 
36@2x"
src="https://github.com/user-attachments/assets/282d89a8-570e-4e62-b703-853bed9b21ff"
/> |

Release Notes:

- Git: Fixed display of the main worktree name in the worktree picker.

Danilo Leal created

a5aea73 agent: Fix panel prompt footer layout in full screen (#53349)

Click to expand commit body
### Summary

Keep the prompt editor’s max-width centering, but move the footer
controls out of the same flexible wrapper as the full-height editor and
add `min_h_0()` shrink guards so the editor no longer overlaps the
footer in zoomed/full-screen mode.


#### Before
<img width="1624" height="1061" alt="Screenshot 2026-04-07 at 8 39
03 PM"
src="https://github.com/user-attachments/assets/db889fcd-af8a-4297-a1f9-0acb84e6ead3"
/>

#### After
<img width="1624" height="976" alt="Screenshot 2026-04-07 at 9 14 52 PM"
src="https://github.com/user-attachments/assets/ddae7fd4-e720-432d-b84d-45f667aa7dce"
/>

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 or Added/Fixed/Improved ...

Anthony Eid created

a0d0195 Add onboarding for parallel agents (#52940)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Eric Holk <eric@zed.dev>
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Co-authored-by: Katie Geer <katie@zed.dev>

Danilo Leal , Eric Holk , Bennet Bo Fenner , and Katie Geer created

bf9cea6 agent_panel: Fix bug where worktree picker showed linked tree as main (#53334)

Click to expand commit body
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 or Added/Fixed/Improved ...

Anthony Eid created

7bcdb12 Remove Agent V2 feature flag (#52792)

Click to expand commit body
It's happening.

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

66d2cb2 Adjust `zed -n` behavior (#53346)

Click to expand commit body
When there's already a workspace that matches the paths provided,
activate that workspace, otherwise create a new window. This is
different from the default behavior of always adding to the sidebar.

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

2d1137c docs: Update models page with new GPT models and corrected pricing (#53344)

Click to expand commit body
Syncs the models docs page with what `crates/billing/src/plans.rs` and
`crates/llm_api/src/features/list_models.rs` actually serve.

## Changes

**New models added:**
- GPT-5.4 pro (Pro/Business only): $30/$180 input/output, no cache, 400k
context
- GPT-5.4: $2.50/$15 input/output, $0.025 cached, 400k context
- GPT-5.3-Codex: $1.75/$14 input/output, $0.175 cached, 400k context

**Pricing corrected:**
- GPT-5.2 + GPT-5.2-Codex: input $1.25 → $1.75, output $10 → $14, cached
$0.125 → $0.175
- Gemini 3 Flash: input $0.30 → $0.50, output $2.50 → $3.00

**Other fixes:**
- Student plan note updated to include GPT-5.4 pro restriction
- Grok context windows added to the context window table (128k / 256k
for Grok Code Fast 1)
- "GPT-5.2 Codex" renamed to "GPT-5.2-Codex" to match `display_name` in
code
- Removed retired "Gemini 3 Pro" from context window footnote

Release Notes:

- N/A

morgankrey created

972731c theme_selector: Preserve selected theme after empty filter (#52461)

Click to expand commit body
When filtering themes with a query that matches nothing (e.g., "zzz"),
`show_selected_theme` returned `None` and overwrote `selected_theme`.
Clearing the filter then lost track of the previous selection and
defaulted to index 0.

The fix only updates `selected_theme` when `show_selected_theme` returns
`Some`. Same change in both the theme selector and the icon theme
selector.

## Context

When `update_matches` runs a filter that yields zero results,
`show_selected_theme` returns `None`. The old code unconditionally
assigned that back to `selected_theme`, wiping out the previous
selection. When the user clears the filter, the selector falls into the
`query.is_empty() && selected_theme.is_none()` branch and resets to
index 0 instead of restoring the original pick.

## Demo

### Before:


https://github.com/user-attachments/assets/62b1531b-d059-4f30-b1f4-a830f2d13a09


### After:



https://github.com/user-attachments/assets/72348666-8dbb-4f35-9446-fa2618340b6c




## How to review

The fix is the same one-line change in two files:
1. `crates/theme_selector/src/theme_selector.rs` — line 458
2. `crates/theme_selector/src/icon_theme_selector.rs` — line 272

The rest is test infrastructure:
3. `crates/theme/src/registry.rs` — `register_test_themes` /
`register_test_icon_themes` helpers
4. Tests in both selector files covering the empty filter → clear filter
flow

## 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

- Fixed theme selector losing the selected theme after filtering with a
query that matches nothing and then clearing the filter.

João Soares created

aa81505 multibuffer: Speed up anchor resolution by avoiding an excerpts seek (#53340)

Click to expand commit body
Before, every creation of `AnchorSeekTarget` called
`MultiBufferSnapshot::buffer_for_path`, which seeks the excerpts sum
tree. Now we avoid that by

- looking up the buffer snapshot for the anchor's buffer in the
`buffers` map (keyed by `BufferId`)
- handling the case where the anchor's buffer doesn't exist at the
original path key with a separate `AnchorSeekTarget::Missing` variant

We also added a separate optimization to `AnchorSeekTarget::cmp`, to
skip the full `PathKey` comparison when the cursor's `PathKeyIndex` is
the same as the anchor's. This should help with singleton multibuffers.

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

---------

Co-authored-by: Anthony Eid <hello@anthonyeid.me>

Cole Miller and Anthony Eid created

36a23c2 Reduce agent spinner GPU usage (#51756)

Click to expand commit body
Closes #39532

## Summary

Move the long-running agent "generating" spinner into a dedicated
`GeneratingSpinner` view.

Previously, the generating state rendered `SpinnerLabel` inline as part
of the full thread view. This change keeps the same spinner styling, but
isolates it into its own small view so the animation no longer needs to
live directly inside the larger thread UI subtree while the agent is
running.

before:

<img width="398" height="448" alt="image"
src="https://github.com/user-attachments/assets/8a56c394-f7a6-4835-b877-fbc1500d2d03"
/>


after:

<img width="524" height="597" alt="image"
src="https://github.com/user-attachments/assets/bd2e5804-dba8-49c0-a421-7dc5ba600348"
/>


## Testing

- `cargo run -j 4 ~/Downloads/WorkSpace/zed/`
- `cargo check -p agent_ui`

Release Notes:

- Fixed high GPU usage from the agent panel's generating spinner while
an agent is running.

---------

Co-authored-by: Anthony Eid <anthony@zed.dev>

PuQing and Anthony Eid created

fd667f6 repl: Add notebook command/edit modes and keybindings (#51194)

Click to expand commit body
- Introducing NotebookMode state and handlers (EnterEditMode,
EnterCommandMode, RunAndAdvance).
- Wire up UI to switch modes,focus editors appropriately, and advance
selection while in command mode.
- Update default and vim keymaps to use the new bindings (shift-enter
runs+advances, escape enters command mode,
and enter/up/down work in command mode).
- Reveal and Focus the new Cell when inserted 

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:

- N/A

MostlyK created