Commit log

9b6f442 Update onboading modal copy

Marshall Bowers created

f4c6b2f agent: Remove feature flag checks (#30055)

Click to expand commit body
This PR removes all of the feature flag checks related to the Agent.

Tried to do this in the least invasive way possible; we can follow up
with a full removal.

Release Notes:

- N/A

Marshall Bowers created

150f356 v0.185.x stable

Joseph T. Lyons created

8512ba4 lmstudio: Fix streaming not working in v0.3.15 (#30013)

Click to expand commit body
Closes #29781

Tested this with llama3, gemma3 and qwen3.

This is a breaking change, which means after adding this code changes in
future version zed we will require atleast lmstudio >= 0.3.15. For
context why it's breaking changes check out the issue: #29781.

What this doesn't try to solve is:

* Tool calling, thinking text rendering. Will raise a seperate PR for
these as those are not required in this PR to make it work.


https://github.com/user-attachments/assets/945f9c73-6323-4a88-92e2-2219b760a249

Release Notes:

- lmstudio: Fixed Zed support for LMStudio >= v0.3.15 (breaking change -- older versions are no longer supported).

---------

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

Umesh Yadav and Peter Tripp created

b6cb653 agent: Launch it (#30005)

Click to expand commit body
This PR enables the Agent-related feature flags on the client.

Release Notes:

- N/A

Marshall Bowers created

41fe53b Add an onboarding banner for the Agent panel (#30050)

Click to expand commit body
This PR adds an onboarding banner for the Agent panel:

<img width="262" alt="Screenshot 2025-05-06 at 6 54 58 PM"
src="https://github.com/user-attachments/assets/52849e64-7d5d-488c-8456-4d7bd97f8ebd"
/>

Release Notes:

- N/A

Marshall Bowers created

6c29cbe git_ui: Fix resetting of onboarding banner (#30051)

Click to expand commit body
This PR fixes an issue where the Git onboarding banner wasn't able to be
reset.

Release Notes:

- N/A

Marshall Bowers created

520bbd2 agent: Add date separators to Thread History (#29961)

Click to expand commit body
Adds time-bucket separators to the thread history list:


https://github.com/user-attachments/assets/c9ac3ec4-b632-4ea5-8234-382b48de2bd6

Note: I'm simulating that Today is next Thursday so that I can show the
"This Week" bucket.

Release Notes:

- agent: Add date separators to Thread History

Agus Zubiaga created

42894f6 agent: Allow customizing temperature by provider/model (#30033)

Click to expand commit body
Adds a new `agent.model_parameters` setting that allows the user to
specify a custom temperature for a provider AND/OR model:

```json5
    "model_parameters": [
      // To set parameters for all requests to OpenAI models:
      {
        "provider": "openai",
        "temperature": 0.5
      },
      // To set parameters for all requests in general:
      {
        "temperature": 0
      },
      // To set parameters for a specific provider and model:
      {
        "provider": "zed.dev",
        "model": "claude-3-7-sonnet-latest",
        "temperature": 1.0
      }
    ],
```

Release Notes:

- agent: Allow customizing temperature by provider/model

---------

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

Agus Zubiaga , Max Brunsfeld , and Marshall Bowers created

44ef5bd Remember max mode setting per-thread and add a user setting (#30042)

Click to expand commit body
Supersedes: https://github.com/zed-industries/zed/pull/29936

Thanks for your contribution @imumesh18, but we had a slightly different
take on it :)

Release Notes:

- N/A

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

Mikayla Maki and Ben Brandt created

0670484 agent: Only show the trial upsell in the thread view (#30040)

Click to expand commit body
This PR makes it so we only show the trial upsell in the thread view.

Fixes https://github.com/zed-industries/zed/issues/30037.

Release Notes:

- Agent Beta: Changed the trial upsell to only be visible in the thread
view.

Marshall Bowers created

ac70f22 Clean up some styling issues in the editing tool card and render the animated lines a bit smaller (#30038)

Click to expand commit body
Release Notes:

- N/A

---------

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

Nathan Sobo and Michael Sloan created

400a4fa agent: Add missing Linux keybindings (#30032)

Click to expand commit body
This PR updates the default Linux keybindings to align with changes made
to the macOS bindings in #29943.

Release Notes:

- N/A

Cole Miller created

8ce8a67 zed 0.185.9

Joseph T. Lyons created

6ae2417 Fix token count not appearing for the first message (#30035)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

Mikayla Maki and Ben Brandt created

6cc6acc Avoid panicking when edit agent emits an empty old_text tag (#30030)

Click to expand commit body
Release Notes:

- Fixed a panic that could sometimes occur when the agent applies edits.

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

Antonio Scandurra and Nathan created

ca51c0c agent: Don't render trial upsell when not using the Zed provider (#30029)

Click to expand commit body
This PR makes it so we don't render the trial upsell when not using the
Zed provider.

Release Notes:

- Agent Beta: Changed Zed Pro trial upsell to only be displayed when
using a model through the Zed provider.

Marshall Bowers created

4da8f4a agent: Fix "tool cancelled" status being overapplied to failed tool calls (#30021)

Click to expand commit body
Release Notes:

- Agent Beta: Fixed a bug that caused past failed tool calls to
incorrectly display as cancelled by the user.

Cole Miller created

764c529 agent: Don't render usage callouts when not using the Zed provider (#30025)

Click to expand commit body
This PR makes it so we don't render the usage callouts when not using
the Zed provider.

Release Notes:

- Agent Beta: Changed usage callouts to only be displayed when using a
model through the Zed provider.

Marshall Bowers created

121e3b5 agent: Handle context servers that do not provide a configuration in MCP setup dialog (#30023)

Click to expand commit body
<img width="674" alt="image"
src="https://github.com/user-attachments/assets/0ccb89e2-1dc1-4caf-88a7-49159f43979f"
/>
<img width="675" alt="image"
src="https://github.com/user-attachments/assets/790e5d45-905e-45da-affa-04ddd1d33c65"
/>

Release Notes:

- N/A

Bennet Bo Fenner created

80a85a3 Fix checkpoints not being rendered (#30019)

Click to expand commit body
Closes #ISSUE

Release Notes:

- Agent Beta: Fixed a bug causing "Restore Checkpoint" buttons in the
agent panel not to be rendered.

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

Cole Miller and Antonio Scandurra created

f6ae21c Silence error log when deserializing agent panel navigation history (#30011)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Cole Miller created

0c424ec zed 0.185.8

Joseph T. Lyons created

80d8731 Fall back to old key when loading agent settings (#30001)

Click to expand commit body
This PR updates #29943 to fall back to loading agent panel settings from
the old `assistant` key if the `agent` key is not present. Edits to
these settings will also target `assistant` in this situation instead of
`agent` as before.

Release Notes:

- Agent Beta: Fixed a regression that caused the agent panel not to
load, or buttons in the agent panel not to work.

Cole Miller created

1c8f779 Fix error when requesting completion to Copilot Chat without tools (#30007)

Click to expand commit body
The API will return a Bad Request (with no error message) when tools
were used previously in the conversation but no tools are provided as
part of a new request.

Inserting a dummy tool seems to circumvent this error.

Release Notes:

- Fixed an error that could sometimes occur when editing using Copilot
Chat.

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

Antonio Scandurra and Bennet Bo Fenner created

21bb98b agent: Add enabled indicator in Max Mode tooltip (#30008)

Click to expand commit body
This PR adds an enabled indicator in the Max Mode tooltip to show when
it is enabled:

<img width="409" alt="Screenshot 2025-05-06 at 9 49 48 AM"
src="https://github.com/user-attachments/assets/43d3f6dd-5658-467a-9df9-606ce326426a"
/>

Release Notes:

- Agent Beta: Added an indicator in the Max Mode tooltip to show when it
is enabled.

Co-authored-by: Danilo <danilo@zed.dev>

Marshall Bowers and Danilo created

abf613d agent: Add label to Max Mode toggle (#30003)

Click to expand commit body
This PR adds a label to the Max Mode toggle, for increased clarity:

<img width="647" alt="Screenshot 2025-05-06 at 9 16 35 AM"
src="https://github.com/user-attachments/assets/38cd55fb-43ad-430b-8b4c-5adf707317cf"
/>

Release Notes:

- Agent Beta: Added a label to the Max Mode toggle.

Marshall Bowers created

c172f4c Revert "agent: Add date separators to Thread History (#29961)"

Click to expand commit body
This reverts commit 69fd7d57d78d07a05c7fd7d223356d8ecf520c64.

Joseph T. Lyons created

61161a6 agent: Disable claude-3-7-sonnet-thinking tool support for Copilot Chat (#29999)

Click to expand commit body
We started getting Bad Requests from the Copilot Chat API.
Seems like Microsoft stopped supporting this:
<img width="331" alt="image"
src="https://github.com/user-attachments/assets/46050063-f031-4836-82ff-219bdd45639a"
/>


Release Notes:

- agent: Disable `claude-3-7-sonnet-thinking` for Copilot Chat Provider
because it is not supported by Copilot Chat

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

Bennet Bo Fenner and Ben Brandt created

8722b7a Add new editing eval scenario and improve it substantially (#29997)

Click to expand commit body
This improves the new eval scenario by ~80% (`0.29` vs `0.525`) without
decreasing performance in the other evals.

Release Notes:

- Improved the performance of the `edit_file` tool.

Antonio Scandurra created

224ad68 agent: Fix Open Thread as Markdown not working when another panel is focused (#29993)

Click to expand commit body
Release Notes:

- agent: Fix Open Thread as Markdown not working when another panel is
focused

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

Ben Brandt and Bennet Bo Fenner created

69fd7d5 agent: Add date separators to Thread History (#29961)

Click to expand commit body
Adds time-bucket separators to the thread history list:


https://github.com/user-attachments/assets/c9ac3ec4-b632-4ea5-8234-382b48de2bd6

Note: I'm simulating that Today is next Thursday so that I can show the
"This Week" bucket.

Release Notes:

- agent: Add date separators to Thread History

Agus Zubiaga created

d30adff assistant: Do not create new context on load (#29480)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/27673
Closes https://github.com/zed-industries/zed/issues/29344
Closes #29863 

This PR fixes an issue where Zed was showing no language and `4:1` as a
line/column value on startup, as described in the linked issues. You can
actually see in the first issue that the user also experiences the same
issue as described in the second one, as his line/column value is
noticably also `4:1`.


https://github.com/user-attachments/assets/bb60e387-f4b8-4e05-80b3-4dadf1a01262

This issue arises because on assistant panel load, a new context is
created and its editor focused. However, the editor is not visible
despite having focus. The content for the editor for a new context is
`\n\n\n` and the cursor is inserted directly after that - this is where
the line:column position `4:1` comes from. For the assistant panel
editor, the language is intentionally hidden, this is why the language
is not shown on workspace load.
The issue is only present for as long as the user does not focus and
edit another editor, then that instance is focused and everything starts
to work properly again.

As this issue only arises with the old assistant panel, some staff
members were unable to reproduce in the linked issues. Once you set
`export ZED_DISABLE_STAFF=1` in your environment, you should also be
able to reproduce this issue consistently.

--- 

This PR fixes the issue by not creating a new context on assistant panel
load. This should not cause any regressions; every other code path I
checked creates a new context if no context is yet present.
Additionally, this also seems somewhat more reasonable, as users which
have the assistant panel disabled will never need a new context anyway,
so no context should be created.

In the following video, you can see this fixes the issue when the
assistant panel was not open the last time Zed was opened. If the panel
was open before Zed was closed, we will still properly focus the panel
and then the `4:1` will show again, which in that case is correct. The
assistant panel editor is focused and the missing language as well as
the line number then match what the user sees, experiences and expects.


https://github.com/user-attachments/assets/224a786b-52c7-4212-bccb-dff6d9db62c3


Release Notes:

- Fixed an issue where Zed would show no language and an incorrect
line/column value on startup.

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

Finn Evers and Peter Tripp created

ac042a0 editor: Fix edit range for linked edits on do completion (cherry-pick #29650) (#29988)

Click to expand commit body
Cherry-picked editor: Fix edit range for linked edits on do completion
(#29650)

Closes #29544

Fixes an issue where accepting an HTML completion would correctly edit
the start tag but incorrectly update the end tag due to incorrect linked
edit ranges.

I want to handle multi cursor case (as it barely works now), but seems
like this should go first. As, it might need whole `do_completions`
overhaul.

Todo:
- [x] Tests for completion aceept on linked edits

Before:



https://github.com/user-attachments/assets/917f8d2a-4a0f-46e8-a004-675fde55fe3d

After:



https://github.com/user-attachments/assets/84b760b6-a5b9-45c4-85d8-b5dccf97775f

Release Notes:

- Fixes an issue where accepting an HTML completion would correctly edit
the start tag but incorrectly update the end tag.

Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>

gcp-cherry-pick-bot[bot] and Smit Barmase created

093f953 editor: Handle more completions sort cases in Rust and Python (cherry-pick #29926) (#29990)

Click to expand commit body
Cherry-picked editor: Handle more completions sort cases in Rust and
Python (#29926)

Closes #29725

Adds 3 more tests for Rust `into` and `await` cases, and Python
`__init__` case. Tweaks sort logic to accommodate them.

Release Notes:

- Improved code completion sort order, handling more cases with Rust and
Python.

Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>

gcp-cherry-pick-bot[bot] and Smit Barmase created

4239ab4 zed: Fix migration message sometimes showing up on other tabs (cherry-pick #29917) (#29989)

Click to expand commit body
Cherry-picked zed: Fix migration message sometimes showing up on other
tabs (#29917)

<img width="1178" alt="image"

src="https://github.com/user-attachments/assets/6b76fe7d-0621-4d61-936e-bfe4f72cc614"
/>


Release Notes:

- Fixed an issue where the keymap/settings migration message sometimes
showing up on tabs other than `settings.json` and `keymap.json`.

Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>

gcp-cherry-pick-bot[bot] and Smit Barmase created

56c3fc6 Fix panic in update_selection_occurrence_highlights (cherry-pick #29979) (#29985)

Click to expand commit body
Cherry-picked Fix panic in update_selection_occurrence_highlights
(#29979)

Closes #ISSUE

Release Notes:

- Fixed a (rare) panic when highlighting text in the editor

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

gcp-cherry-pick-bot[bot] and Conrad Irwin created

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