Commit log

2f1d928 debugger: Fix adapter names in initial-debug-tasks.json (#31283)

Click to expand commit body
Closes #31134

Release Notes:

- N/A

---------

Co-authored-by: Piotr <piotr@zed.dev>

Cole Miller and Piotr created

68a46c3 evals: Configurable judge model (#31282)

Click to expand commit body
This is needed for apples-to-apples comparison of different agent
models.

Another change is that now `cargo -p eval` accepts model names as
`provider_id/model_id` instead of separate `--provider` and `--model`
params.


Release Notes:

- N/A

Oleksiy Syvokon created

3a1053b Use shortened SHA when displaying version to install (#31281)

Click to expand commit body
This PR uses a shortened SHA when displaying the nightly version to
install in the update status, for nicer tooltip formatting.

Release Notes:

- N/A

Joseph T. Lyons created

14d9a41 debugger beta: Auto download Delve (Go's DAP) & fix grammar errors in docs (#31273)

Click to expand commit body
Release Notes:

- debugger beta: Go's debug adapter will now automatically download if
not found on user's PATH

Co-authored-by: Remco Smits <djsmits12@gmail.com>

Anthony Eid and Remco Smits created

9c01119 debugger beta: Add error handling when gdb doesn't send thread names (#31279)

Click to expand commit body
If gdb doesn't send a thread name we display the thread's process id in
the thread drop down menu instead now.

Co-authored-by: Remco Smits \<djsmits12@gmail.com\>

Release Notes:

- debugger beta: Handle bug where DAPs don't send thread names

Anthony Eid created

9dba8e5 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

03ac3fb editor: Fix issue where newline on `*` as prefix adds comment delimiter (#31271)

Click to expand commit body
Release Notes:

- Fixed issue where pressing Enter on a line starting with * incorrectly
added comment delimiter.

---------

Co-authored-by: Piotr Osiewicz <peterosiewicz@gmail.com>
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>

smit , Piotr Osiewicz , and Piotr Osiewicz created

0201d1e agent: Unfollow agent on completion cancellation (#31258)

Click to expand commit body
Handle unfollowing agent and clearing agent location when completion
is canceled.

Release Notes:

- N/A

Ben Brandt created

f48b6b5 debugger: Change placeholder text for Custom/Run text input (#31264)

Click to expand commit body
Before: 

![image](https://github.com/user-attachments/assets/6cdef5bb-c901-4954-a2ec-39c59f8314db)

After:

![image](https://github.com/user-attachments/assets/c4f60a23-249c-47ab-8a9e-a39e2277dd00)


Release Notes:

- N/A

Piotr Osiewicz created

d8fc23a toml: Bump to v0.1.4 (#31272)

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

Changes:

* https://github.com/zed-industries/zed/pull/31267


Release Notes:

- N/A

Kirill Bulatov created

6206150 Use `read()` over `read_with()` to improve readability in simple cases (#31263)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

e88cad2 Reduce the amount of queries performed when updating plan (#31268)

Click to expand commit body
Release Notes:

- N/A

Antonio Scandurra created

9b7d849 Fix taplo artifact naming (#31267)

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

https://github.com/tamasfe/taplo/pull/598#issuecomment-2292984164
renamed all artifacts almost a year ago, and now had released it
finally.
Have to abide to that YOLO move.

Release Notes:

- N/A

Kirill Bulatov created

c4677c2 debugger: More focus tweaks (#31232)

Click to expand commit body
- Make remembering focus work with `ActivatePaneDown` as well
- Tone down the console's focus-in behavior so clicking doesn't
misbehave

Release Notes:

- N/A

Cole Miller created

26318b5 debugger: Detect debugpy from virtual env (#31211)

Click to expand commit body
Release Notes:

- Debugger Beta: Detect debugpy from virtual env

Remco Smits created

4266f0d terminal: Consume event during processing (#30869)

Click to expand commit body
By consuming the event during processing we save a few clones during
event processing.

Overall in this PR we save one Clone each during:

- Paste to the terminal
- Writing to the terminal
- Setting the title
- On every terminal transaction
- On every ViMotion when not using shift

Release Notes:

- N/A

tidely created

c50093d project: Use VecDeque in SearchHistory (#31224)

Click to expand commit body
`SearchHistory` internally enforced the max length of the search history
by popping elements from the front using `.remove(0)`. For a `Vec` this
is a `O(n)` operation. Use a `VecDeque` to make this `O(1)`

I also made it so the excess element is popped before the new one is
added, which keeps the allocation at the desired size.

Release Notes:

- N/A

tidely created

1cad1cb Add Code Actions to the Toolbar (#31236)

Click to expand commit body
Closes issue #31120.


https://github.com/user-attachments/assets/a4b3c86d-7358-49ac-b8d9-e9af50daf671

Release Notes:

- Added a code actions icon to the toolbar. This icon can be disabled by
setting `toolbar.code_actions` to `false`.

smit created

fbc922a Reduce allocations (#31223)

Click to expand commit body
Release Notes:

- N/A

tidely created

f435304 Use read-only access methods for read-only entity operations (#31254)

Click to expand commit body
This PR replaces some `update()` calls with either `read()` or
`read_with()` when the `update()` call performed read-only operations on
the entity.

Many more likely exist, will follow-up with more PRs.

Release Notes:

- N/A

Joseph T. Lyons created

508ccde Better messaging for accounts that are too young (#31212)

Click to expand commit body
Right now you find this out the first time you try and submit a
completion.

These changes communicate much earlier to the user what the issue is
with their account and what they can do about it.

Release Notes:

- N/A

---------

Co-authored-by: Antonio Scandurra <me@as-cii.com>

Ben Brandt and Antonio Scandurra created

9f7987c Change default diagnostics_max_severity to 'hint' (#31229)

Click to expand commit body
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>

Bo Lopker and Kirill Bulatov created

cb52acb eval: Don't read the model from the user settings (#31230)

Click to expand commit body
This PR fixes an issue where the eval was incorrectly pulling the
provider/model from the user settings, which could cause problems when
running certain evals.

Was introduced in #30168 due to the restructuring after the removal of
the `assistant` crate.

Release Notes:

- N/A

Marshall Bowers created

f8b997b docs: Fix Claude Sonnet 4 model name (#31226)

Click to expand commit body
This PR fixes the model name for Claude Sonnet 4 to match Anthropic's
new ordering.

Release Notes:

- N/A

Marshall Bowers created

73a5856 docs: Add Claude 4 Sonnet to docs (#31225)

Click to expand commit body
Release Notes:

- N/A

---------

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

morgankrey and Marshall Bowers created

e3b6fa2 bedrock: Support Claude 4 models (#31214)

Click to expand commit body
Release Notes:

- AWS Bedrock: Added support for Claude 4.

Shardul Vaidya created

ceb5164 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

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

Click to expand commit body
Release Notes:

- N/A

Umesh Yadav created

5c0b161 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

ad4645c debugger: Fix environment variables not being substituted in debug tasks (#31198)

Click to expand commit body
Release Notes:

- Debugger Beta: Fixed a bug where environment variables were not
substituted in debug tasks in some cases.

Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Remco Smits <djsmits12@gmail.com>

Cole Miller , Anthony Eid , and Remco Smits created

37047a6 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

fc78408 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

37f49ce collab: Add support for overage billing for Claude Sonnet 4 (#31206)

Click to expand commit body
This PR adds support for billing for overages for Claude Sonnet 4.

Release Notes:

- N/A

Marshall Bowers created

cc42833 mistral: Add DevstralSmallLatest model to Mistral and Ollama (#31099)

Click to expand commit body
Mistral just released a sota coding model:
https://mistral.ai/news/devstral

This PR adds support for it in both ollama and mistral

Release Notes:

- Add DevstralSmallLatest model to Mistral and Ollama

Umesh Yadav created

1475ace 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

dd4e8b9 editor: Fix block comment incorrectly continues to next line in some cases (#31204)

Click to expand commit body
Closes #31138

Fix edge case where adding newline if there is text afterwards end
delimiter of multiline comment, would continue the comment prefix. This
is fixed by checking for end delimiter on whole line instead of just
assuming it would always be at end.

- [x] Tests

Release Notes:

- Fixed the issue where in some cases the block comment continues to the
next line even though the comment block is already closed.

smit created

b188e5d Fix update status logic to preserve previous status (#31202)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

e3d3dae Fix bug where deleted toolchains stay selected on startup (#30562)

Click to expand commit body
This affects python's when debugging because the selected toolchain is
used as the python binary to spawn Debugpy

Release Notes:

- Fix bug where selected toolchain didn't exist

Anthony Eid created

ced8e4d debugger beta: Move path resolution to resolve scenario instead of just in new session modal (#31185)

Click to expand commit body
This move was done so debug configs could use path resolution, and
saving a configuration from the new session modal wouldn't resolve paths
beforehand.

I also added an integration test to make sure path resolution happens
from an arbitrary config. The test was placed under the new session
modal directory because it has to do with starting a session, and that's
what the new session modal typically does, even if it's implicitly used
in the test.

In the future, I plan to add more tests to the new session modal too.

Release Notes:

- debugger beta: Allow configs from debug.json to resolve paths

Anthony Eid created

fa1abd8 debugger: Always focus the active session whenever it is stopped (#31182)

Click to expand commit body
Closes #ISSUE

Release Notes:

- debugger: Fixed child debug sessions taking precedence over the
parents when spawned.

Piotr Osiewicz created

ee4e43f linux: Fix wrong keys are reported when using German layout (#31193)

Click to expand commit body
Part of #31174

Because the keyboard layout parameter wasn’t set correctly, characters
don’t show up properly when using the German layout at launch.

To reproduce:
Switch to the German layout, launch Zed, and press the `7` key. it
should output `7`, but instead it outputs `è`.


Release Notes:

- N/A

张小白 created

d61e1e2 docs: Fix debugger docs link from summary page (#31195)

Click to expand commit body
Release Notes:

- N/A

Anthony Eid created

3c03d53 debugger: Use integrated terminal for Python (#31190)

Click to expand commit body
Closes #ISSUE

Release Notes:

- debugger: Use integrated terminal for Python, allowing one to interact
with standard input/output when debugging Python projects.

Piotr Osiewicz created

8ab664a debugger beta: Update debugger docs for beta (#31192)

Click to expand commit body
The docs include basic information on starting a session but will need
to be further iterated upon once we get deeper into the beta

Release Notes:

- N/A

Anthony Eid created

2044426 gpui: Improve displayed keybinds shown in macOS application menus (#28440)

Click to expand commit body
Closes #28164

This PR adresses inproper keybinds being shown in MacOS application
menus. The issue arises because the keybinds shown in MacOS application
menus are unaware of keybind contexts (they are only ever updated [on a
keymap-change](https://github.com/zed-industries/zed/blob/6d1dd109f554579bdf676c14b69deb9e16acc043/crates/zed/src/zed.rs#L1421)).
Thus, using the keybind that was added last in the keymap can result in
incorrect keybindings being shown quite frequently, as they might belong
to a different context not generally available (applies the same for the
default keymap as well as for user-keymaps).

For example, the linked issue arises because the keybind found last in
the iterator is
https://github.com/zed-industries/zed/blob/6d1dd109f554579bdf676c14b69deb9e16acc043/assets/keymaps/vim.json#L759,
which is not even available in most contexts (and, additionally, the `e`
of `escape` is rendered here as a keybind which seems to be a seperate
issue).

Additionally, this would result in inconsistent behavior with some
Vim-keybinds. A vim-keybind would be used only when available but
otherwise the default binding would be shown (see `Undo` and `Redo` as
an example below), which seems inconsistent.

This PR fixes this by instead using the first keybind found in keymaps,
which is expected to be the keybind available in most contexts.
Additionally, this allows rendering some more keybinds for actions which
vim-keybind cannot be displayed (Find In Project for example) .This
seems to be more reasonable until [this related
comment](https://github.com/zed-industries/zed/blob/6d1dd109f554579bdf676c14b69deb9e16acc043/crates/gpui/src/keymap.rs#L199-L204)
is resolved.

This includes a revert of #25878 as well. With this change, the change
made in #25878 becomes obsolete and would also regress the behavior back
to the state prior to that PR.

|  | `main` | This PR |
| --- | --- | --- |
| Edit-menu | <img width="220" alt="main_edit"
src="https://github.com/user-attachments/assets/9f793b64-80b6-4a5b-b7e5-628f0d552166"
/> | <img width="220" alt="PR_edit"
src="https://github.com/user-attachments/assets/bccb444c-7a49-41d5-9377-d90b1639a3ed"
/> |
| View-menu | <img width="214" alt="main_view"
src="https://github.com/user-attachments/assets/0e6a6632-df02-4883-9f5a-facb4d0263b5"
/> | <img width="214" alt="PR_view"
src="https://github.com/user-attachments/assets/14600ece-fcaa-447a-94ef-4fa350eca49c"
/> |


Release Notes:

- Improved keybinds displayed for actions in MacOS application menus.

Finn Evers created

02fa6f6 Surface version to install in update status tooltip (#31179)

Click to expand commit body
Release Notes:

- Surfaced the version that will be installed, in a tooltip, when
hovering on the `Click to restart and update Zed` status.

Joseph T. Lyons created

80a00cd debugger beta: Fix panic that could occur when parsing an invalid dap schema (#31175)

Click to expand commit body
Release Notes:

- N/A

Anthony Eid created

06f725d debugger beta: Fix dap_schema for DAP extensions (#31173)

Click to expand commit body
We now actually call dap_schema provided by extensions instead of
defaulting to a null `serde_json::Value`. We still need to update the
Json LSP whenever a new dap is installed.

Release Notes:

- N/A

Anthony Eid created

baf6d82 Handle `~` in debugger launch modal (#31087)

Click to expand commit body
@Anthony-Eid I'm pretty sure this maintains the behavior of #30680, and
I added some tests to be sure.

Release Notes:

- `~` now expands to the home directory in the debugger launch modal.

---------

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>

Julia Ryan and Piotr Osiewicz created

28ec7fb debugger: Add telemetry for new session experience (#31171)

Click to expand commit body
This includes the following data:
- Where we spawned the session from (gutter, scenario list, custom form
filled by the user)
- Which debug adapter was used
- Which dock the debugger is in

Closes #ISSUE

Release Notes:

- debugger: Added telemetry for new session experience that includes
data about:
    - How a session was spawned (gutter, scenario list or custom form)
    - Which debug adapter was used
    - Which dock the debugger is in

---------

Co-authored-by: Joseph T. Lyons <JosephTLyons@gmail.com>

Piotr Osiewicz and Joseph T. Lyons created