b188e5d
Fix update status logic to preserve previous status (#31202)
Click to expand commit body
Release Notes: - N/A
Joseph T. Lyons created
b188e5d
Fix update status logic to preserve previous status (#31202)
Release Notes: - N/A
Joseph T. Lyons created
e3d3dae
Fix bug where deleted toolchains stay selected on startup (#30562)
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)
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)
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)
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)
Release Notes: - N/A
Anthony Eid created
3c03d53
debugger: Use integrated terminal for Python (#31190)
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)
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)
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)
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)
Release Notes: - N/A
Anthony Eid created
06f725d
debugger beta: Fix dap_schema for DAP extensions (#31173)
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)
@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)
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
0415e85
debugger: Use current worktree directory when spawning an adapter (#31054)
/cc @osiewicz I think bringing this back should fix **bloveless** his issue with go debugger. This is also nice, so people are not forced to give us a working directory, because most adapters will use their **cwd** as the project root directory. For JavaScript, you don't need to specify the **cwd** anymore because it can already infer it Release Notes: - debugger beta: Fixed some adapters fail to determine the right root level of the debug program.
Remco Smits created
1c9b818
debugger: Use DAP schema to configure daps (#30833)
This PR allows DAPs to define their own schema so users can see completion items when editing their debug.json files. Users facing this aren’t the biggest chance, but behind the scenes, this affected a lot of code because we manually translated common fields from Zed's config format to be adapter-specific. Now we store the raw JSON from a user's configuration file and just send that. I'm ignoring the Protobuf CICD error because the DebugTaskDefinition message is not yet user facing and we need to deprecate some fields in it. Release Notes: - debugger beta: Show completion items when editing debug.json - debugger beta: Breaking change, debug.json schema now relays on what DAP you have selected instead of always having the same based values. --------- Co-authored-by: Remco Smits <djsmits12@gmail.com> Co-authored-by: Cole Miller <m@cole-miller.net> Co-authored-by: Cole Miller <cole@zed.dev>
Anthony Eid , Remco Smits , Cole Miller , and Cole Miller created
0d7f484
Restore scroll after undo edit prediction (#31162)
Closes #29652 Release Notes: - Fixed an issue where the scroll and cursor position would not be restored after undoing an inline completion
Ben Kunkle created
ab01712
agent: Improve Gemini support in the edit_file tool (#31116)
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
71fb17c
debugger: Update the default layout (#31057)
- Remove the modules list and loaded sources list from the default layout - Move the console to the center pane so it's visible initially Release Notes: - Debugger Beta: changed the default layout of the debugger panel, hiding the modules list and loaded sources list by default and making the console more prominent. --------- Co-authored-by: Remco Smits <djsmits12@gmail.com>
Cole Miller and Remco Smits created
97e437c
Remove test-support feature from auto_update's gpui dep (#31147)
Fixes `cargo run` on main. Release Notes: - N/A
Cole Miller created
66667d1
Add kernel detection for language support of runnable markdown cells (#29664)
Closes #27757 Release Notes: - List of runnable markdown cells is now based on detected jupyter kernels instead of hardcoded to Python and TypeScript
Jon Gretar Borgthorsson created
dce22a9
project search: Reduce clones and allocations (#31133)
Release Notes: - N/A
Remco Smits created
5f452db
debugger: Add a couple more keybindings (#31103)
- Add missing handler for `debugger::Continue` so `f5` works - Add bindings based on VS Code for `debugger::Restart` and `debug_panel::ToggleFocus` - Remove breakpoint-related buttons from the debug panel's top strip, and surface the bindings for `editor::ToggleBreakpoint` in gutter tooltip instead Release Notes: - Debugger Beta: Added keybindings for `debugger::Continue`, `debugger::Restart`, and `debug_panel::ToggleFocus`. - Debugger Beta: Removed breakpoint-related buttons from the top of the debug panel. - Compatibility note: on Linux, `ctrl-shift-d` is now bound to `debug_panel::ToggleFocus` by default, instead of `editor::DuplicateLineDown`.
Cole Miller created
b2a9209
debugger: Add actions and keybindings for opening the thread and session menus (#31135)
Makes it possible to open and navigate these menus from the keyboard. I also removed the eager previewing behavior for the thread picker, which was buggy and came with a jarring layout shift. Release Notes: - Debugger Beta: Added the `debugger: open thread picker` and `debugger: open session picker` actions.
Cole Miller created
eb35d25
collab: Drop `billing_events` table (#31131)
This PR drops the `billing_events` table, as we're no longer using it. Release Notes: - N/A
Marshall Bowers created
8742d4a
editor: Fix regression causing incorrect delimiter on newline in case of multiple comment prefixes (#31129)
Closes #31115 This fixes regression caused by https://github.com/zed-industries/zed/pull/30824 while keeping that fix. - [x] Test Release Notes: - Fixed the issue where adding a newline after the `///` comment would extend it with `//` instead of `///` in Rust and other similar languages.
smit created
b829f72
collab: Prefer the plan on the subscription over the one on the usage (#31127)
This PR makes it so we always prefer the plan on the subscription. The plan stored on the subscription usage is informational only. Release Notes: - N/A
Marshall Bowers created
ffa8310
collab: Drop `monthly_usages` and `lifetime_usages` tables (#31124)
This PR drops the `monthly_usages` and `lifetime_usages` tables from the LLM database, as they are no longer used. Release Notes: - N/A
Marshall Bowers created
3fda539
Allow updater to check for updates after downloading one (#31066)
This PR brings back https://github.com/zed-industries/zed/pull/30969 and adds some initial testing. https://github.com/zed-industries/zed/pull/30969 did indeed allow Zed to continue doing downloads after downloading one, but it introduced a bug where Zed would download a new binary every time it polled, even if the version was the same as the running instance. This code could use a refactor to allow more / better testing, but this is a start. Release Notes: - N/A
Joseph T. Lyons created
b444b32
collab: Remove `GET /billing/monthly_spend` endpoint (#31123)
This PR removes the `GET /billing/monthly_spend` endpoint, as it is no longer used. Release Notes: - N/A
Marshall Bowers created
f196288
docs: Fix broken link in ai/configuration (#31119)
Release Notes: - N/A
Peter Tripp created
e30cc13
Rename 'Quit' to 'Quit Zed' in macOS menu (#31109)
This is standard for Mac apps. I should have included this with [my other PR](https://github.com/zed-industries/zed/pull/30697), but didn’t catch it. 🤦🏻♂️ Release Notes: - N/A
Rob McBroom created
09c8a84
docs: Link to models supported directly from table (#31112)
Closes #ISSUE Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
morgankrey and Marshall Bowers created
6e5996a
Fix unzipping clangd and codelldb on Windows (#31080)
Closes https://github.com/zed-industries/zed/pull/30454 Release Notes: - N/A
Kirill Bulatov created
c8f56e3
Update `Cargo.lock` (#31105)
This PR updates the `Cargo.lock` file, as running `cargo check` was producing a diff on `main`. Release Notes: - N/A
Marshall Bowers created
cfd3b0f
Meter edit predictions by acceptance in free plan (#30984)
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
afe23cf
Canonicalize markdown link paths (#29119)
Closes #28657 Release Notes: - Fixed markdown preview not canonicalizing file paths
hrou0003 created
f915c24
copilot: Fix rate limit due to Copilot-Vision-Request header (#30989)
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
bdd9e01
Bump Zed to v0.189 (#31101)
Release Notes: -N/A
Joseph T. Lyons created
6bbab4b
editor: Fix multi-cursor not added to lines shorter than current cursor column (#31100)
Closes #5255, #1046, #28322, #15728 This PR makes `AddSelectionBelow` and `AddSelectionAbove` not skip lines that are shorter than the current cursor column. This follows the same behavior as VSCode and Sublime. This change is only applicable in the case of an empty selection; if there is a non-empty selection, it continues to skip empty and shorter lines to create a Vim-like column selection, which is the better default for that case. - [x] Tests The empty selection no longer skips shorter lines: https://github.com/user-attachments/assets/4bde2357-20b6-44f2-a9d9-b595c12d3939 Non-empty selection continues to skip shorter lines. https://github.com/user-attachments/assets/4cd47c9f-b698-40fc-ad50-f2bf64f5519b Release Notes: - Improved `AddSelectionBelow` and `AddSelectionAbove` to no longer skip shorter lines when the selection is empty, aligning with VSCode and Sublime behavior.
smit created
7450b78
editor: Prevent overlapping of signature/hover popovers and context menus (#31090)
Closes #29358 If hover popovers or signature popovers ever clash with the context menu (like code completion or code actions), they find the best spot by trying different directions around the context menu to show the popover. If they can’t find a good spot, they just overlap with the context menu. Not overlapping state: <img width="350" alt="image" src="https://github.com/user-attachments/assets/2f1bdc4c-eb01-405c-b5fb-eb28eadc9957" /> Overlapping case, moves popover to bottom of context menu: <img width="350" alt="image" src="https://github.com/user-attachments/assets/3ce4be23-7701-4711-b604-5e29682360e1" /> Overlapping case, moves popover to right of context menu: <img width="350" alt="image" src="https://github.com/user-attachments/assets/60d47518-e412-4d64-9d17-a69a17248bdf" /> <img width="350" alt="image" src="https://github.com/user-attachments/assets/2a3de176-7443-46d8-99d1-b2973a0ffaa6" /> Overlapping case, moves popover to left of context menu: <img width="350" alt="image" src="https://github.com/user-attachments/assets/015b799b-8c6e-4405-aee6-e205d4caebec" /> Overlapping case, moves popover to top of context menu: <img width="350" alt="image" src="https://github.com/user-attachments/assets/fbd03d84-9a49-44eb-846b-a9852d2ff43e" /> Release Notes: - Fixed an issue where hover popovers or signature popovers would overlap with existing opened completion or code actions context menus.
smit created
0c03519
Fix project search panic (#31089)
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
636eff2
Revert "Allow updater to check for updates after downloading one (#30969)" (#31086)
This reverts commit 5c4f9e57d8f919f58e39d660515e1dbec7d71483. Release Notes: - N/A
Joseph T. Lyons created
6c8f400
nix: Prevent spurious bindgen rebuilds in the devshell (#31083)
Release Notes: - N/A
Julia Ryan created
91bc5ae
evals: Add system prompt to edit agent evals + fix edit agent (#31082)
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
2f3564b
Add icons to the built-in picker for Open (#30893)
 Release Notes: - Added icons to the built-in picker for `Open` dialog
Aleksei Gusev created
d61a544
Fix `Replace Next Match` command (#30890)
Currently, `search::ReplaceNext` works only first time it is executed because Zed switches the focus to the editor. It seems `self.editor_focus` call is unnecessary. Closes #17466 Release Notes: - Fixed `Replace Next Match` command. Previously it worked once, then Zed incorrectly switched the focus to the editor https://github.com/user-attachments/assets/66ef61d6-1efe-43ca-8d8c-6b40540a9930
Aleksei Gusev created
8061bac
Add excluded_files to pane::DeploySearch (#30699)
In accordance with #30327, I saw no reason for included files to get
special treatment, and I actually get use out of prefilling excluded
files because I like not to search symlinked files which, in my
workflow, use a naming convention.
This is simply implementing the same exact changes, but for excluded. It
was tested with `"space /": ["pane::DeploySearch", { "excluded_files":
"**/_*.tf" }]` and works just fine.
Release Notes:
- Added `excluded_files` to `pane::DeploySearch`.
Adam Sherwood created
77dadfe
chore: Make terminal_view own the TerminalSlashCommand (#31070)
This reduces 'touch crates/editor/src/editor.rs && cargo +nightly build' from 8.9s to 8.5s. That same scenario used to take 8s less than a week ago. :) I'm measuring with nightly rustc, because it's compile times are better than those of stable thanks to https://github.com/rust-lang/rust/pull/138522 main (8.2s total):  [cargo-timing.html.zip](https://github.com/user-attachments/files/20364175/cargo-timing.html.zip) #22be776 (7.5s total): [cargo-timing-20250521T085303.892834Z.html.zip](https://github.com/user-attachments/files/20364391/cargo-timing-20250521T085303.892834Z.html.zip)  Release Notes: - N/A
Piotr Osiewicz created
0023b37
extension_host: fix missing debug adapters (#31069)
Missed because of lack of rebase Release Notes: - N/A
Ben Brandt created