Commit log

81870d5 Bump to 0.216.1 for @rtfeldman

Zed Bot created

92be7dc Use agent name from extension (#44496) (cherry-pick to stable) (#44660)

Click to expand commit body
Cherry-pick of #44496 to stable

----
Previously this rendered `mistral-vibe` and not `Mistral Vibe`:

<img width="242" height="199" alt="Screenshot 2025-12-09 at 2 52 48 PM"

src="https://github.com/user-attachments/assets/f85cbf20-91d1-4c05-8b3a-fa5b544acb1c"
/>

Release Notes:

- Render agent display names from extension in menu

Richard Feldman created

92de0b1 Add GPT-5.2 support (cherry-pick to stable) (#44659)

Click to expand commit body
Cherry-pick of 541e08683565f9e4e950ef3895bd28048fd4f317 to stable

----

Richard Feldman created

e8f5dbe windows: Fix incorrect cursor insertion keybinds (#44608) (cherry-pick to stable) (#44612)

Click to expand commit body
Cherry-pick of #44608 to stable

----
Release Notes:

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

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

zed-zippy[bot] and Lukas Wirth created

7faab72 git: Fix failing commits when hook command is not available (#43993) (cherry-pick to stable) (#44592)

Click to expand commit body
Cherry-pick of #43993 to stable

----

Co-authored-by: Mayank Verma <errmayank@gmail.com>

zed-zippy[bot] and Mayank Verma created

bdf4ede Revert "Increase askpass timeout for git operations (#42946)" (#44578) (cherry-pick to stable) (#44584)

Click to expand commit body
Cherry-pick of #44578 to stable

----
This reverts commit a74aac88c95738b1e1c95ac583b116a253920fbf.

cc @11happy, we need to do a bit more than just running `git hook
pre-push` before pushing, as described

[here](https://github.com/zed-industries/zed/pull/42946#issuecomment-3550570438).
Right now this is also running the pre-push hook twice.

Release Notes:

- N/A

Co-authored-by: Cole Miller <cole@zed.dev>

zed-zippy[bot] and Cole Miller created

f381f06 Use OmniSharp by default

John Tur created

492a11b v0.216.x stable

Joseph T. Lyons created

6a1b69e Fix DeepSeek Reasoner tool-call handling and add reasoning_content support (#44301) (cherry-pick to preview) (#44497)

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

----
## Closes #43887

## Release Notes:

### Problem
DeepSeek's reasoning mode API requires `reasoning_content` to be
included in assistant messages that precede tool calls. Without it, the
API returns a 400 error:

```
Missing `reasoning_content` field in the assistant message at message index 2
```

### Added/Fixed/Improved
- Add `reasoning_content` field to `RequestMessage::Assistant` in
`crates/deepseek/src/deepseek.rs`
- Accumulate thinking content from `MessageContent::Thinking` and attach
it to the next assistant/tool-call message
- Wire reasoning content through the language model provider in
`crates/language_models/src/provider/deepseek.rs`

### Testing
- Verified with DeepSeek Reasoner model using tool calls
- Confirmed reasoning content is properly included in API requests

Fixes tool-call errors when using DeepSeek's reasoning mode.

---------

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

Co-authored-by: Peter König <pek-github@nospam.scanea.de>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

zed-zippy[bot] , Peter König , and Ben Brandt created

a906c5f language_extension: Handle prefixed WASI windows paths in extension spawning (#44477) (cherry-pick to preview) (#44481)

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

----
Closes https://github.com/zed-industries/zed/issues/12013

Release Notes:

- Fixed some wasm language extensions failing to spawn on windows

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

zed-zippy[bot] and Lukas Wirth created

52d832b worktree: Print canonicalization error details (#44459) (cherry-pick to preview) (#44460)

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

----
cc https://github.com/zed-industries/zed/issues/24714

Release Notes:

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

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

zed-zippy[bot] and Lukas Wirth created

5abd926 Tidy up single-file worktrees' opening errors (#44455) (cherry-pick to preview) (#44456)

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

----
Part of https://github.com/zed-industries/zed/issues/44370

Also log when fail to open the project item.

Release Notes:

- N/A

Co-authored-by: Kirill Bulatov <kirill@zed.dev>

zed-zippy[bot] and Kirill Bulatov created

716983b terminal: Fix performance issues with hyperlink regex matching (#44407) (cherry-pick to preview) (#44423)

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

----
Problem statement: When given a line that contained a lot of matches of
your hyperlink regex of choice (thanks to #40305), we would look for
matches
that intersected with currently hovered point. This is *hella*
expensive, because we would re-walk the whole alacritty grid for each
match. With the repro that Joseph shared, we had to go through 4000 such
matches on each frame render.

Problem solution: We now convert the hovered point into a range within
the line (byte-wise) in order to throw away matches that do not
intersect the
hovered range. This lets us avoid performing the unnecessary conversion
when we know it's never going to yield a match range that intersects the
hovered point.

Release Notes:

- terminal: Fixed performance regression when handling long lines.

---------

Co-authored-by: Dave Waggoner <waggoner.dave@gmail.com>

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Co-authored-by: Dave Waggoner <waggoner.dave@gmail.com>

zed-zippy[bot] , Piotr Osiewicz , and Dave Waggoner created

743aa95 keymap: Fix windows keys for open and open files actions (#44406) (cherry-pick to preview) (#44409)

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

----
Closes https://github.com/zed-industries/zed/issues/44040
Closes https://github.com/zed-industries/zed/issues/44044
 
Release Notes:

- Fixed incorrect keybindings for `open folder` and `open files` actions
on windows' default keymap

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

zed-zippy[bot] and Lukas Wirth created

43bb4a6 acp: Fix download path for Codex on ARM Windows (#44395) (cherry-pick to preview) (#44401)

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

----
Both windows paths use .zip, not .tar.gz

Closes #44378

Release Notes:

- acp: Fix codex-acp download path for ARM Windows targets

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

zed-zippy[bot] and Ben Brandt created

b1dd884 Fix project not getting dropped after closing window (#44237) (cherry-pick to preview) (#44240)

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

----

Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>

zed-zippy[bot] and Bennet Bo Fenner created

ef5723c agent_ui: Fix mention and slash command menu not appearing with show_completions_on_input set to false (#44222) (cherry-pick to preview) (#44224)

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

----
Addresses a regression introduced by
https://github.com/zed-industries/zed/pull/44021 that caused @mentions
and slash commands to stop working if you set
`show_completions_on_input: false` in your settings.

In this case, we should always show these menus, otherwise the features
won't work at all.

Release Notes:

- N/A

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

zed-zippy[bot] and Ben Brandt created

3d72dcd remote: Use last line of `uname` and shell output (#44165) (cherry-pick to preview) (#44220)

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

----
We have seen cases (see
https://github.com/zed-industries/zed/issues/43694) where the user's
shell initialization script includes text that ends up in the output of
the commands we use to detect the platform and shell of the remote. This
solution isn't perfect, but it should address the issue in most
situations since both commands should only output one line.

Release Notes:

- remote: Improve resiliency when initialization scripts output text

Co-authored-by: Agus Zubiaga <agus@zed.dev>

zed-zippy[bot] and Agus Zubiaga created

e959297 worktree: Fix git ignored directories dropping their contents when they are refreshed (#44143) (cherry-pick to preview) (#44170)

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

----
Closes https://github.com/zed-industries/zed/issues/38653

Release Notes:

- Fixed git ignored directories appearing as empty when their content
changes on windows

Co-authored by: Smit Barmase <smit@zed.dev>

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

zed-zippy[bot] and Lukas Wirth created

0f433da gpui: Fix division by zero when chars/sec = 0 on Wayland (#44151) (cherry-pick to preview) (#44154)

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

----
Closes #44148

the existing rate == 0 check inside the timer callback already handles
disabling repeat - it just drops the timer immediately. So the fix
prevents the crash while preserving correct behavior. 

Release Notes:

- Linux (Wayland): Fixed a crash that could occur when
`characters_per_second` was zero

Co-authored-by: Rawand Ahmed Shaswar <rawandahmad698@gmail.com>

zed-zippy[bot] and Rawand Ahmed Shaswar created

3e14b1e remote: Recognize WSL interop to open browser for codex web login (#44136) (cherry-pick to preview) (#44159)

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

----
Closes #41521

Release Notes:

- Fixed codex web login not working on wsl remotes if no browser is
installed

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

Co-authored-by: Lukas Wirth <lukas@zed.dev>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

zed-zippy[bot] , Lukas Wirth , and Ben Brandt created

49e8c8d Fix background scanner deadlock (#44109) (cherry-pick to preview) (#44156)

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

----
Fixes a deadlock in the background scanner that occurs on single-core
Linux devices. This happens because the background scanner would `block`
on a background thread waiting for a future, but on single-core Linux
devices there would be no other thread to pick it up. This mostly
affects SSH remoting use cases where it's common for servers to have 1
vCPU.

Closes #43884 
Closes #43809

Release Notes:

- Fix SSH remoting hang when connecting to 1 vCPU servers

Co-authored-by: Agus Zubiaga <agus@zed.dev>

zed-zippy[bot] and Agus Zubiaga created

01ac5fc linux: Spawn at least two background threads (#44110) (cherry-pick to preview) (#44157)

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

----
Related to https://github.com/zed-industries/zed/pull/44109,
https://github.com/zed-industries/zed/issues/43884,
https://github.com/zed-industries/zed/issues/43809.

In the Linux dispatcher, we create one background thread per CPU, but
when a single core is available, having a single background thread
significantly hinders the perceived performance of Zed. This is
particularly helpful when SSH remoting to low-resource servers.

We may want to bump this to more than two threads actually, but I wanted
to be conservative, and this seems to make a big difference already.

Release Notes:

- N/A

Co-authored-by: Agus Zubiaga <agus@zed.dev>

zed-zippy[bot] and Agus Zubiaga created

3a7ebee search: Fix sort order not being maintained in presence of open buffers (#44135) (cherry-pick to preview) (#44138)

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

----
In project search UI code we were seeing an issue where "Go to next
match" would act up and behave weirdly. It would not wrap at times.
Stuff would be weird, yo. It turned out that match ranges reported by
core project search were sometimes out of sync with the state of the
multi-buffer. As in, the sort order of
`search::ProjectSearch::match_ranges` would not match up with
multi-buffer's sort order. This is ~because multi-buffers maintain their
own sort order.

What happened within project search is that we were skipping straight
from stage 1 (filtering paths) to stage 3 via an internal channel and in
the process we've dropped the channel used to maintain result sorting.
This made is so that, given 2 files to scan:
- project/file1.rs <- not open, has to go through stage2 (FS scan)
- project/file2.rs <- open, goes straight from stage1 (path filtering)
  to stage3 (finding all matches) We would report matches for
  project/file2.rs first, because we would notice that there's an
  existing language::Buffer for it. However, we should wait for
  project/file1.rs status to be reported first before we kick off
  project/file2.rs

The fix is to use the sorting channel instead of an internal one, as
that keeps the sorting worker "in the loop" about the state of the
world.

Closes #43672

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

Release Notes:

- Fixed "Select next match" in project search results misbehaving when
some of the buffers within the search results were open before search
was ran.
- Fixed project search results being scrolled to the last file active
prior to running the search.

---------

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

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Co-authored-by: Smit <smit@zed.dev>

zed-zippy[bot] , Piotr Osiewicz , Smit Barmase , and Smit created

e410b48 Re-colorize the brackets when the theme changes (#44130) (cherry-pick to preview) (#44131)

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

----
Closes https://github.com/zed-industries/zed/issues/44127

Release Notes:

- Fixed brackets not re-colorizing on theme change

Co-authored-by: Kirill Bulatov <kirill@zed.dev>

zed-zippy[bot] and Kirill Bulatov created

e55a8c9 v0.216.x preview

Joseph T. Lyons created

904d90b extension_ci: Run tests on pushes to `main` (#44079)

Click to expand commit body
This seems sensible to do - it already was the case prior but
indirectly, lets rather be explicit about this.

Release Notes:

- N/A

Co-authored-by: Agus Zubiaga <agus@zed.dev>

Finn Evers and Agus Zubiaga created

1e09cbf workspace: Scope tab tooltip to tab content only (#44076)

Click to expand commit body
Release Notes:

- Fixed scope tab tooltip to tab content only

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

Xiaobo Liu created

8ca2571 extension_ci: Do not trigger version bump on workflow file changes (#44077)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Agus Zubiaga <agus@zed.dev>

Finn Evers and Agus Zubiaga created

95a553e Do not report rejected sweep predictions to cloud (#44075)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: MrSubidubi <dev@bahn.sh>

Agus Zubiaga and MrSubidubi created

bf878e9 Remove unnecessary variable redeclaration (#44074)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

a688239 python: Fix autocomplete sorting (#44050)

Click to expand commit body
Closes:
#38727 (Python autocompletion being sorted alphabetically)
<img
src="https://github.com/user-attachments/assets/8208d511-f4a4-41f9-8550-3b24370bf776"
width="400">

<img
src="https://github.com/user-attachments/assets/e7c99d7a-b61e-463b-b0f1-36cd279b3887"
width="400">


Release Notes:
- Improve sort order of pyright/basedpyright code completions

Alexander Andreev created

4e8f6dd git: Fix unwrap in `git2::Index::get_path` (#44059)

Click to expand commit body
Fixes ZED-1VR

Release Notes:

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

Lukas Wirth created

0f67f08 Update to ACP SDK v0.8.0 (#44063)

Click to expand commit body
Uses the latest version of the SDK + schema crate. A bit painful because
we needed to move to `#[non_exhaustive]` on all of these structs/enums,
but will be much easier going forward.

Also, since we depend on unstable features, I am pinning the version so
we don't accidentally introduce compilation errors from other update
cycles.

Release Notes:

- N/A

Ben Brandt created

fe6fa1b Revert "acp: Add a timeout when initializing an ACP agent so the user isn't waiting forever" (#44066)

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

Ben Brandt created

50d0f29 languages: Fix python run module task failing on windows (#44064)

Click to expand commit body
Fixes #40155

Release Notes:

- Fixed python's run module task not working on windows platforms

Co-authored by: Smit Barmase <smit@zed.dev>

Lukas Wirth created

9857fd2 Make highlighting of C preprocessing directive same as C++ (#44043)

Click to expand commit body
Small fix for consistency between C and C++ highlighting. Related to
https://github.com/zed-industries/zed/issues/9461

Release Notes:

- Change syntax highlighting for preprocessing directive in C so it can
be configured with `keyword.directive` instead of being treated as other
`keyword`. The behavior should be like the C++ one now.

<img width="953" height="343" alt="圖片"
src="https://github.com/user-attachments/assets/6b45d2cc-323d-44ba-995f-d77996757669"
/>

lipcut created

ad51017 Properly filter out the greedy bracket pairs (#44022)

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

Release Notes:

- N/A

Kirill Bulatov created

2bf4787 Hide "File History" for untracked files in Git Panel context menu (#44035)

Joseph T. Lyons created

65b4e9b extensions_ui: Add upsell banners for integrated extensions (#43872)

Click to expand commit body
Add informational banners for extensions that have been integrated into
Zed core:
- Basedpyright (Python language server)
- Ruff (Python linter)
- Ty (Python language server)

These banners appear when users search for these extensions, informing
them that the functionality is now built-in and linking to relevant
documentation.

The banners trigger when:
- Users search by extension ID (e.g., 'id:ruff')
- Users search using relevant keywords (e.g., 'basedpyright', 'pyright',
'ruff', 'ty')

Supersedes #43844

Closes #43837

Release Notes:

- Added banners to the extensions page when searching for Basedpyright,
Ruff, or Ty, indicating that these features are now built-in.

---------

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

Rani Malach and Marshall Bowers created

98dec92 zed: Promote comment to a doc comment (#44031)

Click to expand commit body
This PR promotes a line comment above a variant member to a doc comment,
so that the docs show up on hover.

Release Notes:

- N/A

Marshall Bowers created

39536ca docs: Add Conda package to Linux community-maintained packages list (#44029)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

b4e1d86 git: Use UI font in commit and blame popovers (#43975)

Click to expand commit body
Closes #30353

Release Notes:

- Fixed: Hover tooltips in git commit and blame popovers now
consistently use the UI font

Mikhail Pertsev created

8a12ecf commit view: Display message within editor (#44024)

Click to expand commit body
#42441 moved the commit message out of the multi-buffer editor into its
own header element which looks nicer, but unfortunately can make the
view become unusable when the commit message is too long since it
doesn't scroll with the diff.

This PR maintains the metadata in its own element, but moves the commit
message back to the editor so the user can scroll past it. This does
mean that we lose markdown rendering for now, but we think this is a
good solution for the moment.


https://github.com/user-attachments/assets/d67cf22e-1a79-451a-932a-cdc8a65e43de

Release Notes:

- N/A

---------

Co-authored-by: cameron <cameron.studdstreet@gmail.com>

Agus Zubiaga and cameron created

22bf449 settings_ui: Fix some non-title case settings items (#44026)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

bcf9142 Update tree-sitter-bash to 0.25.1 (#44009)

Click to expand commit body
With the merging and publishing of
https://github.com/tree-sitter/tree-sitter-bash/pull/311 , we can now go
ahead and update the version of `tree-sitter-bash` that Zed relies on to
the latest version.

Closes #42091

Release Notes:

- Improved grammar for "Shell Script"

Dino created

a2d57fc zed_extension_api: Fork new version of extension API (#44025)

Click to expand commit body
This PR forks a new version of the `zed_extension_api` in preparation
for new changes.

We're jumping from v0.6.0 to v0.8.0 for the WIT because we released
v0.7.0 of the `zed_extension_api` without any WIT changes (it probably
should have been v0.6.1, instead).

Release Notes:

- N/A

Marshall Bowers created

96a9170 Apply `show_completions_on_input: false` to word & snippet completions (#44021)

Click to expand commit body
Closes #43408

Previously, we checked the setting inside `is_completion_trigger()`,
which only affects LSP completions. This was ok because user-defined
snippets were tacked onto LSP completions. Then #42122 and #42398 made
snippet completions their own thing, similar to word completions,
surfacing #43408. This PR moves the settings check into
`open_or_update_completions_menu()` so it applies to all completions.

Release Notes:

- Fixed setting `show_completions_on_input: false` so that it affects
word and user-defined snippet completions as well as LSP completions

Andrew Farkas created

a2ddb0f Fix "busy" cursor appearing on startup (#44019)

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

Release Notes:

- N/A

John Tur created

23e5477 vim: Move to opening html tag from / in closing tag (#42513)

Click to expand commit body
Closes #41582

Release Notes:

- Improves the '%' vim motion for html by moving the cursor to the
opening tag when its positioned on the `/` ( slash ) of the closing tag

Pranav Joglekar created