6b0325b
debugger: Document some troubleshooting tools (#33047)
Click to expand commit body
Release Notes: - N/A
Cole Miller created
6b0325b
debugger: Document some troubleshooting tools (#33047)
Release Notes: - N/A
Cole Miller created
c9bd409
debugger: Support passing custom arguments to debug adapters (#33251)
Custom arguments replace any arguments that we normally pass to the DAP. For interpreted languages, they are passed to the interpreter after the DAP path or module. They can be combined with a custom binary, or you can omit `dap.binary` and just customize the arguments to the DAPs we download. This doesn't take care of updating the extension API to support custom arguments. Release Notes: - debugger: Implemented support for passing custom arguments to a debug adapter binary using the `dap.args` setting. - debugger: Fixed not being able to use the `dap` setting in `.zed/settings.json`.
Cole Miller created
a067c16
windows: Use drop target helper (#33203)
It now utilises the [`IDropTargetHelper`](https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nn-shobjidl_core-idroptargethelper) in drag and drop events to render the proper item drop cursor icon which includes the thumbnail when available and action text. Also swaps the drop effect from `DROPEFFECT_LINK` to `DROPEFFECT_COPY` to match other Windows application behaviour. Example of drop icon  Release Notes: - N/A --------- Co-authored-by: 张小白 <364772080@qq.com>
Matin Aniss and 张小白 created
1a6c1b2
windows: Fix window close animation (#33228)
Implements a workaround which removes the `WS_EX_LAYERED` style from the window right before closing it which seems to fix the window close animation not playing. Release Notes: - N/A
Matin Aniss created
8718019
file finder: Ensure filter options keybinding is displayed (#33244)
Follow up to https://github.com/zed-industries/zed/pull/31777. I could've sworn the filter options keybinding was being displayed in the icon button tooltip, but just realized it actually wasn't. So, this PR fixes that! Release Notes: - N/A
Danilo Leal created
a32505f
agent: Fix token limit callout to show burn mode only for zed provider (#33096)
The token limit reached callout was shown for all the providers and it included the burn mode toggle and description. I have made that conditional to only show for zed provider. Before this changes <img width="413" alt="image" src="https://github.com/user-attachments/assets/b7e177fc-d2e6-4942-8934-39ac8c844649" /> After this change: <img width="404" alt="image" src="https://github.com/user-attachments/assets/0e091b99-c8e3-4960-8b4d-47170883d224" /> Release Notes: - agent: Fix token limit callout to show burn mode only for zed provider --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Umesh Yadav and Danilo Leal created
980917b
agent: Preserve chat box text on 'New From Summary' (#33220)
CC: @danilo-leal Do you have thoughts on this? I found myself typing chat messages after a long thread and then deciding I would be better served by restarting from a summary -- and then "poof" the contents of my chat box was lost. Release Notes: - agent: "New From Summary" now preserves any unsent content in the chat box.
Peter Tripp created
bd8471b
agent: Add soft-wrap to long terminal command JSON (#33188)
Closes: https://github.com/zed-industries/zed/issues/33179 | Before | After | | - | - | | <img width="341" alt="Screenshot 2025-06-21 at 23 06 01" src="https://github.com/user-attachments/assets/963a3663-b24f-4946-8b48-2c1222cdef2e" /> | <img width="424" alt="Screenshot 2025-06-21 at 23 08 13" src="https://github.com/user-attachments/assets/51051221-fda2-48af-ae42-a04989bb4913" /> | Release Notes: - N/A
Peter Tripp created
16f1da1
agent: Fix long previous user message double scroll (#33056)
Previously, if editing a long previous user message in the thread, you'd have a double scroll situation because the editor used in that case had its max number of lines capped. To solve that, I made the `max_lines` in the editor `AutoHeight` mode optional, allowing me to not pass any arbitrary number to the previous user message editor, and ultimately, solving the double scroll problem by not having any scroll at all. Release Notes: - agent: Fixed double scroll that happened when editing a long previous user message. @ConradIrwin adding you as a reviewer as I'm touching editor code here... want to be careful. :)
Danilo Leal created
272fc67
windows: Dialog QoL improvements (#33241)
Just like in the previous PR #33230, we need to properly set up modal windows to make them work as expected. Before this PR, when you opened an "Open File" or "Save File" dialog, clicking the main window would steal focus from the modal, even though the main window wasn’t actually interactive. With this PR, clicking the main window while a modal is open does nothing — as it should — until the modal is closed. #### Before https://github.com/user-attachments/assets/9c6bdff0-1c46-49c1-a5ff-751c52c7d613 #### After https://github.com/user-attachments/assets/8776bd28-85ff-4f32-8390-bcf5b4eec1fe Release Notes: - N/A
张小白 created
e68b95c
agent: Ensure tool names are unique (#33237)
Closes #31903 Release Notes: - agent: Fix an issue where an error would occur when MCP servers specified tools with the same name --------- Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Bennet Bo Fenner and Ben Brandt created
28f56ad
windows: Avoid setting the mouse cursor while the window is disabled (#33230)
Don’t set the mouse cursor when the window is disabled, it causes issues with modal dialogs. Release Notes: - N/A
张小白 created
7f44e4b
Fix logic for updating `insert_range` on completion resolution (#32523)
I don't have a concrete misbehavior from it, but this update of `insert_range` doesn't make sense for two reasons: * If the resolved completion doesn't have a new `text_edit` it would clear out the `insert_range`. * It doesn't update the completion if it has already been resolved, except this update of `insert_range` happened before that. Guessing it was written this way because this field needed to only be mutated within the `CompletionSource::Lsp` case and this was a convenient match below. Release Notes: - N/A Co-authored-by: Smit <smit@zed.dev>
Michael Sloan and Smit created
e5ad2c2
Add `crates/assistant_tools/src/edit_agent/evals/fixtures` to file_scan_exclusions (#33224)
Follow up to #32211 Release Notes: - N/A
Bennet Bo Fenner created
67ac80b
linux: Fix KeePassXC integration via org.freedesktop.Secrets (#33026)
Closes #29956 Unlike GNOME Keyring, KeePassXC locks individual secrets in addition to the entire database when configured to ask for confirmation for access requests by DBus clients. As such, before the secret is read it should be unlocked by the client. Tested against both KeePassXC and GNOME Keyring, and with this patch Zed successfully logs in and fetches the API keys from the Secret Service. Release Notes: - Fixed KeePassXC integration via org.freedesktop.Secrets
Artem Zhurikhin created
ac30a8b
Improve FreeBSD support (#33162)
This PR contains a set of changes for improving FreeBSD support (#15309, #29550) and is a kind of follow up to the PR #20480 which added an initial support for FreeBSD. A summary of changes is as follows: - Add some more freebsd conditionals which seem missing in the previous PR. - Implement `anonymous_fd()` and `current_path()` functions for FreeBSD. - Improve detection of FreeBSD in telemetry and GPU detection. - Temporarily disable LiveKit/WebRTC support to make build succeed. - Remove support for flatpak since it is Linux-only packaging format. Adding `RUSTFLAGS="-C link-dead-code"` does not seem necessary anymore. It builds fine without the flag. Known issues: - Integrated terminal is painfully laggy and virtually unusable in my environment. This might be specific to my setup. - I cannot input Japanese using IME. When I type characters, they appear on the screen. But when I hit return key, they disappears. Seems the same issue as #15409. My environment is MATE desktop on X11 on FreeBSD 14.2 on Intel Core i5-7260U integrated graphics. P.S. For those who might be interested, a work-in-progress FreeBSD port and binary packages are available at https://github.com/tagattie/FreeBSD-Zed Release Notes: - N/A --------- Co-authored-by: Peter Tripp <peter@zed.dev>
Hiroki Tagato and Peter Tripp created
6b4c607
bedrock: Support Claude 3.7 in APAC (#33068)
In ap-northeast-1 we have access to 3.7 and 4.0 Release Notes: - N/A --------- Co-authored-by: Peter Tripp <peter@zed.dev>
Willem and Peter Tripp created
595f61f
bedrock: Use Claude 3.0 Haiku where Haiku 3.5 is not available (#33214)
Closes: https://github.com/zed-industries/zed/issues/33183 @kuzaxak Can you confirm this works for you? Release Notes: - bedrock: Use Anthropic Haiku 3.0 in AWS regions where Haiku 3.5 is unavailable
Peter Tripp created
1047d8a
bedrock: Add Sonnet 4 to cross-region model list (eu/apac) (#33192)
Closes #31946 Sonnet 4 is [now available](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html) via Bedrock in EU aws regions. Release Notes: - bedrock: Add cross-region usage of Sonnet 4 in EU/APAC AWS regions
Vladimir Kuznichenkov created
21fd5c2
emacs: Fix ctrl-p/ctrl-n navigating popover menus (#33218)
Closes https://github.com/zed-industries/zed/issues/33200 Release Notes: - emacs: Fixed ctrl-p/ctrl-n keyboard navigation of autocomplete/code actions menus
Peter Tripp created
336d2c4
docs: Update the AI configuration page (#33208)
- Improve the Vercel v0 model section - Replace "assistant panel" to "agent panel" - Replace "Zed assistant" to "Zed agent" - Fix "open configuration" action name - Break sentences where useful Release Notes: - N/A
Danilo Leal created
5244085
windows: Fix wrong glyph index being reported (#33193)
Closes #32424 This PR fixes two bugs: * In cases like `fi ~~something~~`, the `fi` gets rendered as a ligature, meaning the two characters are combined into a single glyph. The final glyph index didn’t account for this change, which caused issues. * On Windows, some emojis are composed of multiple glyphs. These composite emojis can now be rendered correctly as well.   Release Notes: - N/A
张小白 created
af8f26d
Add a `Copy` button for `About Zed` (#33197)
Closes #33160 Since `TaskDialog` doesn’t allow users to copy its contents directly, VSCode added a `Copy` button so users can easily copy the message. https://github.com/user-attachments/assets/04090753-226f-44d9-992c-8cc8cb8d7ecb Release Notes: - N/A
张小白 created
3b9f504
Remove unused dependencies (#33189)
I verified it after running `cargo shear`. https://crates.io/crates/cargo-shear Release Notes: - N/A
yoshi-taka created
0579bf7
docs: Document `language_ids` in extension.toml (#33035)
Document `language-servers.*.language_ids` property in extension.toml. Release Notes: - N/A --------- Co-authored-by: Peter Tripp <peter@zed.dev>
Emanuele Stoppa and Peter Tripp created
534475d
Add reference to `commit_message_model` in git docs. (#33186)
Release Notes: - N/A
Peter Tripp created
8d05f6f
Add visual customization section to documentation (#33133)
Release Notes: - Improved settings documentation for [visual customization](https://zed.dev/docs/visual-customization/)
Peter Tripp created
3cb4342
editor: Disable tab to indent in single line mode (#33031)
Release Notes: - Disable indent on `tab` in single line editors. ---- https://github.com/user-attachments/assets/64207777-52c9-4425-be66-88acaf81f0b8
Jason Lee created
6fb1081
Disable next/previous hunk menu items when there are no hunks (#32907)
Closes #32887 Release Notes: - Button menu hunk is disabled if there are no changes
Alvaro Parker created
0ed6b4e
git_ui: Add collapse_untracked_diff settings to improve usability for untracked files (#32591)
In repositories with untracked files that are not intended to be added, showing the expanded diffs in the panel is confusing, as it places the changes side by side with changes in tracked files. This change adds a setting, collapse_untracked_diff, that can be enabled to collapse untracked diffs by default when the panel is opened. See https://github.com/zed-industries/zed/pull/31855#issuecomment-2957547018 (and previous comment for examples of why this is useful). Example before this change, or with the setting in its default state:  Example after this change with the setting set to `true`:  Release Notes: - Git: Added `collapse_untracked_diff` setting to auto-collapse untracked diffs
Arseny Kapoulkine created
d75e210
docs: Fix path to keymap.json config file for macOS (#32728)
Update key-bindings doc page to correctly reference `~/.config/zed/keymap.json` instead of the old `~/.zed/keymap.json` Closes #ISSUE Release Notes: - N/A
Dallin Huff created
2b3e453
Avoid using tmpdir when writing Zed settings.json on macOS (#32976)
Closes: https://github.com/zed-industries/zed/issues/23907 Release Notes: - macOS: Fixed an issue with writing Zed settings.json if user's home directory is on a non-root volume.
Peter Tripp created
cb50f07
One Light Theme: Change constant color (#33166)
Closes: https://github.com/zed-industries/zed/issues/4617 Closes: https://github.com/zed-industries/zed/issues/25709 Changes the One Light syntax highlight for `constant` to be a distinct from `comment`: | Before | After | | - | - | | <img width="424" alt="Screenshot 2025-06-21 at 11 59 22" src="https://github.com/user-attachments/assets/8780918f-7701-4780-809a-f95951970c90" /> | <img width="430" alt="Screenshot 2025-06-21 at 11 59 17" src="https://github.com/user-attachments/assets/d7efaa16-f95a-4076-a0b2-b1170e2ffe68" /> | I picked a color which was present in the palette from the original One Light theme from Atom. @failable: Sorry this took so long, does this look ok to you? Release Notes: - N/A
Peter Tripp created
a713c66
Redact command environment variables from log output (#32985)
Before/After (linebreaks added for readability)
```log
# before
INFO [project::context_server_store::extension]
loaded command for context server mcp-server-github:
Command {
command: "/Users/peter/Library/Application Support/Zed/extensions/work/mcp-server-github/github-mcp-server-v0.5.0/github-mcp-server",
args: ["stdio"],
env: [("GITHUB_PERSONAL_ACCESS_TOKEN", "gho_WOOOOOOOOOOOOOOO")]
}
#after
INFO [project::context_server_store::extension]
loaded command for context server mcp-server-github:
Command {
command: "/Users/peter/Library/Application Support/Zed/extensions/work/mcp-server-github/github-mcp-server-v0.5.0/github-mcp-server",
args: ["stdio"],
env: [("GITHUB_PERSONAL_ACCESS_TOKEN", "[REDACTED]")]
}
```
Release Notes:
- Redact sensitive environment variables from MCP logs
Peter Tripp created
76e3136
editor: Utilize `filter_text` from language server for `filter_range` (#33155)
Closes #33106 Instead of directly using `filter_text` in `StringMatchCandidate`, which yields better results for fuzzy matching but messes up with highlighting letters in bold, as `positions` list generated by fuzzy crate are now of `filter_text` and not `label` shown to the user. This PR fixes it by keeping use of `filter_range` in `StringMatchCandidate`, which is range w.r.t to `label` shown to user. And actually generating this `filter_range` at source by using `filter_range` if exists. - [x] Tests Release Notes: - Fixed issue where incorrect letters are marked as bold in completions.
Smit Barmase created
834cdc1
agent: Store if context server should be enabled/disabled in the settings (#32994)
- [x] Show disabled MCP servers in the list so you can enable them again - [x] If MCP is not present in the settings, add it Closes #ISSUE Release Notes: - agent: Allow to enable/disable context servers permanently in the agent configuration view --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Bennet Bo Fenner and Danilo Leal created
dfdd2b9
language_models: Add thinking support to OpenRouter provider (#32541)
Did some bit cleanup of code for loading models for settings as that is not required as we are fetching all the models from openrouter so it's better to maintain one source of truth Release Notes: - Add thinking support to OpenRouter provider
Umesh Yadav created
b9838ef
agent: Add button to scroll to top of the thread (#33130)
Release Notes: - agent: Added a button to scroll to top of the thread.
Danilo Leal created
db8acfa
Update pathfinder_simd for nightly arm simd fixes (#33131)
`pathfinder_simd` doesn't compile on nightly aarch64 right now, but that was fixed by https://github.com/servo/pathfinder/pull/575 and updated on crates.io by https://github.com/servo/pathfinder/pull/577. This PR simply updates the `pathfinder_simd` dependency to the version that contains these fixes. I verified that this compiles with nightly on my machine.
June created
5c1dc8b
Cargo.lock updates (#33129)
Should have been in #33125 Release Notes: - N/A
Michael Sloan created
7e801dc
agent: Fix issues with usage display sometimes showing initially fetched usage (#33125)
Having `Thread::last_usage` as an override of the initially fetched usage could cause the initial usage to be displayed when the current thread is empty or in text threads. Fix is to just store last usage info in `UserStore` and not have these overrides Release Notes: - Agent: Fixed request usage display to always include the most recently known usage - there were some cases where it would show the initially requested usage.
Michael Sloan created
e0c0b6f
Remove duplicate issues in top-ranking issues script (#33127)
Release Notes: - N/A
Joseph T. Lyons created
ad76db7
debugger: Add variable watchers (#32743)
### This PR introduces support for adding watchers to specific expressions (such as variable names or evaluated expressions). This feature is useful in scenarios where many variables are in scope, but only a few are of interest—especially when tracking variables that change frequently. By allowing users to add watchers, it becomes easier to monitor the values of selected expressions across stack frames without having to sift through a large list of variables. https://github.com/user-attachments/assets/c49b470a-d912-4182-8419-7406ba4c8f1e ------ **TODO**: - [x] make render variable code reusable for render watch method - [x] use SharedString for watches because of a lot of cloning - [x] add tests - [x] basic test - [x] test step debugging Release Notes: - Debugger Beta: Add support for variable watchers --------- Co-authored-by: Anthony Eid <hello@anthonyeid.me> Co-authored-by: Anthony <anthony@zed.dev>
Remco Smits , Anthony Eid , and Anthony created
9f2c541
Fetch 100 results per page (#33124)
Release Notes: - N/A
Joseph T. Lyons created
9597c73
Account for issue types in top-ranking issues script (#33118)
Release Notes: - N/A
Joseph T. Lyons created
7812985
linux: Fix blurry rendering on Wayland when using fractional scaling (#33087)
Closes #25195 In Wayland, To create buffer size (`renderer.update_drawable_size`), we convert logical pixels to device pixels by taking the scale factor into account. Later, we also let the compositor know the logical pixels we want to use for our app (`viewport.set_destination`). Then, the compositor takes our buffer and tries to scale it to fit the viewport size we provided. If this is accurate, we see perfect rendering. If our buffer size is not accurate (off by 1px in this case), the compositor scales our buffer to fit the viewport size. This causes blur. To make sure we set correct buffer size for renderer as same as what compositor is going to use, we needs to use rounding instead of truncate when converting logical pixels to device pixels. It's not super clear from docs, what exact algorithm it uses but it says it uses rounding and seems to fix issue for me if we follow that for our buffer. From https://wayland.app/protocols/fractional-scale-v1: > If a surface has a surface-local size of 100 px by 50 px and wishes to submit buffers with a scale of 1.5, then a buffer of 150px by 75 px should be used and the wp_viewport destination rectangle should be 100 px by 50 px. > > For toplevel surfaces, the size is **rounded halfway away from zero**. The rounding algorithm for subsurface position and size is not defined. Tested on: - [x] Gnome - [x] KDE - [ ] ~Sway~ (Need to investigate this more for Sway) Release Notes: - Fixed blurry rendering on Wayland when using fractional scaling for Gnome and KDE. Co-authored-by: Julia Ryan p1n3appl3@users.noreply.github.com Co-authored-by: Antonio Scandurra me@as-cii.com
Smit Barmase , Julia Ryan p1n3appl3@users.noreply.github.com , and Antonio Scandurra me@as-cii.com created
b0f192e
agent: Do not send stale files notifications (#32974)
Removing it for two reasons: 1. We need a better implementation that doesn't hurt caching and doesn't distracts the agent too much (see https://github.com/zed-industries/zed/pull/32876 for more context) 2. Current insertion point of notifications doesn't play well with Claude Thinking models (see https://github.com/zed-industries/zed/issues/33000#issuecomment-2991709484) I think we should get this code back in a form of a tool. But for now, I'm dropping it to resolve recent issues. Closes #33000 Release Notes: - N/A
Oleksiy Syvokon created
c9e5ff2
docs: Update manifest keys in debugger extension docs (#33085)
This is silly and caused at least one of our users a lot of confusion. Closes #33040 Release Notes: - N/A
Piotr Osiewicz created
c02e249
windows: Simplify the logic of `handle_get_min_max_info_msg` (#33102)
Release Notes: - N/A
张小白 created
a7bbbc0
Fix handling of `--diff` flag (#33094)
* Restore the ability to combine --diff with other path arguments * Restore combining --diff with --wait There is still one defect in the current handling of `--diff`: when Zed is already open, we'll open the diff view in your current active zed window. It would be better to search all of the open zed windows for any window containing the diffed paths, but implementing that is a bit complex. Currently, the logic for *picking* an existing zed window is coupled to the logic for opening buffers in that window. I'd like to decouple it, but I wanted to keep this change small, so that we hotfix it to stable without too much risk. Release Notes: - Fixed a bug where the `--diff` CLI flag did not work with `--wait` Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Max Brunsfeld and Ben Brandt created