Commit log

08b81a8 zed 0.186.11

Mikayla Maki created

74f7a3c Add end of service notifications (#30982)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Mikayla Maki , Max Brunsfeld , and Marshall Bowers created

1cfa438 zed 0.186.10

Joseph T. Lyons created

55f4f66 agent: Fix OpenAI models not getting first message (#30941)

Click to expand commit body
Closes #30733

Release Notes:

- N/A

Oleksiy Syvokon created

564a77d Add image input support for OpenAI models (#30639)

Click to expand commit body
Release Notes:

- Added input image support for OpenAI models

Agus Zubiaga created

97495c3 agent: Fix unnecessary "tool result too long" (#30798)

Click to expand commit body
Release Notes:

- N/A

Oleksiy Syvokon created

091294a Have read_file support images (#30435)

Click to expand commit body
This is very basic support for them. There are a number of other TODOs
before this is really a first-class supported feature, so not adding any
release notes for it; for now, this PR just makes it so that if
read_file tries to read a PNG (which has come up in practice), it at
least correctly sends it to Anthropic instead of messing up.

This also lays the groundwork for future PRs for more first-class
support for images in tool calls across more image file formats and LLM
providers.

Release Notes:

- N/A

---------

Co-authored-by: Agus Zubiaga <hi@aguz.me>
Co-authored-by: Agus Zubiaga <agus@zed.dev>

Richard Feldman , Agus Zubiaga , and Agus Zubiaga created

e546106 agent: Restore find path tool card after restart (#30580)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

7af03d3 Copilot fix o1 model (#30581)

Click to expand commit body
Release Notes:

- Fixed an issue where the `o1` model would not work when using Copilot
Chat

Bennet Bo Fenner created

5929637 Add a test for remote tool use by the agent (#30289)

Click to expand commit body
- Adds a new smoke test for the use of the read_file tool by the agent
in an SSH project
- Fixes the SSH shutdown sequence to use a timer from the app's executor
instead of always using a real timer
- Changes the main executor loop for tests to advance the clock
automatically instead of panicking with `parked with nothing left to
run` when there is a delayed task

Release Notes:

- N/A

Cole Miller created

82cb908 agent: Restore web search tool card after restart (#30578)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

c78e470 assistant_tools: Make terminal tool work on Windows (#30497)

Click to expand commit body
Release Notes:

- N/A

THELOSTSOUL created

1599594 agent: Fix Markdown codeblock header buttons (#30645)

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

Release Notes:

- agent: Fixed Markdown codeblock header buttons being pushed by long
paths/file names.

Danilo Leal created

b313e0b Fix codeblock expansion initial state + refactor (#30539)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

d7e2d66 agent: Fix path checks in edit_file (#30909)

Click to expand commit body
- Fixed bug where creating a file failed when the root path wasn't
provided

- Many new checks for the edit_file path

Closes #30706

Release Notes:

- N/A

Oleksiy Syvokon created

34356ac agent: Fix inline assistant focusing behavior for cursor placement (#29998)

Click to expand commit body
Ref: https://github.com/zed-industries/zed/pull/29919

This PR improves how inline assistants are detected and focused based on
cursor position.

### Problem
The current implementation has inconsistent behavior:
- When selecting text within an inline assistant's range, the assistant
properly focuses
- When placing a cursor on a line containing an assistant (without
selection), a new assistant is created instead of focusing the existing
one

### Solution
Enhanced the assistant detection logic to:
- Check if the cursor is anywhere within the line range of an existing
assistant
- Maintain the same behavior for both cursor placement and text
selection
- Convert both cursor position and assistant ranges to points for better
line-based comparison

This creates a more intuitive editing experience when working with
inline assistants, reducing the creation of duplicate assistants when
the user intends to interact with existing ones.


https://github.com/user-attachments/assets/55eb80d1-76a7-4d42-aac4-2702e85f13c4

Release Notes:

- agent: Improved inline assistant behavior to focus existing assistants
when cursor is placed on their line, matching selection behavior

---------

Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>

Umesh Yadav and Bennet Bo Fenner created

a2134c1 agent: Fix instruction list item with multiple buttons not working (#30541)

Click to expand commit body
This was a particular problem in the Amazon Bedrock section (at least
for now) where there were multiple buttons and none of them actually
worked because they all had the same id.

Release Notes:

- agent: Fixed Amazon Bedrock settings link buttons not working.

Danilo Leal created

758cb8e agent: Fix 10 line code blocks being expandable despite fitting (#30540)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

3ed1b3b Reuse existing language servers for invisible worktrees (cherry-pick #30707) (#30866)

Click to expand commit body
Cherry-picked Reuse existing language servers for invisible worktrees
(#30707)

Closes https://github.com/zed-industries/zed/issues/20767

Before:



https://github.com/user-attachments/assets/6438eb26-796a-4586-9b20-f49d9a133624


After:




https://github.com/user-attachments/assets/b3fc2f8b-2873-443f-8d80-ab4a35cf0c09



Release Notes:

- Fixed external files spawning extra language servers

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

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

5b61a59 zed 0.186.9

Joseph T. Lyons created

98f12f1 Fix rejecting overwritten files if the agent previously edited them (cherry-pick #30744) (#30746)

Click to expand commit body
Cherry-picked Fix rejecting overwritten files if the agent previously
edited them (#30744)

Release Notes:

- Fixed rejecting overwritten files if the agent had previously edited
them.

Co-authored-by: Antonio Scandurra <me@as-cii.com>

gcp-cherry-pick-bot[bot] and Antonio Scandurra created

d3bbf52 zed 0.186.8

Joseph T. Lyons created

46f6e8b agent: Fix tool use in Gemini (#30689)

Click to expand commit body
Thread doesn't run pending tools when `stop_reason` is not `ToolUse`.
Perhaps we should change that so that it always runs pending tools if
there are some, but for now this change just fixes setting `stop_reason`
for Google models.

Release Notes:

- N/A

Oleksiy Syvokon created

eaf4f8f agent: Don't duplicate recommended models in all models list (#30692)

Click to expand commit body
Release Notes:

- N/A

Oleksiy Syvokon created

374842e agent: Overwrite files more cautiously (#30649)

Click to expand commit body
1. The `edit_file` tool tended to use `create_or_overwrite` a bit too
often, leading to corruption of long files. This change replaces the
boolean flag with an `EditFileMode` enum, which helps Agent make a more
deliberate choice when overwriting files.

With this change, the pass rate of the new eval increased from 10% to
100%.

2. eval: Added ability to run eval on top of an existing thread. Threads
can now be loaded from JSON files in the `SerializedThread` format,
which makes it easy to use real threads as starting points for
tests/evals.

3. Don't try to restore tool cards when running in headless or eval mode
-- we don't have a window to properly do this.

Release Notes:

- N/A

Oleksiy Syvokon created

6a51b14 v0.186.x stable

Joseph T. Lyons created

dad7d94 editor: Fix signature hover popover incorrect width instead of adapting to its content (#30646)

Click to expand commit body
Before:
<img width="935" alt="Screenshot 2025-05-13 at 18 03 21"
src="https://github.com/user-attachments/assets/5320e559-7c60-4ad6-8ab6-99dcbcd1d42e"
/>

After:
<img width="349" alt="Screenshot 2025-05-13 at 18 45 21"
src="https://github.com/user-attachments/assets/98412e13-b879-490a-a1b4-88f97bb84774"
/>
----

Release Notes:

- Fixed issue where signature popover displayed at incorrect width
instead of adapting to its content.

----
cc @smitbarmase

Stanislav Alekseev created

917c0c1 zeta: Do not show usage for copilot/supermaven (#30563)

Click to expand commit body
Follow up to #29952

Release Notes:

- Fix an issue where zeta usage would show up when using Copilot as an
edit prediction provider

Bennet Bo Fenner created

595abe1 language_models: Add vision support for Copilot Chat models (#30155)

Click to expand commit body
Problem Statement:
Support for image analysis (vision) is currently restricted to Anthropic
and Gemini models. This limits users who wish to leverage vision
capabilities available in other models, such as Copilot, for tasks like
attaching image context within the agent message editor.

Proposed Change:
This PR extends vision support to include Copilot models that are
already equipped with vision capabilities. This integration will allow
users within VS Code to attach and analyze images using supported
Copilot models via the agent message editor.

Scope Limitation:

This PR does not implement controls within the message editor to ensure
that image context (e.g., through copy-paste or attachment) is
exclusively enabled or prompted only when a vision-supported model is
active. Long term the message editor should have access to each models
vision capability and stop the users from attaching images by either
greying out the context saying it's not support or not work through both
copy paste and file/directory search.

Closes #30076 

Release Notes:

- Add vision support for Copilot Chat models

---------

Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>

Umesh Yadav and Bennet Bo Fenner created

267cfe9 bedrock: Fix Claude 3.5 Haiku support (#30560)

Click to expand commit body
This PR corrects a mistake introduced in
https://github.com/zed-industries/zed/pull/28523.

https://github.com/zed-industries/zed/pull/28523#issuecomment-2872369707

Release Notes:

- N/A

Marshall Bowers created

c3906d6 bedrock: Support cross-region inference for US Claude 3.5 Haiku (#28523)

Click to expand commit body
Release Notes:

- Added Cross-Region inference support for US Claude 3.5 Haiku

Co-authored-by: Peter Tripp <peter@zed.dev>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Shardul Vaidya , Peter Tripp , and Marshall Bowers created

159f042 bedrock: Add support for Mistral - Pixtral Large (#28274)

Click to expand commit body
Release Notes:

- AWS Bedrock: Added support for Pixtral Large 25.02 v1

---------

Co-authored-by: Peter Tripp <peter@zed.dev>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Shardul Vaidya , Peter Tripp , and Marshall Bowers created

f3c922a agent: Add menu item in the panel menu for zooming in feature (#30554)

Click to expand commit body
Release Notes:

- agent: Added a menu item in the panel's menu for the zooming in/out
feature.

Danilo Leal created

7a96686 agent: Fix message editor expand binding (#30553)

Click to expand commit body
As of https://github.com/zed-industries/zed/pull/30504, we now can zoom
in the whole panel, which uses the `shift-escape` keybinding. We were
also using the same binding for the message editor expansion, which was
caused a conflict. Now, the message editor expansion requires an
additional key (`alt`) to work.

Release Notes:

- agent: Fixed conflicting keybinding between message editor and panel
zoom.

Danilo Leal created

62d58c3 language_models: Dynamically detect Copilot Chat models (#29027)

Click to expand commit body
I noticed the discussion in #28881, and had thought of exactly the same
a few days prior.

This implementation should preserve existing functionality fairly well.

I've added a dependency (serde_with) to allow the deserializer to skip
models which cannot be deserialized, which could occur if a future
provider, for instance, is added. Without this modification, such a
change could break all models. If extra dependencies aren't desired, a
manual implementation could be used instead.

- Closes #29369 

Release Notes:

- Dynamically detect available Copilot Chat models, including all models
with tool support

---------

Co-authored-by: AidanV <aidanvanduyne@gmail.com>
Co-authored-by: imumesh18 <umesh4257@gmail.com>
Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
Co-authored-by: Agus Zubiaga <hi@aguz.me>

Liam , AidanV , imumesh18 , Bennet Bo Fenner , and Agus Zubiaga created

a6e8c06 Fix compile errors in tests

Marshall Bowers created

72b7c6b zed 0.186.7

Joseph T. Lyons created

09a6fcd bedrock: Support Amazon Nova Premier (#29720)

Click to expand commit body
Release Notes:

- Bedrock: Added support for Amazon Nova Premier.


https://aws.amazon.com/blogs/aws/amazon-nova-premier-our-most-capable-model-for-complex-tasks-and-teacher-for-model-distillation/

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

Shardul Vaidya and Marshall Bowers created

28ae9f8 agent: Allow to collapse provider sections in the settings view (#30437)

Click to expand commit body
This is my first time contributing, so happy to make changes as needed.

## Problem

I found the LLM Provider settings to be pretty difficult to scan as I
was looking to enter my API credentials for a provider. Because all of
the provider configuration is exposed by default, providers that come at
the end of the list are pushed fairly far down and require scrolling. As
this list increases the problem only get worse.

## Solution

This is strictly a UI change.

* I put each provider configuration in a Disclosure that is closed by
default. This made scanning for my provider easy, and exposing the
configuration takes a single click. No scrolling is required to see all
providers on my 956px high laptop screen.
* I also added the success checkmark to authenticated providers to make
it even easier to find them to update a key or sign out.
* The `Start New Thread` had a class applied that was overriding the
default hover behavior of other buttons, so I removed it.

## Before
![CleanShot 2025-05-09 at 14 06
04@2x](https://github.com/user-attachments/assets/48d1e7ea-0dc8-4adc-845c-5227ec965130)

## After
![CleanShot 2025-05-09 at 14 33
23](https://github.com/user-attachments/assets/67e842a7-3251-46e5-ab18-7c4e600b84d8)

Release Notes:

- Improved Agent Panel settings view scannability by making each
provider block collapsible by default.

---------

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

Chris Kelly and Danilo Leal created

ff829e4 bedrock: Support Writer Palmyra models (#29719)

Click to expand commit body
Release Notes:

- Added support for Writer Palmyra X4, and X5


https://writer.com/engineering/long-context-palmyra-x5/

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

Shardul Vaidya and Marshall Bowers created

4aef0fb agent: Handle thread title generation errors (#30273)

Click to expand commit body
The title of a (text) thread would get stuck in "Loading Summary..."
when the request to generate it failed. We now handle this case by
falling back to the default title, and letting the user manually edit
the title or retry generating it.

https://github.com/user-attachments/assets/898d26ad-d31f-4b62-9b05-519d923b1b22

Release Notes:

- agent: Handle thread title generation errors

---------

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

Agus Zubiaga and Richard Feldman created

9d00e26 agent: Reduce allocations (#30220)

Click to expand commit body
Just a tiny patch to reduce allocations during context loading

Calling `.cloned()` on an iterator clones each element one by one, while
`into_iter().collect()` pre-allocates the resulting `Vec`

Release Notes:

- N/A

tidely created

b492ff3 Agent panel: Zoom support (workspace::ToggleZoom) (#30504)

Click to expand commit body
Release Notes:

- Added support for zooming the agent panel via `workspace::ToggleZoom`.

Michael Sloan created

2c63af9 markdown: Fix out of range panic in parser (cherry-pick #30510) (#30512)

Click to expand commit body
Cherry-picked markdown: Fix out of range panic in parser (#30510)

For some reason `pulldown_cmark` treats \````` as a codeblock, meaning
that we could end up with an invalid range generated from
`extract_code_block_content_range` (`3..2`)

Closes #30495

Release Notes:

- agent: Fix an edge case where the editor would crash when model
generated malformed markdown

Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>

gcp-cherry-pick-bot[bot] and Bennet Bo Fenner created

38e4b3b title_bar: Hide plans without a subscription period (#30478)

Click to expand commit body
This PR updates the plan display in the user menu in the title bar to
hide plans that do not have a subscription period.

Release Notes:

- Improved the displaying of the plan in the user menu.

Marshall Bowers created

07c471e zeta: Update onboarding modal with subscription info (#30439)

Click to expand commit body
This PR updates the edit prediction onboarding modal with steps about
subscribing to a plan.

When the user is not subscribed to a plan, we display a link to the
account page to sign up for one:

<img width="612" alt="Screenshot 2025-05-09 at 6 04 05 PM"
src="https://github.com/user-attachments/assets/0300194a-c419-43d9-8214-080674d31e12"
/>

If the user is already subscribed to a plan we indicate which plan they
are on and how many edit predictions they get with it:

<img width="616" alt="Screenshot 2025-05-09 at 6 03 16 PM"
src="https://github.com/user-attachments/assets/e2506096-e499-41f2-ba1f-fca768cb48b9"
/>

<img width="595" alt="Screenshot 2025-05-09 at 5 46 18 PM"
src="https://github.com/user-attachments/assets/de82f8c2-cad8-45fb-8988-26606a8dc3e1"
/>

Release Notes:

- N/A

Marshall Bowers created

b6d5aab zeta: Factor out `render_data_collection_explanation` (#30438)

Click to expand commit body
This PR factors out a `render_data_collection_explanation` method in the
`ZedPredictModal`.

This allows `rustfmt` to work inside of `render` once again.

Release Notes:

- N/A

Marshall Bowers created

a71dbfc agent: Make terminal command render with Markdown in the tool card (#30430)

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

Rendering as markdown gives us text selection and copying for free. In
the future, we may want to explore having these commands be actual
editors, allowing you to step in, change the command, and re-run it
right from there.

Release Notes:

- agent: Made the terminal command in the tool card selectable and
copyable.

Danilo Leal created

c2d436d Revert "Stop generating in the Agent panel when the user edits a previous message (#29915)" (#30092)

Click to expand commit body
This reverts commit ce053c9bff0699c922e62c0b3618249e0b9801b9.

Closes #ISSUE

Release Notes:

- N/A

Ben Brandt created

3a207da agent: Fix reinsertion of creases when editing past messages (#30417)

Click to expand commit body
Just noticed this got lost when main was merged in #29828.

Release Notes:

- agent: Fixed the rendering of added context when editing past messages
in a thread.

Cole Miller created