Commit log

5e2c3d8 Fix some fixups

MrSubidubi created

2d6eeda Improve padding

MrSubidubi created

850a66e WIP

MrSubidubi created

017c05b terminal_view: Ensure reported size does not change once content becomes scrollable

MrSubidubi created

e762bb9 Remove unwrap() from `lsp::Uri::from_file_path` (#50244)

Click to expand commit body
Fixes ZED-3BM
Fixes ZED-1RT

Release Notes:

- Windows: Fixed a panic registering a path with language servers when
the UNC path cannot be represented by a Rust URI.

---------

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

Conrad Irwin and MrSubidubi created

cabf189 agent: Render subagent labels as they stream in (#50306)

Click to expand commit body
Release Notes:

- N/A

Ben Brandt created

6796539 agent: Allow jumping from diff to actual file (#50292)

Click to expand commit body
If you place your cursor inside an agent diff you can now jump to the
corresponding file by running `editor: Open excerpts`/`editor: Open
excerpts split`.



https://github.com/user-attachments/assets/cf3dba4e-68b7-4643-b9a9-844c2df58295

Release Notes:

- agent: Allow jumping to a file from a diff inside the agent
conversation with option-enter (`editor: Open excerpts`)

---------

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

Bennet Bo Fenner and Danilo Leal created

9c76869 ci: Add check for formatting of query files (#50140)

Click to expand commit body
Follow-up to https://github.com/zed-industries/zed/pull/50138

I deliberately decided against adding this in a separete job because
ts_query_ls is very fast when it comes to both formatting these as well
as checking for proper formatting. Will see here how long it takes to
install and whether we might need to adjust to account for the
installation time.

Release Notes:

- N/A

Finn Evers created

d15263e gpui: Gate Linux screen capture APIs behind feature flag (#50300)

Click to expand commit body
We were missing the cfg statements in the `LinuxClient` trait definition

Release Notes:

- N/A

Anthony Eid created

ab7cf50 Revert "sidebar: Zoom temporarily hides sidebar (#50088)" (#50297)

Click to expand commit body
This reverts commit aa3a12b566, because we no longer want a zoomed item
to block the sidebar.

This is because the sidebar is used for navigation and it interrupts a
user's flow if they're scrolling through their active workspaces, and
the sidebar just vanishes.

### Before
<img width="3248" height="2122" alt="image"
src="https://github.com/user-attachments/assets/c1c94b2c-fbbc-41a4-8eb9-47160ecba994"
/>

### After
<img width="1624" height="1061" alt="Screenshot 2026-02-27 at 2 10
24 PM"
src="https://github.com/user-attachments/assets/91d70281-f8ed-4da5-8e50-056370eb2fee"
/>


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

Anthony Eid created

d9ee18a docs: Add footer with links to pages (#50296)

Click to expand commit body
This PR includes a little footer with handy links in all docs pages:

<img width="500" height="532" alt="Screenshot 2026-02-27 at 10  03@2x"
src="https://github.com/user-attachments/assets/f1beb998-ae73-41d1-8fe1-734def58b0c5"
/>

Release Notes:

- N/A

Danilo Leal created

88df73c Add PR 50138 to `.git-blame-ignore-revs` (#50293)

Click to expand commit body
This PR adds https://github.com/zed-industries/zed/pull/50138 to the
`.git-blame-ignore-revs` file.

Release Notes:

- N/A

Finn Evers created

5ed538f Format Tree-sitter queries with `ts_query_ls` (#50138)

Click to expand commit body
Release Notes:

- N/A

Finn Evers created

c5f83f5 agent_ui: Registry follow-ups (#50287)

Click to expand commit body
Fixes a few things:

- Don't filter out any agents from the registry
- Sort the agents case-insensitively
- Allow removing custom agents from the settings page as well

Release Notes:

- N/A

Ben Brandt created

a759000 ep: Heuristic to apply patches to files without trailing newline (#50291)

Click to expand commit body
This is a workaround for the fact that ep patches don't have the '\No
newline at end of file` marker.


Release Notes:

- N/A

Oleksiy Syvokon created

c9425f2 agent: Stream `new_text` in `StreamingEditFileTool` (#50240)

Click to expand commit body
We now stream the new text into the buffer as soon as we receive partial
chunks of `new_text`. This is pretty much a full re-write of the way
streaming worked, which is now much closer to how the edit agent works:
- `ToolEditParser` buffers chunks as they stream in, and emits relevant
events (`OldTextChunk`,`NewTextChunk`, ...) that we use to power the
`EditSession` pipeline.
- `EditSession::process_events` takes care of consuming these events and
applying the edits incrementally as chunks stream in. `EditPipeline`
maintains the underlying state machine for each edit.
- We handle whitespace mismatches similar to the edit agent, the code is
shared by moving that logic to `reindent.rs`

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

Bennet Bo Fenner created

78878e5 Decrease review needs of the duplicate bot (#50289)

Click to expand commit body
Turns out you can't query the duplicate issue for the id of the
original/canonical issue, even though GitHub UI displays “Closed as
duplicate of <original issue id>”. Oh well. For the bot performance
tracking all that matters is whether any of its suggestions were the
actual originals, so we're working around the API limitation by querying
the suggested issues instead.

Release Notes:

- N/A

Lena created

511be9a Fix version reporting for duplicates bot (#50286)

Click to expand commit body
Obviously™, we add the bot-commented issues onto the tracking board at
the time of the issues getting closed, which is very much not the same
time as when the bot commented. We could very well be adding the issue
with a v1 bot comment to the board when v2 is already deployed. This
commit stops messing up those stats.

Release Notes:

- N/A

Lena created

96abd03 Fix Cmd+click navigating to file instead of definition (#49012)

Click to expand commit body
## Summary

- Tighten `link_pattern_file_candidates` regex from `\(([^)]*)\)` to
`]\(([^)]*)\)` so only Markdown link syntax `[title](path)` triggers
path extraction from parentheses
- Prevents function call arguments like `do_work(file2)` from being
incorrectly resolved as file paths, which preempted LSP go-to-definition

Closes #48938

## Test plan

- [x] `cargo test -p editor hover_links` — all 12 tests pass
- [x] New unit tests verify: function calls don't extract arguments as
file candidates; Markdown links still extract correctly

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Release Notes:

- Fixed Cmd+click navigating to file instead of definition in certain
cases

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

Wuji Chen and Claude Opus 4.6 created

0fad478 markdown_preview: Fix mermaid diagrams failing to render with empty subgraphs (#50280)

Click to expand commit body
Upgrade mermaid-rs-renderer to 9d8360d9cea10dc4bc86d7b8012cc6e9656e6cf2

Release Notes:

- N/A

Smit Barmase created

365e415 agent_ui: Add more improvements to the subagent UI (#50260)

Click to expand commit body
This PR includes the following adjustments:

- Add divider in the full screen view to expose what part of a
subagent's output is actually sent to the parent model
- Auto-expand the subagent card if there's only one running on a turn
- Adjust errors display within the subagent card

Release Notes:

- N/A

Danilo Leal created

7f09bff gpui: Reduce amount of wasm cfgs in gpui (#50278)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

7e58246 Improve GPU selection on Linux (#50274)

Click to expand commit body
Follow-up to https://github.com/zed-industries/zed/pull/50270

Release Notes:

- N/A

John Tur created

f0535dd Relax device limits for WGPU (#50270)

Click to expand commit body
Plus some minor cleanup.

Release Notes:

- Fixed GPU acceleration not working on certain Linux devices.

John Tur created

a217578 docs: Point to the right Bash extension repository (#50271)

Click to expand commit body
Closes #50261.

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~ N/A
- [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

Kunall Banerjee created

1c39e19 languages: Reorder type identifier highlights in JavaScript (#49325)

Click to expand commit body
Move general type identifier rules before class-specific ones to ensure
proper precedence in the syntax highlighting query.

Closes #49226.

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)

Release Notes:

- Fixed an issue where class names were not highlighted correctly in
JavaScript files

Kunall Banerjee created

9ff0b02 Include optional model version with EP acceptance and rejection messages (#50262)

Click to expand commit body
Release Notes:

- N/A

Max Brunsfeld created

d4e89f9 Add edit prediction evals that test related excerpt usage (#50256)

Click to expand commit body
I've also fixed a race condition with the programmatic context retrieval
in the CLI, which was causing no excerpts to be fetched for the Rust
examples.

Release Notes:

- N/A

Max Brunsfeld created

703bc36 Revert "outline: Refactor outline render_item to reuse existing TextStyle (#49166)" (#50258)

Click to expand commit body
This reverts commit 69e5ff7c76faa888ac71ff1d83cd335fb183b065.

Release Notes:

- N/A

Kirill Bulatov created

0859cce Add Vercel AI gateway provider integration (#50207)

Click to expand commit body
## Summary
- add a new `ai_gateway` language model provider in zed using the
openai-compatible chat completions path
- register ai gateway in provider wiring, settings schema, and default
settings
- add vercel ai gateway icon and provider list entry
- parse ai gateway model capabilities from tags (`tool-use`, `vision`)
and supported parameters
- clean up ai gateway oidc auth failures into a concise actionable error
message

Release Notes:

- Added Vercel AI Gateway as a new LLM provider in Zed.

dancer created

f1c5ed3 Add folder_paths for project grouping (#50249)

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

Mikayla Maki created

cbbcb1e acp: Fix stale ACP reasoning-effort options when model switch keeps same config IDs (#50246)

Click to expand commit body
## Problem
Zed's ACP config-options UI was only rebuilding selectors when the set
of config option IDs changed.

For many model switches, the IDs stay the same (`mode`, `model`,
`reasoning_effort`) while the valid values for `reasoning_effort` change
by model. As a result, the picker could show stale values (for example,
missing `xhigh` on `gpt-5.3-codex`, or showing extra `xhigh` after
switching away).

This is especially problematic for providers like Copilot that expose
multiple agents/models with different reasoning-level capabilities.

## Fix
Rebuild ACP config-option selectors on every `config_option_update`, not
only when config IDs change.

This refreshes cached picker entries whenever model-specific option
values change, even if option IDs are unchanged.

## User Impact
- Reasoning-effort picker now reflects the selected model immediately on
Claude <-> GPT transitions.
- Prevents stale or invalid effort choices in ACP sessions.

## Validation
- Manual validation: switch across models with different
reasoning-effort sets and confirm picker updates immediately.
- Local `cargo check -p agent_ui` remains blocked by unrelated
pre-existing `livekit-protocol` compile errors in this checkout.

## Files Changed
- `crates/agent_ui/src/acp/config_options.rs`

Release Notes:

- acp: Fix for config selectors not always being refreshed

---------

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

Nikhil Pandey and Ben Brandt created

da2bed1 agent: Rename run_turn to send in subagent handle (#50242)

Click to expand commit body
Align better with naming in thread. I grabbed the wrong function name :D

Release Notes:

- N/A

Ben Brandt created

6a74938 Add fast mode toggle in agent panel (#49714)

Click to expand commit body
This is a staff only toggle for now, since the consequences of
activating it are not obvious and quite dire (tokens costs 6 times
more).

Also, persist thinking, thinking effort and fast mode in DbThread so the
thinking mode toggle and thinking effort are persisted.

Release Notes:

- Agent: The thinking mode toggle and thinking effort are now persisted
when selecting a thread from history.

Tom Houlé created

d858f52 settings: Remove unused `file_finder.git_status` setting (#49889)

Click to expand commit body
From the looks of it, this setting was never used by the File Finder. It
also doesn’t make much sense to show git info in the File Finder. The
Project Panel already exposes this information to the user.

Closes #49709.

| Before | After |
|--------|--------|
| <img width="1012" height="769" alt="image"
src="https://github.com/user-attachments/assets/9666ace7-38cb-4789-8681-80c15b8ac3fd"
/> | <img width="1012" height="769" alt="image"
src="https://github.com/user-attachments/assets/5e0505d7-3ede-46fa-bb33-a44865a9f64b"
/> |

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:

- Removed unused `file_finder.git_status` setting

Kunall Banerjee created

14f37ed GPUI on the web (#50228)

Click to expand commit body
Implements a basic web platform for the wasm32-unknown-unknown target
for gpui

Release Notes:

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

---------

Co-authored-by: John Tur <john-tur@outlook.com>

Lukas Wirth and John Tur created

e832531 languages: Add `.prettierrc` to JSON `path_suffixes` (#50156)

Click to expand commit body
`.prettierrc` can be [written](https://prettier.io/docs/configuration)
in either JSON or YAML. Whether you write JSON or YAML, VS Code will
default to recognizing it as JSON. See screenshot.

Without this change, the user is forced to do:

```jsonc
"file_types": {
  "JSON": [".prettierrc"],
},
```

Small QoL improvement.

| VS Code | Zed (after the changes) |
|--------|--------|
| <img width="1732" height="1125" alt="image"
src="https://github.com/user-attachments/assets/1f9533fc-a77a-40f3-b8a5-6c36faeccffd"
/> | <img width="1732" height="1125" alt="image"
src="https://github.com/user-attachments/assets/bef8ca94-006c-44bd-ac1c-59f915b67123"
/> |

Closes #50072.

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 `.prettierrc` to JSON `path_suffixes`

Kunall Banerjee created

13933b8 Handle empty match list and do safe vector selection instead of slicing (#50232)

Click to expand commit body
Handles a panic found in telemetry - when there are no template matches
or feature matches, the picker delegate will panic due to an indexing
exception. This solves by:
1. Returning early if there are no matches, and
2. Performing safe vector `get` operations instead of slicing, so we can
handle a not-found scenario.



https://github.com/user-attachments/assets/ac76164d-63aa-4e2b-8555-d8e4f4dd2524



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 potential crash from initializing devcontainer.json

KyleBarton created

dd9efd9 gpui: Fix `send_file_drop_event` holding mutex during event callback (#50173)

Click to expand commit body
`send_file_drop_event` was the only event dispatch site in window.rs
that called the event callback while still holding the `MacWindowState`
mutex. every other callback site in the file uses the established
`take() / drop(lock) / callback()` pattern which releases the lock
before invoking user code.

this is a latent code quality issue: no deadlock occurs today because
the current file-drop callback chain does not reenter `MacWindowState`'s
mutex (`Window::mouse_position()` returns a cached field
`Window::refresh()` only marks a dirty flag and `cx.activate()` uses a
separate `MacPlatform` mutex). but `parking_lot::Mutex` is not entering
so any future platform call added inside a filedrop handler would
deadlock immediately and silently.

the fix brings `send_file_drop_event` in line with the rest of the file
by taking the callback out of the state dropping the lock invoking the
callback then reacquiring the lock to restore the callback and update
state.

Release Notes:

- N/A

Albab Hasan created

820774a agent: Simplify subagent tool and handle (#50230)

Click to expand commit body
Moves parent thread information into the environment, and also models it
as a turn on the handle rather than waiting for output.

Release Notes:

- N/A

Ben Brandt created

be57636 Start removing callers of legacy excerpt APIs (#50144)

Click to expand commit body
Paving the way to remove `ExcerptId`. Done in this PR:

- Unshipped the stack trace view
- Get rid of `push_excerpts`
- Get rid of some callers of `remove_excerpts`

We still need to remove some calls to `remove_excerpts` and other APIs,
especially in `randomly_edit_excerpts` and collaboration.

Release Notes:

- The stack trace multibuffer view has been removed.

---------

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

Cole Miller and Conrad Irwin created

8b2829e language_selector: Auto-select current language when opening (#48475)

Xiaobo Liu created

fc2d805 Fix `Collapse All Files` button being limited to the current buffer (#50076)

Click to expand commit body
Refactor buffer search bar click handler to use listener pattern

The click handler for the buffer search bar now uses the `cx.listener`
pattern instead of directly dispatching the action. This approach
properly binds the action handler to the component's context and ensures
consistent behavior with other event handlers in the codebase.

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)


before:


https://github.com/user-attachments/assets/4fe5eaa4-be5c-4fe5-92d6-60a4f2059f7a

after:


https://github.com/user-attachments/assets/31238988-b664-4c4b-b143-e4d09c5f0a62



Release Notes:

- Fixed the "Collapse All Files" button to work globally, now it's
limited to the current buffer

---------

Co-authored-by: Joseph T. Lyons <JosephTLyons@gmail.com>

0x2CA and Joseph T. Lyons created

c767dcc Get collab test suite passing (#50214)

Click to expand commit body
The test suite was failing with this error: methods
`is_screen_capture_supported` and `screen_capture_sources` are never
used. I added allow(dead_code) attribute on both methods to fix it

action that was failing:
https://github.com/zed-industries/zed/actions/runs/22444029970/job/64993825469

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

Anthony Eid created

1ad9d59 git: Fix a panic when searching the split diff (#50211)

Click to expand commit body
This could happen when you initiated a search on the left side, then
toggled into the unified view, then tried to select the next match.

Closes ZED-55G

Release Notes:

- Fixed a panic when toggling the split diff view while searching.

Cole Miller created

ceb7c0e Duplicates bot v2: focus on root cause, larger issue body preview (#50209)

Click to expand commit body
Release Notes:

- N/A

Lena created

2434a77 ui: Fix modals not using UI font and text color (#50208)

Click to expand commit body
The bug occurred because we weren't setting the right text style on the
root div anymore (Multiworkspace), which was introduce in #49995

### Before
<img width="3248" height="2122" alt="image"
src="https://github.com/user-attachments/assets/eca71731-5009-4e47-a948-d80eb3f13938"
/>

### After
<img width="3248" height="2122" alt="image"
src="https://github.com/user-attachments/assets/75d8c591-f539-413e-a171-71e4fc847f13"
/>


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)

Release Notes:

- N/A

Anthony Eid created

69e5ff7 outline: Refactor outline render_item to reuse existing TextStyle (#49166)

Click to expand commit body
Release Notes:

- N/A

Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>

Xiaobo Liu created

62f7599 dev: Add Tree-sitter tokens and resolved theme keys in highlights tree view (#49197)

Click to expand commit body
“dev: open highlights tree view” is useful for inspecting semantic
tokens. To create a theme, custom-defined semantic rules and theme
settings are required and theme mappings can be difficult across
languages. This PR adds syntax(tree-sitter) tokens and their resolved
theme keys to tree view. It also updates semantic token entries to show
their resolved theme keys.


Before:
<img width="818" height="634" alt="before"
src="https://github.com/user-attachments/assets/d553fe1f-5216-4793-ab98-7d5a2011d122"
/>

After:
<img width="888" height="677" alt="after"
src="https://github.com/user-attachments/assets/69dbab6b-d99d-4ff3-bc72-9c4587586e39"
/>


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 support for listing tree-sitter tokens in highlights tree view,
including their resolved theme keys. Semantic token entries also show
their resolved theme keys.

---------

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

ozacod and ozacod created

b6a2283 editor: Fix JoinLines with selection to end-of-line (#48035)

Click to expand commit body
Full line selections should only include the next line if there's a
single line selected. Otherwise, if multiple lines are selected, only
the selected lines should be joined.

Also updates the editor tests to include both of these cases.

Closes #48030 

Release Notes:

- Fixed `editor::JoinLines` when a multi-line selection includes the end
of the final line

Josh Robson Chase created