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)
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.
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)
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>
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 ...
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
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
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>
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)
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>