Commit log

0c71aa9 Bump tree-sitter-python to 0.25.0 (#39103)

Click to expand commit body
- The fork with the patch is now included in 0.25.0
(https://github.com/tree-sitter/tree-sitter-python/commit/7ff26dacd720393d3cfeda14351f168a79146a33).
- We no longer need `except*` as a keyword, which was added in
https://github.com/zed-industries/zed/pull/21389. It now highlights
correctly without explicitly mentioning it after
https://github.com/tree-sitter/tree-sitter-python/commit/1b1ca93298f0a67987abbda88a861d65da28cdb4.

Release Notes:

- N/A

Smit Barmase created

92a09ec x_ai: Add support for tools and images with custom models (#38792)

Click to expand commit body
After the change, we can add "supports_images", "supports_tools" and
"parallel_tool_calls" properties to set up new models. Our
`settings.json` will be as follows:
```json
  "language_models": {
     "x_ai": {
       "api_url": "https://api.x.ai/v1",
       "available_models": [
         {
           "name": "grok-4-fast-reasoning",
           "display_name": "Grok 4 Fast Reasoning",
           "max_tokens": 2000000,
           "max_output_tokens": 64000,
           "supports_tools": true,
           "parallel_tool_calls": true,
         },
         {
           "name": "grok-4-fast-non-reasoning",
           "display_name": "Grok 4 Fast Non-Reasoning",
           "max_tokens": 2000000,
           "max_output_tokens": 64000,
           "supports_images": true,
         }
       ]
     }
   }

```

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

Release Notes:

- xAI: Added support for for configuring tool and image support for
custom model configurations

Jowell Young created

bad9677 acp: Add NO_PROXY if not set otherwise to not proxy localhost urls (#39100)

Click to expand commit body
Since we might run MCP servers locally for an agent, we don't want to
use the proxy for those.
We set this if the user has set a proxy, but not a custom NO_PROXY env
var.

Closes #38839

Release Notes:

- acp: Don't run local mcp servers through proxy, if set

Ben Brandt created

aa14980 Mention pure style changes in the contributing docs (#39096)

Click to expand commit body
Release Notes:

- N/A

Kirill Bulatov created

12aba61 docs: Fix minor typos in configuring-zed.md (#39048)

Click to expand commit body
Fixed numbering under heading  Bottom Dock Layout

Closes #ISSUE

Release Notes:

- N/A

warrenjokinen created

720971e git_ui: Fix last commit UI glitching on panel resize (#39059)

Click to expand commit body
# Why

Spotted that on Git Panel resize last commit UI part could glitch due to
commit message being wrapped into second line in certain situations.

# How

Force only one line for the last commit message in Git Panel via
`line_clamp`.

I have also remove manual `max-width` setting since it is controlled by
flex layout and gap setting no matter if there is an additional element
on the right or not.

Release Notes:

- Fixed last commit UI glitching on panel resize

# Preview

### Before


https://github.com/user-attachments/assets/9ce74f6f-d33c-4787-b7e4-010de8f0ffff

<img width="852" height="502" alt="Screenshot 2025-09-28 at 18 16 35"
src="https://github.com/user-attachments/assets/1131c73f-fe06-4d8e-adbb-5ce84ecf31e0"
/>

### After


https://github.com/user-attachments/assets/279b8c37-7ec9-4038-8761-197cba26aa83

Bartosz Kaszubowski created

0a10e3e acp_thread: Fix terminal tool incorrectly redirecting stdin to `/dev/null` (#39092)

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

Release Notes:

- Fixed AI terminal tool incorrectly redirecting stdin to `/dev/null`

Lukas Wirth created

77854f4 windows: Refactor shell environment capture to use new_smol_command (#39055)

Click to expand commit body
Using `crate::command::new_smol_command` on the Windows platform will
not display the PowerShell window.

Closes #39052

Release Notes:

- N/A

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

Xiaobo Liu created

5ce7eda ui: Fix panic in `highlight_ranges` when given an oob index (#39051)

Click to expand commit body
Fixes ZED-1QW

Release Notes:

- Fixed a panic when highlighting labels

Lukas Wirth created

6d7a4c4 search: Fix panic in project search due to workspace double lease (#39049)

Click to expand commit body
Fixes ZED-1K1

Release Notes:

- Fixed panic when spawning a new project search with include file only
filtering

Lukas Wirth created

cc85a48 editor: Fix panic when syncing empty selections (#39047)

Click to expand commit body
Fixes ZED-1KF

Release Notes:

- Fixed commit modal panicking in specific scenario

Lukas Wirth created

4cd839e Fix typo in `search.rs` (#39045)

Click to expand commit body
Fixed confusing word

Release Notes:

- Fixed a typo in the tooltip for search case sensitivity.

warrenjokinen created

78098f6 windows: Update Windows keymap (#38767)

Click to expand commit body
Pickup the changes from #36550

Release Notes:

- N/A

---------

Signed-off-by: Yang Gang <yanggang.uefi@gmail.com>
Co-authored-by: 张小白 <364772080@qq.com>

Yang Gang and 张小白 created

4d2ff6c markup: Update yara.md (#39027)

Click to expand commit body
Minor fixes / clarifications for two links in one markdown file

Release Notes:

- N/A

warrenjokinen created

6f5d152 git_ui: Allow splitting `commit_view` pane (#39025)

Click to expand commit body
Release Notes:

- Allow splitting git commit view pane

Lukas Wirth created

682cf02 windows: Implement shell environment loading for git operations (#39019)

Click to expand commit body
Fixes the "failed to get working directory environment for repository"
error on Windows by implementing proper shell environment variable
capture.

Release Notes:

- Fixed failed to get working directory environment for repository

---------

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

Xiaobo Liu created

72948e1 Use `into_owned` over `to_string` for `Cow<str>` (#39024)

Click to expand commit body
This removes unnecessary allocations when the `Cow` is already owned


Release Notes:

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

Lukas Wirth created

a063a70 call: Play a different sound when a guest joins (#38987)

Click to expand commit body
Release Notes:

- collab: A distinct sound effect is now used for when a guest joins a
call.
- collab: Fixed the "joined" sound being excessively loud when joining a
call that already has many participants.

---------

Co-authored-by: David Kleingeld <davidsk@zed.dev>

Cole Miller and David Kleingeld created

687e22b extension_host: Use the more permissive RelPath constructor for paths from extensions (#38965)

Click to expand commit body
Closes #38922 

Release Notes:

- N/A

---------

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

Cole Miller and Jakub Konka created

e13b88e snippets: Fix `configure snippets` not opening on remote workspaces (#38790)

Click to expand commit body
Release Notes:

- Fixed `snippets: configure snippets` action not working on remote
workspaces

loczek created

e1e9f78 docs: Document config completion for Deno (#38993)

Click to expand commit body
Closes #ISSUE

Release Notes:

- doc: document config completion for deno

Bedis Nbiba created

0fe696b Bump html extension version to 0.2.3 (#38997)

Click to expand commit body
Release Notes:

- N/A

Max Brunsfeld created

ead38fd fsevent: Check `CFURLCreateFromFileSystemRepresentation` return value (#38996)

Click to expand commit body
Fixes ZED-1T

Release Notes:

- Fixed a segmentation fault on macOS fervent stream creation

Lukas Wirth created

fbdf5d4 editor: Do not panic on `tab_size > 16`, cap it at 128 (#38994)

Click to expand commit body
Fixes ZED-1PT
Fixes ZED-1PW
Fixes ZED-1G2

Release Notes:

- Fixed Zed panicking when the `tab_size` is set higher than 16

Lukas Wirth created

837f282 html: Remove Windows workaround (#38069)

Click to expand commit body
⚠️ Don't merge until Zed 0.205.x is on stable ⚠️ 

See https://github.com/zed-industries/zed/pull/37811

This PR updates the HTML extension, bumping the zed extension API to the
latest version, which removes the need to work around a bug where
`current_dir()` returned an invalid path on windows.

Release Notes:

- N/A

Max Brunsfeld created

bd3ccce edit_prediction_button: Fix Copilot menu not updating after sign out (#38854)

Click to expand commit body
The edit prediction button menu was displaying stale authentication
status due to capturing the Copilot status in a closure. After signing
out, the menu would still show "Sign Out" instead of "Sign In to
Copilot".

This change fixes the issue by reading the current Copilot status each
time the menu is displayed, ensuring the menu options are always
accurate.

Release Notes:

- Fixed Copilot AI menu not updating after sign out

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

Xiaobo Liu created

d437bba Don't let `ctrl-g` clobber git panel keybindings in Emacs keymap (#37732)

Click to expand commit body
i'm testing out zed, coming from emacs, and so i'm trying out the base
keymap for it. i noticed though that zed's default git keybindings don't
work when the gitpanel is open though, because of the top-level binding
of `ctrl-g` to cancel. my expectation is that the emacs-like keybindings
would work insofar as they don't clobber zed's defaults (which would
take precedence), but obviously i'll defer to others on this!

another option could be to use the `C-x v` keymap prefix that the emacs
built-in `vc` package uses, but it doesn't contain the same set of
bindings for git commands that zed has.

justin talbott created

114791e Revert "Fix arrow function detection in TypeScript/JavaScript outline (#38411)" (#38982)

Click to expand commit body
This reverts commit 1bbf98aea6f335e791f19d8f76ba8a5f0510937f.

We found that #38411 caused problems where anonymous functions are
included too many times in the outline. We'd like to figure out a better
fix before shipping this to stable.

Fixes #38956

Release Notes:

- (preview only) revert changes to outline view

Conrad Irwin created

d6fcd40 Show config messages from install-wild, install-mold (#38979)

Click to expand commit body
Follows on from
https://github.com/zed-industries/zed/pull/37717#discussion_r2376739687

@dvdsk suggested this but I didn't get to it in the previous PR.

# Tested

```
; sudo rm /usr/local/bin/wild
; ./script/install-wild
Downloading from https://github.com/davidlattimore/wild/releases/download/0.6.0/wild-linker-0.6.0-x86_64-unknown-linux-gnu.tar.gz
Wild is installed to /usr/local/bin/wild

To make it your default, add or merge these lines into your ~/.cargo/config.toml:

[target.x86_64-unknown-linux-gnu]
linker = "clang"
rustflags = ["-C", "link-arg=--ld-path=wild"]

[target.aarch64-unknown-linux-gnu]
linker = "clang"
rustflags = ["-C", "link-arg=--ld-path=wild"]

```

```
; sudo rm /usr/local/bin/mold
; ./script/install-mold 2.34.0
Downloading from https://github.com/rui314/mold/releases/download/v2.34.0/mold-2.34.0-x86_64-linux.tar.gz
Mold is installed to /usr/local/bin/mold

To make it your default, add or merge these lines into your ~/.cargo/config.toml:

[target.'cfg(target_os = "linux")']
linker = "clang"
rustflags = ["-C", "link-arg=-fuse-ld=mold"]
```

Release Notes:

- N/A

Martin Pool created

7ad9ca9 editor: Replace hardcoded keystroke in Excerpt Fold Toggle tooltip (#38978)

Click to expand commit body
# Why

I have recently corrected this tooltip content for macOS, but recently
have learnt that keystroke to text helpers already exist in the
codebase.

# How

Replace hardcoded keystroke for Excerpt Fold Toggle in Uncommitted
Changes tab.

> [!important]
> Should be merged after #38969 and #38971, otherwise it would be a
regression on macOS.

Release Notes:

- N/A

# Preview (stacked on mentioned above PRs)

<img width="618" height="248" alt="Screenshot 2025-09-26 at 17 43 53"
src="https://github.com/user-attachments/assets/cdc7fb74-e1d8-4a59-b847-8a8d2edd4641"
/>

Bartosz Kaszubowski created

a55dff7 ui: Fix Vim mode detection in keybinding to text helpers (#38971)

Click to expand commit body
# Why

Refs:
* #38969

When working on the PR above I have spotted that keybinding to text
helpers incorrectly detects if Vim mode is enabled.

# How

Replace inline check with an existing `KeyBinding::is_vim_mode` method
in keybinding text helpers.

Release Notes:

- Fixed incorrect Vim mode detection in UI keybinding to text helpers.

# Test plan

Made sure that when Vim mode is not specified in settings file it
resolves to `false`, and correct keybindings are displayed, than I have
added the `"vim_mode": true,` line to my settings file and made sure
that keybindings text have changed accordingly.

### Before

<img width="712" height="264" alt="Screenshot 2025-09-26 at 16 57 08"
src="https://github.com/user-attachments/assets/62bc24bd-c335-420f-9c2e-3690031518c1"
/>

### After

<img width="712" height="264" alt="Screenshot 2025-09-26 at 17 13 50"
src="https://github.com/user-attachments/assets/e0088897-eb6b-4d7b-855a-931adcc15fe8"
/>

Bartosz Kaszubowski created

6db621a ui: Display `option` in lowercase in Vim mode keybindings (#38969)

Click to expand commit body
# Why

Spotted that some tooltips include `alt` keystroke combination on macOS.

# How

Add missing `vim_mode` version definition of `Option` key to the
`keystroke_text` helper.

Release Notes:

- Fixed keystroke to text helper output for macOS `Option` key in Vim
mode

# Preview

### Before

<img width="712" height="264" alt="Screenshot 2025-09-26 at 16 57 08"
src="https://github.com/user-attachments/assets/d5daa37f-0da7-4430-91ea-4a750c025472"
/>

### After

<img width="712" height="264" alt="Screenshot 2025-09-26 at 16 56 21"
src="https://github.com/user-attachments/assets/5804ed39-9b1b-4028-a9c9-32c066042f4a"
/>

Bartosz Kaszubowski created

948b437 Stop using linear color space on Linux Blade renderer (#38967)

Click to expand commit body
Part of https://github.com/zed-industries/zed/issues/7992
Closes https://github.com/zed-industries/zed/issues/22711

Left is main, right is patched.

* default font

<img width="3862" height="2152" alt="image"
src="https://github.com/user-attachments/assets/c4e3d18a-a0dd-48b8-a1f0-182407655efb"
/>
<img width="3862" height="2152" alt="image"
src="https://github.com/user-attachments/assets/6eea07e7-1676-422c-961f-05bc72677fad"
/>


<img width="3862" height="2152" alt="image"
src="https://github.com/user-attachments/assets/4d9e30dc-6905-48ad-849d-48eac6ebed03"
/>
<img width="3862" height="2152" alt="image"
src="https://github.com/user-attachments/assets/ef20986e-c29c-4fe0-9f20-56da4fb0ac29"
/>


* font size 7

<img width="3862" height="2152" alt="image"
src="https://github.com/user-attachments/assets/8b277e92-9ae4-4415-8903-68566b580f5a"
/>
<img width="3862" height="2152" alt="image"
src="https://github.com/user-attachments/assets/b9140e73-81af-430b-b07f-af118c7e3dae"
/>

<img width="3862" height="2152" alt="image"
src="https://github.com/user-attachments/assets/185f526a-241e-4573-af1d-f27aedeac48e"
/>
<img width="3862" height="2152" alt="image"
src="https://github.com/user-attachments/assets/7a239121-ae13-4db9-99d9-785ec26cd98e"
/>


Release Notes:

- Improved color rendering on Linux

Co-authored-by: Kate <kate@zed.dev>
Co-authored-by: John <john-tur@outlook.com>
Co-authored-by: apricotbucket28 <71973804+apricotbucket28@users.noreply.github.com>

Kirill Bulatov , Kate , John , and apricotbucket28 created

8db24dd docs: Update wording around configuring MCP servers (#38973)

Click to expand commit body
Felt like this could be clarified a bit.

Release Notes:

- N/A

Danilo Leal created

4aac564 JSON Schema URIs (#38916)

Click to expand commit body
Closes #ISSUE

Improves the efficiency of our interactions with the Zed language
server. Previously, on startup and after every workspace configuration
changed notification, we would send >1MB of JSON Schemas to the JSON
LSP. The only reason this had to happen was due to the case where an
extension was installed that would result in a change to the JSON schema
for settings (i.e. added language, theme, etc).

This PR changes the behavior to use the URI LSP extensions of
`vscode-json-language-server` in order to send the server URI's that it
can then use to fetch the schemas as needed (i.e. the settings schema is
only generated and sent when `settings.json` is opened. This brings the
JSON we send to on startup and after every workspace configuration
changed notification down to a couple of KB.

Additionally, using another LSP extension request we can notify the
server when a schema has changed using the URI as a key, so we no longer
have to send a workspace configuration changed notification, and the
schema contents will only be re-requested and regenerated if the schema
is in use.

Release Notes:

- Improved the efficiency of communication with the builtin JSON LSP.
JSON Schemas are no longer sent to the JSON language server in their
full form. If you wish to view a builtin JSON schema in the language
server info tab of the language server logs (`dev: open language server
logs`), you must now use the `editor: open url` action with your cursor
over the URL that is sent to the server.
- Made it so that Zed urls (`zed://...`) are resolved locally when
opened within the editor instead of being resolved through the OS. Users
who could not previously open `zed://*` URLs in the editor can now do so
by pasting the link into a buffer and using the `editor: open url`
action (please open an issue if this is the case for you!).

---------

Co-authored-by: Michael <michael@zed.dev>

Ben Kunkle and Michael created

30b49cf perf: Fixup ordering, fix pathing, docs (#38970)

Click to expand commit body
Release Notes:

- N/A

Nia created

c69912c Forbid `std::process::Command` spawning, replace with `smol` where appropriate (#38894)

Click to expand commit body
std commands can block for an arbitrary duration and so runs risk of
blocking tasks for too long. This replaces all such uses where sensible
with async processes.

Release Notes:

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

Lukas Wirth created

7f14ab2 copilot: Ensure minimum Node version (#38945)

Click to expand commit body
Closes #38918

Release Notes:

- N/A

Smit Barmase created

5ee73d3 Move `settings_macros` to Cargo workspace (#38962)

Click to expand commit body
Release Notes:

- N/A

Marshall Bowers created

d5aa81a Fix up Wild package name and decompression (#38961)

Click to expand commit body
Wild changed in 0.6.0 to using gzip rather than xz, and changed the
format of the package name.

Follows on from and fixes
https://github.com/zed-industries/zed/pull/37717

cc @dvdsk @mati865 

Release Notes:

- N/A

Martin Pool created

21855c1 Disable subpixel shifting for y axis on Linux (#38959)

Click to expand commit body
Part of https://github.com/zed-industries/zed/issues/7992
Port of #38440

<img width="3836" height="2142" alt="zed_nightly_vs_zed_dev_2"
src="https://github.com/user-attachments/assets/66bcbb9a-2159-4790-8a9a-d4814058d966"
/>

Does not change the rendering on Linux, but prepares us for the times
without cosmic-text where this will be needed.

Release Notes:

- N/A

Co-authored-by: Kate <kate@zed.dev>
Co-authored-by: John <john@zed.dev>

Kirill Bulatov , Kate , and John created

1f9279a linux: Add missing linear to sRGB transform in mono sprite rendering (#38944)

Click to expand commit body
Part of https://github.com/zed-industries/zed/issues/7992
Takes
https://github.com/zed-industries/zed/issues/7992#issuecomment-3083871615
and applies its adjusted version on the current state of things

Screenshots (left is main, right is the patch): 

* default font size

<img width="3840" height="2160" alt="image"
src="https://github.com/user-attachments/assets/26fdc42c-12e6-447f-ad3d-74808e4b2562"
/>

<img width="3840" height="2160" alt="image"
src="https://github.com/user-attachments/assets/29829c61-c998-4e77-97c3-0e66e14b236d"
/>


* buffer and ui font size 7 

<img width="3840" height="2160" alt="image"
src="https://github.com/user-attachments/assets/5d0f1d94-b7ed-488d-ab22-c25eb01e6b4a"
/>

<img width="3840" height="2160" alt="image"
src="https://github.com/user-attachments/assets/7020d62e-de65-4b86-a64b-d3eea798c217"
/>


Release Notes:

- Added missing linear to sRGB transform in mono sprite rendering on
Linux

Co-authored-by: Thomas Dagenais <exrok@i64.dev>
Co-authored-by: Kate <work@localcc.cc>

Kirill Bulatov , Thomas Dagenais , and Kate created

da71465 edit_prediction_context: Minor optimization of text similarity + some renames (#38941)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

bcc8149 perf: Fixes (#38935)

Click to expand commit body
Release Notes:

- N/A

Nia created

b152860 settings ui: Add some light design tweaks (#38934)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

ee357e8 language_models: Send a header indicating that the client supports xAI models (#38931)

Click to expand commit body
This PR adds an `x-zed-client-supports-x-ai` header to the `GET /models`
request sent to Cloud to indicate that the client supports xAI models.

Release Notes:

- N/A

Marshall Bowers created

0891a71 gpui: Fix incorrect colors comment (#38929)

Click to expand commit body
| Before | After |
| - | - |
| <img width="466" height="207" alt="SCR-20250926-khst"
src="https://github.com/user-attachments/assets/c28a9ea8-3d22-458c-a683-b2fabe275a04"
/> | <img width="480" height="215" alt="SCR-20250926-kgru"
src="https://github.com/user-attachments/assets/cfee6392-804c-46e2-a55a-f72071264d10"
/> |

Release Notes:

- N/A

Floyd Wang created

94fe862 x_ai: Fix `Model::from_id` for Grok 4 (#38930)

Click to expand commit body
This PR fixes `x_ai::Model::from_id`, which was not properly handling
`grok-4`.

Release Notes:

- N/A

Marshall Bowers created

4f91fab language_models: Add xAI support to Zed Cloud provider (#38928)

Click to expand commit body
This PR adds xAI support to the Zed Cloud provider.

Release Notes:

- N/A

Marshall Bowers created

0e0f48d Introduce SettingsField type to the settings UI (#38921)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Ben Kunkle <ben@zed.dev>

Mikayla Maki , Nathan Sobo , Anthony Eid , and Ben Kunkle created