Commit log

377a9b6 zed 0.187.9

Joseph T. Lyons created

f5cb42f Allow LSP adapters to decide, which diagnostics to underline (cherry-pick #31450) (#31451)

Click to expand commit body
Cherry-picked Allow LSP adapters to decide, which diagnostics to
underline (#31450)

Closes
https://github.com/zed-industries/zed/pull/31355#issuecomment-2910439798

<img width="1728" alt="image"

src="https://github.com/user-attachments/assets/2eaa8e9b-00bc-4e99-ac09-fceb2d932e41"
/>


Release Notes:

- N/A

Co-authored-by: Kirill Bulatov <kirill@zed.dev>

gcp-cherry-pick-bot[bot] and Kirill Bulatov created

e4b4d12 Remove the ability to book onboarding (cherry-pick #31404) (#31425)

Click to expand commit body
Cherry-picked Remove the ability to book onboarding (#31404)

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

Onboarding has been valuable, but we're moving into a new phase as our
user base grows, and our ability to chat with everyone who books a call
will not scale linearly. For now, we are removing the option to book a
call from the application.

Release Notes:

- N/A

---------

Co-authored-by: Joseph T. Lyons <JosephTLyons@gmail.com>
Co-authored-by: Kirill Bulatov <kirill@zed.dev>

gcp-cherry-pick-bot[bot] , Joseph T. Lyons , and Kirill Bulatov created

b421cbd client: Try to re-introduce HTTP/HTTPS proxy (#31002)

Click to expand commit body
When building for the `x86_64-unknown-linux-musl` target, the default
`openssl-dev` is compiled for the GNU toolchain, which causes a build
error due to missing OpenSSL. This PR fixes the issue by avoiding the
use of OpenSSL on non-macOS and non-Windows platforms.

Release Notes:

- N/A

张小白 created

14619b5 Do not underline unnecessary diagnostics (#31355)

Click to expand commit body
Closes
https://github.com/zed-industries/zed/pull/31229#issuecomment-2906946881

Follow
https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#diagnosticTag

> Clients are allowed to render diagnostics with this tag faded out
instead of having an error squiggle.

and do not underline any unnecessary diagnostic at all.

Release Notes:

- Fixed clangd's inactive regions diagnostics excessive highlights

Kirill Bulatov created

18d383f zed 0.187.8

Joseph T. Lyons created

2a36b0d Ensure client reconnects after erroring during the handshake (#31278)

Click to expand commit body
Release Notes:

- Fixed a bug that prevented Zed from reconnecting after erroring during
the initial handshake with the server.

Antonio Scandurra created

69f5d52 zed 0.187.7

Joseph T. Lyons created

9743d2a Change default diagnostics_max_severity to 'hint' (cherry-pick #31229) (#31244)

Click to expand commit body
Cherry-picked Change default diagnostics_max_severity to 'hint' (#31229)

Closes https://github.com/blopker/codebook/issues/79

Recently, the setting `diagnostics_max_severity` was changed from `null`
to `warning`in this PR: https://github.com/zed-industries/zed/pull/30316
This change has caused the various spell checking extensions to not work
as expected by default, most of which use the `hint` diagnostic. This
goes against user expectations when installing one of these extensions.

Without `hint` as the default, extension authors will either need to
change the diagnostic levels, or instruct users to add
`diagnostics_max_severity` to their settings as an additional step,
neither of which is a great user experience.

This PR sets the default `hint`, which is closer to the original
behavior before the aforementioned PR.

Release Notes:

- Changed `diagnostics_max_severity` to `hint` instead of `warning` by
default

---------

Co-authored-by: Kirill Bulatov <kirill@zed.dev>

Co-authored-by: Bo Lopker <blopker@users.noreply.github.com>
Co-authored-by: Kirill Bulatov <kirill@zed.dev>

gcp-cherry-pick-bot[bot] , Bo Lopker , and Kirill Bulatov created

db270f5 bedrock: Support Claude 4 models (#31214)

Click to expand commit body
Release Notes:

- AWS Bedrock: Added support for Claude 4.

Shardul Vaidya created

eb41207 agent: Improve Gemini support in the edit_file tool (#31116)

Click to expand commit body
This change improves `eval_extract_handle_command_output` results for
all models:

Model                       | Pass rate before | Pass rate after
----------------------------|------------------|----------------
claude-3.7-sonnet           |  0.96            | 0.98
gemini-2.5-pro              |  0.35            | 0.86
gpt-4.1                     |  0.81            | 1.00

Part of this improvement comes from more robust evaluation, which now
accepts multiple possible outcomes. Another part is from the prompt
adaptation: addressing common Gemini failure modes, adding a few-shot
example, and, in the final commit, auto-rewriting instructions for
clarity and conciseness.

This change still needs validation from larger end-to-end evals.

Release Notes:

- N/A

Oleksiy Syvokon created

a4cc094 evals: Add system prompt to edit agent evals + fix edit agent (#31082)

Click to expand commit body
1. Add system prompt: this is how it's called from threads. Previously,
we were sending
2. Fix an issue with writing agent thought into a newly created empty
file.

Release Notes:

- N/A

---------

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

Oleksiy Syvokon , Ben Brandt , and Antonio Scandurra created

9b3808b evals: Eval for creating an empty file (#31034)

Click to expand commit body
This eval checks that Edit Agent can create an empty file without
writing its thoughts into it. This issue is not specific to empty files,
but it's easier to reproduce with them.

For some mysterious reason, I could easily reproduce this issue roughly
90% of the time in actual Zed. However, once I extract the exact LLM
request before the failure point and generate from that, the
reproduction rate drops to 2%!

Things I've tried to make sure it's not a fluke: disabling prompt
caching, capturing the LLM request via a proxy server, running the
prompt on Claude separately from evals. Every time it was mostly giving
good outcomes, which doesn't match my actual experience in Zed.

At some point I discovered that simply adding one insignificant space or
a newline to the prompt suddenly results in an outcome I tried to
reproduce almost perfectly.

This weirdness happens even outside the Zed code base and even when
using a different subscription. The result is the same: an extra newline
or space changes the model behavior significantly enough, so that the
pass rate drops from 99% to 0-3%

I have no explanation to this.


Release Notes:

- N/A

Oleksiy Syvokon created

c64c6df agent: Remove last turn after a refusal (#31220)

Click to expand commit body
This is a follow-up to https://github.com/zed-industries/zed/pull/31217
that removes the last turn after we get a `refusal` stop reason, as
advised by the Anthropic docs.

Meant to include it in that PR, but accidentally merged it before
pushing these changes 🤦🏻‍♂️.

Release Notes:

- N/A

Marshall Bowers created

60e570e Handle new `refusal` stop reason from Claude 4 models (#31217)

Click to expand commit body
This PR adds support for handling the new [`refusal` stop
reason](https://docs.anthropic.com/en/docs/test-and-evaluate/strengthen-guardrails/handle-streaming-refusals)
from Claude 4 models.

<img width="409" alt="Screenshot 2025-05-22 at 4 31 56 PM"
src="https://github.com/user-attachments/assets/707b04f5-5a52-4a19-95d9-cbd2be2dd86f"
/>

Release Notes:

- Added handling for `"stop_reason": "refusal"` from Claude 4 models.

Marshall Bowers created

abb7309 anthropic: Fix Claude 4 model display names to match official order (#31218)

Click to expand commit body
Release Notes:

- N/A

Umesh Yadav created

a4056fd language_models: Update default/recommended Anthropic models to Claude Sonnet 4 (#31209)

Click to expand commit body
This PR updates the default/recommended models for the Anthropic and Zed
providers to be Claude Sonnet 4.

Release Notes:

- Updated default/recommended Anthropic models to Claude Sonnet 4.

Marshall Bowers created

aa87bd4 language_model: Allow Max Mode for Claude 4 models (#31207)

Click to expand commit body
This PR adds the Claude 4 models to the list of models that support Max
Mode.

Release Notes:

- Added Max Mode support for Claude 4 models.

Marshall Bowers created

66bd1f0 zed 0.187.6

Joseph T. Lyons created

b4c6508 anthropic: Add support for Claude 4 (#31203)

Click to expand commit body
This PR adds support for [Claude
4](https://www.anthropic.com/news/claude-4).

Release Notes:

- Added support for Claude Opus 4 and Claude Sonnet 4.

---------

Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Richard Feldman <oss@rtfeldman.com>

Marshall Bowers , Antonio Scandurra , and Richard Feldman created

f6f1896 zed 0.187.5

Joseph T. Lyons created

7aefcf0 Meter edit predictions by acceptance in free plan (#30984)

Click to expand commit body
TODO:

- [x] Release  a new version of `zed_llm_client`

Release Notes:

- N/A

---------

Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Max Brunsfeld , Mikayla Maki , Antonio Scandurra , Ben Brandt , and Marshall Bowers created

3c4cb93 copilot: Fix rate limit due to Copilot-Vision-Request header (#30989)

Click to expand commit body
Issues: #30994

I've implemented an important optimisation in response to GitHub
Copilot's recent rate limit on concurrent Vision API calls. Previously,
our system was defaulting to vision header: true for all API calls. To
prevent unnecessary calls and adhere to the new limits, I've updated our
logic: the vision header is now only sent if the current message is a
vision message, specifically when the preceding message includes an
image.

Prompt used to reproduce and verify the fix: `Give me a context for my
agent crate about. Browse my repo.`

Release Notes:

- copilot: Set Copilot-Vision-Request header based on message content

Umesh Yadav created

ff435e1 v0.187.x stable

Joseph T. Lyons created

339c1d0 Fix project search panic (#31089)

Click to expand commit body
The panic occurred when querying a second search in the project search
multibuffer while there were dirty buffers.

The panic only happened in Nightly so there's no release notes 

Release Notes:

- N/A

Anthony Eid created

2529cc7 Don't pass `-z` flag to git-cat-file (cherry-pick #31053) (#31093)

Click to expand commit body
Cherry-picked Don't pass `-z` flag to git-cat-file (#31053)

Closes #30972 

Release Notes:

- Fixed a bug that prevented the `copy permalink to line` action from
working on systems with older versions of git.

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

gcp-cherry-pick-bot[bot] and Cole Miller created

2c4b30f sublime: Don't map editor::FindNextMatch by default (#31029)

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

Broken in: https://github.com/zed-industries/zed/pull/28559/files

Removes `editor::FindNextMatch` and `editor::FindPreviousMatch` from the
default sublime mappings. If you would like to use this, you will have
to add them to your user keymap. Reverts the previous behavior where
cmd-g / cmd-shift-g relies on the base keymap.

Linux:
```json
  {
    "context": "Editor && mode == full",
    "bindings": {
      "f3": "editor::FindNextMatch",
      "shift-f3": "editor::FindPreviousMatch"
    }
  }
```

MacOS:
```json
  {
    "context": "Editor && mode == full",
    "bindings": {
      "cmd-g": "editor::FindNextMatch",
      "cmd-shift-g": "editor::FindPreviousMatch"
    }
  },
```


Release Notes:

- Fixed a regression in Sublime Text keymap for find next/previous in
the search bar

Peter Tripp created

80651c4 Remove `alt-.` keybinding from terminal on macOS (#30827)

Click to expand commit body
Closes: #30730
It conflicts with the `>` key on the Czech keyboard layout  
If you want the previous behavior, add `"alt-.": ["terminal::SendText",
"\u001b."]` to your keymap under the `Terminal` context.

Release Notes: 

- Improved the default terminal keybind to not conflict on Czech
keyboards

Co-authored-by: Peter Tripp <peter@zed.dev>

Erik Funder Carstensen and Peter Tripp created

a6e579d Fix `ctrl-delete` in terminal (#30720)

Click to expand commit body
Closes #30719

Release Notes:

- Fixed `ctrl-delete` in terminal, now it deletes a word forward

Aleksei Gusev created

a011279 Revert "linux(x11): Add support for pasting images from clipboard (#29387)" (cherry-pick #31033) (#31041)

Click to expand commit body
Cherry-picked Revert "linux(x11): Add support for pasting images from
clipboard (#29387)" (#31033)

Closes: #30523

Release Notes:

- linux: Reverted the ability to paste images on X11, as the change
broke pasting from some external applications

Co-authored-by: Ben Kunkle <ben@zed.dev>

gcp-cherry-pick-bot[bot] and Ben Kunkle created

9b75288 Project Search: Don't prompt to save edited buffers in project search results if buffers open elsewhere (cherry-pick #31026) (#31028)

Click to expand commit body
Cherry-picked Project Search: Don't prompt to save edited buffers in
project search results if buffers open elsewhere (#31026)

Closes #ISSUE

Release Notes:

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

Co-authored-by: Ben Kunkle <ben@zed.dev>

gcp-cherry-pick-bot[bot] and Ben Kunkle created

b2edefd extension/dap: Add resolve_tcp_template function (#31010)

Click to expand commit body
Extensions cannot look up available port themselves, hence the new API.
With this I'm able to port our Ruby implementation into an extension.

Release Notes:

- N/A

Piotr Osiewicz created

f810584 zed_extension_api: Format `dap.wit` (#30701)

Click to expand commit body
This PR formats the `dap.wit` file.

Release Notes:

- N/A

Marshall Bowers created

ac2afad extension: Add debug_adapters to extension manifest (#30676)

Click to expand commit body
Also pass worktree to the get_dap_binary.

Release Notes:

- N/A

Piotr Osiewicz created

a69b020 debugger: Surface validity of breakpoints (#30380)

Click to expand commit body
We now show on the breakpoint itself whether it can ever be hit.

![image](https://github.com/user-attachments/assets/148d7712-53c9-4a0a-9fc0-4ff80dec5fb1)

Release Notes:

- N/A

---------

Signed-off-by: Umesh Yadav <git@umesh.dev>
Co-authored-by: Anthony <anthony@zed.dev>
Co-authored-by: Cole Miller <cole@zed.dev>
Co-authored-by: Michael Sloan <michael@zed.dev>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Co-authored-by: Ben Kunkle <ben@zed.dev>
Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>
Co-authored-by: Agus Zubiaga <hi@aguz.me>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Co-authored-by: Agus Zubiaga <agus@zed.dev>
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Richard Feldman <oss@rtfeldman.com>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Co-authored-by: peppidesu <bakker.pepijn@gmail.com>
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Co-authored-by: Ben Kunkle <ben.kunkle@gmail.com>
Co-authored-by: Jens Krause <47693+sectore@users.noreply.github.com>
Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
Co-authored-by: Max Nordlund <max.nordlund@gmail.com>
Co-authored-by: Finn Evers <dev@bahn.sh>
Co-authored-by: tidely <43219534+tidely@users.noreply.github.com>
Co-authored-by: Sergei Kartsev <kartsevsb@gmail.com>
Co-authored-by: Shardul Vaidya <31039336+5herlocked@users.noreply.github.com>
Co-authored-by: Chris Kelly <amateurhuman@gmail.com>
Co-authored-by: Peter Tripp <peter@zed.dev>
Co-authored-by: Umesh Yadav <23421535+imumesh18@users.noreply.github.com>
Co-authored-by: Julia Ryan <juliaryan3.14@gmail.com>
Co-authored-by: Cole Miller <m@cole-miller.net>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Co-authored-by: william341 <wwokwilliam@gmail.com>
Co-authored-by: Liam <33645555+lj3954@users.noreply.github.com>
Co-authored-by: AidanV <aidanvanduyne@gmail.com>
Co-authored-by: imumesh18 <umesh4257@gmail.com>
Co-authored-by: d1y <chenhonzhou@gmail.com>
Co-authored-by: AidanV <84053180+AidanV@users.noreply.github.com>
Co-authored-by: Anthony Eid <56899983+Anthony-Eid@users.noreply.github.com>
Co-authored-by: 张小白 <364772080@qq.com>
Co-authored-by: THELOSTSOUL <1095533751@qq.com>
Co-authored-by: Ron Harel <55725807+ronharel02@users.noreply.github.com>
Co-authored-by: Tristan Hume <tristan@anthropic.com>
Co-authored-by: Stanislav Alekseev <43210583+WeetHet@users.noreply.github.com>
Co-authored-by: Joseph T. Lyons <JosephTLyons@gmail.com>
Co-authored-by: Remco Smits <djsmits12@gmail.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Oleksiy Syvokon <oleksiy@zed.dev>
Co-authored-by: Thomas David Baker <bakert@gmail.com>
Co-authored-by: Nate Butler <iamnbutler@gmail.com>
Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Co-authored-by: Rob McBroom <github@skurfer.com>
Co-authored-by: CharlesChen0823 <yongchen0823@gmail.com>

Piotr Osiewicz , Anthony , Cole Miller , Michael Sloan , Marshall Bowers , Ben Kunkle , Danilo Leal , Agus Zubiaga , Ben Brandt , Agus Zubiaga , Danilo Leal , Richard Feldman , Max Brunsfeld , Smit Barmase , peppidesu , Kirill Bulatov , Ben Kunkle , Jens Krause , Bennet Bo Fenner , Max Nordlund , Finn Evers , tidely , Sergei Kartsev , Shardul Vaidya , Chris Kelly , Peter Tripp , Umesh Yadav , Julia Ryan , Cole Miller , Conrad Irwin , william341 , Liam , AidanV , imumesh18 , d1y , AidanV , Anthony Eid , 张小白 , THELOSTSOUL , Ron Harel , Tristan Hume , Stanislav Alekseev , Joseph T. Lyons , Remco Smits , Anthony Eid , Oleksiy Syvokon , Thomas David Baker , Nate Butler , Mikayla Maki , Rob McBroom , and CharlesChen0823 created

5570248 debugger: Remember focused item (#30722)

Click to expand commit body
Release Notes:

- Debugger Beta: the `debug panel: toggle focus` action now preserves
the debug panel's focused item.

Cole Miller created

1c99928 Add minimap vscode settings import (cherry-pick #30997) (#30999)

Click to expand commit body
Cherry-picked Add minimap vscode settings import (#30997)

Looks like we missed these when adding the minimap.

Release Notes:

- N/A

Co-authored-by: Kirill Bulatov <mail4score@gmail.com>

Co-authored-by: Julia Ryan <juliaryan3.14@gmail.com>
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>

gcp-cherry-pick-bot[bot] , Julia Ryan , and Kirill Bulatov created

31e3cd3 title_bar: Fix config merging to respect priority (#30980)

Click to expand commit body
This is a follow-up to #30450 so that _global_ `title_bar` configs
shadow _defaults_. The way `SettingsSources::json_merge` works is by
considering non-json-nulls as values to propagate. So it's important
that configs be `Option<T>` so any intent in overriding values is
captured.

This PR follows the same `*Settings<FileContent = *SettingsContent>`
pattern used throughout to keep the `Option`s in the "settings content"
type with the finalized values in the "settings" type.

Release Notes:

- N/A

Andres Suarez created

96c3fb7 zed 0.187.4

Mikayla Maki created

af4d39e Add end of service notifications (#30982)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Mikayla Maki , Max Brunsfeld , and Marshall Bowers created

b2f32c5 agent: Fix OpenAI models not getting first message (#30941)

Click to expand commit body
Closes #30733

Release Notes:

- N/A

Oleksiy Syvokon created

186660e agent: Fix path checks in edit_file (#30909)

Click to expand commit body
- Fixed bug where creating a file failed when the root path wasn't
provided

- Many new checks for the edit_file path

Closes #30706

Release Notes:

- N/A

Oleksiy Syvokon created

6b0d58d agent: Fix unnecessary "tool result too long" (#30798)

Click to expand commit body
Release Notes:

- N/A

Oleksiy Syvokon created

853b706 project_settings: Fix default settings values for `DiagnosticsSettings` (cherry-pick #30686) (#30879)

gcp-cherry-pick-bot[bot] created

75b8203 Fix project search unsaved edits (cherry-pick #30864) (#30865)

Click to expand commit body
Cherry-picked Fix project search unsaved edits (#30864)

Closes #30820

Release Notes:

- Fixed an issue where entering a new search in the project search would
drop unsaved edits in the project search buffer

---------

Co-authored-by: Mark Janssen <20283+praseodym@users.noreply.github.com>

Co-authored-by: Ben Kunkle <ben@zed.dev>
Co-authored-by: Mark Janssen <20283+praseodym@users.noreply.github.com>

gcp-cherry-pick-bot[bot] , Ben Kunkle , and Mark Janssen created

1d0b4df zed 0.187.3

Joseph T. Lyons created

2c86118 debugger: Prevent pane context menu from showing on secondary mouse click in list entries (#30781)

Click to expand commit body
This PR prevents the debug panel pane context menu from showing when you
click your secondary mouse button in **stackframe**, **breakpoint** and
**module** list entries.

Release Notes:

- N/A

Remco Smits created

7c0c5bd debugger: Fix inline values panic when selecting stack frames (#30821)

Click to expand commit body
Release Notes:

- debugger beta: Fix panic that could occur when selecting a stack frame
- debugger beta: Fix inline values not showing in stack trace view

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Co-authored-by: Remco Smits <djsmits12@gmail.com>

Anthony Eid , Bennet Bo Fenner , and Remco Smits created

8f9b217 zed 0.187.2

Joseph T. Lyons created

de30643 debugger: Make the stack frame list and module list keyboard-navigable (#30682)

Click to expand commit body
- Switch stack frame list and module list to `UniformList` to access
scrolling behavior
- Implement `menu::` navigation actions

Release Notes:

- Debugger Beta: Added support for menu navigation actions (`ctrl-n`,
`ctrl-p`, etc.) in the stack frame list and module list.

Cole Miller created