Commit Graph
39175 Commits
Author SHA1 Message Date
Ben Brandt 8efa7fdcde agent: Use default tool behavior for subagents (#49706)
Looking at this more, the map of tools is just for what is available and
all of the filtering happens at runtime. So we can just rely on the
current behavior for the list of tools (it was already a matching set)
and we can simplify all of the code paths again where we were adding
this filtered list.

Release Notes:

- N/A
2026-02-20 11:07:03 +00:00
Ben Brandt 4b71f7e3da agent: Change max subagent depth to 1 for now (#49704)
There are some UI concerns, especially for permission requests, that get
extremely complicated for recurisve subagents.

We'll move this to 1 for now to reduce complexity, and revisit once we
have a better way for representing all current permission requests.

Release Notes:

- N/A
2026-02-20 10:52:58 +00:00
Lukas Wirth 65b109d528 text: Inline text::Anchor's timestamp field, shrinking its size (#49703)
This shrinks the size of `text::Anchor` from 32 bytes to 24 and
`multi_buffer::Anchor` from 72 bytes to 56

Release Notes:

- Improved the memory usage of Zed a bit
2026-02-20 10:17:22 +00:00
Piotr Osiewicz 0ea73ce45c gpui: Fix visual_test.rs feature-gating screen-capture import (#49701)
Closes #ISSUE

Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A
2026-02-20 10:09:49 +00:00
Antonio Scandurra cbec3c90b3 Fix stale folded buffers in split diff view (#49699)
When a buffer is folded in the split diff view and then removed from the
multibuffer (via `remove_excerpts_for_path`), the block map's
`folded_buffers` set retains a stale entry for that buffer ID. Later,
when the split view syncs folded state from the RHS display map to the
LHS, it tries to look up the companion mapping for this stale buffer and
fails because the companion no longer tracks a buffer that's been
removed from the multibuffer.

This originally caused a panic via `.expect()`. This PR:

1. Converts the panic into graceful handling by skipping unmapped
buffers.
2. Actively removes stale entries from `folded_buffers` so they don't
persist as ghost state — ensuring that if the same buffer is later
re-added, it won't incorrectly appear as folded.
3. Adds a regression test covering the full lifecycle: fold → remove →
split → re-add → assert both LHS and RHS report the buffer as not
folded.

Release Notes:

- Fixed a crash in split diff view when a folded buffer was removed and
re-added.
2026-02-20 09:49:31 +00:00
Raphael LüthyandBen Brandt 1396cb9463 anthropic: Support alternative provider SSE formatting (#47847)
The issue I ran into was that responses from anthropic compatible
providers, like Kimi for Coding, have no space after `data:`. This
change just adds a quick check to also allow for those providers to
work.

Before it just resolved but did not show any output:
<img width="50%" alt="CleanShot 2026-01-28 at 12 50 31@2x"
src="https://github.com/user-attachments/assets/c3c8fe27-348e-4b21-a5f1-25bcc82f3774"
width=50%/>

Now it returns the proper result:
<img width="50%" alt="CleanShot 2026-01-28 at 12 56 30@2x"
src="https://github.com/user-attachments/assets/4e524c1e-78ab-4956-bd65-a919d46adc59"
width=50%/>

Normal Anthropic models still work as expected:
<img width="50%" alt="CleanShot 2026-01-28 at 12 58 37@2x"
src="https://github.com/user-attachments/assets/5a2906aa-1183-45b6-939b-01a6830f3385"
/>

Config to test
```json
 "language_models": {
    "anthropic": {
      "api_url": "https://api.kimi.com/coding",
      "available_models": [
          {
            "name": "kimi-for-coding",
            "display_name": "Kimi 2.5 Coding",
            "max_tokens": 262144,
            "max_output_tokens": 32768,
          },
      ],
    },
}
```


TLDR:
- Accepts SSE data:{...} lines (no space) emitted by some alternative
Anthropic providers, in addition to the standard data: {...} format.

Release Notes:

- Fixed Anthropic streaming for alternative providers by accepting SSE data:{...} (no space) lines.

---------

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
2026-02-20 09:47:00 +00:00
Oleksiy Syvokon 3bcc8c8258 ep: Fix panic when switching to a non-store provider (#49698)
The `unreachable()` assumption at `queue_prediction_refresh` could be
violated by an async race condition:

1. `request_prediction_internal` spawns an async task
2. The task awaits a prediction request
3. If the prediction returns `None`, it calls `queue_prediction_refresh`
4. Between the time the prediction was initiated (when the provider was
an EP-store provider) and when the async callback runs, the user can
change their edit prediction provider setting to a non-EP-store provider
5. `queue_prediction_refresh` re-reads the settings and hits the
`unreachable!()

Release Notes:

- N/A
2026-02-20 11:46:28 +02:00
MostlyK c3d4b14977 repl: Add WSL and SSH remote kernel support (#47891)
Closes #15196, #46918 

- fix: notebook_ui, use buffer so that notebooks open in remote/WSL
settings.
- fix: add musl in nix for cross-compilation, without this remote server
doesn't build inside NixOS


Release Notes:

- Implement WSL and SSH remote kernels (crates/repl/src/kernels/*) and
wire up spawn/kill kernel proto messages and client requests.
2026-02-20 09:36:21 +00:00
Lukas Wirth 0d14044dc4 agent_ui: Fix panic in load/copy thread to/from clipboard (#49694)
Fixes ZED-4VW

Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-02-20 09:15:42 +00:00
Lukas Wirth 83b7b0429d editor: Fix panic in minimap selection rendering (#49692)
Fixes ZED-50Z

Release Notes:

- Fixed a crash when using the editor minimal
2026-02-20 09:04:23 +00:00
Lukas Wirth e22363e73f Reduce amount of closure monomorphizations part 2 (#49688)
Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-02-20 08:32:45 +00:00
Kyle Kelley 7390685f63 repl: Add clear output(s) command (#49631)
Closes #15947

This adds `repl:ClearCurrentOutput` and `repl:ClearOutputs` commands. No
keybindings are set for this. Just an action people can bind.

Release Notes:

- Added ability to clear outputs by action
2026-02-20 08:56:29 +01:00
Kyle Kelley 69fef37c9c repl: Support HTML outputs through html_to_markdown (#49646)
Closes #15555

Adds a super basic render of html output from jupyter kernels.

<img width="1061" height="1207" alt="image"
src="https://github.com/user-attachments/assets/1bfb8c71-0e38-4bff-9f0c-bec12721232a"
/>

Obviously not as full featured as #48157

Release Notes:

- Added basic handling of HTML in REPL outputs
2026-02-20 08:55:58 +01:00
Xin Zhao dc725ae69b editor: Prevent comment extension on REPL separators (#48174)
Closes #47691

Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-02-20 08:38:16 +01:00
Xiaobo Liu dc824f3145 extension: Stream wasi-sdk download (#49679)
Release Notes:

- N/A



The WASI-SDK is several hundred megabytes in size; using streaming
downloads is network-friendly and can reduce memory usage.

Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
2026-02-20 07:25:53 +00:00
Cole Miller 006ce97969 git: Replace some unwraps with expect (#49683)
Release Notes:

- N/A
2026-02-20 05:18:10 +00:00
Ben Kunkle ef490d400d ep_store: Don't handle project events for non-EditPredictionStore providers (#49678)
Closes #ISSUE

Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-02-20 03:24:59 +00:00
Ben Kunkle eefb6ecebd ep_cli: Don't filter rated predictions by Zed version (#49609)
Closes #ISSUE

Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-02-19 22:23:24 -05:00
Marshall Bowers 7f96eff98f Sign out upon receiving an Unauthorized response when acquiring an LLM token (#49673)
This PR makes it so the user gets signed out upon receiving an
Unauthorized response when acquiring an LLM token.

This is a re-landing of #49661.

Closes CLO-324.

Release Notes:

- N/A
2026-02-19 22:13:38 -05:00
Cole Miller 78230a80cf git: Mitigate panic in split diff spacer calculation (#49674)
Release Notes:

- N/A
2026-02-19 22:08:51 -05:00
Marshall Bowers 30994dcadf collab: Remove unneeded Arc::get_mut (#49672)
This PR removes an unneeded `Arc::get_mut` from the Collab tests.

Release Notes:

- N/A
2026-02-20 02:11:53 +00:00
Ben KunkleandZed Zippy f3a89766b8 Fix docs validation to detect unknown keys (#49660)
Closes #ISSUE

Release Notes:

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

---------

Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
2026-02-19 20:46:21 -05:00
John TurandMarshall Bowers 76d8d97998 Fix Windows build (#49665)
Fix regressions from https://github.com/zed-industries/zed/pull/49277:

- The fusion manifest was not being embedded for Zed.exe, making it
non-functional.
- The relative path used to load shaders in debug mode was incorrect.

Release Notes:

- N/A

Co-authored-by: Marshall Bowers <git@maxdeviant.com>
2026-02-19 19:15:59 -05:00
Piotr OsiewiczandMarshall Bowers 587b3128b6 ci: Make filter script less error-prone (#49670)
The failure in #49661 was caused by a broken pipe, which then led to
tests not being ran.

Co-authored-by: Marshall Bowers <marshall@zed.dev>

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

Co-authored-by: Marshall Bowers <marshall@zed.dev>
2026-02-20 01:06:53 +01:00
Marshall Bowers f5118ce133 Revert "Sign out upon receiving an Unauthorized response when acquiring an LLM token (#49661) (#49669)
This PR reverts #49661, as the Collab tests are failing (but were not
caught in CI).

This reverts commit e90302e1fd.

Release Notes:

- N/A
2026-02-19 23:54:03 +00:00
Marshall Bowers e90302e1fd Sign out upon receiving an Unauthorized response when acquiring an LLM token (#49661)
This PR makes it so the user gets signed out upon receiving an
Unauthorized response when acquiring an LLM token.

Closes CLO-324.

Release Notes:

- N/A
2026-02-19 22:23:40 +00:00
Eric Holk 5a8bbfea81 Fix subagent card buttons getting clipped by long titles (#49648)
When a subagent title is long, the header buttons (expand/collapse,
maximize, stop) were pushed out of view because the title area grew
unconstrained.

## Fix

- Add `min_w_0()` and `overflow_hidden()` to the title container so it
can shrink below its content width
- Add `truncate()` to the title label so it shows an ellipsis when
clipped
- Add `flex_shrink_0()` to the buttons container so it never gets
squeezed out
- Add a tooltip on the title area showing the full text on hover

Release Notes:

- N/A
2026-02-19 13:49:31 -08:00
claire a291b3a3f5 Fix visual test screenshot functionality (#49649)
After #49277 was merged, all visual tests failed to run with the error
"FAILED - render_to_image not implemented for this platform".

Release Notes:

- N/A
2026-02-19 22:48:33 +01:00
Finn Evers 53f42fd600 editor: Fix relative line numbering with deleted blocks present (#49656)
This tackles another issue where we would incorrectly show two absolute
line numbers with relative line numbering enabled when it really should
only have been the current active line number.

Sadly, no tests rn for this as we would need a better test infra for
that to properly catch/test this bug. But with the refactored logic, I
think this is easier to understand at glance, so at least theres that

Release Notes:

- Fixed an issue with relative line numbers where some rows would be
missing their relative line number with deleted hunks showing.
2026-02-19 22:34:14 +01:00
Piotr Osiewicz c0fbe69e45 gpui_linux: Fix headless build (#49652)
Closes #ISSUE

Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A
2026-02-19 20:38:40 +00:00
d249200765 Allow using Zeta through an arbitrary OpenAI-compatible self-hosted API (#49554)
Release Notes:

- Added the ability to use a self-hosted OpenAI-compatible server for
edit predictions.

---------

Co-authored-by: Ben Kunkle <ben@zed.dev>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
2026-02-19 20:18:36 +00:00
Cole Miller 98951a146f Add telemetry for stack trace view (#49642)
Release Notes:

- N/A
2026-02-19 19:17:11 +00:00
morgankrey 21ab775c2d Fix JS syntax error in docs_suggestions cherry-pick job (#49643)
## Summary

Fixes the `SyntaxError: Unexpected identifier 'gemini'` error in the
cherry-pick documentation suggestions workflow.

## Problem

The 'Post suggestions as PR comment' step was directly interpolating
markdown content into a JavaScript template literal:

```javascript
const suggestions = `${{ steps.analyze.outputs.suggestions }}`;
```

When the suggestions contained backticks, `${}` sequences, or other
special characters (like the `gemini-3.1-pro-preview` model name in
markdown code blocks), it broke the JavaScript syntax.

## Solution

Write suggestions to a file in `$RUNNER_TEMP` and read it using
`fs.readFileSync()` in the script step. This avoids all GitHub Actions
template interpolation and JavaScript string parsing issues.

## Testing

This should fix the failed run:
https://github.com/zed-industries/zed/actions/runs/22194396124/job/64190762087

Release Notes:

- N/A
2026-02-19 13:10:25 -06:00
Eric Holk b945adf5fa Fix panic involving growing and shrinking selections while buffer size changes (#48898)
Repro steps:

1. Make a Rust file and check it in to git
2. Delete a lot of the file
3. Expand all the diffs (cmd+")
4. Select larger syntax node (ctrl+cmd+right)
5. Collapse all the diffs
6. Select smaller syntax node (ctrl+cmd+left)
7. Panic!

The problem was we were using byte offsets instead of anchors so after
we shrank the buffer by collapsing diffs we'd be pointing past the end
of it.

Release notes:
- N/A
2026-02-19 19:04:54 +00:00
morgankrey b2af9984c5 Add Gemini 3.1 Pro to model documentation (#49640)
## Summary

- Added Gemini 3.1 Pro to the pricing table, context windows table, and
page metadata in `docs/src/ai/models.md`
- Listed alongside existing Gemini 3 Pro (both remain available)

Release Notes:

- N/A
2026-02-19 12:56:50 -06:00
Richard Feldman 5e79dbd8eb Add gemini-3.1-pro-preview model (#49622)
Closes AI-48

Release Notes:

- Added support for Gemini 3.1 Pro
2026-02-19 13:19:14 -05:00
Ben BrandtandJakub Konka 43d63516da agent: Improve the subagent task structure (#49629)
Removes tool filtering since this was throwing off certain models, and
also allows for more generic task prompts that don't always require
summaries. Since the models usually provide a wrap-up message, we don't
have to wait for another turn.

This also sets us up to allow the agent to re-interact with an existing
subagent thread.

Release Notes:

- N/A

---------

Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
2026-02-19 17:58:59 +00:00
Piotr OsiewiczandEric Holk dc4bba93ef gpui: Extract gpui_platform out of gpui (#49277)
#2874 on steroids

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

---------

Co-authored-by: Eric Holk <eric@zed.dev>
2026-02-19 18:57:49 +01:00
DinoandZed Zippy 9e19a291cd Fix font weight in multiple elements (#49539)
* Update the font weight used in the Agent Panel's editor to respect the
`buffer_font_weight` setting.
* Update the font weight used in the Command Palette to use the
`ui_font_weight` setting value, seeing as the command palette is using
the `ui_font` settings for the font family and features
* Update the font weight used in the popovers to match the
`buffer_font_weight`, as it's also using the buffer font family and
features
* Update the `LabelLike.buffer_font` method in order to correctly set
the font weight, which fixes the font weight used in the file header
when displaying a multibuffer editor

Release Notes:

- Fixed incorrect font weight in the Command Pallete input
- Fixed missing font weight the Agent Panel's buffer
- Fixed missing font weight the Hover Popover
- Fixed missing font weight in Markdown's code block and inline code

---------

Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
2026-02-19 17:49:59 +00:00
Lukas Wirth bf772b1b60 editor: Fix bracket colorization discoloring pure deletion diff hunks (#49618)
Release Notes:

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

Co-authored by: Cole Miller <cole@zed.dev>
2026-02-19 17:34:26 +00:00
John D. Swanson 8361cc3620 Temporarily disabling codeowners to resolve noisy routing (#49623)
Just a procedural change to codeowners, no other items affected.

Release Notes:

- N/A
2026-02-19 12:09:20 -05:00
Kirill Bulatov 761671b2ae Revert "Enable type on search by default for the project search (#49374)" (#49619)
This reverts commit e477b545b7.

Needs 2 more fixes:

* enter does not move to the first excerpt anymore
* there could be situations when a narrowed search does not decrease the
excerpt enough to see the result onscreen

Release Notes:

- N/A
2026-02-19 16:24:54 +00:00
Kunall Banerjeeanddino 8839d27a65 buffer_search: Don’t hide UI icons if search query is too large (#49493)
Remove tracking of editor width in buffer search, removing the behavior
where the UI icons used in the search bar would be hidden if the search
query need to fill the whole element's width.

Closes #49446.

Release Notes:

- Don’t hide UI icons in buffer search if search query is too large

Co-authored-by: dino <dinojoaocosta@gmail.com>
2026-02-19 15:57:50 +00:00
Tomas Virgl 9921d6b875 go: split definition and call highlights for functions, methods, and types (#49120)
This allows definitions to use a different highlight than function
calls.

Release Notes:

- go: Add definition highlights for functions, methods, and types
2026-02-19 15:53:33 +00:00
Oleksiy Syvokon e823587585 ep: Fix pull examples query (#49610)
Release Notes:

- N/A
2026-02-19 15:09:03 +00:00
Kirill Bulatov 2b65e5ed5a Fix the panic when trying to interact with editor-like not-editors (#49608)
For example, LSP log view is not a real editor but can pretend to be
one.

Release Notes:

- Fixed dev highlights view panicking when interacting with editor-like
not-editors
2026-02-19 15:04:28 +00:00
Finn Evers bfb65e199d zlog: Broaden filter for usvg parser warnings (#49607)
Noticed this while looking into #49595

Release Notes:

- N/A
2026-02-19 14:59:50 +00:00
Ben KunkleandZed Zippy d450078051 Seperate throttles for jump and edit based predictions (#49499)
Closes #ISSUE

Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

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

---------

Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
2026-02-19 09:56:10 -05:00
Danilo Leal f78017e7be auto_update_ui: Add announcement toast component (#49543)
This PR adds the `AnnouncementToast` component that we can use whenever
a new version introduces a new and special feature that's worthy of a
flashier announcement. We can pick the specific version we want to
target, and instead of showing the regular "View Release Notes" toast,
we'd show this new one instead.

For now, everything is turned off as we're not sure yet which version we
will be targeting for an upcoming release.

<img width="550" height="1964" alt="Screenshot 2026-02-18 at 9  06@2x"
src="https://github.com/user-attachments/assets/19930b15-261b-416f-992e-6e28447beb27"
/>

Release Notes:

- N/A
2026-02-19 10:41:16 -03:00
Bennet Bo Fenner 50f2940d2f git_ui: Remove dependency on agent crates (#49599)
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
2026-02-19 14:03:41 +01:00