Commit log

8bac692 acp: Never build a request with a tool use without its corresponding result (#36847)

Click to expand commit body
Release Notes:

- N/A

Antonio Scandurra created

3b4c891 acp: Cancel editing when focus is lost and message was not changed (#36822)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

29120ad acp: Fix accidentally reverted thread view changes (#36825)

Click to expand commit body
Merge conflict resolution for #36741 accidentally reverted the changes
in #36670 to allow expanding terminals individually and in #36675 to
allow collapsing edit cards. This PR re-applies those changes, fixing
the regression.

Release Notes:

- N/A

Cole Miller created

a313e9d acp: Animate loading context creases (#36814)

Click to expand commit body
- Add pulsating animation for context creases while they're loading
- Add spinner in message editors (replacing send button) during the
window where sending has been requested, but we haven't finished loading
the message contents to send to the model
- During the same window, ignore further send requests, so we don't end
up sending the same message twice if you mash enter while loading is in
progress
- Wait for context to load before rewinding the thread when sending an
edited past message, avoiding an empty-looking state during the same
window

Release Notes:

- N/A

Cole Miller created

ad6bc45 acp: Support launching custom agent servers (#36805)

Click to expand commit body
It's enough to add this to your settings:

```json
{
    "agent_servers": {
        "Name Of Your Agent": {
            "command": "/path/to/custom/agent",
            "args": ["arguments", "that", "you", "want"],
        }
    }
}
```

Release Notes:

- N/A

Antonio Scandurra created

7bf6cc0 acp: Eagerly load all kinds of mentions (#36741)

Click to expand commit body
This PR makes it so that all kinds of @-mentions start loading their
context as soon as they are confirmed. Previously, we were waiting to
load the context for file, symbol, selection, and rule mentions until
the user's message was sent. By kicking off loading immediately for
these kinds of context, we can support adding selections from unsaved
buffers, and we make the semantics of @-mentions more consistent.

Loading all kinds of context eagerly also makes it possible to simplify
the structure of the MentionSet and the code around it. Now MentionSet
is just a single hash map, all the management of creases happens in a
uniform way in `MessageEditor::confirm_completion`, and the helper
methods for loading different kinds of context are much more focused and
orthogonal.

Release Notes:

- N/A

---------

Co-authored-by: Conrad <conrad@zed.dev>

Cole Miller and Conrad created

e926e0b acp: Remove ACP v0 (#36785)

Click to expand commit body
We had a few people confused about why some features weren't working due
to the fallback logic.

It's gone.

Release Notes:

- N/A

Conrad Irwin created

abe442c thread view: Simplify tool call & improve required auth state UIs (#36783)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

a422082 agent2: Tweak usage callout border (#36777)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

7e2a208 thread_view: Adjust empty state and error displays (#36774)

Click to expand commit body
Also changes the message editor placeholder depending on the agent.

Release Notes:

- N/A

---------

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

Danilo Leal and Conrad Irwin created

321f955 ACP debug tools pane (#36768)

Click to expand commit body
Adds a new "acp: open debug tools" action that opens a new workspace
item with a log of ACP messages for the active connection.

Release Notes:

- N/A

Agus Zubiaga created

14c599e Remove style lints for now (#36651)

Click to expand commit body
Closes #36577

Release Notes:

- N/A

Conrad Irwin created

f8a8f4f zed 0.201.3

Joseph T. Lyons created

399d059 onboarding: Remove accept AI ToS from within Zed (#36612)

Click to expand commit body
Users now accept ToS from Zed's website when they sign in to Zed the
first time. So it's no longer possible that a signed in account could
not have accepted the ToS.


Release Notes:

- N/A

---------

Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>

Anthony Eid and Mikayla Maki created

e96612f themes: Implement Bright Black and Bright White colors (#36761)

Click to expand commit body
Before:
<img width="356" height="50" alt="image"
src="https://github.com/user-attachments/assets/c4f4ae53-8820-4f22-b306-2e5062cfe552"
/>

After:
<img width="340" height="41" alt="image"
src="https://github.com/user-attachments/assets/8e69d9dc-5640-4e41-845d-f299fc5954e3"
/>


Release Notes:

- Fixed ANSI Bright Black and Bright White colors

Oleksiy Syvokon created

8550b27 thread view: Add more UI improvements (#36750)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

6d7add4 thread view: Inform when editing previous messages is unavailable (#36727)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

c975846 ai: Auto select user model when there's no default (#36722)

Click to expand commit body
This PR identifies automatic configuration options that users can select
from the agent panel. If no default provider is set in their settings,
the PR defaults to the first recommended option. Additionally, it
updates the selected provider for a thread when a user changes the
default provider through the settings file, if the thread hasn't had any
queries yet.

Release Notes:

- agent: automatically select a language model provider if there's no
user set provider.

---------

Co-authored-by: Michael Sloan <michael@zed.dev>

Anthony Eid and Michael Sloan created

d53dedc acp: Support calling tools provided by MCP servers (#36752)

Click to expand commit body
Release Notes:

- N/A

Antonio Scandurra created

6b4c911 acp: Fix panic with edit file tool (#36732)

Click to expand commit body
We had a frequent panic when the agent was using our edit file tool. The
root cause was that we were constructing a `BufferDiff` with
`BufferDiff::new`, then calling `set_base_text`, but not waiting for
that asynchronous operation to finish. This means there was a window of
time where the diff's base text was set to the initial value of
`""`--that's not a problem in itself, but it was possible for us to call
`PendingDiff::update` during that window, which calls
`BufferDiff::update_diff`, which calls
`BufferDiffSnapshot::new_with_base_buffer`, which takes two arguments
`base_text` and `base_text_snapshot` that are supposed to represent the
same text. We were getting the first of those arguments from the
`base_text` field of `PendingDiff`, which is set immediately to the
target base text without waiting for `BufferDiff::set_base_text` to run
to completion; and the second from the `BufferDiff` itself, which still
has the empty base text during that window.

As a result of that mismatch, we could end up adding `DeletedHunk` diff
transforms to the multibuffer for the diff card even though the
multibuffer's base text was empty, ultimately leading to a panic very
far away in rendering code.

I've fixed this by adding a new `BufferDiff` constructor for the case
where the buffer contents and the base text are (initially) the same,
like for the diff cards, and so we don't need an async diff calculation.
I also added a debug assertion to catch the basic issue here earlier,
when `BufferDiffSnapshot::new_with_base_buffer` is called with two base
texts that don't match.

Release Notes:

- N/A

---------

Co-authored-by: Conrad <conrad@zed.dev>

Cole Miller and Conrad created

51d678d acp: Fix history search (#36734)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

e5588fc acp: Tool name prep (#36726)

Click to expand commit body
Prep work for deduping tool names

Release Notes:

- N/A

Ben Brandt created

52d14c4 thread view: Add small refinements to tool call UI (#36723)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

14a50e2 acp: Fix `MessageEditor::set_message` for sent messages (#36715)

Click to expand commit body
The `PromptCapabilities` introduced in previous PRs were only getting
set on the main message editor and not for the editors in user messages.
This caused a bug where mentions would disappear after resending the
message, and for the completion provider to be limited to files.

Release Notes:

- N/A

Agus Zubiaga created

3d80be6 acp: Allow editing of thread titles in agent2 (#36706)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Richard Feldman <oss@rtfeldman.com>

Antonio Scandurra and Richard Feldman created

22dd7ac thread view: Add improvements to the UI (#36680)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

48f51c0 acp: Remove invalid creases on edit (#36708)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>

Agus Zubiaga and Bennet Bo Fenner created

2107274 acp: Hide loading diff animation for external agents and update in place (#36699)

Click to expand commit body
The loading diff animation can be jarring for external agents because
they stream the diff at the same time the tool call is pushed, so it's
only displayed while we're asynchronously calculating the diff. We'll
now only show it for the native agent.

Also, we'll now only update the diff when it changes, which avoids
unnecessarily hiding it for a few frames.

Release Notes:

- N/A

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>

Agus Zubiaga and Bennet Bo Fenner created

39b6558 acp: Move ignored integration tests behind e2e flag (#36711)

Click to expand commit body
Release Notes:

- N/A

Ben Brandt created

ca897fc Avoid suspending panicking thread while crashing (#36645)

Click to expand commit body
On the latest build @maxbrunsfeld got a panic that hung zed. It appeared
that the hang occured after the minidump had been successfully written,
so our theory on what happened is that the `suspend_all_other_threads`
call in the crash handler suspended the panicking thread (due to the
signal from simulate_exception being received on a different thread),
and then when the crash handler returned everything was suspended so the
panic hook never made it to the `process::abort`.

This change makes the crash handler avoid _both_ the current and the
panicking thread which should avoid that scenario.

Release Notes:

- N/A

Julia Ryan created

c5d96e1 Use Tokio::spawn instead of getting an executor handle (#36701)

Click to expand commit body
This was causing panics due to the handles being dropped out of order.
It doesn't seem possible to guarantee the correct drop ordering given
that we're holding them over await points, so lets just spawn on the
tokio executor itself which gives us access to the state we needed those
handles for in the first place.

Fixes: ZED-1R

Release Notes:

- N/A

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Julia Ryan , Conrad Irwin , and Marshall Bowers created

e42a0da Upload telemetry event on crashes (#36695)

Click to expand commit body
This will let us track crashes-per-launch using the new minidump-based
crash reporting.

Release Notes:

- N/A

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Julia Ryan , Conrad Irwin , and Marshall Bowers created

ca0a20f acp: Refactor agent2 `send` to have a clearer control flow (#36689)

Click to expand commit body
Release Notes:

- N/A

Antonio Scandurra created

3ea59d2 zed 0.201.2

Joseph T. Lyons created

e436b82 acp: Use `ResourceLink` for agents that don't support embedded context (#36687)

Click to expand commit body
The completion provider was already limiting the mention kinds according
to `acp::PromptCapabilities`. However, it was still using
`ContentBlock::EmbeddedResource` when
`acp::PromptCapabilities::embedded_context` was `false`. We will now use
`ResourceLink` in that case making it more complaint with the
specification.

Release Notes:

- N/A

Agus Zubiaga created

20710a4 Fix more improper uses of the `buffer_id` field of `Anchor` (#36636)

Click to expand commit body
Follow-up to #36524 

Release Notes:

- N/A

Cole Miller created

ca67e06 Show excerpt dividers in `without_headers` multibuffers (#36647)

Click to expand commit body
Release Notes:

- Fixed diff cards in agent threads not showing dividers between
disjoint edited regions.

Cole Miller created

7f95310 acp: Detect gemini auth errors and show a button (#36641)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Conrad Irwin created

bb32d45 acp: Hide history unless in native agent (#36644)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

79064d1 acp: Use file icons for edit tool cards when ToolCallLocation is known (#36684)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

129b93a acp: Allow collapsing edit file tool calls (#36675)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

0250635 acp: Use unstaged style for diffs (#36674)

Click to expand commit body
Release Notes:

- N/A

Antonio Scandurra created

90946ae agent2: Allow expanding terminals individually (#36670)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

8c6a1d1 Fix @-mentioning threads when their summary isn't ready yet (#36664)

Click to expand commit body
Release Notes:

- N/A

Antonio Scandurra created

b7783ef acp: Suggest upgrading to preview instead of latest (#36648)

Click to expand commit body
A previous PR changed the install command from `@latest` to `@preview`,
but the upgrade command kept suggesting `@latest`.

Release Notes:

- N/A

Agus Zubiaga created

7f0ce7c acp: Add e2e test support for NativeAgent (#36635)

Click to expand commit body
Release Notes:

- N/A

Ben Brandt created

1c91d4b remote: Fix toolchain RPC messages not being handled because of the entity getting dropped (#36665)

Click to expand commit body
Release Notes:

- N/A

Piotr Osiewicz created

5e27924 acp: Update to 0.0.30 (#36643)

Click to expand commit body
See: https://github.com/zed-industries/agent-client-protocol/pull/20

Release Notes:

- N/A

Agus Zubiaga created

e120ff6 acp: Reliably suppress gemini abort error (#36640)

Click to expand commit body
https://github.com/zed-industries/zed/pull/36633 relied on the prompt
request responding before cancel, but that's not guaranteed


Release Notes:

- N/A

Agus Zubiaga created

ca5f543 zed 0.201.1

Joseph T. Lyons created