d97a58b
debugger: Refresh variable list on set variable value response (#33078)
Click to expand commit body
Variable list wasn't notified when a set variable value request was
successfully. This caused the variable list and inline values to show
stale data in some cases, which this PR fixes.
Release Notes:
- debugger: Fix bug where setting a variable's value wouldn't update the
variable list or inline values
Anthony Eid
created
10f0aab
docs: Update development debugger guide to include Zed's debugger (#33080)
Click to expand commit body
Closes #33069
Release Notes:
- N/A
Anthony Eid
created
2624950
agent: Fix text wrapping in the provider set up list items (#33063)
Click to expand commit body
Release Notes:
- agent: Fixed text wrapping in the provider set up list items in the
settings view.
Danilo Leal
created
ca3f1d6
Ensure compiled extensions work with older Zed versions (#33051)
Click to expand commit body
Closes #33039
This PR fixes a bug which causes the newest versions of the Biome and
Tombi extensions to not work with older Zed versions.
The bug occurs because in #32822, the type of the debug adapter and
debug locators was changed from a Vec to a BTreeMap. However, these
fields were already introduced much earlier in Zed, which now causes the
de-serialization of the `extension.toml` to fail for older Zed versions.
Any extension compiled with the newest extension CLI bumped in
https://github.com/zed-industries/extensions/pull/2866 will not work
with older Zed versions prior to v0.191.
By adding this change and bumping the extension CLI again, this could be
prevented. On de-serialization, we would just fallback to either a Vec
for versions prior to v0.190 or a BTreeMap after. Feel free to let me
know what you think here.
Release Notes:
- N/A
Finn Evers
created
00fe195
debugger: Move breakpoint management to the pane strip (#33062)
Click to expand commit body
Closes #ISSUE
Release Notes:
- debugger: Moved "remove breakpoint" button to the top of a breakpoint
list"
Piotr Osiewicz
created
bca1a91
Make pull diagnostics remote test more robust (#33057)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/33028
Due to request races, we cannot predict the amount of result_id s that
we'll get. Ensure their amount grows monotonically each time.
This time, iterations=5000 did not fail for me.
Release Notes:
- N/A
Kirill Bulatov
created
b89ddf3
agent: Improve layout shift on previous message editor (#33055)
Click to expand commit body
Follow up to https://github.com/zed-industries/zed/pull/32765.
This PR creates a slot for the `message_editor::create_editor` to allow
using different values for min and max lines. In practice, the panel's
main editor now has a minimum of 4 lines, whereas the previous message
editor has just one. This makes the layout shift when clicking on a
previous message to edit it much smaller.
Release Notes:
- agent: Improved layout shift when clicking to edit a previous sent
message.
Danilo Leal
created
5c7e90d
agent: Move focus to the panel after sending a user message edit (#33049)
Click to expand commit body
Follow up to https://github.com/zed-industries/zed/pull/31611.
Closes https://github.com/zed-industries/zed/issues/33005.
Release Notes:
- agent: Fixed a bug where, after confirming editing a previous user
message while zoomed in, the focus went to the buffer and the panel got
closed.
Danilo Leal
created
61abfd5
agent: Avoid layout shift due to the "waiting for confirmation" label (#33046)
Click to expand commit body
Just a tiny, one-line change to avoid the "Waiting for Confirmation"
animated label pushing the "allow" buttons to the side.
Release Notes:
- agent: Fixed layout shift in "waiting for confirmation" state in the
terminal card.
Danilo Leal
created
ddaa8b3
agent: Expand disclosure click area in setting view's provider section (#33041)
Click to expand commit body
Previously, you could only expand the provider item in the agent panel
settings view by clicking on the little chevron icon button. Now, you
can click on the whole title area (minus the button, when present) to do
that. Just that little bit more convenient to interact with it.
Release Notes:
- N/A
Danilo Leal
created
3b31db1
open_router: Avoid redundant model list downloads (#33033)
Click to expand commit body
Previously, the OpenRouter models list (~412kb) was being downloaded
around 10 times during startup -- even when OpenRouter was not
configured.
This update addresses the issue by:
1. Fetching the models list only when OpenRouter settings change.
2. Skipping API calls if OpenRouter is not configured.
Release Notes:
- Avoid unnecessary requests to OpenRouter
Oleksiy Syvokon
created
1f736ed
copilot: Remove PromptTokensDetails from Usage struct (#33029)
Click to expand commit body
Closes #33024
Release Notes:
- Removed `PromptTokensDetails` from `Usage` as Gemini no longer
supplies cached token data for copilot.
Umesh Yadav
created
0b228ad
debugger: Fix issues with debugging scripts from package.json (#32995)
Click to expand commit body
- [x] Pass in cwd
- [x] Use the appropriate package manager
- [x] Don't mix up package.json and composer.json
Release Notes:
- debugger: Fixed wrong arguments being passed to the DAP when debugging
scripts from package.json.
Cole Miller
created
e914d84
copilot: Fix config dir logic to support Flatpak environments (#32901)
Click to expand commit body
Closes #30784
In github copilot we were not handling the config path correctly for
FLATPAK.
* Only tested on mac don't have access to other platform. But this
should work on other platform as well. It follows the similar pattern
seen in zed config path resolution.
- [x] Macos
- [ ] Linux
- [ ] Linux with Flatpak
- [ ] Windows
Release Notes:
- Fix copilot config detection for flatpack
Umesh Yadav
created
ec0f2fa
agent: Fix button ids for resetting keys in OpenAI settings (#33032)
Click to expand commit body
These "Reset API Key" and "Reset API URL" button had the same ids, so
therefore, they weren't working.
Release Notes:
- N/A
Danilo Leal
created
1bd49a7
linux: Add title bar for rules library (#33025)
Click to expand commit body
Closes #30513
- Abstract away common wrapper component to `platform_title_bar`.
- Use it in both zed and rules library.
- For rules library, keep traffic like only style for macOS, and add
custom title bar for Linux and Windows.
Release Notes:
- Added way to minimize, maximize, and close the rules library window
for Linux.
Smit Barmase
created
c8d4940
Fix pull diagnostics on the remote clients (#33028)
Click to expand commit body
Also add a test.
Release Notes:
- Fixed pull diagnostics on the remote clients
Kirill Bulatov
created
e202981
editor: Scale minimap width to editor width (#32317)
Evan Simkowitz
created
dec7bae
Revert "client: Fix an issue where non-IP proxy URLs didn’t resolve c… (#33013)
Click to expand commit body
This reverts commit bc68455320f1be3f3a135ea1c0de24c026990286.
More bugs...
Closes #32838
Release Notes:
- N/A
张小白
created
2839c2e
Fix document colors not showing on file reopen (#33009)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/32989
Release Notes:
- Fixed document colors not showing on file reopen
This PR makes all footer elements in the debugger session modal more
consistent, as well as fixes some weird UI quirks with leaking borders
and whatnot. Took the opportunity to do some light style clean up and
use `prelude::*` for UI imports.
Release Notes:
- N/A
Danilo Leal
created
804b91a
agent: Improve the UX around interacting with MCP servers (#32622)
Click to expand commit body
Still a work in progress! Todos before merging:
- [x] Allow to delete (not just turn off) an MCP server from the panel's
settings view
- [x] Also uninstall the extension upon deleting the server (check if
the extension just provides MCPs)
- [x] Resolve repository URL again
- [x] Add a button to open the configuration modal from the panel's
settings view
- [x] Improve modal UX to install and configure a non-extension MCP
Release Notes:
- N/A
---------
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Danilo Leal
,
Bennet Bo Fenner
, and
Ben Brandt
created
526faf2
docs: Ruby debug configuration should be an array (#32991)
Click to expand commit body
Closes #ISSUE
Small correction for something I noticed while setting up the debugger
today.
Release Notes:
- N/A
Jeff Bonhag
created
6e64628
Silence another backtrace-full log (#32990)
Click to expand commit body
Release Notes:
- N/A
Kirill Bulatov
created
522d92f
docs: Add instructions for how to use v0 via OpenAI (#32983)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Bennet Bo Fenner <53836821+bennetbo@users.noreply.github.com>
Danilo Leal
and
Bennet Bo Fenner
created
cec19ae
Omit outlines from the outline panel, not related to the buffer's main language (#32987)
c34b24b
open_ai: Fix issues with OpenAI compatible APIs (#32982)
Click to expand commit body
Ran into this while adding support for Vercel v0s models:
- The timestamp seems to be returned in Milliseconds instead of seconds
so it breaks the bounds of `created: u32`. We did not use this field
anywhere so just decided to remove it
- Sometimes the `choices` field can be empty when the last chunk comes
in because it only contains `usage`
Release Notes:
- N/A
Bennet Bo Fenner
created
05f944b
Add up and down global bindings for `menu::SelectNext` and `menu::SelectPrevious` (#32981)
Click to expand commit body
Closes https://github.com/zed-industries/zed/discussions/32587
Release Notes:
- Fixed Linux keybindings not having up/down keys bound for menu
navigation
Kirill Bulatov
created
629bd42
agent: Add ability to change the API base URL for OpenAI via the UI (#32979)
Click to expand commit body
The `api_url` setting is one that most providers already support and can
be changed via the `settings.json`. We're adding the ability to change
it via the UI for OpenAI specifically so it can be more easily connected
to v0.
Release Notes:
- agent: Added ability to change the API base URL for OpenAI via the UI
---------
Co-authored-by: Bennet Bo Fenner <53836821+bennetbo@users.noreply.github.com>
Danilo Leal
and
Bennet Bo Fenner
created
ab189b8
vim: Fix escape key switching back to default mode instead of normal mode (#31843)
Click to expand commit body
Closes #31728
This PR introduced new setting `"helix_mode"`. Enabling which will
enable the `vim_mode` along with `helix` behavior.
This solves issue where `vim`'s `default_mode` was being used to switch
between mode instead of opening in `default_mode`.
When `helix_mode` is enabled switcing to `Normal mode` will now switch
to `HelixNormal`
Release Notes:
- Fixed - escape key not switching to normal mode when default_mode is
insert
- Added - `helix_mode` setting to enable/disable helix key bindings
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Related to #32888, but will not fix the issue.
Turns out these assertions are wrong (Not sure if they were correct at
some point).
I tested with this code:
```
request = LanguageModelRequest {
messages: vec![
LanguageModelRequestMessage {
role: Role::User,
content: vec![MessageContent::Text("Give me 10 jokes".to_string())],
cache: false,
},
LanguageModelRequestMessage {
role: Role::Assistant,
content: vec![MessageContent::Text("Sure, here are 10 jokes:".to_string())],
cache: false,
},
],
..request
};
```
The API happily accepted this and Claude proceeded to tell me 10 jokes.
Release Notes:
- N/A
Bennet Bo Fenner
created
72a3292
Add a small script to make debugging the CLI easier (#32971)
Document the `lsp.rust-analyzer.binary.arguments` setting (currently
incorrectly referred to as `args`)
Verify:
https://github.com/zed-industries/zed/blob/99215f7660a722461792e49cb920bfda5c801286/crates/extension_api/wit/since_v0.1.0/settings.rs#L24-L29
Question: can such inconsistencies be avoided by automatically
documenting the config using a preprocessor?
Release Notes:
- N/A
Artem Zhurikhin
created
fdd307c
collab: Add automatic install of minio deb or rpm to script/bootstrap (#32968)
Click to expand commit body
Release Notes:
- N/A
Michael Sloan
created
c1d0d72
Fix a bug where --diff wouldn't open the diff (#32962)
Click to expand commit body
Release Notes:
- Fixed a bug where `zed --diff A B` wouldn't open a diff
- **debugger: Add debugger onboarding modal (wip)**
- **woops**
Release Notes:
- debugger: Added the onboarding modal.
---------
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Julia Ryan <p1n3appl3@users.noreply.github.com>
Piotr Osiewicz
,
Danilo Leal
, and
Julia Ryan
created
99215f7
debugger: Run debug scenarios from package.json (#32958)
Click to expand commit body
Release Notes:
- New session modal for a debugger will now show tasks from package.json
as debuggable scenarios
---------
Co-authored-by: Remco Smits <djsmits12@gmail.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Piotr Osiewicz
,
Remco Smits
, and
Anthony Eid
created
73fee01
docs: Remove beta tag from Debugger (#32950)
Click to expand commit body
Release Notes:
- N/A
Danilo Leal
created
74aa227
Wait for source maps when setting TypeScript breakpoints (#32954)
Click to expand commit body
Closes #ISSUE
Release Notes:
- debugger: Fix setting breakpoints in typescript code when debugging
compiled javascript
Conrad Irwin
created
d0e909e
Add Anthropic ZDR to AI improvement documentation (#32955)
aa9daca
editor: Log error instead of panic on index out of bounds for line layouts (#32953)
Click to expand commit body
Closes #30191
`line_ix` should never exceed the bounds of `line_layouts`, but a panic
happens on out-of-bounds for this, which seems weird. I couldn’t
reproduce this panic at all. Since this is for displaying inline blame,
we now log an error if this occurs instead of panicking.
Release Notes:
- N/A
Todo:
* [x] Open diffed files as regular buffers
* [x] Update diff when buffers change
* [x] Show diffed filenames in the tab title
* [x] Investigate why syntax highlighting isn't reliably handled for old
text
* [x] remove unstage/restore buttons
Release Notes:
- Adds `zed --diff A B` to show the diff between the two files
---------
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Co-authored-by: Agus Zubiaga <agus@zed.dev>
Conrad Irwin
,
Max Brunsfeld
,
Ben Brandt
, and
Agus Zubiaga
created
2f52e2d
debugger: Fix a few issues with JS debugging (#32918)
Click to expand commit body
- Don't assume all located tasks come from our test runnables
- Run tests from the right working directory
- Scope forking behavior customization for jest and vitest more tightly,
to just our test runnables
- Standardize on `$PACKAGE_MANAGER exec -- $TEST_LIBRARY ...` to fix
runnables not working with npm
Release Notes:
- Debugger Beta: Fixed issues with debugging tasks from package.json and
test runnables.
This PR releases v0.6.0 of the Zed extension API.
Support for this version of the extension API will land in Zed v0.192.x.
Release Notes:
- N/A
Marshall Bowers
created
8e40318
debugger: Show child sessions as indented and ensure they're next to the parent session (#32939)
Click to expand commit body
Closes #ISSUE
Release Notes:
- debugger: Tweaked how child sessions are shown in the session list.
Piotr Osiewicz
created
131f285
editor: Improve code completion filtering to provide fewer and more accurate suggestions (#32928)
Click to expand commit body
Closes #32756
- Uses `filter_text` from LSP source to filter items in completion list.
This fixes noisy lists like on typing `await` in Rust, it would suggest
`await.or`, `await.and`, etc., which are bad suggestions. Fallbacks to
label.
- Add `penalize_length` flag to fuzzy matcher, which was the default
behavior across. Now, this flag is set to `false` just for code
completion fuzzy matching. This fixes the case where if the query is
`unreac` and the completion items are `unreachable` and
`unreachable!()`, the item with a shorter length would have a larger
score than the other one, which is not right in the case of
auto-complete context. Now these two items will have the same fuzzy
score, and LSP `sort_text` will take over in finalizing its ranking.
- Updated test to be more utility based rather than example based. This
will help to iterate/verify logic faster on what's going on.
Before/After:
await:
<img width="600" alt="before-await"
src="https://github.com/user-attachments/assets/384138dd-a90d-4942-a430-6ae15df37268"
/>
<img width="600" alt="after-await"
src="https://github.com/user-attachments/assets/d05a10fa-bae5-49bd-9fe7-9933ff215f29"
/>
iter:
<img width="600" alt="before-iter"
src="https://github.com/user-attachments/assets/6e57ffe9-007d-4b17-9cc2-d48fc0176c8e"
/>
<img width="600" alt="after-iter"
src="https://github.com/user-attachments/assets/a8577a9f-dcc8-4fd6-9ba0-b7590584ec31"
/>
opt:
<img width="600" alt="opt-before"
src="https://github.com/user-attachments/assets/d45b6c52-c9ee-4bf3-8552-d5e3fdbecbff"
/>
<img width="600" alt="opt-after"
src="https://github.com/user-attachments/assets/daac11a8-9699-48f8-b441-19fe9803848d"
/>
Release Notes:
- Improved code completion filtering to provide fewer and more accurate
suggestions.
Smit Barmase
created
65067da
debugger: Add breakpoint list to the empty state of debug panel (#32930)
Click to expand commit body

Release Notes:
- Debugger: Added breakpoint list to the empty debug panel
Piotr Osiewicz
created
d8eb341
Fix bug where prior LSP completions can be displayed after trigger char (#32927)
Click to expand commit body
Bug in #31872
Closes #32774
Release Notes:
- Fixed a bug in LSP completions caching where prior completions may be
used when they should not, after typing a trigger char like `.`
Michael Sloan
created
70aab39
docs: Add light formatting changes to the Debugger page (#32919)
Click to expand commit body
Just some tiny little formatting improvement opportunities I stumbled
upon while working on the marketing stuff for the debugger.
Release Notes:
- N/A