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