Commit log

d481e1f Fix duplicate WSL entries (#40255)

Click to expand commit body
Release Notes:

- N/A

localcc created

6001004 Improve musl libc detection (#40254)

Click to expand commit body
Release Notes:

- N/A

localcc created

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

Click to expand commit body
Release Notes:

- Added rust-analyzer support for musl remotes

localcc created

b92b790 acp: Fix /logout for agents that support it (#40248)

Click to expand commit body
We were clearing the message editor too early. We only want to clear the
message editor if we are going to short circuit and return early before
submitting.
Otherwise, the agents that can handle this themselves won't have the
ability to do so.

Release Notes:

- acp: Fix /logout not working for some agents

Ben Brandt created

269bfab acp: Allow updating default mode for Codex (#40238)

Click to expand commit body
Release Notes:

- acp: Save default mode for codex

Ben Brandt created

00835b5 Avoid gap between titlebar and body on linux

Click to expand commit body
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: John Tur <john-tur@outlook.com>

Conrad Irwin , Max Brunsfeld , and John Tur created

e78775b Fix triggers for debugger thread and session lists not rendering (#40227)

Click to expand commit body
Release Notes:

- N/A

Cole Miller created

6eeed02 Reapply "Initial layout rounding implementation (#39712)"

Click to expand commit body
This reverts commit 8fac2fb0473bea2b6c2285eab846027002c17a4f.

John Tur created

75ba0a8 v0.208.x stable

Mikayla Maki created

32590fe windows: Add some trace-level logging to help dig into missing FS update bugs (#40200)

Click to expand commit body
Related to https://github.com/zed-industries/zed/issues/38109

Release Notes:

- N/A

Cole Miller created

a134255 Implement 3+ file switcher (#40214)

Click to expand commit body
Release Notes:

- N/A

Mikayla Maki created

f680ca5 Rename settings and keymap actions (#39970)

Click to expand commit body
This PR renames the following actions to make it easier and prioritize
the UI version of interacting with them:

| Before | After |
|--------|--------|
| `OpenSettingsEditor` | `OpenSettings` |
| `OpenSettings` | `OpenSettingsFile` |
| `OpenKeymapEditor` | `OpenKeymap` |
| `OpenKeymap` | `OpenKeymapFile` | 

Release Notes:

- Rename actions to open settings (UI/window and JSON file) as well as
to open the keymap (editor tab and JSON file).

Danilo Leal created

cb2c9ef keymap editor: Adjust the "edit in keymap.json" button (#39789)

Click to expand commit body
Making its visuals and positioning more consistent with the same button
in the settings UI.

Release Notes:

- N/A

Danilo Leal created

153265b settings_ui: Last minute cleanup (#40217)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

---------

Co-authored-by: Mikayla <mikayla@zed.dev>

Ben Kunkle and Mikayla created

c949dea onboarding: Add some UI improvements (#40016)

Click to expand commit body
Includes improvements in button padding, ways we space elements out,
more consistent use of some components, and cleaning up redundant
buttons styles. Pretty much nothing changes in the design, though.

Release Notes:

- N/A

Danilo Leal created

8fac2fb Revert "Initial layout rounding implementation (#39712)"

Click to expand commit body
This reverts commit 2fa54ddbbe408e31cac451c251e8241c1d083885.

This is causing some inscrutable issues with the title bar and window
borders on Linux with fractional DPI scaling. I can't debug this right
now, so let's revert it before the stable release.

John Tur created

1b35be5 Fix redirect stdin command for fish shell (#39963)

Click to expand commit body
This fixes an issue introduced via
[v0.208.0-pre](https://github.com/zed-industries/zed/releases/tag/v0.208.0-pre)
and reported via
https://github.com/zed-industries/zed/issues/34530#issuecomment-3386042577
where, when using fish shell as the default shell and using a Claude
Code thread in Zed, all command were failing because `(command)` in fish
is for command substitution. Using it creates this type of error:

```
fish: command substitutions not allowed in command position. Try var=(your-cmd) $var ...
(npm ci) </dev/null
^~~~~~~~~~~~^
```

or in the editor itself:

<img width="1624" height="1060" alt="image"
src="https://github.com/user-attachments/assets/64fc3126-2cdd-450e-bc85-ef91c56b3705"
/>

Using the appropriate syntax to redirect to stdin for fish fixes the
issue.

Release Notes:

- Fixed redirect stdin command for fish shell

Kevin Rambaud created

027ca0d windows: Temporarily use preview release of Gemini CLI (#40212)

Click to expand commit body
Workaround for disagreement about line endings that's fixed in the
v0.9.0 series

Release Notes:

- N/A

Cole Miller created

750c0b3 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

fea090a 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

d521efd 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

31efb92 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

9d35922 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

dcad1f0 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

bcc50b5 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

9a46330 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

2d34a4a 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

75f5215 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

016a4c5 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

f397b22 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

0d15313 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

050f6ee 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

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

Click to expand commit body
Release Notes:

- N/A

Cole Miller created

1754ee2 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

13db8e9 settings_ui: Fix garbage value for terminal font size (#40093)

Click to expand commit body
Closes #40086

Release Notes:

- Fixed garbage value shown for terminal font size in the settings UI
when no font size is defined in `settings.json`.

Smit Barmase created

34f1c57 windows: Add support for fetching shell environment in remote projects (#39831)

Click to expand commit body
Closes #39216

Note that this affects all platforms, I'm just using the prefix to make
auto-cherry-picking easier.

Release Notes:

- Fixed shell commands run by agents failing to find installed programs
in some cases.

Cole Miller created

174bae3 settings_ui: Fix content page title (#39987)

Click to expand commit body
Follow up to https://github.com/zed-industries/zed/pull/39979. The
previous PR made it the title would change even if you were on a
non-root tree view item. This PR fixes that by fixating the title to
show only the root tree view item.

Release Notes:

- N/A

Danilo Leal created

94fe6a0 settings_ui: Add page title label (#39979)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

051715b 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

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

Click to expand commit body
Release Notes:

- N/A

Ben Brandt created

10f20ba 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

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

Click to expand commit body
Release Notes:

- N/A

Bennet Fenner created

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

Click to expand commit body
Release Notes:

- N/A

Bennet Fenner created

d676dac 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

8abee73 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

19c2aa6 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

0d12645 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

2c706cc settings_ui: Dynamic languages list (#40123)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Ben Kunkle created

a12940e 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

92f01b7 editor: Fix `delete line` moving the cursor too far

Lukas Wirth created