Commit log

7f1a5c6 ui: Make toggle button group responsive (#36100)

Click to expand commit body
This PR improves the toggle button group to be more responsive across
different layouts. This is accomplished by ensuring each button takes up
the same amount of space in the parent containers layout.

Ideally, this should be done with grids instead of a flexbox container,
as this would be much better suited for this purpose. Yet, since we lack
support for this, we go with this route for now.

| Before | After |
| --- | --- |
| <img width="1608" height="1094" alt="Bildschirmfoto 2025-08-13 um 11
24 26"
src="https://github.com/user-attachments/assets/2a4b5a59-6483-4f79-8fcb-e26e22071795"
/> | <img width="1608" height="1094" alt="Bildschirmfoto 2025-08-13 um
11 29 36"
src="https://github.com/user-attachments/assets/e6402729-6a8f-4a44-b79e-a569406edfff"
/> |


Release Notes:

- N/A

Finn Evers created

6307105 Don't show default shell breadcrumbs (#36070)

Click to expand commit body
Release Notes:

- N/A

localcc created

8d63312 Small worktree scan style fixes (#36104)

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

Release Notes:

- N/A

Kirill Bulatov created

81474a3 Change default pane split directions (#36101)

Click to expand commit body
Closes #32538

This PR adjusts the defaults for splitting panes along the horizontal
and vertical actions. Based upon user feedback, the adjusted values seem
more reasonable as default settings, hence, go with these instead.

Release Notes:

- Changed the default split directions for the `pane: split horizontal`
and `pane: split vertical` actions. You can restore the old behavior by
modifying the `pane_split_direction_horizontal` and
`pane_split_direction_vertical` values in your settings.

Finn Evers created

db497ac Agent2 Model Selector (#36028)

Click to expand commit body
Release Notes:

- N/A

---------

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

Ben Brandt and Bennet Bo Fenner created

8ff2e3e language_models: Add reasoning_effort for custom models (#35929)

Click to expand commit body
Release Notes:

- Added `reasoning_effort` support to custom models

Tested using the following config:
```json5
  "language_models": {
    "openai": {
      "available_models": [
        {
          "name": "gpt-5-mini",
          "display_name": "GPT 5 Mini (custom reasoning)",
          "max_output_tokens": 128000,
          "max_tokens": 272000,
          "reasoning_effort": "high" // Can be minimal, low, medium (default), and high
        }
      ],
      "version": "1"
    }
  }
```

Docs:
https://platform.openai.com/docs/api-reference/chat/create#chat_create-reasoning_effort

This work could be used to split the GPT 5/5-mini/5-nano into each of
it's reasoning effort variant. E.g. `gpt-5`, `gpt-5 low`, `gpt-5
minimal`, `gpt-5 high`, and same for mini/nano.

Release Notes:

* Added a setting to control `reasoning_effort` in OpenAI models

Cretezy created

96093aa onboarding: Link git clone button with action (#35999)

Click to expand commit body
Release Notes:

- N/A

Anthony Eid created

dc87f4b Add 4.1 to models page (#36086)

Click to expand commit body
Adds opus 4.1 to models page in docs

Release Notes:

- N/A

morgankrey created

1957e1f Add locations to native agent tool calls, and wire them up to UI (#36058)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Conrad <conrad@zed.dev>

Cole Miller and Conrad created

d78bd8f Fix external agent still being marked as generating after error response (#35992)

Click to expand commit body
Release Notes:

- N/A

Cole Miller created

32975c4 windows: Fix auto update failure when launching from the cli (#34303)

Click to expand commit body
Release Notes:

- N/A

---------

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

张小白 and Max Brunsfeld created

658d56b cli: Do not rely on Spotlight for --channel support (#36082)

Click to expand commit body
I've recently disabled Spotlight on my Mac and found that this code path
(which I rely on a lot) ceased working for me.

Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created

13a2c53 onboarding: Fix onboarding font context menu not scrolling to selected entry open (#36080)

Click to expand commit body
The fix was changing the picker kind we used from `list` variant to a
`uniform` list

`Picker::list()` still has a bug where it's unable to scroll to it's
selected entry when the list is first openned. This is likely caused by
list not knowing the pixel offset of each element it would have to
scroll pass to get to the selected element


Release Notes:

- N/A

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

Anthony Eid and Danilo Leal created

cd234e2 Eliminate host targets from rust toolchain file (#36077)

Click to expand commit body
Only cross-compilation targets need to be listed in the rust toolchain.
So we only need to list the wasi target for extensions, and the musl
target for the linux remote server. Previously, we were causing mac,
linux, and windows target to get installed onto all developer
workstations, which is unnecessary.

Release Notes:

- N/A

Max Brunsfeld created

b564b1d outline: Fix nesting in multi-name declarations in Go and C++ (#36076)

Click to expand commit body
An alternative might be to adjust the logic to not nest items when their
ranges are the same, but then clicking them doesn't work properly /
moving the cursor does not change which is selected. This could probably
be made to work with some extra logic there, but it seems overkill.

The downside of fixing it at the query level is that other parts of the
declaration are not inside the item range. This seems to be fine for
single line declarations - the nearest outline item is highlighted.
However, if a part of the declaration is not included in an item range
and is on its own line, then no outline item is highlighted.

Release Notes:

- Outline Panel: Fixed nesting of var and field declarations with
multiple identifiers in Go and C++

C++ before:

<img width="743" height="227" alt="image"
src="https://github.com/user-attachments/assets/af1a1d76-ecdc-4999-ae9c-95591726ccca"
/>

C++ after:

<img width="795" height="250" alt="image"
src="https://github.com/user-attachments/assets/49667ed3-e088-48b3-a9f0-6a119b5e7648"
/>

Go before:

<img width="859" height="306" alt="image"
src="https://github.com/user-attachments/assets/ecc7530a-ca16-4f37-b8d1-60687f178b12"
/>

Go after:

<img width="900" height="334" alt="image"
src="https://github.com/user-attachments/assets/d741cfb0-59e5-4d27-bd6a-f422204dc972"
/>

Michael Sloan created

48ae02c Don't retry for PaymentRequiredError or ModelRequestLimitReachedError (#36075)

Click to expand commit body
Release Notes:

- Don't auto-retry for "payment required" or "model request limit
reached" errors (since retrying won't help)

Richard Feldman created

255bb0a telemetry: Reduce the amount of telemetry events fired (#36060)

Click to expand commit body
1. Extension loaded events are now condensed into a single event with a
Vec of (extension_id, extension_version) called id_and_versions.
2. Editor Saved & AutoSaved are merged into a singular event with a type
field that is either "manual" or "autosave”.
3. Editor Edited event will only fire once every 10 minutes now.
4. Editor Closed event is fired when an editor item (tab) is removed
from a pane



cc: @katie-z-geer 

Release Notes:

- N/A

---------

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

Anthony Eid and Marshall Bowers created

628b105 agent2: Fix some UI glitches (#36067)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

7167f19 open_ai: Send `prompt_cache_key` to improve caching (#36065)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Michael Sloan <mgsloan@gmail.com>

Oleksiy Syvokon and Michael Sloan created

7ff0f15 open_ai: Log inputs that caused parsing errors (#36063)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Michael Sloan <mgsloan@gmail.com>

Oleksiy Syvokon and Michael Sloan created

7df8e05 Ignore whitespace in git blame invocation (#35960)

Click to expand commit body
This works around a bug wherein inline git blame is unavailable for
files with CRLF line endings. At the same time, this prevents users from
seeing whitespace-only changes in the editor's git blame

Closes #35836

Release Notes:

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

Filip Binkiewicz created

d030bb6 emmet: Bump to v0.0.5 (#36066)

Click to expand commit body
This PR bumps the Emmet extension to v0.0.5.

Changes:

- https://github.com/zed-industries/zed/pull/35599
- https://github.com/zed-industries/zed/pull/36064

Release Notes:

- N/A

Marshall Bowers created

b62f959 windows: Fix message loop using too much CPU (#35969)

Click to expand commit body
Closes #34374

This is a leftover issue from #34374. Back in #34374, I wanted to use
DirectX to handle vsync, after all, that’s how 99% of Windows apps do
it. But after discussing with @maxbrunsfeld , we decided to stick with
the original vsync approach given gpui’s architecture.

In my tests, there’s no noticeable performance difference between this
PR’s approach and DirectX vsync. That said, this PR’s method does have a
theoretical advantage, it doesn’t block the main thread while waiting
for vsync.


The only difference is that in this PR, on Windows 11 we use a newer API
instead of `DwmFlush`, since Chrome’s tests have shown that `DwmFlush`
has some problems. This PR also removes the use of
`MsgWaitForMultipleObjects`.


Release Notes:

- N/A

---------

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

张小白 and Max Brunsfeld created

3a04657 emmet: Add workaround for leading `/` on Windows paths (#36064)

Click to expand commit body
This PR adds a workaround for the leading `/` on Windows paths
(https://github.com/zed-industries/zed/issues/20559).

Release Notes:

- N/A

Marshall Bowers created

42b7dbe Remove beta tag from cursor keymap (#36061)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Anthony Eid <hello@anthonyeid.me>

Mikayla Maki and Anthony Eid created

bfbb184 Fix management of rust-analyzer binaries on windows (#36056)

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


* Avoid removing the just-downloaded exe
* Invoke exe within nested version directory

Release Notes:

- Fix issue where Rust-analyzer was not installed correctly on windows

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

Max Brunsfeld and Lukas Wirth created

978b75b vim: Support filename in :tabedit and :tabnew commands (#35775)

Click to expand commit body
Update both `:tabedit` and `:tabnew` commands in order to support a
single argument, a filename, that, when provided, ensures that the new
tab either opens an existing file or associates the new tab with the
filename, so that when saving the buffer's content, the file is created.

Relates to #21112 

Release Notes:

- vim: Added support for filenames in both `:tabnew` and `:tabedit` commands

Dino created

1f20d5b Fix nightly icon (#36051)

Click to expand commit body
Release Notes:

- N/A

localcc created

9de04ce language_models: Add vision support for OpenAI gpt-5, gpt-5-mini, and gpt-5-nano models (#36047)

Click to expand commit body
## Summary
Enable image processing capabilities for GPT-5 series models by updating
the `supports_images()` method.

## Changes
- Add vision support for `gpt-5`, `gpt-5-mini`, and `gpt-5-nano` models
- Update `supports_images()` method in
`crates/language_models/src/provider/open_ai.rs`

## Models with Vision Support (after this PR)
- gpt-4o
- gpt-4o-mini
- gpt-4.1
- gpt-4.1-mini
- gpt-4.1-nano
- gpt-5 (new)
- gpt-5-mini (new)
- gpt-5-nano (new)
- o1
- o3
- o4-mini

This brings GPT-5 vision capabilities in line with other OpenAI models
that support image processing.

Release Notes:

- Added vision support for OpenAI models

Rishabh Bothra created

d8fc536 docs: Update OpenAI models list (#36050)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Oleksiy Syvokon created

39c19ab Update windows alpha GitHub Issue template (#36049)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

b105028 agent2: Add custom UI for resource link content blocks (#36005)

Click to expand commit body
Release Notes:

- N/A

---------

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

Danilo Leal and Agus Zubiaga created

d216244 python: Fix venv activation in remote projects (#36043)

Click to expand commit body
Crux of the issue was that we were checking whether a venv activation
script exists on local filesystem, which is obviously wrong for remote
projects. This PR also does away with `source` for venv activation in
favor of `.`, which is compliant with `sh`

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

Closes #34648

Release Notes:

- Python: fixed activation of virtual environments in terminals for
remote projects

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

Piotr Osiewicz and Lukas Wirth created

360d4db python: Fix flickering in the status bar (#36039)

Click to expand commit body
- **util: Have maybe! use async closures instead of async blocks**
- **python: Fix flickering of virtual environment indicator in status
bar**

Closes #30723

Release Notes:

- Python: Fixed flickering of the status bar virtual environment
indicator

---------

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

Piotr Osiewicz and Lukas Wirth created

4495337 Include mention context in acp-based native agent (#36006)

Click to expand commit body
Also adds data-layer support for symbols, thread, and rules.

Release Notes:

- N/A

---------

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

Agus Zubiaga and Cole Miller created

2444321 Support profiles in agent2 (#36034)

Click to expand commit body
We still need a profile selector.

Release Notes:

- N/A

---------

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

Antonio Scandurra and Ben Brandt created

13bf45d python: Fix toolchain serialization not working with multiple venvs in a single worktree (#36035)

Click to expand commit body
Our database did not allow more than entry for a given toolchain for a
single worktree (due to incorrect primary key)

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

Release Notes:

- Python: Fixed toolchain selector not working with multiple venvs in a
single worktree.

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

Piotr Osiewicz and Lukas Wirth created

b61b714 go: Add support for running sub-tests in table tests (#35657)

Click to expand commit body
One killer feature for the Go runner is to execute individual subtests
within a table-test easily. Goland has had this feature forever, while
in VSCode this has been notably missing.


https://github.com/user-attachments/assets/363417a2-d1b1-43ca-8377-08ce062d6104


Release Notes:

- Added support to run Go table-test subtests.

Lukas Spiss created

cc5eb24 zeta: Add latency telemetry for 1% of edit predictions (#36020)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Oleksiy <oleksiy@zed.dev>

Michael Sloan and Oleksiy created

52a9101 vim: Add ctrl-y/e in insert mode (#36017)

Click to expand commit body
Closes #17292

Release Notes:

- vim: Added ctrl-y/ctrl-e in insert mode to copy the next character
from the line above or below

Conrad Irwin created

1a79883 Fix running vim tests with --features neovim (#36014)

Click to expand commit body
This was broken incidentally in
https://github.com/zed-industries/zed/pull/33417

A better fix would be to fix app shutdown to take control of the
executor so that we *can* run
foreground tasks; but that is a bit fiddly (draft #36015) 

Release Notes:

- N/A

Conrad Irwin created

481e3e5 Ignore capability registrations with empty capabilities (#36000)

Kirill Bulatov created

b35e696 docs: Add a missing comma in Rust debugging JSON (#36007)

Click to expand commit body
Update the Rust debugging doc to include a missing comma in one of the
example JSON's.

Matt created

add67bd Remove unnecessary argument from Vim#update_editor (#36001)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

fa3d0aa gpui: Allow selection of "Services" menu independent of menu title (#34115)

Click to expand commit body
Release Notes:

- N/A

---

In the same vein as #29538, the "Services" menu on macOS depended on the
text being exactly "Services", not allowing for i18n of the menu name.

This PR introduces a new menu type called `OsMenu` that defines a
special menu that can be populated by the system. Currently, it takes
one enum value, `ServicesMenu` that tells the system to populate its
contents with the items it would usually populate the "Services" menu
with.

An example of this being used has been implemented in the `set_menus`
example:
`cargo run -p gpui --example set_menus`

---

Point to consider:

In `mac/platform.rs:414` the existing code for setting the "Services"
menu remains for backwards compatibility. Should this remain now that
this new method exists to set the menu, or should it be removed?

---------

Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>

Victor Tran and Mikayla Maki created

094e878 agent2: Refine terminal tool call display (#35984)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

54d4665 Add windows issue template (#35998)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

2c84e33 Fix icon padding (#35990)

Click to expand commit body
Release Notes:

- N/A

localcc created

bb6ea22 agent2: Port more tools (#35987)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Co-authored-by: Antonio Scandurra <me@as-cii.com>

Bennet Bo Fenner , Ben Brandt , and Antonio Scandurra created

365b5aa Centralize `always_allow` logic when authorizing agent2 tools (#35988)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Cole Miller <cole@zed.dev>
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Co-authored-by: Agus Zubiaga <agus@zed.dev>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

Antonio Scandurra , Cole Miller , Bennet Bo Fenner , Agus Zubiaga , and Ben Brandt created