Commit log

1a23115 gpui: Unify `track_scroll` method to receive a reference type (#43518)

Click to expand commit body
Release Notes:

- N/A

This PR to change the `track_scroll` method to receive a reference type
like the
[Div#track_scroll](https://docs.rs/gpui/latest/gpui/trait.StatefulInteractiveElement.html#method.track_scroll),
[Div#track_focus](https://docs.rs/gpui/latest/gpui/trait.InteractiveElement.html#method.track_focus).


```diff
- .track_scroll(self.scroll_handle.clone())
+ .track_scroll(&self.scroll_handle)

- .vertical_scrollbar_for(self.scroll_handle.clone(), window, cx)
+ .vertical_scrollbar_for(&self.scroll_handle, window, cx)
```


https://github.com/zed-industries/zed/blob/56a2f9cfcf0c6a3c38f596b58002953763cd890f/crates/gpui/src/elements/div.rs#L1088-L1093


https://github.com/zed-industries/zed/blob/56a2f9cfcf0c6a3c38f596b58002953763cd890f/crates/gpui/src/elements/div.rs#L613-L620

Jason Lee created

757c043 Fix git features not working when a Windows host collaborates with a unix guest (#43515)

Click to expand commit body
We were using `std::path::Path::strip_prefix` to determine which
repository an absolute path belongs to, which doesn't work when the
paths are Windows-style but the code is running on unix. Replace it with
a platform-agnostic implementation of `strip_prefix`.

Release Notes:

- Fixed git features not working when a Windows host collaborates with a
unix guest

Cole Miller created

57e1bb8 collab: Add `zed-zippy[bot]` to the `GET /contributor` endpoint (#43568)

Click to expand commit body
This PR adds the `zed-zippy[bot]` user to the `GET /contributor`
endpoint so that it passes the CLA check.

Release Notes:

- N/A

Marshall Bowers created

5403e74 Add callable workflow to bump the version of an extension (#43566)

Click to expand commit body
This adds an intial workflow file that can be pulled in to create a bump
commit for an extension version in an extension repository.

Release Notes:

- N/A

Finn Evers created

0713ddc editor: Fix vertical scroll margin not accounting for file header height (#43521)

Click to expand commit body
Closes #43178

Release Notes:

- Fixed vertical scroll margin not accounting for file header height

Here's the before/after:

With `{ "vertical_scroll_margin": 0 }` in `~/.config/zed/settings.json`


https://github.com/user-attachments/assets/418c6d7f-de0f-4da6-a038-69927b1b8b88

Mayank Verma created

6fbbc89 Bump Zed to v0.216 (#43564)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

8aa5361 agent_ui: Add support for deleting thread history (#43370)

Click to expand commit body
This PR adds support for deleting your entire thread history. This is
inspired by a Zed user from the meetup in Amsterdam, he was missing this
feature.

**Demo**


https://github.com/user-attachments/assets/5a195007-1094-4ec6-902a-1b83db5ec508

Release Notes:

- AI: Add support for deleting your entire thread history

---------

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

Remco Smits and Danilo Leal created

6a311ca Detail how to add symbols to samply's output (#43472)

Click to expand commit body
Release Notes:

- N/A

David Kleingeld created

51e97d3 languages: Recognize .clangd as YAML (#43557)

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

Thanks @WeetHet for [the idea]([WeetHet](https://github.com/WeetHet)).

Release Notes:

- Added support for identifying. .clangd files as YAML by default

Peter Tripp created

c36b12f settings_ui: Pick a more reasonable minimum window size (#43556)

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

Release Notes:

- Fixed settings ui being forced larger than small screens

Lukas Wirth created

7c724c0 editor: Do not show scroll thumb if page fits (#43548)

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

Release Notes:

- Fixed a small issue where a scrollbar would sometimes show in the
editor although the content fix exactly on screen.

Finn Evers created

1e6a05d askpass: Quote askpass script in askpass helper command (#43542)

Click to expand commit body
Closes #40276

Release Notes:

- Fixed askpass execution failing on windows sometimes

Lukas Wirth created

b9af664 gpui: Return `None` for non-existing credentials in `read_credentials` on windows (#43540)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

c2cb76b rope: Turn `ChunkSlice::slice` panics into error logs (#43538)

Click to expand commit body
While logically not really correct, its better than tearing down the
application until we figure out the root cause here

Release Notes:

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

Lukas Wirth created

684a58f Implement vertical scrolling for extended keymap load error information (#42542)

Click to expand commit body
This PR fix an issue where, if an error occurs while loading the keymap
file during application startup, an excessively long error message would
be truncated and not fully displayed.

Before:

<img width="1567" height="1056" alt="before"
src="https://github.com/user-attachments/assets/ab80c204-b642-4e8f-aaf5-eae070ab01a2"
/>


After:

<img width="1567" height="1056" alt="image"
src="https://github.com/user-attachments/assets/1b2ff2ce-3796-41d5-b145-dc7d69f04f11"
/>


Release Notes:

- N/A

ihavecoke created

9150346 outline_panel: Fix the panel frequent flickering during search (#43530)

Click to expand commit body
The outline panel flickers when searching or when the file content
changes. This happens because an empty UI appears during the search
process, but it only lasts for a few milliseconds, so we can safely
ignore it.

## Before

https://github.com/user-attachments/assets/9b409827-75ee-4a45-864a-58f0ca43191f

## After

https://github.com/user-attachments/assets/b6d48143-1f1a-4811-8754-0a679428eec2

Release Notes:

- N/A

Floyd Wang created

425d4c7 git: Use correct file mode when staging (#41900)

Click to expand commit body
Closes #28667

Release Notes:

- Fixed git not preserving file mode when committing. Now if an input file is executable it will be preserved when committed with Zed.

---------

Signed-off-by: 11happy <soni5happy@gmail.com>
Signed-off-by: 11happy <bhuminjaysoni@gmail.com>
Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>

Bhuminjay Soni and Jakub Konka created

00e93bf shell: Correctly identifiy `powershell` shells on windows (#43526)

Click to expand commit body
Release Notes:

- Fixed zed only finding pwsh but not powershell on windows

Lukas Wirth created

9d8b507 zeta: Avoid logging an error for not having SWEEP_AI_TOKEN (#43504)

Click to expand commit body
Closes #43503 

Release Notes:

- Fixes ERROR No SWEEP_AI_TOKEN environment variable set

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

Oscar Vargas Torres and oscarvarto created

3072133 Improve bash detection on Windows (#43455)

Click to expand commit body
I have git installed via [scoop](https://scoop.sh). The current
implementation finds `git.exe` in scoop's shims folder and then tries to
find `bash.exe` relative to it.

For example, `git.exe` (shim) is located at:
```
C:\Users\<username>\scoop\shims\git.exe
```

And the code tries to find `bash.exe` at:
```
C:\Users\<username>\scoop\shims\..\bin\bash.exe
```
which doesn't exist.

This PR changes the logic to first check if `bash.exe` is available in
PATH (using `which::which`), and only falls back to the git-relative
path if that fails.

qystishere created

56a2f9c Revert "git: Make the version_control.{deleted/added} colors more accessible" (#43512)

Click to expand commit body
Reverts zed-industries/zed#43475

The colors ended up being too dark. Zed adds an opacity to the
highlights.


https://github.com/zed-industries/zed/blob/e13e93063ce24a2ede88747c316d7279174878c8/crates/editor/src/element.rs#L9195-L9200


Reverting to avoid having the colors go out in preview will fix shortly
after.

Anthony Eid created

88ef5b1 terminal: Update search match highlights on resize (#43507)

Click to expand commit body
The fix for this is emitting a wake-up event to tell the terminal to
recalculate its search highlights on resize.

Release Notes:

- terminal: Fix bug where search match highlights wouldn't update their
position when resizing the terminal.

Anthony Eid created

e13e930 Avoid continuing zeta requests that are cancelled before their throttle (#43505)

Click to expand commit body
Release Notes:

- N/A

Max Brunsfeld created

98e3692 languages: Recognize .clang-format as YAML (#43469)

Click to expand commit body
Clang-Format uses uses a YAML config file format.

Use YAML language by default for `.clang-format` and `_clang-format`
filenames.
([source](https://clang.llvm.org/docs/ClangFormatStyleOptions.html))
Add `#yaml-language-server: $schema` to `.clang-format` example in C
language docs.

Release Notes:

- Added support for identifying. `.clang-format` files as YAML by
default

Peter Tripp created

6548eb7 Upgrade `python-environment-tools` (#43496)

Click to expand commit body
Fixes https://github.com/zed-industries/zed/issues/42554
Fixes https://github.com/zed-industries/zed/issues/43383

Release Notes:

- python: Added support for detecting uv workspaces as toolchains.
- windows: Fixed console windows sometimes appearing when opening Python
files.

John Tur created

53eb35f Add GPT 5.1 to Zed BYOK (#43492)

Click to expand commit body
Release Notes:

- Added support for OpenAI's GPT 5.1 model to BYOK

Mikayla Maki created

877763b More tweaks to collaboration docs (#43494)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

d490443 Refresh collaboration docs (#43489)

Click to expand commit body
Most of the features for collab were previously listed in the section
that was written for private calls. Most of this PR is moving that
content over to the channel documentation and adapting it slightly.
Private calls have similar collaboration, so we can just point back to
the channels doc in that section and keep it pretty thin / DRY.

Release Notes:

- N/A

Joseph T. Lyons created

1f9d5ef Always display terminal cursor when blinking is disabled (#43487)

Click to expand commit body
Fixes an issue where the terminal cursor wouldn't always be displayed in
the default `blink: "terminal_controlled"` mode unless the terminal
requested cursor blinking.

Release Notes:

- N/A

Agus Zubiaga created

83f0a3f Redact sensitive environment variables in LSP Logs: Server Info (#43480)

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

The changes in #42831 resulted in a regression where environment
variables in the Server Info view were no longer redact. The changes in
#43436 were insufficient as I was still seeing sensitive values in
Nightly e6fe95b4f2f676c7fc4a5f951ba7c721e7d22e8a (which includes
#43436).

CC: @SomeoneToIgnore (Hi! 👋 Thanks for keeping this redaction
functionality alive)

Release Notes:

- N/A

Peter Tripp created

7ecbf8c zeta2: Remove expected context from evals (#43430)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Ben Kunkle created

fb0fcd8 Add missing update of last_prediction_refresh (#43483)

Click to expand commit body
Fixes a regression introduced in
https://github.com/zed-industries/zed/pull/43284 where edit predictions
stopped being throttled at all 😬

Release Notes:

- N/A

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

Max Brunsfeld and Ben Kunkle created

36708c9 Separate experimental edit prediction jumps feature from the Sweep AI prediction provider (#43481)

Click to expand commit body
Release Notes:

- N/A

---------

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

Max Brunsfeld and Ben Kunkle created

388fda2 editor: Fix package version completion partial accept and improve sorting (#43473)

Click to expand commit body
Closes #41723

This PR fixes an issue with accepting partial semver completions by
including `.` in the completion query. This makes the editor treat the
entire version string as the query, instead of breaking segment at last
`.` .

This PR also adds a test for sorting semver completions. The actual
sorting fix is handled in the `package-version-server` by having it
provide `sort_text`. More:
https://github.com/zed-industries/package-version-server/pull/10

<img width="600" alt="image"
src="https://github.com/user-attachments/assets/7657912f-c6da-4e05-956b-1c044918304f"
/>

Release Notes:

- Fixed an issue where accepting a completion for a semver version in
package.json would append the suggestion to the existing text instead of
replacing it.
- Improved the sorting of semver completions in package.json so the
latest versions appear at the top.

Smit Barmase created

94f9b85 acp: Only pass enabled MCP servers to agent (#43467)

Click to expand commit body
Release Notes:

- Fix an issue where ACP agents would start MCP servers that were
disabled in Zed

Bennet Bo Fenner created

1c07201 git: Make the version_control.{deleted/added} colors more accessible (#43475)

Click to expand commit body
The new colors are easier to tell apart for people that are colorblind

cc: @mattermill 

## One Dark
### Before
<img width="723" height="212" alt="Screenshot 2025-11-25 at 12 13 14 PM"
src="https://github.com/user-attachments/assets/cea67b08-5662-4afa-8119-dbfcef53ada7"
/>

### After
<img width="711" height="109" alt="Screenshot 2025-11-25 at 12 14 16 PM"
src="https://github.com/user-attachments/assets/a42d88ea-1a85-4f48-8f5e-b9bedf321c62"
/>

## One Light
### Before
<img width="724" height="219" alt="Screenshot 2025-11-25 at 12 15 13 PM"
src="https://github.com/user-attachments/assets/c0176b8c-12bf-451c-8a2c-a2efd15463d1"
/>
### After
<img width="723" height="209" alt="Screenshot 2025-11-25 at 12 15 45 PM"
src="https://github.com/user-attachments/assets/b8858a11-29e2-4309-b1a6-c734f89f6d5e"
/>

Release Notes:

- N/A

Anthony Eid created

8a99270 Add Gemini 3 support to Copilot (#43096)

Click to expand commit body
Closes #43024

Release Notes:

- Add support for Gemini 3 to Copilot

Richard Feldman created

2053fea Add collaboration redirects (#43471)

Click to expand commit body
Redirect:

https://zed.dev/docs/collaboration ->
https://zed.dev/docs/collaboration/overview
https://zed.dev/docs/channels ->
https://zed.dev/docs/collaboration/channels

Release Notes:

- N/A

Joseph T. Lyons created

552bc02 git: Bring back auto-commit suggestions (#43470)

Click to expand commit body
This got accidentally regressed in
https://github.com/zed-industries/zed/pull/42149.

Release Notes:

- Fixed displaying auto-commit suggestions for single staged entries.

Jakub Konka created

fafe1af multi_buffer: Remove redundant buffer id field (#43459)

Click to expand commit body
It is easy for us to get the two fields out of sync causing weird
problems, there is no reason to have both here so.

Release Notes:

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

Co-authored by: Antonio Scandurra <antonio@zed.dev>

Lukas Wirth created

ab80ef1 mcp: Fix `source` property showing up as undefined in settings (#43417)

Click to expand commit body
Follow up to #39021.

<img width="576" height="141" alt="image"
src="https://github.com/user-attachments/assets/c89885a4-e664-4614-9bb0-86442dff34ee"
/>

- Add migration to remove `source` tag because `ContextServerSettings`
is now untagged
- Fix typos in context server modal
- PR seems to have removed the `test_action_namespaces` test, which I
brought back in this PR

Release Notes:

- Fixed an issue where the `source` property of MCP settings would show
up as unrecognised

Bennet Bo Fenner created

9cae394 Restructure collaboration docs (#43464)

Click to expand commit body
Overview
    - Channels
    - Private calls

---

Up next would be to 

- [ ] Update any zed.dev links to point to items in this structure
- [ ] Update content in these docs (would prefer to do that in a
separate PR from this one)

Release Notes:

- N/A

Joseph T. Lyons created

f58de21 miniprofiler_ui: Improve MiniProfiler to use uniform list (#43457)

Click to expand commit body
Release Notes:

- N/A

---

- Apply uniform_list for timing list for performance.
- Add paddings for window.
- Add space to `ms`, before: `100ms` after `100 ms`.

## Before 

<img width="1392" height="860" alt="image"
src="https://github.com/user-attachments/assets/9706a96f-7093-4d4f-832f-306948a9b17b"
/>

## After 

<img width="1392" height="864" alt="image"
src="https://github.com/user-attachments/assets/38df1b71-15e7-4101-b0c9-ecdcdb7752d7"
/>

Jason Lee created

1cbb498 document how to do flamecharts in an easy way (#43461)

Click to expand commit body
Release Notes:

- N/A

David Kleingeld created

f896531 multi_buffer: Fix up some anchor checks (#43454)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

a359a5a Add performance doc (#43265)

Click to expand commit body
Release Notes:

- N/A

David Kleingeld created

7651854 ci: Do not show output of failed tests at the end too (#43449)

Click to expand commit body
This reverts #39643, effectively

For the record, @SomeoneToIgnore found it quite cumbersome to scroll
through logs just to see which tests have failed. I kinda see the
argument. At the same time, I wish nextest could do both: it could
aggregate logs of failed tests and then print out the summary.

Release Notes:

- N/A

Piotr Osiewicz created

5139cc2 helix: Fix `Vim::NextWordEnd` off-by-one in `HelixSelect` (#43234)

Click to expand commit body
Closes #43209
Closes #38121

Starting on the first character.
Running `v e` before changes: 
<img width="410" height="162" alt="image"
src="https://github.com/user-attachments/assets/ee13fa29-826c-45c0-9ea0-a598cc8e781a"
/>

Running `v e` after changes:
<img width="483" height="166" alt="image"
src="https://github.com/user-attachments/assets/24791a07-97df-47cd-9ef2-171522adb796"
/>

Change Notes:

- Added helix selection sanitation code that directly mirrors the code
in the Vim
[`visual_motion`](https://github.com/AidanV/zed/blob/b6728c080c5d14ded7002d0276deb5c19d42ed8a/crates/vim/src/visual.rs#L237)
method. I kept the comments from the Vim section that explains its
purpose.
- The above change converted the problem from fixing `v e` to fixing `v
w`. Since `w` is treated differently in Helix than in Vim (i.e. `w` in
Vim goes to the first character of a word and `w` in Helix goes to the
character before a word. Commented
[here](https://github.com/AidanV/zed/blob/b6728c080c5d14ded7002d0276deb5c19d42ed8a/crates/vim/src/helix.rs#L132)),
the code treats `w` in `HelixSelect` as a motion that differs from the
Vim motion in the same way that the function
[`helix_move_cursor`](https://github.com/AidanV/zed/blob/b6728c080c5d14ded7002d0276deb5c19d42ed8a/crates/vim/src/helix.rs#L353)
separates these behaviors.
- Added a regression test

Release Notes:

- Fixes bug where `Vim::NextWordEnd` in `HelixSelect` would not select
whole word.

AidanV created

c0e8548 lsp: Fix potential double didClose notification when renaming a file (#43448)

Click to expand commit body
Closes #42709

Release Notes:

- N/A

Piotr Osiewicz created

e6fe95b Only show ssh logs when toggled (#43445)

Click to expand commit body
Same as in collab projects.

Release Notes:

- N/A

Kirill Bulatov created