Commit log

d25a850 extension_ci: Set `fetch-depth` to `0` in tests (#49996)

Click to expand commit body
This makes the full history available in tests. 

Release Notes:

- N/A

Finn Evers created

269b03f workspace: Add ActivateLastPane action (#49853)

Click to expand commit body
## Summary

Add `workspace::ActivateLastPane` so users can bind a shortcut (for
example `cmd-9`) to focus the last pane.

## Why

Today, the closest option is `workspace::ActivatePane` with an index
(for example `8`), but that has side effects: when the index does not
exist, it creates/splits panes (`activate_pane_at_index` fallback).

`ActivateLastPane` gives a stable, no-surprises target: focus the
rightmost/last pane in current pane order, never create a new pane.

## Context

This capability has been requested by users before:
- https://github.com/zed-industries/zed/issues/17503#event-22959656321

## Prior art

VS Code exposes explicit editor-group focus commands and index-based
focus patterns (e.g. `workbench.action.focusSecondEditorGroup` ...
`focusEighthEditorGroup`) in its workbench commands:
-
https://github.com/microsoft/vscode/blob/main/src/vs/workbench/browser/parts/editor/editorCommands.ts#L675-L724

Zed already follows numbered pane focus in default keymaps
(`ActivatePane` 1..9 on macOS/Linux/Windows), so adding a dedicated
"last pane" action is a small, natural extension:
- `assets/keymaps/default-macos.json`
- `assets/keymaps/default-linux.json`
- `assets/keymaps/default-windows.json`

## Change

- Added `workspace::ActivateLastPane`
- Implemented `Workspace::activate_last_pane(...)`
- Wired action handler in workspace listeners
- Added `test_activate_last_pane`

## Validation

- `cargo test -p workspace test_activate_last_pane -- --nocapture`
- `cargo test -p workspace test_pane_navigation -- --nocapture`
- `cargo fmt --all -- --check`

## Risk

Low: focus-only behavior, no layout/data changes, no default keymap
changes.

Release Notes:

- Added `workspace::ActivateLastPane` action for keybindings that focus
the last pane.

---------

Co-authored-by: xj <gh-xj@users.noreply.github.com>

xj and xj created

3495746 git: Capture all working tree changes for the Review Diff action (#49993)

Click to expand commit body
The AI-assisted "Review Diff" action was only working for committed
changes because we were passing HEAD in the git command. Without it, it
captures all of the working tree changes, the same way the Branch Diff
view itself does. I think this is now better and more intuitive, because
it shouldn't be required that you commit the changes to have them
quickly reviewed by an agent.

Release Notes:

- N/A

Danilo Leal created

c58d388 git_ui: Hide the `ReviewDiff` action if branch diff view isn't open (#49988)

Click to expand commit body
This PR hides the `git: review diff` action when not in the branch diff
view, because otherwise, that wouldn't do anything.

Release Notes:

- N/A

Danilo Leal created

3cf7cb5 multi_buffer: Improve lookup performance for `MultiBufferSnapshot::excerpt` (#49986)

Click to expand commit body
Co-authored by: John Tur <jtur@zed.dev>
Release Notes:

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

Lukas Wirth created

e57a486 Narrow `.occlude()` call (#49981)

Click to expand commit body
Release Notes:

- N/A

John Tur created

b9463f5 multibuffer: Make "Open File" button also visible on hover (#49980)

Click to expand commit body
This makes the "Open File" button in the file header within multibuffers
also visible as you hover over the headers. Previously, this button
would only show up for the selected/focused file, but it now also shows
up on hover for making mouse-based interaction easier.

Release Notes:

- N/A

Danilo Leal created

0f21e2a extension_ci: Use fork point for version comparison (#49972)

Click to expand commit body
Lost another battle to the GitHub docs. Instead, now let's just do it
ourselves here in bash and not guess whatever GitHub is referring to in
their documentation..

Release Notes:

- N/A

Finn Evers created

f96ac58 extension_ci: Use `head_ref` for version comparison (#49970)

Click to expand commit body
Release Notes:

- N/A

Finn Evers created

f375a1a image_viewer: Use checkerboard from GPUI (#49575)

Click to expand commit body
As we have checkerboard, used same pattern as git diff inside Image
Viewer.
Now that CPU instructions aren't an issue, perhaps size can be lowered
to 16/24 for base boxes.



Release Notes:

- N/A

MostlyK created

c6a82b3 debugger: Open correct pane for breakpoints (#49390)

Click to expand commit body
Closes #40602

### Summary

This PR ensures that active debug lines only open in a single pane and
new active debug lines are added to the most recent pane that contained
an active debug line. This fixes a bug where Zed could go to the active
debug line file and location in every pane a user had open, even if that
pane was focused on a different file.

I fixed this by storing the `entity_id` of the pane containing the most
recently active debug line on `BreakpointStore`, this is consistent with
where the selected stack frame is stored. I used an `entity_id` instead
of a strong type to avoid circular dependencies. Whenever an active
debug line is being set in the editor or by the debugger it now checks
if there's a specific pane it should be set in, and after setting the
line it updates `BreakpointStore` state.

I also added a new method on the `workspace::Item` trait called `fn
pane_changed(&mut self, new_pane_id: EntityId, cx: &mut Context<Self>)`
To enable `Editor` to update `BreakpointStore`'s active debug line pane
id whenever an `Editor` is moved to a new pane.


### PR review TODO list

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:

- debugger: Fix bug where active debug lines could be set in the wrong
pane

Anthony Eid created

060d071 workspace: Invert dependency on call crate by extracting into a trait (#49968)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Piotr Osiewicz <piotr@zed.dev>

Jakub Konka and Piotr Osiewicz created

ca7d48a Update linux.md to add Ubuntu community packages (#49654)

Click to expand commit body
Today I added ubuntu LTS distributions to my debian repo.
You can find the index of noble and jammy here
https://debian.griffo.io/apt/dists/noble/main/binary-amd64/Packages
https://debian.griffo.io/apt/dists/jammy/main/binary-amd64/Packages

So far zed is the second most download package in my repo!

<img width="769" height="648" alt="image"
src="https://github.com/user-attachments/assets/e07a2312-e56a-4e2c-86d9-70cbf6c6aa73"
/>

Release Notes:

- N/A

Dario Griffo created

7b51947 Fix backward compatibility for v0.0.4 GitHub extension bindings (#49858)

Click to expand commit body
## Summary
- Route `zed:extension/github` in `since_v0_0_4` to the `since_v0_6_0`
bindings
- Call `latest_github_release` through `since_v0_6_0` for compatibility
with the v0.0.4 extension API

Release Notes:

- Fixed backward compatibility for v0.0.4 extension API GitHub bindings.

Felix Zeller created

fe6e528 terminal: Fix mouse scroll report count for negative scroll lines (#49931)

Click to expand commit body
Follow-up to #45600.

## Summary

Fix mouse scroll reports sending only one event when scrolling down in
terminal apps with mouse mode (tmux, neovim, etc.), regardless of how
many lines were scrolled.

## The Problem

After #45600, trackpad scrolling speed was fixed. But when scrolling
**down** (negative `scroll_lines`), the terminal was still sending only
**one** scroll report per gesture, no matter how many lines the user
scrolled. Scrolling up worked correctly.

## Root Cause

In `scroll_report()` we had:

https://github.com/zed-industries/zed/blob/a8043dcff8f28a0443d7ec238e7f020689ebe1ff/crates/terminal/src/mappings/mouse.rs#L96

`scroll_lines` can be negative (scroll down) or positive (scroll up).
For negative values:

| scroll_lines | max(scroll_lines, 1) | Reports sent | Verdict |
|--------------|---------------------|--------------|------|
| 3 (up)       | 3                   | 3           |Right
| -3 (down)    | 1                   | 1           |WRONG|

So we always sent exactly 1 report when scrolling down, losing the
scroll magnitude.

Use `scroll_lines.unsigned_abs()` instead of `max(scroll_lines, 1)`.
This matches how `alt_scroll()` in the same file already handles
`scroll_lines`. Now both directions send the correct number of reports.

https://github.com/zed-industries/zed/blob/a8043dcff8f28a0443d7ec238e7f020689ebe1ff/crates/terminal/src/mappings/mouse.rs#L102

## Testing

- Added unit tests: `scroll_report_repeats_for_negative_scroll_lines`
and `scroll_report_repeats_for_positive_scroll_lines`
- Manually tested scrolling in tmux and neovim with mouse mode

---

Release Notes:

- Fixed mouse scroll in terminal apps (tmux, neovim, etc.) only sending
one scroll event when scrolling down, regardless of scroll amount

Emamul Andalib created

b5eeeb9 agent_ui: Avoid querying `OnboardingUpsell` in prepaint (#49963)

Click to expand commit body
This hits the sqlite database unnecessarily

Release Notes:

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

Lukas Wirth created

564424b Defer wgpu context creation until we have a surface (#49926)

Click to expand commit body
Fixes ZED-54X

Release Notes:

- Linux: wait to request a graphics context until we have a window so we
can (ideally) pick a better context or (less ideally) fail more
gracefully.

---------

Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>

Conrad Irwin and Zed Zippy created

096610e Fix incorrect cursor excerpt handling in EP CLI format-prompt (#49947)

Click to expand commit body
Release Notes:

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

Max Brunsfeld created

9f08443 Better cargo wrapper (#49946)

Click to expand commit body
Fixes the wrapper on linux/mac to not double-run cargo. Makes it work at
all on windows

Release Notes:

- N/A

Conrad Irwin created

61e7746 Fix wasmtime panic handling (#49944)

Click to expand commit body
We see a number of crashes in Sentry that appear to be crashes in
wasmtime.
This shouldn't happen, as wasmtime is designed to run untrusted code
"safely".

Looking into this, it seems likely that the problem is that we race with
wasmtime
when installing signal handlers. If wasmtime's handlers are installed
before ours,
then any signals that it intends to handle (like out of bounds memory
access) will
reach our handlers before its; which causes us to assume the app has
crashed.

This changes fixes our crash handler initialization to ensure we always
create
our signal handler first, and reverts a previous attempt to fix this
from #40883

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:

- Linux: Fixed crashes that could happen due to our crash handler
erroneously catching signals intended for wasmtime.

Conrad Irwin created

c7dd119 git: More rigorously test excerpt syncing for split diff, and fix a couple of bugs (#49907)

Click to expand commit body
This PR adds a more rigorous test for the excerpt syncing logic in
`SplittableEditor`, in preparation for refactoring that code, since
we've had some bugs there.

The new test covers
- edits within the RHS multibuffer
- edits to the individual main buffers, not necessarily within the
excerpt bounds of the split diff
- excerpt expansion
- excerpt removal
- excerpt recalculation based on diff hunk ranges

Bugs fixed:
- incorrect edit merging logic in `patches_for_range`
- `merge_excerpts` leaving stale excerpt IDs in `excerpts_by_path`

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
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A

Cole Miller created

060e4af Skip docs suggestions workflow for fork PRs (#49942)

Click to expand commit body
## Summary

Fork PRs don't have access to repository secrets (`FACTORY_API_KEY`),
causing the docs suggestions workflow to fail when triggered by external
contributor PRs.

This adds a condition to skip the `batch-suggestions` job when the PR
originates from a fork (`github.event.pull_request.head.repo.full_name
!= github.repository`).

## Context

See failing job:
https://github.com/zed-industries/zed/actions/runs/22323201362/job/64586740764

The `pull_request` trigger doesn't pass secrets to workflows running on
fork PRs for security reasons. This is expected GitHub behavior.

Release Notes:

- N/A

morgankrey created

1c7563c git_ui: Make stash picker footers button wrap (#49814)

Click to expand commit body
Closes #48383

An alternative approach would be to use `min_w` instead of `w`, but that
would result in inconsistent widths across the three tabs in the git
picker, causing layout jumps when switching between them. It might be
more appropriate to simply increase the width directly.

|Before|After|
|--|--|
|<img width="932" height="290" alt="CleanShot 2026-02-22 at 02 01 20@2x"
src="https://github.com/user-attachments/assets/a0868cf5-86a0-4375-9cf5-6728a6411ff1"
/>|<img width="970" height="274" alt="CleanShot 2026-02-22 at 02 03
50@2x"
src="https://github.com/user-attachments/assets/acee111c-06ff-48d1-b1c7-c118bdddfcf9"
/>|

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 footer buttons clipped in stash picker when vim mode is enabled
on macOS

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>

ᴀᴍᴛᴏᴀᴇʀ and Danilo Leal created

bb271cf build: Add cargo timing script to devshell (#49941)

Cameron Mcloughlin created

da6ff30 settings_ui: Improve control alignment for multiline settings rows (#49850)

Click to expand commit body
Closes #49848

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

## Summary
Align right-side controls in settings rows when descriptions wrap to
multiple lines, and relax the text-width cap for better balance.

## Changes
- Top-aligned settings row containers in shared settings UI render paths
by adding `items_start()` to:
  - Setting rows (`render_settings_item`)
  - Sub-page link rows
  - Action link rows
- Updated the left text column width constraint in
`render_settings_item` from `w_3_4` to `w_full + max_w_2_3 + min_w_0` to
avoid overlap while reducing excess empty space.

## Validation
- Built and ran Zed locally with `cargo run`.
- Manual verification in Settings pages with multiline descriptions and
right-side controls:
  - General
  - Appearance
  - Languages & Tools
  - Agent/Terminal-related sections
- Confirmed improved control alignment and no right-column text overlap
in the tested views.

  | Before | After |
  |---|---|
|
![1-before](https://github.com/user-attachments/assets/bf548d15-a1a6-4917-81ac-0a1afefa2ea1)
|
![1-after](https://github.com/user-attachments/assets/47a61610-7b74-48bd-838d-e39e3b578d19)
|
|
![2-before](https://github.com/user-attachments/assets/92c0bd32-9772-42f4-be98-b1818556fa80)
|
![2-after](https://github.com/user-attachments/assets/188e0fdf-91ea-49bf-9648-9177107d94c9)
|







## Linked Issues
- #49848

Release Notes:

- Fixed settings row layout so right-side controls align better with
multiline setting descriptions.

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>

Altay and Danilo Leal created

62f1689 agent_ui: Add some design tweaks to the subagents UI (#49938)

Click to expand commit body
- Increase hit area of both the preview expansion as well as the full
screen expansion
- Add the ability to stop a subagent from the full screen view
- Fix subagent state display in the full screen view (e.g., we were
showing the green check mark even when the subagent was cancelled)
- Make card header font size consistent with the thread through a new
enum value in `LabelSize`
- Refine tooltip content and display
- Fix slight layout shift happening between the "there is no thread" and
"there is a thread" states

---
 
Closes #ISSUE

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

Danilo Leal created

5ef898d Fix handling of excerpt regions in EP CLI (#49936)

Click to expand commit body
Previously, we were not computing excerpt regions correctly for EP
examples captured from prod. This PR fixes that, and also simplifies the
data flow in the EP CLI. Examples either come from a concise spec (like
the markdown evals), or are collected from prod. Either way, we compute
from them a `ZetaPromptInput`, and the downstream steps like
prompt-formatting and scoring are derived from that.

Release Notes:

- N/A

---------

Co-authored-by: Ben Kunkle <ben@zed.dev>

Max Brunsfeld and Ben Kunkle created

512f1f6 git: Fix diff view buttons not working when project diff or branch diff is empty (#49884)

Click to expand commit body
Release Notes:

- git: Fixed a bug where the buttons to toggle the split diff view would
have no effect when the diff being viewed was empty.

Cole Miller created

7d66703 Remove thread title persistence (#49929)

Click to expand commit body
This was causing performance issues and is on its way out anyway.

Release Notes:
- N/A

Eric Holk created

778f2d3 Fix panic in breadcrumbs (#49930)

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


Fixes
https://zed-dev.sentry.io/issues/7286512714/?project=4509715135987712&query=is%3Aunresolved&referrer=issue-stream

Release Notes:

- Fix (rare) panic when breadcrumbs contain newlines

Conrad Irwin created

a8043dc editor: Prevent panic when attempting to resolve a breakpoint anchor against the wrong buffer (#49893)

Click to expand commit body
Closes ZED-4HY

Release Notes:

- Fixed a crash when using breakpoints.

Cole Miller created

97a8fe7 zeta: Consolidate logic for picking region sizes, use larger editable region (#49921)

Click to expand commit body
This will not affect how Zeta 2 behaves in production until we update
Cloud to pull in the changes to the `zeta_prompt` crate. But from some
early testing, it seems to improve behavior, not worsen it, even though
the editable region size differs from the currently-deployed model's
training data.

Release Notes:

- N/A

---------

Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Co-authored-by: Ben Kunkle <ben@zed.dev>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>

Max Brunsfeld , Oleksiy Syvokon , Ben Kunkle , and Zed Zippy created

c2504ad http_client: Fix Codex ACP install robustness by staging downloads (#45428)

Click to expand commit body
Release Notes:

- Improved Codex ACP install robustness by staging downloads

---------

Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Xiaobo Liu and Conrad Irwin created

9e87fef Fix panic when folding immediately after a tab (#49920)

Click to expand commit body
fixes ZED-57B

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:

- Fixed a (rare) panic when a fold was created immediately following a
tab character

Conrad Irwin created

3333c79 context_menu: Fix certain menu items not reacting to click events (#49557)

Click to expand commit body
Use `Workspace::for_window` instead of `window.root().flatten()`.



https://github.com/user-attachments/assets/3ea6dae3-166d-49e4-9fff-8256e13cc2bf



https://github.com/user-attachments/assets/eb8d9394-5f71-4df6-b0db-c1c8078f1b9a



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 certain context menu items not reacting to click events

Kunall Banerjee created

04a2f05 Don't panic in auth flow (#49916)

Click to expand commit body
Closes #49641

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:

- Fixed panic when authentication failed to bind to lookback port

Conrad Irwin created

e14f6e7 Respect `ZDOTDIR` environment variable iff set (#49913)

Click to expand commit body
When `ZDOTDIR` is set, `zsh` reads its configuration from that directory
instead of the user’s `$HOME` directory.

| Setup | `ZDOTDIR` set? | Script writes to | Zsh reads from | Match? |
|---|---|---|---|---|
| XDG + `ZDOTDIR` | βœ… | `$ZDOTDIR/.zshrc` | `$ZDOTDIR/.zshrc` | βœ… |
| XDG without `ZDOTDIR` | ❌ | `$HOME/.zshrc` | `$HOME/.zshrc` | βœ… |
| No XDG at all | ❌ | `$HOME/.zshrc` | `$HOME/.zshrc` | βœ… |


Ref: https://zsh.sourceforge.io/Intro/intro_3.html

Release Notes:

- N/A

Kunall Banerjee created

5e14d46 agent: Allow expanding subagent from full header (#49911)

Click to expand commit body
Makes it a bigger click target for the expanded preview.

Release Notes:

- N/A

Ben Brandt created

d9b7d77 agent: Fix slow file edits when using Opus 4.6 (#49904)

Click to expand commit body
Fixes a regression introduced in #48545 (reasoning effort selector). We
saw edit file tool calls taking a long time (loading animation was
displayed, no diff) when using Opus 4.6. This was caused by Opus 4.6.
emitting thinking tokens even when the user explicitly disabled thinking
in the UI.
<img width="289" height="67" alt="image"
src="https://github.com/user-attachments/assets/090a99f8-9b07-4d25-9058-3706f9333396"
/>

In addition to the thinking tokens causing overhead, we were slowing
down file editing even more. because changing between
thinking/non-thinking between requests causes the cache to be
invalidated
([docs](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#what-invalidates-the-cache)).

This PR ensures that we inherit the setting for enabling or disabling
thinking from the thread from which the edit tool was called.

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 an issue where editing files was taking a long time when using
Opus 4.6

---------

Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>

Bennet Bo Fenner and Zed Zippy created

67e63ec git_graph: Add button to open up the commit view (#49910)

Click to expand commit body
This PR adds a button at the bottom of the commit details panel to
quickly open the commit view:

<img width="500" height="806" alt="Screenshot 2026-02-23 at 2β€― 22@2x"
src="https://github.com/user-attachments/assets/770234b2-a46d-4595-9f9e-7af7eeac73be"
/>

---

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

Danilo Leal created

a3c62de git_graph: Add some design adjustments (#49899)

Click to expand commit body
- Made hover/active styles, as well as clicks, work for the entire row,
capture the graph element, too (needed to make some manual hover and
other states management to pull that off)
- Used the existing `Chip` component for the branch chip instead of a
local recreation
- Adjusted spacing and sizing of commit detail panel, including button
labels truncation and tooltip content
- Added diff stat numbers for the changed files, to match the commit
view
- Standardized the commit avatar component across the git graph, the
commit view, and the file history view
- Added scrollbar to the changed files uniform list
- Removed author name display redundancy (kept only email)
- Made the commit detail UI have a min-width

<img width="750" height="1964" alt="Screenshot 2026-02-23 at 11β€― 31@2x"
src="https://github.com/user-attachments/assets/d1433bd8-5edb-4829-882b-52b1bffbd6db"
/>

--- 

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

---------

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

Danilo Leal and Anthony Eid created

b775e5d Add a cargo wrapper to report build times (#49632)

Click to expand commit body
This adds `./script/cargo` which is a transparent wrapper around `cargo`
intended for use by internal staff members at Zed.

It:
- adds `--timings` to `cargo build`/`cargo test`/`cargo run`
- saves the output to ZED_DATA_DIR/build-timings

When Zed starts (and you're logged in as a staff member) the
build-timings
directory is uploaded to our existing telemetry stack.

Co-authored-by: Marshall <git@maxdeviant.com>

Release Notes:

- N/A

Conrad Irwin created

77e68b4 agent: Remove warning for spawn_agent (#49903)

Click to expand commit body
It seems this was working too well and the model wasn't choosing to use
subagents at all.

Release Notes:

- N/A

Ben Brandt created

911a8d9 docs: Remove broken Linear MCP extension from docs (#48484)

Click to expand commit body
The extension currently does not work, from my own testing. Since Zed
has native support for remote MCPs over HTTP now, Linear can be
configured like this:

```json
{
  "linear-remote": {
    "url": "https://mcp.linear.app/mcp",
    "headers": {
       "Authorization": "Bearer <YOUR LINEAR TOKEN>"
    }
  }
}
```

---

Release Notes:

- N/A

Tom HoulΓ© created

8294fbb agent: Subagent low context warnings (#49902)

Click to expand commit body
Allow the parent agent to handle cases where the subagent is running on
of context window. Also communicates if it has completely out of
context.

Release Notes:

- N/A

Ben Brandt created

61757aa git: Remove unused actions (#49901)

Click to expand commit body
Remove both `git::LoadMoreHistory` and `git::ViewCommitFromHistory`
actions as although both actions were registered in the workspace, they
don't actually have effect when run.

This appears to have been leftover from
https://github.com/zed-industries/zed/pull/42441 , possibly the initial
implementation on how to open a commit and load more commits when the
file history view was open, which is now handled with `Button.on_click`
callbacks instead of relying on actions.

Closes #49288 

Release Notes:

- Removed unused git actions – `git: load more history` and `git: view
commit from history`

Dino created

162f4b4 Use title case for UI labels (#49864)

Click to expand commit body
Use title case everywhere.

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:

- Use title case for UI labels

---------

Signed-off-by: Sakthi Santhosh Anumand <mail@sakthisanthosh.in>
Co-authored-by: Kunall Banerjee <hey@kimchiii.space>

Sakthi Santhosh Anumand and Kunall Banerjee created

8a51ace agent: Staff ship subagents (#49885)

Click to expand commit body
Release Notes:

- N/A

Ben Brandt created

304951a agent: Remove timeout for subagent (#49898)

Click to expand commit body
For the last few days, the model has never picked a good timeout value.
It seems they are better at choosing timeouts for bash commands but not
agents. Given there are some rate limits involved, I think it is hard to
estimate and we already have an upper bound of execution which is the
context window to keep it from going indefinitely.

Release Notes:

- N/A

Ben Brandt created

993b0c8 Improve subagent permission UX (#49874)

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

---------

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

Bennet Bo Fenner and Ben Brandt created