Commit log

0d8f77b editor: Expand selection to word under cursor before expanding to next enclosing syntax node (#28864)

Click to expand commit body
Closes #27995

For strings in any language and Markdown, `select_larger_syntax_node`
will first select the word and then expand from there if:
- The cursor is on the word.
- The selection is inside the word.

It will not select the word and will directly proceed to expand if:
- The word is already selected.
- Multiple partial words are selected.

Todo:
- [x] Tests

Release Notes:

- Fixed `select_larger_syntax_node` to first expand to the word within a
string, and then to the larger syntax node.

Smit Barmase created

cb79420 agent: Show an error when the model requests limit has been reached (#28868)

Click to expand commit body
This PR adds an error message when the model requests limit has been
hit.

Release Notes:

- N/A

Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>

Marshall Bowers and Oleksiy Syvokon created

c641209 agent: Add GitHub action for daily eval run (#28863)

Click to expand commit body
Release Notes:

- N/A

Thomas Mickley-Doyle created

48a716f Bump Zed to v0.184 (#28861)

Click to expand commit body
Release Notes:

-N/A

Joseph T. Lyons created

25956c4 lsp: Register buffers with language server when querying inlay hints (#28855)

Click to expand commit body
We register buffers with language servers lazily when in multi-buffer
(when the excerpt is interacted with); this does not account for inlay
hints, of which a mere presence on a screen is enough to query a
language server with a path it does not recognize. This posed a problem
with typescript-language-server, which sent a notification to the user
whenever they had a multibuffer open with inlay hints enabled.

Closes #ISSUE

Release Notes:

- Fixed annoying pop-up with typescript-language-server that happened in
multi-buffers with inlay hints enabled.

Piotr Osiewicz created

4efabe1 debugger: Add Debug Panel context menu (#28847)

Click to expand commit body
This PR adds a debug panel context menu that will allow a user to select
which debug session items are visible.

The context menu will add to the pane that was right clicked on.

<img width="1275" alt="Screenshot 2025-04-16 at 2 43 36 AM"
src="https://github.com/user-attachments/assets/330322ff-69db-4731-bbaf-3544d53f2f15"
/>


Release Notes:

- N/A

Anthony Eid created

320abe9 Agent Eval: Check if SHA already fetched (#28846)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

9a9f2e7 Agent Eval: Initial support for running examples repeatedly (#28844)

Click to expand commit body
Not ideal as it creates a separate worktree for each repetition

Release Notes:

- N/A

Michael Sloan created

609895d Agent Eval: bounded concurrency (#28843)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

da2d8bd Agent Eval: Distinguish tool successes and failures in log (#28839)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

6267a14 Render error message (not pointer) (#28797)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Conrad Irwin created

aceecec Remove user agent from Git (#28798)

Click to expand commit body
Closes #28629

Azure seems to break if this is set.

Release Notes:

- git: Stop sending a custom HTTP header on remote operations

Conrad Irwin created

f3f2c6d Fix commondir discovery for git submodules (#28802)

Click to expand commit body
The implementation of commondir discovery in #27885 was wrong, most
significantly for submodules but also for worktrees in rarer cases. The
correct procedure, implemented in this PR, is:

> If `.git` is a file, look at the `gitdir` it points to. If that
directory has a file called `commondir`, read that file to find the
commondir. (This is what happens for worktrees.) Otherwise, the
commondir is the same as the gitdir. (This is what happens for
submodules.)

Release Notes:

- N/A

Cole Miller created

41cffa6 Fix anchor comparison in multi buffer after expanding excerpts (#28828)

Click to expand commit body
Release Notes:

- Fixed incorrect excerpt comparison when replacing them

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Co-authored-by: Conrad Irwin <conrad@zed.dev>

Kirill Bulatov , Conrad Irwin , and Conrad Irwin created

b486e32 collab: Add `GET /billing/usage` endpoint (#28832)

Click to expand commit body
This PR adds a `GET /billing/usage` endpoint for retrieving billing
usage to show on the `zed.dev/account` page.

Release Notes:

- N/A

Marshall Bowers created

222d4a2 agent: Add telemetry for eval runs (#28816)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Joseph <joseph@zed.dev>

Thomas Mickley-Doyle and Joseph created

1eb9486 docs: Update Rails test task to run using name (#28574)

Click to expand commit body
The author of Rails' minitest integration
[recommended](https://github.com/zed-extensions/ruby/issues/56#issuecomment-2795010202)
using the test name rather than line number.

This solves the problem in
https://github.com/zed-extensions/ruby/issues/56.

Note that everything is within `command`. I first tried using `args`:

```json
{
  "command": "bin/rails",
  "args": ["test", "$ZED_RELATIVE_FILE -n /$ZED_SYMBOL/"],
  "tags": ["ruby-test"]
}
```
but minitest receives this as:

```
Run options: -n "/\"foo bar\"/" --seed 31855
```

which doesn't match due to the escaping.

Release Notes:

- N/A

Andy Waite created

35da150 feedback: Update issue template URL (#28790)

Click to expand commit body
Closes #28782 

The linked template path was updated in #28250. This PR also adds the
change to the zed action.

Since the issue template link was also referenced in workspace, I
updated that occurrence to use the `FileBugReport` action instead. For
that, I had to move the action to `zed_actions`. However, with this
change only one link has to be updated and any database related errors
will have the zed version specs attached to them automatically.

Release Notes:

- Fixed an issue where the `file bug report` action would redirect to an
outdated URL.

Finn Evers created

1d98b33 git_panel: Pad end of list to avoid obscuring final entry with horizontal scrollbar (#28823)

Click to expand commit body
Closes #27406

Release Notes:

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

Ben Kunkle created

4e8ecfc Increase `cx.condition` timeout to fix flaky test (#28822)

Click to expand commit body
We've been seeing `test_no_duplicated_completion_requests` fail randomly
with the error "condition timed out".

But it's always failing on MacOS, and MacOS sets a shorter timeout of
100ms, compared to 1s from other platforms, this PR increases MacOS's
timeout to match other platforms'.

Release Notes:

- N/A

João Marcos created

134a056 docs: Missing comma (#28780)

Click to expand commit body
Release Notes:

- N/A

Peter Tripp created

3f4d4af fix slicing crash in `do_completion` (#28820)

Click to expand commit body
Release Notes:

- N/A

João Marcos created

68ec1d7 collab: Include `subscription_period` in LLM token claims (#28819)

Click to expand commit body
This PR updates the LLM token claims to include the user's active
subscription period.

Release Notes:

- N/A

Marshall Bowers created

102ea6a Add support for judge repetitions in eval (#28811)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Thomas <thomas@zed.dev>

Michael Sloan and Thomas created

5d3718d Diagnostics small fixes (#28817)

Click to expand commit body
- **Clear diagnostics cache when toggling warnings**
- **Fix focus when first adding excerpts**

Closes #ISSUE

Release Notes:

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

Conrad Irwin created

f1f5d60 debugger: Save debug session layout when changing focus or closing session (#28788)

Click to expand commit body
This fixes a bug where resizing the panes wouldn't be serialized and
persist

Release Notes:

- N/A

Co-authored-by: Piotr Osiewicz <peterosiewicz@gmail.com>

Anthony Eid and Piotr Osiewicz created

60624d8 collab: Add `subscription_usages` table (#28818)

Click to expand commit body
This PR adds a new `subscription_usages` table to the LLM database.

We'll use this table to track usage by subscribers.

Records will be looked up using `(user_id, period_start_at,
period_end_at)` to find the record for a user's current subscription
period.

Release Notes:

- N/A

Marshall Bowers created

91755b2 agent: Add scrollbar to the settings view (#28814)

Click to expand commit body
Release Notes:

- agent: Added a scrollbar to the panel settings view.

Danilo Leal created

e34fee5 debugger: Fix Rust debugger runnable (#28801)

Click to expand commit body
We ran the locator after configuring the debugger binary which cause the
binary to never use the configuration from the cargo locator. This PR
fixes this by correcting the order of configuration.


co-authored-by Anthony Eid <anthony@zed.dev>

Release Notes:

- N/A

---------

Co-authored-by: piotr <piotr@zed.dev>

Anthony Eid and piotr created

dad6067 collab: Add support for subscribing to Zed Pro trials (#28812)

Click to expand commit body
This PR adds support for subscribing to Zed Pro trials (and then
upgrading from a trial to Zed Pro).

Release Notes:

- N/A

Marshall Bowers created

5619a3e editor: Fix bad `hide_mouse_cursor` call in `find_all_references` (#28810)

Click to expand commit body
Release Notes:

- N/A

Smit Barmase created

06ad45c Fix rejecting multiple hunks in `AgentDiff` (#28806)

Click to expand commit body
Release Notes:

- Fixed a bug that caused `Reject All` to not always reject _all_ the
hunks.

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>

Antonio Scandurra and Max Brunsfeld created

7e63870 docs: Add troubleshooting guide for Linux audio issues (#28803)

Click to expand commit body
These steps solved audio issues on my system (Tuxedo OS), but should be
applicable to any PipeWire/PulseAudio system that has more than one
audio interface.

I suspect that enabling `rtc_use_pipewire` in [LiveKit SDK](https://github.com/livekit/rust-sdks/blob/0773bcec4e24812b382e71166b2ab359bf1a9384/webrtc-sys/libwebrtc/build_linux.sh#L105C1-L105C27)
could help as well, but I haven't tried it.

Release Notes:

- N/A

Oleksiy Syvokon created

0182e09 eval: Do not create run files for skipped examples (#28800)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

6f6e207 editor: Move mouse context menu code actions at bottom (#28799)

Click to expand commit body
Release Notes:

- N/A

Smit Barmase created

149cdec collab: Add kind and period start/end timestamps to `billing_subscriptions` (#28796)

Click to expand commit body
This PR updates the `billing_subscriptions` table with some new columns

- `kind` - The kind of the description (used to denote Zed Pro vs
existing)
- `stripe_current_period_start` - The Stripe timestamp of when the
subscriptions current period starts
- `stripe_current_period_end` - The Stripe timestamp of when the
subscriptions current period ends

Release Notes:

- N/A

Co-authored-by: Mikayla <mikayla@zed.dev>

Marshall Bowers and Mikayla created

92dc812 git_ui: Fix commit/amend telemetry and amend click from commit modal (#28795)

Click to expand commit body
Release Notes:

- N/A

Smit Barmase created

c7e80c8 gemini: Pass system prompt as system instructions (#28793)

Click to expand commit body
https://ai.google.dev/gemini-api/docs/text-generation#system-instructions

Release Notes:

- agent: Improve performance of Gemini models

Bennet Bo Fenner created

c381a50 agent: Show a warning when some tools are incompatible with the selected model (#28755)

Click to expand commit body
WIP

<img width="644" alt="image"
src="https://github.com/user-attachments/assets/b24e1a57-f82e-457c-b788-1b314ade7c84"
/>


<img width="644" alt="image"
src="https://github.com/user-attachments/assets/b158953c-2015-4cc8-b8ed-35c6fcbe162d"
/>


Release Notes:

- agent: Improve compatibility with Gemini Tool Calling APIs. When a
tool is incompatible with the Gemini APIs a warning indicator will be
displayed. Incompatible tools will be automatically excluded from the
conversation

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>

Bennet Bo Fenner and Danilo Leal created

ff4334e eval: Fix stalling on tool confirmation (#28786)

Click to expand commit body
The `always_allow_tool_actions` setting would get overridden with the
default when we loaded each example project, leading to examples
stalling when they run a tool that needed confirmation. There's now a
separate `runner_settings.json` file where we can configure the
environment for the eval.

Release Notes:

- N/A

---------

Co-authored-by: Oleksiy <oleksiy@zed.dev>

Agus Zubiaga and Oleksiy created

b1e4e60 agent: Add more Rust code examples, update TODO check (#28737)

Click to expand commit body
Release Notes:

- N/A

Thomas Mickley-Doyle created

d0f8064 gpui: Fix `snap_to_window_with_margin` when window has client inset (#27330)

Click to expand commit body
Release Notes:

- Fixed popup menu snap to window to leave margin on Linux.

This change to continue #17159 to fix same thing on Linux.

| Before | After |
| -- | -- |
| ![Pasted
image](https://github.com/user-attachments/assets/3129d42c-7253-4a3f-a428-86e2a3df38ff)
|
![image](https://github.com/user-attachments/assets/8dc83377-9df7-45ba-805b-1cfdea612ae0)
|

Jason Lee created

b6cce1e collab: Add support for launching a general-purpose billing portal session (#28785)

Click to expand commit body
This PR adds a new `ManageSubscriptionIntent` that allows uses to launch
a general-purpose billing portal session to manage their subscription.

Release Notes:

- N/A

Marshall Bowers created

05fc9ee call: Fix crash when screensharing on MacOS (#28784)

Click to expand commit body
Closes #ISSUE

Release Notes:

- Fixed a crash when screensharing on MacOS

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

Piotr Osiewicz , Conrad , and Anthony Eid created

8f52bb9 agent: Add ability to interrupt current generation with a new message (#28762)

Click to expand commit body
If you wanted to interrupt the current LLM response that's generating to
send a follow up message, you'd need to stop it first, type your new
message, and then send it. Now, you can just type your new message while
there's a response generating and send it. This will interrupt the
previous response generation and kick off a new one.

Release Notes:

- agent: Allow to send a new message while a response is generating,
interrupting the LLM to focus instead on the most recent prompt.

Danilo Leal created

144fd0b Fix the git panel's commit button sometimes opening the modal (#28767)

Click to expand commit body
Release Notes:

- N/A

Cole Miller created

cd4a3fd debugger: Skip out-of-bounds breakpoints when deserializing (#28781)

Click to expand commit body
Previously we'd crash when deserializing a breakpoint whose row number
was out of bounds (could happen if the file was externally modified).
This PR fixes that code to skip such breakpoints.

An alternative would be to clip the deserialized `PointUtf16`, but I
think that would mostly result in nonsensical breakpoints.

Release Notes:

- N/A

Cole Miller created

42c3f4e debugger_ui: Preview thread state when using the dropdown (#28778)

Click to expand commit body
This PR changes the thread list dropdown menu in the debugger UI to
eagerly preview the state of a thread when selecting it, instead of
waiting until confirming the selection.

Release Notes:

- N/A

Cole Miller created

90dec1d collab: Add Zed Pro checkout flow (#28776)

Click to expand commit body
This PR adds support for initiating a checkout flow for Zed Pro.

Release Notes:

- N/A

Marshall Bowers created

afabcd1 Update block diagnostics (#28006)

Click to expand commit body
Release Notes:

- "Block" diagnostics (that show up in the diagnostics view, or when
using `f8`/`shift-f8`) are rendered more clearly
- `f8`/`shift-f8` now always go to the "next" or "prev" diagnostic,
regardless of the state of the editor

![Screenshot 2025-04-09 at 16 42
09](https://github.com/user-attachments/assets/ae6d2ff6-5183-4b74-89d0-fefee1aa11e3)

---------

Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Co-authored-by: Julia Ryan <juliaryan3.14@gmail.com>

Conrad Irwin , Kirill Bulatov , and Julia Ryan created