Commit log

c2cd4fd agent: Show request usage in the panel (#29006)

Click to expand commit body
This PR adds a banner showing request usage in the Agent panel:

<img width="640" alt="Screenshot 2025-04-17 at 5 51 46 PM"
src="https://github.com/user-attachments/assets/e0eb036c-57c1-441c-bbab-7dab1c6e56d9"
/>

Only visible to users on the new billing.

Note to Joseph: Doesn't need to be cherry-picked to Preview.

Release Notes:

- N/A

---------

Co-authored-by: Nate <nate@zed.dev>

Marshall Bowers and Nate created

4095011 debugger_ui: Show a toast when setting breakpoints fails (#28815)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Anthony <anthony@zed.dev>

Cole Miller , Anthony Eid , and Anthony created

80a2f71 vim: Add `ctrl-^` (#28648)

Click to expand commit body
Alias for Ctrl-6: https://neovim.io/doc/user/editing.html#CTRL-%5E

Also removed Ctrl-6 from the ProjectPanel context, iiuc, it shouldn't
have any effect there

Release Notes:

- vim: Added `ctrl-^` as an alias for `ctrl-6` in the default vim keymap

5brian created

d93141b agent: Extract usage information from response headers (#29002)

Click to expand commit body
This PR updates the Agent to extract the usage information from the
response headers, if they are present.

For now we just log the information, but we'll be using this soon to
populate some UI.

Release Notes:

- N/A

Marshall Bowers created

b402007 nix: Add libX11 dependency for X11 support (#28938)

Click to expand commit body
Closes #28937 

Release Notes:

- N/A

AidanV created

be63d51 zeta: Extract usage information from response headers (#28999)

Click to expand commit body
This PR updates the Zeta provider to extract the usage information from
the response headers, if they are present.

For now we just log the information, but we'll need to figure out where
this needs to get threaded through to in order to display it in the UI.

Release Notes:

- N/A

Marshall Bowers created

8660101 debugger: Configure default pane layout conditionally based on capabilities (#28991)

Click to expand commit body
This fixes a debug panic that happened when closing a debug session item
through the debug panel context menu. The default layout now only
includes module list and loaded sources list if they're supported.


Release Notes:

- N/A

Anthony Eid created

1aa1b2b Fix multiline completions when surroundings don't match completion text (#28995)

Click to expand commit body
Follow up to the scenarios I overlooked in
https://github.com/zed-industries/zed/pull/28586.

Release Notes:

- N/A

João Marcos created

58d8b91 collab: Treat `trialing` subscriptions as `active` (#28992)

Click to expand commit body
This PR makes it so billing subscriptions in the `trialing` state are
considered `active`.

Release Notes:

- N/A

Marshall Bowers created

ba58816 editor: Revert flattening of code actions in mouse context menu (#28988)

Click to expand commit body
In light of making context not move dynamically, reverting back these
changes.

- Doing it async will lead to a loading state, which moves the context
menu.
- Doing it sync introduces noticeable lag in opening the context menu.
   
Future idea is to introduce fixed code actions like refactor, rewrite,
etc depending on code action kind [(see
more)](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#codeActionKind)
which will use submenus.
 
Release Notes:

- N/A

Smit Barmase created

7e928dd Implement dragging external files to remote projects (#28987)

Click to expand commit body
Release Notes:

- Added the ability to copy external files into remote projects by
dragging them onto the project panel.

---------

Co-authored-by: Peter Tripp <petertripp@gmail.com>

Max Brunsfeld and Peter Tripp created

fade49a collab: Don't use a separate product for Zed Pro trials (#28986)

Click to expand commit body
This PR removes the separate product used for the Zed Pro trials, in
favor of using Stripe's trial functionality.

Release Notes:

- N/A

Marshall Bowers created

e4f692a html: Improve syntax highlighting (#28184)

Click to expand commit body
| Zed 0.180.2 | With this PR |
| --- | --- |
|
![Image](https://github.com/user-attachments/assets/89d70ba1-791b-462e-9a14-31c75bcebb7e)
|
![Image](https://github.com/user-attachments/assets/9199499e-071e-49b3-8536-b04b8ce5a222)
|


```html
<script>
  return <div class="main content"></div>
</script>
<div class="main content"></div>
<span></spn>
```

Changes homogenize JSX and HTML

- `"`: `string`
- `=`: `operator` -> `punctuation.delimiter` like in
[JSX](https://github.com/zed-industries/zed/blob/3775496b84cfc9ebf27376119742f3484d4997f2/crates/languages/src/javascript/highlights.scm#L246),
[VSCode](https://github.com/microsoft/vscode/blob/336801752dd09afa76f5429fba846e533bcdb7d9/extensions/html/syntaxes/html.tmLanguage.json#L382)
- `erroneous_end_tag_name`: `keyword` -> not a keyword

Release Notes:

  - Improved HTML highlighting

chbk created

c21bca0 Correct typos in GPUI key_dispatch.rs comments (#28926)

Click to expand commit body
just noticed an extra semicolon and a reference to the nonexistant
`keymap_context` function!

Release Notes:

- N/A

Noah Lemen created

acc4a5c Add example agent tool preview (#28984)

Click to expand commit body
This PR adds an example of rendering previews for tools using the new
Agent ToolCard style.

![CleanShot 2025-04-17 at 13 03
12@2x](https://github.com/user-attachments/assets/d4c7d266-cc32-4038-9170-f3e070fce60e)

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Nate Butler and Marshall Bowers created

7a95c14 Revert "git_panel: Pad end of list to avoid obscuring final entry with horizontal scrollbar (#28823)" (#28971)

Click to expand commit body
This reverts commit 1d98b33ae07a72e9e26dc9b0b54a8baa4fd5f8c1.

Not sure why, but seems like this breaks the binary search used to
correlate items to each other in the lists.

Release Notes:

- N/A

Conrad Irwin created

6dd622d eval: Fix git revision existence check (#28959)

Click to expand commit body
This change fixes a bug in the worktree initialization.

Details: `git ref-parse --verify $HASH` just checks that $HASH is a
well-formed hash and will successfully return even if $HASH doesn't
exist.

Release Notes:

- N/A

Oleksiy Syvokon created

e7afbbd editor: Dismiss mouse context menus on selections change (#28729)

Click to expand commit body
Closes #ISSUE

Adds an extra subscription for mouse context menus (i.e. right click context menu) so that when selections change in the editor while the context menu is open (e.g. with vim motions), the context menu closes.

Release Notes:

- N/A

Ben Kunkle created

133932e Add support for remote branches to the branch picker (#28978)

Click to expand commit body
Release Notes:

- Added support for remote branches to the branch picker

---------

Co-authored-by: Cole Miller <m@cole-miller.net>

Mikayla Maki and Cole Miller created

3ca6358 Escape all runnables' cargo extra arguments coming from rust-analyzer (#28977)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/28947

Release Notes:

- Fixed certain doctests not being run properly

Kirill Bulatov created

2a878ee agent: Add design tweaks (#28963)

Click to expand commit body
One more batch of fine-tuning the agent panel's design.

Release Notes:

- N/A

Danilo Leal created

8117940 Add support for OpenAI o3 and o4-mini models (#28881)

Click to expand commit body
Release Notes:

- Add support for OpenAI o3 and o4-mini models via OpenAI API and
Copilot Chat providers.

---------

Co-authored-by: Peter Tripp <peter@zed.dev>

Umesh Yadav and Peter Tripp created

002235d agent: Support adding selection as context (#28964)

Click to expand commit body
https://github.com/user-attachments/assets/42ebe911-3392-48f7-8583-caab285aca09

Release Notes:

- agent: Support adding selections via @selection or `assistant: Quote
selection` as context

Bennet Bo Fenner created

f07695c Remove evals crate (#28968)

Click to expand commit body
Release Notes: 
- N/A

Agus Zubiaga created

bdd0cbb Fix snippets from extensions being listed twice (#28940)

Click to expand commit body
lookup_snippets() merges global snippets and extension snippets, but
global_snippets::lookup_snippets() also returns extension snippets, make
them double

Closes #28661 

Release Notes:

- Fixed a bug where extension provided snippets were being displayed in
duplicate.

redforks created

022a110 agent: Fix "open thread as markdown" button (#28962)

Click to expand commit body
Just now realized that the reason this button wasn't working reliably is
because we weren't passing the index to it. It's now fixed.

Release Notes:

- N/A

Danilo Leal created

b0200c4 agent: Show context server name in incompatible tool warning (#28954)

Click to expand commit body
<img width="410" alt="image"
src="https://github.com/user-attachments/assets/e29a0ba8-3d37-4e66-b90c-398b24da0453"
/>


Release Notes:

- N/A

Bennet Bo Fenner created

ae47829 agent: Fix system instructions typo (#28949)

Click to expand commit body
See #28793, the name of the field is actually `systemInstruction` not
`systemInstructions`.

Release Notes:

- Fixed an issue where Gemini requests would fail

Bennet Bo Fenner created

5ebb18c editor: Fix scrolling drag interrupted on gutter hovering (#28924)

Click to expand commit body
Closes #27188

This PR fixes the issue where, when you drag the scroll handle of the
editor and your mouse hovers over the gutter of the next editor,
scrolling stops. I found no good reason to stop propagation on gutter
hover.

Release Notes:

- Fixed an issue where editor scrolling would stop when the mouse
hovered over another editor's gutter.

Smit Barmase created

ded1c70 Set diagnostic width based on ems (#28936)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Conrad Irwin created

ad25cd0 Fix panic when diagnostics first opens (#28935)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Conrad Irwin created

a7a7335 edit prediction: Assign providers when client status changes (#28919)

Click to expand commit body
There was recently a change that caused the Zed Edit Prediction provider
to only be assigned when the client was connected. However, this check
happened too early, resulting in restored buffers never getting
registered. We'll now subscribe to client status changes and reassign
providers accordingly.

Release Notes:

- edit prediction: Fixed bug disabling prediction in restored buffers

Agus Zubiaga created

cbb6c22 Remove netcat dependency (#28920)

Click to expand commit body
Closes #28813
Closes #27749

Release Notes:

- Removed the need to have openbsd `netcat` (`nc`) installed on your
system in order to enter passwords for `git` or `ssh` (remote
development). If you previously installed `netcat` specifically for Zed,
you may uninstall it.

Ben Kunkle created

63b4b60 zlog: Ensure log file is flushed (#28923)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Ben Kunkle created

9ea8a9a Fix more inlay/excerpt race conditions (#28914)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Conrad Irwin created

19f542b debugger: Clear dap status indicator when dap update/download is complete (#28913)

Click to expand commit body
Release Notes:

- N/A

Anthony Eid created

70b3cb0 Update Rust crate anyhow to v1.0.98 (#28904)

Click to expand commit body
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [anyhow](https://redirect.github.com/dtolnay/anyhow) |
workspace.dependencies | patch | `1.0.97` -> `1.0.98` |

---

### Release Notes

<details>
<summary>dtolnay/anyhow (anyhow)</summary>

###
[`v1.0.98`](https://redirect.github.com/dtolnay/anyhow/releases/tag/1.0.98)

[Compare
Source](https://redirect.github.com/dtolnay/anyhow/compare/1.0.97...1.0.98)

- Add
[`self.into_boxed_dyn_error()`](https://docs.rs/anyhow/1/anyhow/struct.Error.html#method.into_boxed_dyn_error)
and
[`self.reallocate_into_boxed_dyn_error_without_backtrace()`](https://docs.rs/anyhow/1/anyhow/struct.Error.html#method.reallocate_into_boxed_dyn_error_without_backtrace)
methods for anyhow::Error
([#&#8203;415](https://redirect.github.com/dtolnay/anyhow/issues/415))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

renovate[bot] and renovate[bot] created

0170f52 Pin actions/checkout action to 11bd719 (#28896)

Click to expand commit body
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://redirect.github.com/actions/checkout) |
action | pinDigest | -> `11bd719` |

---

### 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>

renovate[bot] and renovate[bot] created

602ae84 Fix the buttons not working in key context view (#28910)

Click to expand commit body
Release Notes:

- N/A

Kirill Bulatov created

3fef3cc Use more types/constants from `zed_llm_client` (#28909)

Click to expand commit body
This PR makes it so we use more types and constants from the
`zed_llm_client` crate to avoid duplicating information.

Also updates the current usage endpoint to use limits derived from the
`Plan`.

Release Notes:

- N/A

Marshall Bowers created

78c856c debugger: Enable manually restarting a session when a DAP server doesn't support restarting (#28908)

Click to expand commit body
This PR also fixes the unexpected behavior of clicking restart when a
session is terminated and nothing happens.

And we fixed a small bug where `DebugClientAdapter.shutdown()` was never
called.

Release Notes:

- N/A

---------

Co-authored-by: Cole Miller <m@cole-miller.net>

Anthony Eid and Cole Miller created

2194669 docs: Use inline code for action (#28907)

Click to expand commit body
Oops, typo.

Release Notes:

- N/A

Smit Barmase created

fcb1efd rpc: Remove `llm` module in favor of `zed_llm_client` (#28900)

Click to expand commit body
This PR removes the `llm` module of the `rpc` crate in favor of using
the types from the `zed_llm_client`.

Release Notes:

- N/A

Marshall Bowers created

54b46fd docs: Add example for disabling default binding while keeping custom one active (#28906)

Click to expand commit body
Release Notes:

- N/A

Smit Barmase created

94cf1b0 outline_panel: Rename `outline_panel::Open` to `outline_panel::OpenSelectedEntry` (#28890)

Click to expand commit body
Closes #27171

The `outline_panel::Open` action seems to open the outline panel, but
instead, it moves the editor's cursor to the position of the selected
entry in the outline panel. This PR renames it to
`outline_panel::OpenSelectedEntry` for better clarity.

Meanwhile, there is an existing action, `outline_panel::ToggleFocus`,
that should be used for opening the outline panel.

Todo:
- [x] Added migration

Release Notes:

- Renamed `outline_panel::Open` to `outline_panel::OpenSelectedEntry`
for better clarity.

Smit Barmase created

56856fb Add a way to navigate between changes (#28891)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/19731

Adds `editor::GoToPreviousChange` and `editor::GoToNextChange` that work
the same as `vim::ChangeListOlder` and `vim::ChangeListNewer` as the
common logic was extracted and reused.

Release Notes:

- Added a way to navigate between changes with
`editor::GoToPreviousChange` and `editor::GoToNextChange`

Kirill Bulatov created

64a67a1 Remove DebugAdapterConfig (#28898)

Click to expand commit body
This is unused as of recent changes to task spawning.

Release Notes:

- N/A

Conrad Irwin created

040046e Show all warnings (#28899)

Click to expand commit body
Release Notes:

- (preview only) Fixes a bug where some warnings were not rendered
correctly in the Diagnostics view

Conrad Irwin created

0286b8a agent: Fix conversation token usage and estimate unsent message (#28878)

Click to expand commit body
The UI was mistakenly using the cumulative token usage for the token
counter. It will now display the last request token count, plus an
estimation of the tokens in the message editor and context entries that
haven't been sent yet.


https://github.com/user-attachments/assets/0438c501-b850-4397-9135-57214ca3c07a

Additionally, when the user edits a message, we'll display the actual
token count up to it and estimate the tokens in the new message.

Note: We don't currently estimate the delta when switching profiles. In
the future, we want to use the count tokens API to measure every part of
the request and display a breakdown.

Release Notes:

- agent: Made the token count more accurate and added back estimation of
used tokens as you type and add context.

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>

Agus Zubiaga , Bennet Bo Fenner , and Danilo Leal created

8de53bd agent: Add git commit ID to the eval telemetry data (#28895)

Click to expand commit body
Release Notes:

- N/A

Thomas Mickley-Doyle created