Commit log

f348240 Don't probe for local workspaces pointing to WSL filesystem on startup (#40142)

Click to expand commit body
We automatically delete a local workspace if the folders comprising it
no longer exist.
If a local workspace points to folders in the WSL filesystem, checking
whether those folders exist will make us wait for the WSL VM and file
server to boot up. This can block Zed startup for many seconds.

Supported scenarios use remote workspaces, so delete these local
workspaces to ensure that we don't try to access their folders on the
startup path.

Release Notes:

- N/A

John Tur created

762fa9b vim: Decrease max vim count (#40059)

Click to expand commit body
Release Notes:

- Fixes bug were typing `9999999999999999999j` (19 9's) would go up
instead of down
- Max Vim count is now isize::MAX - 1

AidanV created

1bd34e0 zeta2 cli: Export retrieval stats data frame (#40145)

Click to expand commit body
Retrieval stats will now use polars to build a big data frame for
references with the cartesian product of LSP declarations and retrieved
declaration candidates (with all their score components) and rebuilds
the stats summary on top of it.

This data frame is written to a `.parquet` file, which we can load into
advanced analytics tools (such as Metabase), so we can explore our
scoring distributions and find ways to improve retrieval, and then train
the decision tree.

Release Notes:

- N/A

Agus Zubiaga created

ce696c1 Remove ping/unwrap from crash handler (#39870)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Julia Ryan <juliaryan3.14@gmail.com>

Conrad Irwin and Julia Ryan created

9d23527 util: Respect user-defined SHELL environment variable (#40181)

Click to expand commit body
Fix issue where Zed would unconditionally override user's custom shell
with system default from passwd entry.

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

Release Notes:

- Fix issue where Zed would unconditionally override user's custom shell
with system default from passwd entry.

---------

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

Xiaobo Liu created

fc2b3b2 agent: Remove unused `HistoryStore` (#40187)

Click to expand commit body
Release Notes:

- N/A

Bennet Fenner created

8c7fb26 acp tools: Add button to copy all observed messages (#40076)

Click to expand commit body
Added a "Copy All Messages" button to the ACP logs toolbar that copies
all messages in the watched stream to the clipboard as structured JSON.

## Motivation

When troubleshooting ACP protocol implementations, it's helpful to
provide the entire message thread to an LLM for analysis. Previously, I
had to copy individual messages one at a time, which was tedious and
time-consuming. This feature allows copying the entire conversation
history in a single click.

Release Notes:

- Added: Copy All Messages button to ACP logs view

---------

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Co-authored-by: Agus Zubiaga <agus@zed.dev>

Yordis Prieto and Agus Zubiaga created

867b5df settings_ui: Only allow to reset a setting to default in the file in which it was customized (#40182)

Click to expand commit body
Plus some other tiny visual adjustments.

Release Notes:

- N/A

Danilo Leal created

c5bbd55 Add rust-analyzer support for musl linux (#40108)

Click to expand commit body
Release Notes:

- Added rust-analyzer support for musl remotes

localcc created

4a84b78 collab_ui: Make collaboration panel label responsive on resize (#40157)

Click to expand commit body
Closes #40156

Release Notes:

- Fixed collaboration panel label responsive on resize
<img width="350" height="829" alt="Screenshot 2025-10-14 at 2 52 58 pm"
src="https://github.com/user-attachments/assets/94e21f1b-83a2-44f0-9f15-44a85155fda9"
/>

Delvin created

fd63d43 Remove obsolete contents tool and add open to write profile (#40131)

Click to expand commit body
`contents` doesn't exist anymore.
`open` was only set for `ask` and not `write`.

Release Notes:

- N/A

Abdelhakim Qbaich created

ab70555 git_ui: Apply accented color to links in Blame tooltip (#40124)

Click to expand commit body
# Why

Follow up to:
* #39905

# How

Apply accented color to links in message content inside Blame tooltip,
to match appearance in Markdown Preview panel.

Release Notes:

- Improved appearance of links in message content inside Blame tooltip.

# Preview

### Before

<img width="1186" height="798" alt="Screenshot 2025-10-13 at 19 33 37"
src="https://github.com/user-attachments/assets/33ab4fb5-7910-4d28-9152-c692d6ddeaa6"
/>

### After

<img width="1186" height="798" alt="Screenshot 2025-10-13 at 19 33 10"
src="https://github.com/user-attachments/assets/38082c5c-50d6-4fb3-90ca-410accff9aad"
/>

---------

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

Bartosz Kaszubowski and Danilo Leal created

474eb8d git_ui: Layout/spacing tweaks for Blame tooltip (#40130)

Click to expand commit body
# Why

Spotted that spacing of different Blame tooltip elements are spaced
uneven, also the fact that message content disappears on scroll before
reaching border felt a bit odd.

# How

Layout/spacing tweaks for Blame tooltip.

Release Notes:

- Improved appearance of Git Blame tooltip.

# Preview

### Before

<img width="1034" height="702" alt="Screenshot 2025-10-13 at 20 01 07"
src="https://github.com/user-attachments/assets/0c2715d5-d8fa-41dc-b891-a320a74d6fb0"
/>

<img width="1006" height="410" alt="Screenshot 2025-10-13 at 20 06 15"
src="https://github.com/user-attachments/assets/8c16f6dc-58e5-46cc-83fb-dd71a63e7557"
/>


### After

<img width="1034" height="672" alt="Screenshot 2025-10-13 at 20 00 33"
src="https://github.com/user-attachments/assets/e22e0e42-676e-411a-8773-2e57cdaaab17"
/>

<img width="1006" height="370" alt="Screenshot 2025-10-13 at 20 06 55"
src="https://github.com/user-attachments/assets/761995a9-153a-4e5d-923b-e7fbd73dc475"
/>

---------

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

Bartosz Kaszubowski and Danilo Leal created

da5f25d acp: Hide completion menu when typing slash command argument (#40126)

Click to expand commit body
Release Notes:

- acp: Fix an issue where the completion menu would still be active
after confirming a slash command

Bennet Fenner created

83ba05e windows: Revert "windows: Fix ascent/descent calculations (#40103)" (#40175)

Click to expand commit body
This reverts commit f1db1f3a3c933d8b4d35d83f6bbc49fd46749519.

This seems to have affected the vertical positioning of text that
doesn't contain emojis in a way that was unintended.

Release Notes:

- N/A

Cole Miller created

da583e5 Revert "fs: Replace a bunch of uses of smol::fs with manual impls" (#40170)

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

This PR should not have landed prior to Wednesday.

Piotr Osiewicz created

9ad6196 fs: Replace a bunch of uses of smol::fs with manual impls (#39906)

Click to expand commit body
smol::fs uses a separate threadpool, which is a bit yuck.

Release Notes:

- N/A

Piotr Osiewicz created

d4cc4f8 editor: Fix highlight and selection overlap causing flicker while selecting (#40168)

Click to expand commit body
Regressed in https://github.com/zed-industries/zed/pull/39857, only on
Nightly.

Release Notes:

- N/A

Smit Barmase created

c61429e acp: Pass through experimental capability for terminal output (#40165)

Click to expand commit body
Release Notes:

- N/A

Ben Brandt created

4c70d55 acp: Don't collapse tool calls by default (#40164)

Click to expand commit body
Previously, if a tool call's output was just text, it would be collapsed
with no way to open it.

Now we track the collapsed cards instead of the expanded ones to allow
all tool calls to be expanded by default, and only collapse the ones
required by settings changes

Release Notes:

- acp: Fix tool call markdown output unintentionally being collapsed by
default

Ben Brandt created

025938b remote: Wrap `uname` invocation in `sh` for `nu` shell (#40084)

Click to expand commit body
Closes https://github.com/zed-industries/zed/pull/39994

Release Notes:

- Fixed remoting not working when nushell is set as the default shell on
the remote target

Lukas Wirth created

cc9af8d gpui 0.2.1 (#40158)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Mikayla Maki created

ee60d58 gpui: Update dependency package names (#40143)

Click to expand commit body
This moves some of the changes made in
https://github.com/zed-industries/zed/pull/39543 to the `publish_gpui`
script.

This PR also updates that script to use `gpui_` instead of `zed-` (where
possible)

Release Notes:

- N/A

Mikayla Maki created

97f398e windows: Prefer Git Bash for external agent terminals (#40150)

Click to expand commit body
This applies the same change as #39466 to the terminal codepath for
external agents.

Release Notes:

- N/A

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>

Cole Miller and Max Brunsfeld created

6a2bad4 Load env vars from login shell in remote server (#40148)

Click to expand commit body
Fixes a bug mentioned in
https://github.com/zed-industries/zed/issues/38891

Release Notes:

- Fixed a bug where environment variables like `NODE_EXTRA_CA_CERTS`
were not loaded from the user's shell initialization scripts in WSL or
SSH remote projects.

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

Max Brunsfeld and Cole Miller created

ad4a53c agent: Fix review button not working while not focused in the message editor (#40144)

Click to expand commit body
This PR fixes a bug where the review icon button wouldn't properly open
the review tab if you weren't focused in the agent panel's message
editor. The solution was to register the action also at the workspace
level.

Release Notes:

- agent: Fixed a bug where the review icon button wouldn't work to open
the review tab if focus weren't in the panel's message editor.

Danilo Leal created

160fca0 settings_ui: Move LSP & tool settings from Editor to Language page (#40140)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Ben Kunkle created

6a16488 windows: Detect when `python3` is not usable and notify the user (#40070)

Click to expand commit body
Fixes #39998

Debugpy and pylsp are installed in a Zed-global venv with pip. We need a
Python interpreter to create this venv when it doesn't exist and one of
these tools needs to be installed, and sometimes we attempt to use
`python3` from `$PATH`. This can cause issues on Windows, where out of
the box `python3` is a sort of shim that opens the Microsoft Store app.

This PR changes the debugpy installation path to create the Zed-global
venv using the Python interpreter from a venv in the project, and only
use python3 from `$PATH` if that fails. That matches how pylsp
installation already works. It also tightens up how we search for a
global Python installation by doing a basic sanity check (`python3 -c
'print(1 + 2)`) before accepting it, which should catch the Windows
shim.

Release Notes:

- windows: improved the behavior of Zed in situations where no global
Python installation exists.

Cole Miller created

f0d097c settings_ui: Implement reset to default button (#40135)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Ben Kunkle created

a3bcf6f windows: Fix shader rotation order for pattern rendering (#39993)

Click to expand commit body
old

<img width="1076" height="1008" alt="image"
src="https://github.com/user-attachments/assets/e1cd8238-e869-4abb-98b4-4790467c59d1"
/>


new

<img width="989" height="1004" alt="image"
src="https://github.com/user-attachments/assets/42b7fd59-0038-4490-82a7-979983da5416"
/>


Release Notes:

- N/A

0x2CA created

ac8e2f0 Add `.ZedSans` as a possible fallback font (#40129)

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

Release Notes:

- Fixes a bug where users couldn't return the UI font family to the
default value through the UI.

Danilo Leal created

5c4649b workspace: Fix auto-reveal-in-project-panel for Images, Notebooks and.. Terminals? (#40128)

Click to expand commit body
This regressed in #39199

Release Notes:

- Fixed image files not getting auto-revealed in project panel.

Piotr Osiewicz created

bd13c90 settings_ui: Dynamic languages list (#40123)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Ben Kunkle created

997f6c6 settings: Make "auto" and "language_server" valid format steps (#40113)

Click to expand commit body
Follow up for: #39983 and
https://github.com/zed-industries/zed/pull/40040#issuecomment-3393902691

Previously it was possible to have formatting done using prettier or
language server using `"formatter": "auto"` and specify code actions to
apply on format using the `"code_actions_on_format"` setting. However,
post #39983 this is no longer possible due to the removal of the
`"code_actions_on_format"` setting. To rectify this regression, this PR
makes it so that the `"auto"` and `"language_server"` strings that were
previously only allowed as top level values on the `"formatter"` key,
are now allowed as format steps like so:
```json
{
      "formatter": ["auto", "language_server"]
}
```

Therefore to replicate the previous behavior using `"auto"` and
`"code_actions_on_format"` you can use the following configuration:

```json
{
      "formatter": [{"code_action": ...}, "auto"]
}
```

Release Notes:

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

Ben Kunkle created

8dfbafd Fix inconsistent font size in toolbar code actions (#40120)

Click to expand commit body
Release Notes:

- N/A

<img width="695" height="254" alt="before"
src="https://github.com/user-attachments/assets/7b180fb8-a6d3-409a-a0ee-1def447e8235"
/>
<img width="695" height="254" alt="after"
src="https://github.com/user-attachments/assets/3a035be0-3b74-433b-b0e7-5766b67bfcc1"
/>

Abdelhakim Qbaich created

677d6ac Use `DwmFlush` unconditionally for Windows vsync (#39913)

Click to expand commit body
Closes #36934

I'm still experiencing bugs with the
`DCompositionWaitForCompositorClock` API. Let's back out the support for
now until the fixes are identified and widely available.

`DwmFlush` does various things that aren't just waiting for VSync, so
it's not ideal, but it's not bad enough that it's worth a bigger
refactor right now.

Release Notes:

- N/A

John Tur created

96add6c remote: Check if remote can --exec, fall back to spawning shell otherwise (#40112)

Click to expand commit body
Bonus: fix passing env vars to the proxy server in WSL setting.

Closes #39710
Supersedes #39893

Release Notes:

- N/A

Jakub Konka created

f76eecd terminal: Bump sysinfo crate (#39681)

Click to expand commit body
Release Notes:

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

Co-authored-by: dino <dinojoaocosta@gmail.com>

Lukas Wirth and dino created

bec2bfe acp: Clear message editor after running /login (#40116)

Click to expand commit body
Release Notes:

- N/A

Bennet Fenner created

9edf1f8 Add a comment about the use of `shell_kind` in terminal.rs (#40114)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>

Cole Miller and Jakub Konka created

23fe74e acp: Fix slash command hint showing up after sending message (#40109)

Click to expand commit body
Release Notes:

- N/A

Bennet Fenner created

46fff99 remove_server: Add function to delete wsl project (#40105)

Click to expand commit body
As title say, could delete wsl project in `open remote` delegate.

Release Notes:

- Added ability to delete wsl projects from remote picker

CharlesChen0823 created

e7b19ab settings_ui: Add some AI settings (#40111)

Click to expand commit body
There's a lot of AI settings that will require custom UI for them to be
part of the settings window, but many don't (simple booleans and
dropdown) and can be moved right away. In consequence, the whole
"General Settings" section in the agent panel's settings view can be
removed given all of those items are now part of the settings window.

Release Notes:

- N/A

Danilo Leal created

ce8d5e4 settings_ui: Make arrow keys up and down activate page content (#40106)

Click to expand commit body
Release Notes:

- settings ui: Navigating the settings navbar with arrow keys up and
down now also activates the page, allowing users to more quickly see the
content for a given page before moving focus to the page itself.

Danilo Leal created

dac5725 windows: Fix semantic merge conflict with `ShellKind::new` (#40107)

Click to expand commit body
Release Notes:

- N/A

Cole Miller created

f1db1f3 windows: Fix ascent/descent calculations (#40103)

Click to expand commit body
This applies the same fix as #39886 for Windows.

Previously we were using `GetLineMetrics` to determine the ascent and
descent values for each line. It seems like this has the same behavior
as `GetTypographicBounds` on macOS, which is to return the minimum
ascent and descent for the current state of the `TextLayout` object.
This causes the ascent/descent to be unstable when adding or removing an
emoji because a font fallback is triggered when an emoji is present on
the line.

The issue is fixed by switching to `font.GetMetrics` to get the ascent
and descent, which should always return stable values for the main font,
instead of changing when there's a fallback. This also should support
situations where we have multiple explicit fonts on the same line,
although that probably can't be triggered in Zed right now.

Release Notes:

- windows: Fixed a vertical shift in text layout when inserting or
removing an emoji.

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>

Cole Miller and Bennet Bo Fenner created

02bdba8 util: Fix shell kind in windows based on program path (#39696)

Click to expand commit body
Closes #39614

The `ShellKind` struct is built on Windows' side, meaning that when
connecting to remotes, we fall back to PowerShell construction, even if
the shell program we are spawning is a unix program.

This broke tasks creation since we are using the shell kind to construct
args:


https://github.com/zed-industries/zed/blob/d04ac864b8cb78ee888ce03323e34c17a6dd16b9/crates/project/src/terminals.rs#L149

In normal terminals this only affected activation scripts (only place
where shell kind is used)

I don't have a Windows machine to test it, so I would appreciate any
help with testing!

Release Notes:

- Fixed an issue where tasks could not be executed in Windows WSL

---------

Signed-off-by: Marco Mihai Condrache <52580954+marcocondrache@users.noreply.github.com>

Marco Mihai Condrache created

af0cd30 editor: Fix `delete line` moving the cursor too far (#40102)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

3ea4b30 gpui: Do not render ligatures between different styled text runs (#39928)

Click to expand commit body
This relands https://github.com/zed-industries/zed/pull/37175 as
https://github.com/zed-industries/zed/pull/39886 fixed the jiggling
issue.

Currently when we render text with differing styles adjacently we might
form a ligature between the text, causing the ligature forming
characters to take on one of the two styles. This can especially become
confusing when a ligature is formed between actual text and inlay hints.

Annoyingly, the only ways to prevent this with core text is to either
render each run separately, or to insert a zero-width non-joiner to
force core text to break the ligatures apart, as it otherwise will merge
subsequent font runs of the same fonts.

We currently do layouting on a per line basis and it is unlikely we want
to change that as it would incur a lot of complexity and annoyances to
merge things back into a line, so this goes with the other approach of
inserting ZWNJ characters instead.

Note that neither linux nor windows seem to currently render ligatures,
so this only concerns macOS rendering at the moment.

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

Release Notes:

- Fixed ligatures forming between real text and inlay hints on macOS

Lukas Wirth created

fdf801d acp: Add tooltips for auth methods with descriptions when available (#40098)

Click to expand commit body
Release Notes:

- acp: Provide auth method descriptions in the UI when available

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>

Ben Brandt and Bennet Bo Fenner created