Commit graph

30251 commits

Author SHA1 Message Date
Zed Bot
3593691a05 Bump to 0.200.4 for @maxdeviant 2025-08-18 20:48:00 +00:00
Marshall Bowers
66e6649aed client: Parse auth callback query parameters before showing sign-in success page (#36440)
This PR fixes an issue where we would redirect the user's browser to the
sign-in success page even if the OAuth callback was malformed.

We now parse the OAuth callback parameters from the query string and
only redirect to the sign-in success page when they are valid.

Release Notes:

- Updated the sign-in flow to not show the sign-in success page
prematurely.
2025-08-18 16:34:46 -04:00
Julia Ryan
6c0eaf674e
zed 0.200.3 2025-08-18 09:32:33 -07:00
Julia Ryan
e9e376deb5
Separate minidump crashes from panics (#36267)
The minidump-based crash reporting is now entirely separate from our
legacy panic_hook-based reporting. This should improve the association
of minidumps with their metadata and give us more consistent crash
reports.

Release Notes:

- N/A

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
2025-08-18 09:19:23 -07:00
Finn Evers
78e56ce8fd keymap_ui: Ensure keybind with empty arguments can be saved (#36393)
Follow up to #36278 to ensure this bug is actually fixed. Also fixes
this on two layers and adds a test for the lower layer, as we cannot
properly test it in the UI.

Furthermore, this improves the error message to show some more context
and ensures the status toast is actually only shown when the keybind was
successfully updated: Before, we would show the success toast whilst
also showing an error in the editor.

Lastly, this also fixes some issues with the status toast (and
animations) where no status toast or no animation would show in certain
scenarios.

Release Notes:

- N/A
2025-08-18 13:14:40 +02:00
Finn Evers
0367e93667 onboarding: Fix minimap typo on editing page (#36143)
This PR fixes a small typo on the onboarding editing page where it
should be "Minimap" instead of "Mini Map"

Release Notes:

- N/A
2025-08-18 13:14:35 +02:00
Oleksiy Syvokon
e2dec85365 agent: Create checkpoint before/after every edit operation (#36253)
1. Previously, checkpoints only appeared when an agent's edit happened
immediately after a user message. This is rare (agent usually collects
some context first), so they were almost never shown. This is now fixed.

2. After this change, a checkpoint is created after every edit
operation. So when the agent edits files five times in a single dialog
turn, we will now display five checkpoints.

As a bonus, it's now possible to undo only a part of a long agent
response.

Closes #36092, #32917

Release Notes:

- Create agent checkpoints more frequently (before every edit)
2025-08-18 12:37:19 +03:00
Piotr Osiewicz
4a0e8f0844 agent_ui: Ensure that all configuration views get rendered with full width (#36362)
Closes #36097

Release Notes:

- Fixed API key input fields getting shrunk in Agent Panel settings view
on low panel widths paired with high UI font sizes.
2025-08-18 12:36:01 +03:00
Cale Sennett
c2f0df9b8e Add capabilities to OpenAI-compatible model settings (#36370)
### TL;DR
* Adds `capabilities` configuration for OpenAI-compatible models
* Relates to
https://github.com/zed-industries/zed/issues/36215#issuecomment-3193920491

### Summary
This PR introduces support for configuring model capabilities for
OpenAI-compatible language models. The implementation addresses the
issue that not all OpenAI-compatible APIs support the same features -
for example, Cerebras' API explicitly does not support
`parallel_tool_calls` as documented in their [OpenAI compatibility
guide](https://inference-docs.cerebras.ai/resources/openai#currently-unsupported-openai-features).

### Changes

1. **Model Capabilities Structure**:
- Added `ModelCapabilityToggles` struct for UI representation with
boolean toggle states
- Implemented proper parsing of capability toggles into
`ModelCapabilities`

2. **UI Updates**:
- Modified the "Add LLM Provider" modal to include checkboxes for each
capability
- Each OpenAI-compatible model can now be configured with its specific
capabilities through the UI

3. **Configuration File Structure**:
- Updated the settings schema to support a `capabilities` object for
each `openai_compatible` model
- Each capability (`tools`, `images`, `parallel_tool_calls`,
`prompt_cache_key`) can be individually specified per model

### Example Configuration

```json
{
  "openai_compatible": {
    "Cerebras": {
      "api_url": "https://api.cerebras.ai/v1",
      "available_models": [
        {
          "name": "gpt-oss-120b",
          "max_tokens": 131000,
          "capabilities": {
            "tools": true,
            "images": false,
            "parallel_tool_calls": false,
            "prompt_cache_key": false
          }
        }
      ]
    }
  }
}
```

### Tests Added

- Added tests to verify default capability values are correctly applied
- Added tests to verify that deselected toggles are properly parsed as
`false`
- Added tests to verify that mixed capability selections work correctly

Thanks to @osyvokon for the desired `capabilities` configuration
structure!


Release Notes:

- OpenAI-compatible models now have configurable capabilities (#36370;
thanks @calesennett)

---------

Co-authored-by: Oleksiy Syvokon <oleksiy@zed.dev>
2025-08-18 12:35:08 +03:00
Ben Kunkle
2bd61668dc keymap_ui: Don't try to parse empty action arguments as JSON (#36278)
Closes #ISSUE

Release Notes:

- Keymap Editor: Fixed an issue where leaving the arguments field empty
would result in an error even if arguments were optional
2025-08-15 17:06:23 -05:00
Joseph T. Lyons
2ab445dfd4 zed 0.200.2 2025-08-15 13:17:26 -04:00
Oleksiy Syvokon
b96f76f377 openai: Don't send prompt_cache_key for OpenAI-compatible models (#36231)
Some APIs fail when they get this parameter

Closes #36215

Release Notes:

- Fixed OpenAI-compatible providers that don't support prompt caching
and/or reasoning
2025-08-15 16:26:41 +03:00
Oleksiy Syvokon
e9a4f6767b openai: Don't send reasoning_effort if it's not set (#36228)
Release Notes:

- N/A
2025-08-15 16:26:32 +03:00
smit
177cf12ca1 project: Fix LSP TextDocumentSyncCapability dynamic registration (#36234)
Closes #36213

Use `textDocument/didChange`
([docs](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_synchronization))
instead of `textDocument/synchronization`.

Release Notes:

- Fixed an issue where Dart projects were being formatted incorrectly by
the language server.
2025-08-15 14:08:58 +03:00
Joseph T. Lyons
fda9369bfd Emit a BreadcrumbsChanged event when associated settings changed (#36177)
Closes https://github.com/zed-industries/zed/issues/36149

Release Notes:

- Fixed a bug where changing the `toolbar.breadcrumbs` setting didn't
immediately update the UI when saving the `settings.json` file.
2025-08-14 15:31:29 -04:00
Zed Bot
08351cb3e7 Bump to 0.200.1 for @smitbarmase 2025-08-13 20:05:16 +00:00
smit
ab41359e24 ci: Disable FreeBSD builds (#36140)
Revert accidental change introduced in
[#35880](https://github.com/zed-industries/zed/pull/35880/files#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03fL706)

Release Notes:

- N/A
2025-08-14 01:01:17 +05:30
smit
d29341bf44 copilot: Fix Copilot fails to sign in (#36138)
Closes #36093

Pin copilot version to 1.354 for now until further investigation.

Release Notes:

- Fixes issue where Copilot failed to sign in.

Co-authored-by: MrSubidubi <dev@bahn.sh>
2025-08-14 00:24:00 +05:30
Joseph T. Lyons
189ea49e00 v0.200.x preview 2025-08-13 12:47:57 -04:00
Anthony Eid
0b9c9f5f2d
onboarding: Make Welcome page persistent (#36127)
Release Notes:

- N/A
2025-08-13 16:42:09 +00:00
Marshall Bowers
2da80e4641
emmet: Use index.js directly to launch language server (#36126)
This PR updates the Emmet extension to use the `index.js` file directly
to launch the language server.

This provides better cross-platform support, as we're not relying on
platform-specific `.bin` wrappers.

Release Notes:

- N/A
2025-08-13 16:34:18 +00:00
Danilo Leal
d9a94a5496
onboarding: Remove feature flag and old welcome crate (#36110)
Release Notes:

- N/A

---------

Co-authored-by: MrSubidubi <dev@bahn.sh>
Co-authored-by: Anthony <anthony@zed.dev>
2025-08-13 13:18:24 -03:00
Anthony Eid
a7442d8880
onboarding: Add more telemetry (#36121)
1. Welcome Page Open
2. Welcome Nav clicked
3. Skip clicked
4. Font changed
5. Import settings clicked
6. Inlay Hints
7. Git Blame
8. Format on Save
9. Font Ligature
10. Ai Enabled
11. Ai Provider Modal open


Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <git@maxdeviant.com>
2025-08-13 12:02:14 -04:00
Gilmar Sales
6c1f19571a
Enhance icon detection for files with custom suffixes (#34170)
Fixes custom file suffixes (module.ts) of some icon themes like: 

- **Symbols Icon Theme** 
<img width="212" alt="image"
src="https://github.com/user-attachments/assets/419ba1b4-9d8e-46cd-891b-62fb63a8c5ae"
/>

- **Bearded Icon Theme**
<img width="209" alt="image"
src="https://github.com/user-attachments/assets/72974fce-fa72-4368-8d96-7feea7b59b7a"
/>

Release Notes:

- Fixed icon detection for files with custom suffixes like `module.ts`
that are overwritten by the language's icon `.ts`
2025-08-13 11:59:59 -04:00
Ben Brandt
23cd5b59b2
agent2: Initial infra for checkpoints and message editing (#36120)
Release Notes:

- N/A

---------

Co-authored-by: Antonio Scandurra <me@as-cii.com>
2025-08-13 15:46:28 +00:00
Marshall Bowers
f4b0332f78
Hoist rodio to workspace level (#36113)
This PR hoists `rodio` up to a workspace dependency.

Release Notes:

- N/A
2025-08-13 13:50:13 +00:00
Danilo Leal
abde7306e3
onboarding: Adjust page layout (#36112)
Fix max-height and make it scrollable as well, if needed.

Release Notes:

- N/A
2025-08-13 10:35:47 -03:00
Ben Brandt
2b3dbe8815
agent2: Allow tools to be provider specific (#36111)
Our WebSearch tool requires access to a Zed provider

Release Notes:

- N/A
2025-08-13 13:22:05 +00:00
Finn Evers
7f1a5c6ad7
ui: Make toggle button group responsive (#36100)
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
2025-08-13 14:02:20 +02:00
localcc
6307105976
Don't show default shell breadcrumbs (#36070)
Release Notes:

- N/A
2025-08-13 13:58:09 +02:00
Kirill Bulatov
8d63312eca
Small worktree scan style fixes (#36104)
Part of https://github.com/zed-industries/zed/issues/35780

Release Notes:

- N/A
2025-08-13 14:29:53 +03:00
Finn Evers
81474a3de0
Change default pane split directions (#36101)
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.
2025-08-13 13:17:03 +02:00
Ben Brandt
db497ac867
Agent2 Model Selector (#36028)
Release Notes:

- N/A

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
2025-08-13 09:01:02 +00:00
Cretezy
8ff2e3e195
language_models: Add reasoning_effort for custom models (#35929)
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
2025-08-13 06:09:16 +00:00
Anthony Eid
96093aa465
onboarding: Link git clone button with action (#35999)
Release Notes:

- N/A
2025-08-13 01:18:11 -04:00
morgankrey
dc87f4b32e
Add 4.1 to models page (#36086)
Adds opus 4.1 to models page in docs

Release Notes:

- N/A
2025-08-12 21:15:48 -06:00
Cole Miller
1957e1f642
Add locations to native agent tool calls, and wire them up to UI (#36058)
Release Notes:

- N/A

---------

Co-authored-by: Conrad <conrad@zed.dev>
2025-08-13 01:48:28 +00:00
Cole Miller
d78bd8f1d7
Fix external agent still being marked as generating after error response (#35992)
Release Notes:

- N/A
2025-08-12 21:41:00 -04:00
张小白
32975c4208
windows: Fix auto update failure when launching from the cli (#34303)
Release Notes:

- N/A

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
2025-08-12 17:04:30 -07:00
Piotr Osiewicz
658d56bd72
cli: Do not rely on Spotlight for --channel support (#36082)
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
2025-08-12 22:37:11 +00:00
Anthony Eid
13a2c53381
onboarding: Fix onboarding font context menu not scrolling to selected entry open (#36080)
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>
2025-08-12 18:02:10 -04:00
Max Brunsfeld
cd234e28ce
Eliminate host targets from rust toolchain file (#36077)
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
2025-08-12 14:36:48 -07:00
Michael Sloan
b564b1d5d0
outline: Fix nesting in multi-name declarations in Go and C++ (#36076)
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"
/>
2025-08-12 21:08:19 +00:00
Richard Feldman
48ae02c1ca
Don't retry for PaymentRequiredError or ModelRequestLimitReachedError (#36075)
Release Notes:

- Don't auto-retry for "payment required" or "model request limit
reached" errors (since retrying won't help)
2025-08-12 21:06:01 +00:00
Anthony Eid
255bb0a3f8
telemetry: Reduce the amount of telemetry events fired (#36060)
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>
2025-08-12 19:56:27 +00:00
Danilo Leal
628b1058be
agent2: Fix some UI glitches (#36067)
Release Notes:

- N/A
2025-08-12 16:31:54 -03:00
Oleksiy Syvokon
7167f193c0
open_ai: Send prompt_cache_key to improve caching (#36065)
Release Notes:

- N/A

Co-authored-by: Michael Sloan <mgsloan@gmail.com>
2025-08-12 21:51:23 +03:00
Oleksiy Syvokon
7ff0f1525e
open_ai: Log inputs that caused parsing errors (#36063)
Release Notes:

- N/A

Co-authored-by: Michael Sloan <mgsloan@gmail.com>
2025-08-12 21:49:19 +03:00
Filip Binkiewicz
7df8e05ad9
Ignore whitespace in git blame invocation (#35960)
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 ...
2025-08-12 11:47:15 -07:00
Marshall Bowers
d030bb6281
emmet: Bump to v0.0.5 (#36066)
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
2025-08-12 18:41:26 +00:00