Commit log

586ab70 zed 0.185.7

Joseph T. Lyons created

4de9657 assistant_slash_commands: Be more precise in content type matching (#29124)

Click to expand commit body
While investigating https://github.com/zed-industries/zed/issues/28076,
I found out often times the content type header of a website comes with
more data, such as the `charset`. So instead of doing an equal
comparison, I changed to a `starts_with`.

You can see an example here:

```shell
$ curl -sS -D - https://github.com/zed-industries/zed/blob/main/Cargo.toml -o /dev/null | head -n 10
HTTP/2 200
date: Sun, 20 Apr 2025 10:19:52 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame,Accept-Encoding, Accept, X-Requested-With
etag: W/"92dabf048b34d04a1b1d94e29cae4aca"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
```

Release Notes:

- Improved Content Type matching of `/fetch` commands in Assistant

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

Eva Pace and Peter Tripp created

ff44d0b Restore original file content when rejecting an overwritten file (#29974)

Click to expand commit body
Release Notes:

- Fixed a bug that would cause rejecting a hunk from the agent to delete
the file if the agent had decided to rewrite that file from scratch.

Antonio Scandurra created

000c37f openai: Don't append tool calls to prior assistant messages (#29969)

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

Release Notes:

- Fixed an issue in the agent panel where OpenAI requests would fail if
the assistant begins its response with a tool call.

Max Brunsfeld created

778ff51 Fix toolbar spacing regressions (#29964)

Click to expand commit body
Cleaning up as I introduced a few regressions in this PR:
https://github.com/zed-industries/zed/pull/29866.

Release Notes:

- N/A

Danilo Leal created

ebb04b0 Update `assistant` to `agent` in settings and keymaps (#29943)

Click to expand commit body
Closes #ISSUE

Release Notes:

- Agent Beta: Renamed the top-level `assistant` settings key to `agent`.
A migration for existing settings files is included.
- Agent Beta: Moved the `assistant::ToggleFocus`,
`assistant::ToggleModelSelector`, and `assistant::OpenRulesLibrary`
actions to the `agent` namespace. Existing keymaps that mention these
actions by their old names will continue to work.

---------

Co-authored-by: Max <max@zed.dev>

Cole Miller and Max created

cd96a08 Honor the prompt field of inline assist action (#29960)

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

Release Notes:

- Fixed a bug where the `prompt` field was ignored on custom key
bindings for `InlineAssist`

Co-authored-by: Michael Sloan <mgsloan@gmail.com>

Max Brunsfeld and Michael Sloan created

a47a8d8 Allow dragging files and tabs into the agent panel (#29959)

Click to expand commit body
Release Notes:

- Added the ability to drag files and tabs onto the new agent panel.

---------

Co-authored-by: Michael Sloan <mgsloan@gmail.com>

Max Brunsfeld and Michael Sloan created

cc2d7b9 Fix profile menu hover flickering due to documentation asides (#29958)

Click to expand commit body
Fixes https://github.com/zed-industries/zed/issues/29909 

🍐'd with @nathansobo 

Release Notes:

- N/A

---------

Co-authored-by: Nathan <nathan@zed.dev>

Mikayla Maki and Nathan created

a20c384 agent: Switch to new web search provider (#29951)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

94b3352 Add Zed Pro Trial Upsell (#29938)

Click to expand commit body
This PR adds an upsell to try Zed Pro

Release Notes:

- N/A

---------

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

Nate Butler and Marshall Bowers created

31419db Allow the agent panel font size to be customized (#29954)

Click to expand commit body
You can set `agent_font_size` as a top-level settings key. You can also
use `zed::IncreaseBufferFontSize` and `zed::DecreaseBufferFontSize` and
`zed::ResetBufferFontSize` the agent panel is focused via the standard
bindings to adjust the agent font size. In the future, it might make
sense to rename these actions to be more general since "buffer" is now a
bit of a misnomer. 🍐'd with @mikayla-maki

Release Notes:

- N/A

---------

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

Nathan Sobo and Mikayla Maki created

51bfe9d Use the same context store for all inline assists in a project (#29953)

Click to expand commit body
Release Notes:

- Made context attachments in inline assist prompts persist across
inline assist invocations.

Co-authored-by: Michael Sloan <mgsloan@gmail.com>

Max Brunsfeld and Michael Sloan created

971fc5c inline_completion_button: Show the initial usage data from the server (#29952)

Click to expand commit body
This PR updates the usage indicator for edit predictions to show the
initial usage data returned from the server.

Release Notes:

- N/A

Marshall Bowers created

f9fa99e Allow attaching text threads as context (#29947)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Michael Sloan <mgsloan@gmail.com>

Max Brunsfeld and Michael Sloan created

aae502e Allow agent edits to be accepted/rejected before the end the turn (#29941)

Click to expand commit body
Release Notes:

- N/A

Nathan Sobo created

cb62091 Terminal tool improvements (#29924)

Click to expand commit body
WIP

- On macOS/Linux, run the command in bash instead of the user's shell
- Try to prevent the agent from running commands that expect interaction

Release Notes:

- Agent Beta: Switched to using `bash` (if available) instead of the
user's shell when calling the terminal tool.
- Agent Beta: Prevented the agent from hanging when trying to run
interactive commands.

---------

Co-authored-by: WeetHet <stas.ale66@gmail.com>

Cole Miller and WeetHet created

108005f context_store: Refactor state management (#29910)

Click to expand commit body
Because we instantiated `ContextServerManager` both in `agent` and
`assistant-context-editor`, and these two entities track the running MCP
servers separately, we were effectively running every MCP server twice.

This PR moves the `ContextServerManager` into the project crate (now
called `ContextServerStore`). The store can be accessed via a project
instance. This ensures that we only instantiate one `ContextServerStore`
per project.

Also, this PR adds a bunch of tests to ensure that the
`ContextServerStore` behaves correctly (Previously there were none).

Closes #28714
Closes #29530

Release Notes:

- N/A

Bennet Bo Fenner created

71f7100 agent: Handle attempts to use hallucinated tools (#29946)

Click to expand commit body
This change:

1. Catches attempts to use missing tools. If this happens, we now send
Agent a message listing available tools, after which Agent can
gracefully recover. Prior behavior: thread would stop in a broken state.

Example of a hallucinated call and a message we send back: 

![image](https://github.com/user-attachments/assets/92a8f700-b192-4038-8c7e-0a74ca2e0146)

2. Adds evals for hallucinated tool use and imagined edits
3. Adds ability to configure a profile name in evals.



Release Notes:

- N/A

Oleksiy Syvokon created

6b5c834 zed 0.185.6

Joseph T. Lyons created

b65b251 agent: Improve terminal tool card design (#29712)

Click to expand commit body
To-dos:

- [x] Expose the command to defend against cases where that's just super
long
- [x] Tackle the vertical scroll conflict with panel scroll
- [x] Reduce default font-size

Release Notes:

- N/A

---------

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Co-authored-by: Agus Zubiaga <hi@aguz.me>

Danilo Leal , Ben Brandt , Mikayla Maki , and Agus Zubiaga created

3b32760 agent: Load usage eagerly (#29937)

Click to expand commit body
Release Notes:

- N/A

---------

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

Nate Butler and Marshall Bowers created

185bd06 collab: Pass down billing information in `UpdatePlan` message (#29929)

Click to expand commit body
This PR updates the `UpdatePlan` message to include some additional
information about the user's billing subscription usage.

Release Notes:

- N/A

Marshall Bowers created

22dda1f ollama: Add tool call support (#29563)

Click to expand commit body
The goal of this PR is to support tool calls using ollama. A lot of the
serialization work was done in
https://github.com/zed-industries/zed/pull/15803 however the abstraction
over language models always disables tools.

## Changelog:

- Use `serde_json::Value` inside `OllamaFunctionCall` just as it's used
in `OllamaFunctionCall`. This fixes deserialization of ollama tool
calls.
- Added deserialization tests using json from official ollama api docs.
- Fetch model capabilities during model enumeration from ollama provider
- Added `supports_tools` setting to manually configure if a model
supports tools

## TODO:

- [x] Fix tool call serialization/deserialization
- [x] Fetch model capabilities from ollama api
- [x] Add tests for parsing model capabilities 
- [ ] Documentation for `supports_tools` field for ollama language model
config
- [ ] Convert between generic language model types
- [x] Pass tools to ollama

Release Notes:

- N/A

---------

Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Nathan Sobo <nathan@zed.dev>

tidely , Antonio Scandurra , and Nathan Sobo created

ba35bcb Rename Manual profile to Minimal (#29852)

Click to expand commit body
Completely subjective, but I just like it better.

Release Notes:

- N/A

---------

Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>

Nathan Sobo , Danilo Leal , and Danilo Leal created

b577114 agent panel: Bring back search within text threads (#29934)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

c2dc7a7 Delete obsolete find_replace_tool description (#29928)

Click to expand commit body
The tool has been deleted, but the description remained.

Release Notes:

- N/A

Richard Feldman created

7249da1 Simplify setting font size for EditToolCard (#29925)

Click to expand commit body
Release Notes:

- N/A

Antonio Scandurra created

3ffaf27 agent: Tweak MCP server configuration dialog (#29878)

Click to expand commit body
Tweaks the MCP configuration dialog a bit:
- Increase width of popover
- Disable soft 
- Clear errors when hitting confirm

Release Notes:

- N/A

Bennet Bo Fenner created

571db35 Show prompt usage in agent overflow menu (#29922)

Click to expand commit body
This PR adds prompt usage information, and easy access to managing your
account, to the agent overflow menu:

![CleanShot 2025-05-05 at 10 04
20@2x](https://github.com/user-attachments/assets/337a1a0b-6f71-49a0-9fe7-4fbf2ec1fc27)

Currently this UI will only show after making a request. We'll work on
eagerly getting the usage info later.

Release Notes:

- Added current prompt usage information to the agent menu (`...`) for
Zed AI users

Nate Butler created

395d4e9 Don't show deleted hunks when agent overwrites file (#29918)

Click to expand commit body
Release Notes:

- Improved display of diffs when the agent rewrites a file from scratch.

Antonio Scandurra created

711a855 Get terminal tool working in evals (#29831)

Click to expand commit body
Bypass our terminal subsystem and just run a shell in a pty.

- [x] make sure we use the same working directory
- [x] strip control chars from the pty output (?)
- [x] tests

Release Notes:

- N/A

Cole Miller created

298b30c Stop generating in the Agent panel when the user edits a previous message (#29915)

Click to expand commit body
Otherwise the panel keeps scrolling as the new token comes in and it is
almost impossible to keep the scroll position in the right place.

Also, if the user is editing, it is likely that the current generated
tokens will need to be regenerated anyway, so we may as well stop the
current progress.

Release Notes:

- Agent Beta: Stop generating tokens if previous messages are edited.

Ben Brandt created

124e420 copilot: Add support for tool_calls for gpt-4.1, gpt-4o, o4-mini (#29369)

Click to expand commit body
Github Copilot currently supports following models for agent mode with
tool calls. Currently we are only supporting anthropic models and not
openai and gemini. This PR add support for the openai models. I have
tested it and it works for all of them. For gemini models it seems there
is a issues from copilot side so not adding that in this PR as enabling
gemini model breaks it in the ask mode as well.

<img width="392" alt="image"
src="https://github.com/user-attachments/assets/fb7a4148-e48c-45c5-9ff9-c02f71217dfb"
/>


- [x] GPT-4.1

- [x] GPT-4.0

- [x] o4-mini

Release Notes:

- agent: Add tool calling support for gpt-4.1, gpt-4o, o4-mini when
using Copilot Chat as a provider

Signed-off-by: Umesh Yadav <umesh4257@gmail.com>

Umesh Yadav created

2917845 Polish diff for the `edit_file` tool (#29911)

Click to expand commit body
I added some padding to the editor, and removed the border around each
hunk as it would overlap in weird ways with the card container.

## Before

<img width="1148" alt="image"
src="https://github.com/user-attachments/assets/2018feaa-c847-4609-bc82-522660714b9a"
/>

## After

One Light:

<img width="1148" alt="image"
src="https://github.com/user-attachments/assets/4da1a4b6-0af2-4479-afcc-02da50178fd6"
/>

One Dark:

<img width="1148" alt="image"
src="https://github.com/user-attachments/assets/0168631d-7b76-4582-8174-c6e9c1297dc8"
/>


Release Notes:

- Improved displaying of diffs when the agent edits files.

Antonio Scandurra created

beecd17 Properly restore window position for SSH projects (cherry-pick #29904) (#29906)

Click to expand commit body
Cherry-picked Properly restore window position for SSH projects (#29904)

Release Notes:

- Fixed SSH projects not restoring their window position on reopen

Co-authored-by: Kirill Bulatov <kirill@zed.dev>

gcp-cherry-pick-bot[bot] and Kirill Bulatov created

d9f3318 agent: Update callout URLs (#29897)

Click to expand commit body
This PR updates the Agent callout URLs to go to the account page.

Release Notes:

- N/A

Marshall Bowers created

96ce034 ui: Make `Callout` constructors more flexible (#29895)

Click to expand commit body
This PR updates the `Callout` constructors to be more flexible by
accepting `impl Into<SharedString>`s.

Release Notes:

- N/A

Marshall Bowers created

2c6e9fe agent: Remove `UsageBanner` (#29896)

Click to expand commit body
This PR removes the `UsageBanner` component, as it was no longer used.

Release Notes:

- N/A

Marshall Bowers created

b2bc1b4 agent: Remove unneeded tracking of request usage (#29894)

Click to expand commit body
This PR removes some unneeded tracking of the model request usage in the
`ActiveThread` and `ThreadEvent::UsageUpdated` events.

Release Notes:

- N/A

Marshall Bowers created

6300518 zed 0.185.5

Joseph T. Lyons created

04fdfd6 agent: Add UI for upsell scenarios (#29805)

Click to expand commit body
Release Notes:

- N/A

---------

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

Nate Butler and Marshall Bowers created

8dc98c2 agent: Sort profiles based on relevance (#29893)

Click to expand commit body
Kinda feel like the way that makes the most sense to sort profiles in
the dropdown is by relevance/impact. "Write" is the default profile and
contains all built-in tools turned on by default, thus it should be the
first. "Ask" contains read-only tools, one step down from Write. And
"Manual" is totally empty, the least "powerful" profile, thus the last.

Release Notes:

- N/A

Danilo Leal created

cdbd8c3 In the edit tool card, use the UI font size for the editor that we use to render the diff (#29882)

Click to expand commit body
I am currently setting the font size corrrectly by using a custom
EditorStyle and building an element. However I need to use the same
properties as a normal editor for everything but font size.

Release Notes:

- N/A

Nathan Sobo created

ae0716e agent: Add design adjustments to message editor (#29891)

Click to expand commit body
- Removed unused `MessageBubbleDashed` icon
- Polished `Crosshair` icon SVG
- Added dropdown toggle keybinding to the profile selector tooltip
- Repositioned buttons at the message editor footer
- Updated buttons to use `Button` instead of `ButtonLike`

Release Notes:

- N/A

Danilo Leal created

d6c2608 Change cloud language model provider JSON protocol to surface errors and usage information (#29830)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Max Brunsfeld , Nathan Sobo , and Marshall Bowers created

ed49ee9 agent: Rename `@rules` to `@rule` (#29881)

Click to expand commit body
This is purely a cosmetic change, renamed `@rules` to `@rule` which
unifies the @mention experience (for files, threads etc. we also use
`@file`, `@thread` not `@files`, `@thread`). Would also make sense to
rename the rules picker to rule picker, but i do not wanna introduce
conflicts just for the purpose of re-naming.

Release Notes:

- N/A

Bennet Bo Fenner created

23b6693 Encourage editing over re-creating a file from scratch (#29870)

Click to expand commit body
I also introduced a new eval to prove the encouragement actually makes a
difference.

Release Notes:

- Improved agent behavior when streaming edits, encouraging it to
editing files as opposed to creating them from scratch

Antonio Scandurra created

6183034 agent: Polish single-file review toolbar controls (#29866)

Danilo Leal created

f30c146 Add the ability to follow the agent as it makes edits (#29839)

Click to expand commit body
Nathan here: I also tacked on a bunch of UI refinement.

Release Notes:

- Introduced the ability to follow the agent around as it reads and
edits files.

---------

Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>

Antonio Scandurra , Nathan Sobo , and Max Brunsfeld created