733cd6b
agent: Remove non-rust examples from evals (#29139)
Click to expand commit body
Release Notes: - N/A
Thomas Mickley-Doyle created
733cd6b
agent: Remove non-rust examples from evals (#29139)
Release Notes: - N/A
Thomas Mickley-Doyle created
e8fe0eb
debugger: Fix restarting terminated child sessions (#29173)
This fixes a bug where terminated child session failed to restart because they were using the wrong configuration/binary to start a new session Release Notes: - N/A
Anthony Eid created
0f3ac38
Agent eval: Copy `.rules` file into eval worktree for examples based on Zed (#29116)
Also reverts #29108, which cherry-picked the rules file for an eval example. Release Notes: - N/A
Michael Sloan created
32e9757
Fix ctrl-c in vim normal mode (#29167)
This was broken when we added helix keybindings because we populate the menu's shortcut based on the "last" seen binding for an action ignoring context. Release Notes: - Fix `ctrl-c` in vim normal mode
Conrad Irwin created
be76942
agent: Migrate tool names in settings (#29168)
Release Notes: - agent: Add migration to rename `find_replace_file` tool to `edit_file`, and `regex_search` to `grep`.
Agus Zubiaga created
942d4eb
agent: Add additional fields to `Agent Tool Finished` telemetry event (#29163)
This PR adds additional fields to the `Agent Tool Finished` telemetry event: - `model` - `model_provider` - `thread_id` - `prompt_id` Release Notes: - N/A
Marshall Bowers created
9d35f03
debugger: More tidy up for SSH (#28993)
Split `locator` out of DebugTaskDefinition to make it clearer when location needs to happen. Release Notes: - N/A --------- Co-authored-by: Anthony Eid <hello@anthonyeid.me> Co-authored-by: Anthony <anthony@zed.dev> Co-authored-by: Cole Miller <m@cole-miller.net>
Conrad Irwin , Anthony Eid , Anthony , and Cole Miller created
d13cd00
zlog: Module-level configuration and other improvements (#29161)
Various improvements to `zlog` including: - Enable filtering by module (reproducing `env_logger` behavior) both through env and settings. - Note: filtering by module currently does not account for parent module configuration, but does account for crate configuration. i.e. `crate=trace` will enable `TRACE` messages in `crate::a` and `crate::a::b` modules, but `crate::a=trace` will not enable trace messages in module `crate::a::b` - Implementing the `Log` trait for `zlog::Logger` to support gradual transition and evaluate tradeoffs of always going through `log` crate. - Added the ability to turn off logging for a specific filter (module or scope) completely by setting it to `off` (in env: `crate::a=off`, in settings: `"project.foo": "off"`) - Made it so the `zlog::scoped!` macro can be used in constant expressions, so scoped loggers can be declared as global constants Release Notes: - N/A
Ben Kunkle created
f8ac6ee
terminal: Add right-click in terminal to create a new selection if none is present (#29131)
This PR adds functionality to right click in terminal create new selection if none present. The selection is identical with double click a text in terminal, plus the logic is moved from the double-click in the terminal::mouse_down. Closes #28237 Release Notes: - Adds functionality to right click in terminal create new selection if none present
Ho Chun Lau created
6d2bdc3
editor: Hide mouse context menu when modal is opened (#29127)
Closes #28787 The context menu appears before the modal because it is a Deferred element, which is always displayed above normal elements. Release Notes: Previously, the editor context menu appeared before the Command Palette. This commit ensures the editor context menu is hidden when a modal, including the Command Palette, is opened.
redforks created
9a3434e
component preview: Focus search input immediately upon opening (#29155)
Just a quick quality of life improvement to make keyboard navigation in this view a bit better. When you open the Component Preview view now, the "filter" search input will be focused right off the bat. Release Notes: - N/A
Danilo Leal created
333de5d
agent: Update Switch color in the settings view (#29154)
Just using the color method for the Switch component added in https://github.com/zed-industries/zed/pull/29074. Release Notes: - N/A
Danilo Leal created
97ab098
Start tracking tool failure rates in eval (#29122)
This pull request will print all the used tools and their failure rates. The objective goal should be to minimize that failure rate. @tmickleydoyle: this also changes the telemetry event to report `tool_metrics` as opposed to `tool_use_counts`. Ideally I'd love to be able to plot failure rates by tool and hopefully see that percentage go down. Can we do that with the data we're tracking with this pull request? Release Notes: - N/A
Antonio Scandurra created
3a27e8c
edit tool: Handle over-indentation in `replace_with_flexible_indent` (#29153)
Release Notes: - agent: Correct over-indentation in search/replace strings from model
Agus Zubiaga created
bfb2ed3
ui: Add `.color` method to the Switch (#29074)
This allows to pass, for example, `.color(SwitchColor::Accent)` to the Switch component and have it render differently. <img src="https://github.com/user-attachments/assets/c60bac8a-c5ae-4693-912a-c754e5081f45" width="550"/> Release Notes: - N/A
Danilo Leal created
9db0c4f
editor: Hide signature popover on editor scroll (#29149)
Closes #27845 This is also how VSCode tackles this issue. I think this should be applicable to even more popovers across the editor and context menu, but it can be addressed later. Release Notes: - Fixed the signature popover not hiding on editor scroll.
Smit Barmase created
a4f5c4f
windows: Fix `window_min_size` (#29118)
Closes #29117 This makes `window_min_size` work by using the `WM_GETMINMAXINFO` window message. Release Notes: - N/A --------- Co-authored-by: 张小白 <364772080@qq.com>
angelrecovery and 张小白 created
4dcfe0c
Omit duplicate LSP data when generating completion item labels (#29137)
Before: <img width="875" alt="before" src="https://github.com/user-attachments/assets/eec34f4e-3665-47e1-a224-16f1b98d5b29" /> After: <img width="769" alt="after" src="https://github.com/user-attachments/assets/4ce6a24b-6fd0-4043-b67c-c92105c1501a" /> Release Notes: - N/A
Kirill Bulatov created
4473b45
inline assistant: Fix model picker (#29136)
Release Notes: - inline assistant: Fixed a bug where the default model would be used even when a specific inline assistant model was configured
Agus Zubiaga created
ceeae79
eval: Improve lang server idle detection (#29135)
Brings back #29013 after it was accidentally reverted by https://github.com/zed-industries/zed/pull/28961/commits/e9bb15b9063615762c866c30aaf646acb12af1f3. Release Notes: - N/A
Agus Zubiaga created
107d8ca
Rename regex search tool to grep and accept an include glob pattern (#29100)
This PR renames the `regex_search` tool to `grep` because I think it conveys more meaning to the model, the idea of searching the filesystem with a regular expression. It's also one word and the model seems to be using it effectively after some additional prompt tuning. It also takes an include pattern to filter on the specific files we try to search. I'd like to encourage the model to scope its searches more aggressively, as in my testing, I'm only seeing it filter on file extension. Release Notes: - N/A
Nathan Sobo created
4278d89
Update `find_and_replace_diff_card` eval example to include `.rules` file (#29108)
Release Notes: - N/A
Michael Sloan created
a91948a
agent: Reorder some linux keybindings to match mac keybindings (#29107)
Release Notes: - Made keybindings for agent panel closer to the precedence order used on Mac. This fixes use of `enter` to add context from the menu triggered by `@` referencing.
Michael Sloan created
2178b36
Add eval worktrees and repos to file_scan_exclusions in zed project settings (#29106)
Release Notes: - N/A
Michael Sloan created
0fb0059
Switch from `open-codestral-mamba` to `codestral-latest` for default mistral model (#29104)
Couldn't find mistral cloud pricing for open-codestral-mamba on the mistral site, but codestral-latest is newer and appears to be cheaper based on https://sdk.vercel.ai/playground/mistral:codestral-mamba-latest,mistral:codestral-2501 Release Notes: - N/A
Michael Sloan created
fbf7caf
Default to fast model for thread summaries and titles + don't include system prompt / context / thinking segments (#29102)
* Adds a fast / cheaper model to providers and defaults thread summarization to this model. Initial motivation for this was that https://github.com/zed-industries/zed/pull/29099 would cause these requests to fail when used with a thinking model. It doesn't seem correct to use a thinking model for summarization. * Skips system prompt, context, and thinking segments. * If tool use is happening, allows 2 tool uses + one more agent response before summarizing. Downside of this is that there was potential for some prefix cache reuse before, especially for title summarization (thread summarization omitted tool results and so would not share a prefix for those). This seems fine as these requests should typically be fairly small. Even for full thread summarization, skipping all tool use / context should greatly reduce the token use. Release Notes: - N/A
Michael Sloan created
d48152d
Don't send dummy user text with tool results (#29099)
Previously, we were including the dummy text "Here are the tool results." whenever reporting tool call results. I'm worried this is adding noise and confusing the model, because the user didn't actually say anything. This inserts an empty message to be populated later. My preference would be something less stateful, where tool results (or batches of them requested simultaneously) would be sent to the model as soon as they were ready, without bothering to do this message association dance. But for now, this seems to work. Release Notes: - N/A
Nathan Sobo created
bafc086
agent: Preserve thinking blocks between requests (#29055)
Looks like the required backend component of this was deployed. https://github.com/zed-industries/monorepo/actions/runs/14541199197 Release Notes: - N/A --------- Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Agus Zubiaga <hi@aguz.me> Co-authored-by: Richard Feldman <oss@rtfeldman.com> Co-authored-by: Nathan Sobo <nathan@zed.dev>
Bennet Bo Fenner , Antonio Scandurra , Agus Zubiaga , Richard Feldman , and Nathan Sobo created
f737c4d
editor: Improve selection highlights speed (#29097)
Before, we used to debounce selection highlight because it needed to search the whole file to show gutter line highlights, etc. This experience felt extremely laggy. This PR introduces a new approach where: 1. We query only visible rows without debounce. The search function itself is async and runs in a background thread, so it's not blocking anything. With no debounce and such a small search space, highlights feel realtime. 2. In parallel, we also query the whole file (still debounced, like before). Once this query resolves, it updates highlights across the file, making scrollbar markers visible. This hybrid way gives the feeling of realtime, while keeping the same functionality. https://github.com/user-attachments/assets/432b65f1-89d2-4658-ad5e-048921b06a23 P.S. I have removed the user setting for custom debounce delay, because (one) now it doesn't really make sense to configure that, and (two) the whole logic is based on the assumption that the fast query will resolve before the debounced query. A static debounce time makes sure of that. Configuring it might lead to cases where the fast query resolves after the debounced query, and we end up only seeing visible viewport highlights. Release Notes: - Improved selection highlight speed.
Smit Barmase created
8f308d8
Add `zed` to Flatpak config and data directories (#28952)
Closes #28944 Release Notes: - linux: Fixed incorrect config directory being used when Zed is installed via Flatpak Signed-off-by: Marko Kungla <marko.kungla@gmail.com>
Marko Kungla created
703a68e
docs: Add more examples of existing MCP extensions (#29090)
Also linking to the zed.dev site, which now includes a filter for MCP (i.e., "Context Servers") servers in the Extensions page. Release Notes: - N/A
Danilo Leal created
cc2fcb2
agent: Add item to add custom MCP server in the panel's menu (#29091)
This is based on user feedback that the Agent Panel menu was only linking to extensions as a way to add MCP servers while we also support adding "custom" servers, too, which don't go through the extensions flow. Release Notes: - N/A
Danilo Leal created
f0ef311
gpui: Introduce `PlatformKeyboardLayout` trait for human-friendly keyboard layout names (#29049)
This PR adds a new `PlatformKeyboardLayout` trait with two methods: `id(&self) -> &str` and `name(&self) -> &str`. The `id()` method returns a unique identifier for the keyboard layout, while `name()` provides a human-readable name. This distinction is especially important on Windows, where the `id` and `name` can be quite different. For example, the French layout has an `id` of `0000040C`, which is not human-readable, whereas the `name` would simply be `French`. Currently, the existing `keyboard_layout()` method returns what's essentially the same as `id()` in this new design. This PR implements the `name()` method for both Windows and macOS. On Linux, for now, `name()` still returns the same value as `id()`. Release Notes: - N/A
张小白 created
0454e7a
terminal: Add Alt+. keybinding passthrough for last-argument recall (#29088)
Alt+. is a useful terminal/readline feature that cycles through the last arguments of previous commands in history. Unlike many other shortcuts, it doesn't conflict with anything important globally, so it can be safely enabled by default. Release Notes: - N/A
Oleksiy Syvokon created
d88b06a
Simplify language model registry + only emit change events on change (#29086)
* Now only does default fallback logic in the registry * Only emits change events when there is actually a change Release Notes: - N/A
Michael Sloan created
98ceffe
Pretty tool inputs in eval output markdown + numbered assistant messages (#29082)
Release Notes: - N/A
Michael Sloan created
bab2856
Systematically optimize agentic editing performance (#28961)
Now that we've established a proper eval in tree, this PR is reboots of our agent loop back to a set of minimal tools and simpler prompts. We should aim to get this branch feeling subjectively competitive with what's on main and then merge it, and build from there. Let's invest in our eval and use it to drive better performance of the agent loop. How you can help: Pick an example, and then make the outcome faster or better. It's fine to even use your own subjective judgment, as our evaluation criteria likely need tuning as well at this point. Focus on making the agent work better in your own subjective experience first. Let's focus on simple/practical improvements to make this thing work better, then determine how we can craft our judgment criteria to lock those improvements in. Release Notes: - N/A --------- Co-authored-by: Max <max@zed.dev> Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Agus <agus@zed.dev> Co-authored-by: Richard <richard@zed.dev> Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Michael Sloan <mgsloan@gmail.com>
Nathan Sobo , Max , Antonio , Agus , Richard , Max Brunsfeld , Antonio Scandurra , and Michael Sloan created
8102a16
agent: Make copy button show while hovering the codeblock container (#29075)
Danilo Leal created
9875521
language_models: Fix passing of `thread_id` and `prompt_id` (#29071)
This PR is a follow-up to https://github.com/zed-industries/zed/pull/29069 that fixes an issue where the thread ID and prompt ID were not being sent up correctly. Release Notes: - N/A
Marshall Bowers created
8c55063
Fix zed sometimes stopping by using setsid on interactive shells (#29070)
For some reason `SIGTTIN` sometimes gets sent to the process group, causing it to stop when run from a terminal. This solves that issue by putting the shell in a new session + progress group. This allows removal of a workaround of using `exit 0;` to restore handling of ctrl-c after exit. In testing this appears to no longer be necessary. Closes #27716 Release Notes: - Fixed Zed sometimes becoming a stopped background process when run from a terminal.
Michael Sloan created
7abe2c9
agent: Attach thread ID and prompt ID to telemetry events (#29069)
This PR attaches the thread ID and the new prompt ID to telemetry events for completions in the Agent panel. Release Notes: - N/A --------- Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Marshall Bowers and Mikayla Maki created
73a767f
Add hidden `prompt_to_focus` field to `OpenPromptLibrary` action (#29062)
Release Notes: - N/A
Michael Sloan created
327fee4
Init prompt store in agent eval (#29068)
Needed after #28915 Release Notes: - N/A
Michael Sloan created
b1d5918
Fix reset_db script (#29067)
Release Notes: - N/A
Joseph T. Lyons created
6f685b9
Update Rust crate sea-orm to v1.1.10 (#28918)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [sea-orm](https://www.sea-ql.org/SeaORM) ([source](https://redirect.github.com/SeaQL/sea-orm)) | dev-dependencies | patch | `1.1.8` -> `1.1.10` | | [sea-orm](https://www.sea-ql.org/SeaORM) ([source](https://redirect.github.com/SeaQL/sea-orm)) | dependencies | patch | `1.1.8` -> `1.1.10` | --- ### Release Notes <details> <summary>SeaQL/sea-orm (sea-orm)</summary> ### [`v1.1.10`](https://redirect.github.com/SeaQL/sea-orm/blob/HEAD/CHANGELOG.md#1110---2025-04-14) [Compare Source](https://redirect.github.com/SeaQL/sea-orm/compare/1.1.9...1.1.10) ##### Upgrades - Upgrade sqlx to 0.8.4 [https://github.com/SeaQL/sea-orm/pull/2562](https://redirect.github.com/SeaQL/sea-orm/pull/2562) ### [`v1.1.9`](https://redirect.github.com/SeaQL/sea-orm/blob/HEAD/CHANGELOG.md#119---2025-04-14) [Compare Source](https://redirect.github.com/SeaQL/sea-orm/compare/1.1.8...1.1.9) ##### Enhancements - \[sea-orm-macros] Use fully-qualified syntax for ActiveEnum associated type[https://github.com/SeaQL/sea-orm/pull/2552](https://redirect.github.com/SeaQL/sea-orm/pull/2552)2 - Accept `LikeExpr` in `like` and `not_like` [https://github.com/SeaQL/sea-orm/pull/2549](https://redirect.github.com/SeaQL/sea-orm/pull/2549) ##### Bug fixes - Check if url is well-formed before parsing [https://github.com/SeaQL/sea-orm/pull/2558](https://redirect.github.com/SeaQL/sea-orm/pull/2558) - `QuerySelect::column_as` method cast ActiveEnum column [https://github.com/SeaQL/sea-orm/pull/2551](https://redirect.github.com/SeaQL/sea-orm/pull/2551) ##### House keeping - Remove redundant `Expr::expr` from internal code [https://github.com/SeaQL/sea-orm/pull/2554](https://redirect.github.com/SeaQL/sea-orm/pull/2554) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjI0OC40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Kirill Bulatov <kirill@zed.dev>
renovate[bot] , renovate[bot] , and Kirill Bulatov created
65a7076
buffer_search: Fix DeployReplace not working when buffer search is already deployed (#29066)
Closes #29000 When buffer search is already deployed: 1. If find dialog is enabled, change it to find-and-replace dialog and focuses to it 2. If find-and-replace is enabled, focuses to it Release Notes: - Fixed an issue where invoking `DeployReplace` while the Find dialog was open did not switch to the Find & Replace dialog. - Fixed an issue where invoking `DeployReplace` while the Find & Replace dialog was already open did not focus it.
Smit Barmase created
3fe15ee
renovate: Require dependency dashboard approval for updates (#29065)
This PR changes Renovate's behavior to require dependency dashboard approval for updates. > Maybe you find Renovate too noisy, and want to opt-out of getting automatic updates whenever they're ready. > > In this case, you can tell Renovate to wait for your approval before making any pull requests. This means that you have full control over when you get updates. > > But vulnerability remediation PRs will still get created immediately without requiring approval. > > To require manual approval for *all* updates, add the `:dependencyDashboardApproval` presets to the `extends` array in your Renovate configuration file: > > — https://docs.renovatebot.com/key-concepts/dashboard/#require-approval-for-all-updates Release Notes: - N/A
Marshall Bowers created
bae3ef0
Update Rust crate clap to v4.5.36 (#28905)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [clap](https://redirect.github.com/clap-rs/clap) | workspace.dependencies | patch | `4.5.35` -> `4.5.36` | --- ### Release Notes <details> <summary>clap-rs/clap (clap)</summary> ### [`v4.5.36`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4536---2025-04-11) [Compare Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.35...v4.5.36) ##### Fixes - *(help)* Revert 4.5.35's "Don't leave space for shorts if there are none" for now </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjI0OC40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Kirill Bulatov <kirill@zed.dev>
renovate[bot] , renovate[bot] , and Kirill Bulatov created
810b39c
Update Rust crate aws-sdk-bedrockruntime to v1.82.0 (#28451)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [aws-sdk-bedrockruntime](https://redirect.github.com/awslabs/aws-sdk-rust) | workspace.dependencies | minor | `1.80.0` -> `1.82.0` | --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Kirill Bulatov <kirill@zed.dev>
renovate[bot] , renovate[bot] , and Kirill Bulatov created
a93aa59
Fix documentation of `impl_action_with_deprecated_aliases` (#29063)
Release Notes: - N/A
Michael Sloan created