Commit log

f29c6e5 Update `zed_llm_client` to v0.8.1 (#30433)

Click to expand commit body
This PR updates the `zed_llm_client` crate to v0.8.1.

The name of `Plan::Free` changed to `Plan::ZedFree` in this version.

Release Notes:

- N/A

Marshall Bowers created

000077f 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

2b249f9 Add support for setting font features on Linux (#27808)

Click to expand commit body
Fixes #15752.
- Updated `cosmic_text` to 0.14.0
- Made a basic implementation for setting font features.

#12176 is not fixed by this PR.

Release Notes:

- Added initial support for `font_features` on Linux

peppidesu created

e13ecc0 assistant_context_editor: Register `ContextEditor` actions that were lost (#30428)

Click to expand commit body
This PR restores the `ContextEditor` actions that were lost in
https://github.com/zed-industries/zed/pull/30168.

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

Release Notes:

- agent: Added back some missing actions, including `assistant: quote
selection`.

Marshall Bowers created

bef25c7 git_ui: Fix co-author tooltip message (#30426)

Click to expand commit body
It should show "Remove co-authored-by" when hovering on co-author is
already added state. And should say
"Add co-authored-by" when it is at disabled state.

Release Notes:

- N/A

Co-authored-by: Ben Kunkle <ben@zed.dev>

Smit Barmase and Ben Kunkle created

65b1396 Wait to locate system-installed Node until the shell environment is loaded (#30416)

Click to expand commit body
Release Notes:

- Fixed a race condition that sometimes prevented a system-installed
`node` binary from being detected.
- Fixed a bug where the `node.path` setting was not respected when
invoking npm.

Max Brunsfeld created

9afc6f6 agent: Fix layout shift due to the "Generating" label (#30422)

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

Release Notes:

- agent: Fixed layout shift happening in the toolbar (both in the
singleton and multibuffers) due to the "Generating" label that appeared
while the agent is still generating a response.

Danilo Leal created

82d271c agent: Thread history update improvements (#30415)

Click to expand commit body
- Try to preserve previously selected item on update
- Do not clear list items while updating to avoid a frame with no items
rendered

Release Notes:

- agent: Preserve previously selected item in Thread History on update

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Richard Feldman <oss@rtfeldman.com>

Agus Zubiaga , Danilo Leal , and Richard Feldman created

77ad6d7 zeta: Restore `ZED_PREDICT_EDITS_URL` environment variable (#30418)

Click to expand commit body
This PR restores the `ZED_PREDICT_EDITS_URL` that was removed in
https://github.com/zed-industries/zed/pull/30290.

While we don't need to use it anymore for local development against the
LLM Worker, some folks reported using it to run versions of Zeta hosted
elsewhere.

Since we don't yet have an officially-supported mechanism today for
bringing your own Zeta for edit predictions, I'm putting the environment
variable back to not break that use case.

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

Release Notes:

- N/A

Marshall Bowers created

d6ab416 Revert "Load Profile state from Thread and tie visibility to the thread's model" (#30413)

Click to expand commit body
This reverts commit 3615d6d96c5d1c8fd0ccb1ee0bc176e9c94ac730.

Ultimately, we want to restore the ability to store a profile
per-thread, but for now reverting this fixes a fairly disruptive bug.

Release Notes:

- Fixed a bug causing the agent to use the wrong profile in some cases.

Cole Miller created

8f07135 collab: Don't require payment method to subscribe to Zed Free (#30398)

Click to expand commit body
This PR makes it so we don't require a payment method to subscribe to
the Zed Free plan.

Release Notes:

- N/A

Marshall Bowers created

1dfddf0 agent: write latest profile change to default setting (#30408)

Click to expand commit body
Reverts back to previous behavior where we update your settings so we
can load a new thread from your last configuration.

Release Notes:

- agent: Persist profile changes for new threads

Ben Brandt created

cf8f003 collab: Improve error message when requesting an LLM token without a subscription (#30405)

Click to expand commit body
This PR improves the error message when trying to obtain an LLM token
without a subscription:

<img width="411" alt="Screenshot 2025-05-09 at 12 30 41 PM"
src="https://github.com/user-attachments/assets/c53326ba-4a99-4d9c-88ba-674e520f941f"
/>

Release Notes:

- N/A

Marshall Bowers created

0029245 agent: Show delete thread icon buttons on hover/focus (#30370)

Click to expand commit body
This PR's main goal is to show the delete thread button when the list
item is either focused or hovered. In order to do that, we ended up
refactoring (i.e., merging) the `PastThread` and `PastContext` elements
into a single `HistoryElementEntry` that already matches to the entry
type (i.e., context or thread).

Release Notes:

- agent: Simplify the UI by showing the delete thread icon button only
on hover or focus.

---------

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

Danilo Leal and Agus Zubiaga created

49c01c6 askpass: Remove attempt to surface friendly error if zed exe path is not executable before use in askpass script (#30396)

Click to expand commit body
Closes #29819

Release Notes:

- Removed a faulty check in the askpass implementation causing
unintended "Failed to check metadata of Zed executable path for use in
askpass" errors when remoting via SSH or doing git operations that
require authentication.

Ben Kunkle created

863d7cc Fix agent panel scroll while editing a past message (#30394)

Click to expand commit body
This is similar to the `block_mouse_down` method added in #20649 (which
has a very similar motivation), but is more comprehensive in stopping
mouse events. Since I want to cherry-pick this to the releases, keeping
this change just to the agent panel. In a follow-up will replace
existing use of `block_mouse_down` to instead use this.

Release Notes:

- N/A

Michael Sloan created

d270f6b collab: Require `subscription_period` in LLM token claims (#30392)

Click to expand commit body
This PR makes the `subscription_period` field in the LLM token claims
required.

Release Notes:

- N/A

Marshall Bowers created

08f516c Misc improvement of code for agent markdown codeblock (#30388)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

9cff5cf agent: Keyboard navigation improvements (#30274)

Click to expand commit body
- Fix `ctrl-p` not working in the model selector
- Select first entry when opening the context picker

Release Notes:

- Fixed `menu::SelectPrevious` keybindings not working in the agent
panel's model selector.

Cole Miller created

0abee56 Fix text overlap with markdown code block in list in agent response (#30377)

Click to expand commit body
Seems that `h_full` was causing it to use the height of the overall list
item for some reason.

Closes #30002 

Release Notes:

- Agent Panel: Fixed text overlap for code blocks nested in lists in
agent response.

Michael Sloan created

c58b690 Remove unnecessary use of `MarkdownElementBuilder::flush_text` (#30376)

Click to expand commit body
The next statement calls `modify_current_div` which immediately does
`flush_text`.

Release Notes:

- N/A

Michael Sloan created

11b6ce4 Add ability to keybind search filter (#30327)

Click to expand commit body
Useful for large monorepos with many subdirectories, users can keybind a
filter to their commonly used directories.

Release Notes:

- Added a new `included_files` field to the `DeploySearch` action to
automatically pre-fill which files to include in the search. This lets
you use a keybinding to search in a particular folder or for a certain
set of files.

---------

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

Tristan Hume and Antonio Scandurra created

8c83573 Use a single Text segment + indoc! in active thread preview (#30373)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

25ced2e Fix error when Copilot calls tools without arguments (#30371)

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

The model can output an empty string to indicate the absence of
arguments, which can't be parsed as a `serde_json::Value`. When that
happens, we now create an empty object instead on behalf of the model.

Release Notes:

- Fixed a bug that prevented Copilot models from calling the
`diagnostic` tool.

Antonio Scandurra created

f248da5 workspace: Add new "close active dock" action for closing any focused dock (#30369)

Click to expand commit body
This is a more generic implementation of
https://github.com/zed-industries/zed/pull/30360

This also removes the need for a separate close action for the git
panel.

The downside is maybe it is harder to find since it is less specific.

Release Notes:

- workspace: Added new `workspace: close active dock` action to close
the currently focused dock

Ben Brandt created

89ce49d windows: Remove `SmartGlobal` (#30366)

Click to expand commit body
Closes #29657

Using `with_clipboard_data()` to ensure that `GlobalLock` and
`GlobalUnlock` are called correctly.

Release Notes:

- N/A

张小白 created

30f3efe Revert unnecessary "fix handling of unicode when counting codeblock lines" + document (#30368)

Click to expand commit body
After merging #30364 I realized why it was unnecessary to fix the code,
and was more efficient before. UTF-8 does not use the standard 0-127
ASCII range for multi-byte chars. So this reverts that change and
documents why the code is valid.

Release Notes:

- N/A

Michael Sloan created

023a608 agent: Fuzzy search in model selector (#30281)

Click to expand commit body
This change enables fuzzy search on model providers and names. For
example, the query "z41" will match "zed/gpt-4.1".

Release Notes:

- Agent: Improved model selection with fuzzy search support

Oleksiy Syvokon created

2c602bb pane: Fix pin tabs double border not visible when unpinned tab is active (#30367)

Click to expand commit body
Before:


https://github.com/user-attachments/assets/7bf39b99-d589-49c5-aba9-ae804c50af74

After:


https://github.com/user-attachments/assets/c0f15b78-6103-4f1c-9392-ec738d2e091b

Release Notes:

- N/A

Smit Barmase created

857134d Fix handling of unicode when counting codeblock lines (#30364)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

d8980c2 windows: Remove extra empty line when loading default settings (#30344)

Click to expand commit body
On Windows, lines in a file end with `\r\n`, so using
`chunk.split('\n')` leaves a trailing `\r` at the end of each line. This
ends up introducing extra blank lines in the final output.

I didn't use `chunk.split('\r\n')` because some of the input have
already had its line endings normalized to just `\n`. If we switch to
splitting on `\r\n`, that input wouldn't be handled correctly.

#### Before


https://github.com/user-attachments/assets/22cc5a79-c3a7-4824-a3bc-d66d2261852f

#### After



https://github.com/user-attachments/assets/720f1d67-75e6-482d-b6a5-9f3aa9f321ce



Release Notes:

- N/A

张小白 created

299a0bc search: Ensure inputs located in the toolbar match the background color of the toolbar (#30355)

Click to expand commit body
Closes #30267

This ensures they do not differ in color as described in the issue.

Currently: 
<img width="1182" alt="grafik"
src="https://github.com/user-attachments/assets/7ccc5116-f6b4-4ffc-80fc-b5b51c49a8f2"
/>

This PR: 
<img width="1182" alt="grafik"
src="https://github.com/user-attachments/assets/dcff631a-c1a8-423e-847c-8678a77e7a8e"
/>

Alternatively, we could potentially color the surrounding containers
with the editor background, but I think this way around is more
reasonable for the toolbar.

Release Notes:

- Improved background coloring for search inputs located in the toolbar.

Finn Evers created

cfb06ba debugger: Shutdown debug adapter client on terminated event (#30278)

Click to expand commit body
I noticed some problems where we have hanging debug sessions after
they've been terminated. This should hopefully fix most cases of this,
if not all.

Release Notes:

- N/A

Anthony Eid created

b88ba44 editor: Fix function completion expansion in string contexts and call expressions (#30351)

Click to expand commit body
Closes #27582

Now, when accepting function completion, it doesn't expand with
parentheses and arguments in the following cases:
1. If it's in a string (like `type Foo = MyClass["sayHello"]` instead of
`type Foo = MyClass["sayHello(name)"]`)
2. If it's in a call expression (like `useRef<HTMLDivElement>(null)`
over `useRef(initialValue)<HTMLDivElement>(null)`)

This is a follow-up to https://github.com/zed-industries/zed/pull/30312,
more like cleaner version of it.

Release Notes:

- Fixed an issue where accepting a method as an object string in
JavaScript would incorrectly expand. E.g. `MyClass["sayHello(name)"]`
instead of `MyClass["sayHello"]`.

Smit Barmase created

851ab13 gpui: Bump blade, objc2, objc2-metal, and naga (#30347)

tidely created

5249345 chore: remove redundant word in comment (#30338)

Click to expand commit body
remove redundant word in comment

Release Notes:

- remove redundant word in comment

Signed-off-by: yetyear <flite@outlook.com>

yeahyear created

1b593f6 Include `EditAgent`'s raw output when inspecting thread (#30337)

Click to expand commit body
This allows us to debug the raw edits that were generated when people
report feedback, when running evals and when opening the thread as
Markdown.

Release Notes:

- Improved debug output for agent threads.

Antonio Scandurra created

ea7756b deps: Update aws-lc-rs to 1.13.1 (#30332)

Click to expand commit body
To pull in https://github.com/aws/aws-lc/pull/2381 which fixes build on
MinGW with Clang

Release Notes:

- N/A

Maksim Bondarenkov created

1ecd00a editor: Ensure minimap is shown when `show_minimap` is toggled to `true` (#30326)

Click to expand commit body
Follow-up of #30285

This PR ensures the action added in the linked PR also works when the
user does not have the minimap enabled via settings. Currently, the
toggle only works when the user has already enabled the minimap in their
settings.

This happens because in


https://github.com/zed-industries/zed/blob/b4fbb9bc085733d2f771cd440ff57305cf6eebeb/crates/editor/src/element.rs#L7160-L7164

as well as


https://github.com/zed-industries/zed/blob/b4fbb9bc085733d2f771cd440ff57305cf6eebeb/crates/editor/src/element.rs#L1542

we check for the user configuration before reserving space for the
minimap as well as layouting it and because in

https://github.com/zed-industries/zed/blob/b4fbb9bc085733d2f771cd440ff57305cf6eebeb/crates/editor/src/editor.rs#L16404

with


https://github.com/zed-industries/zed/blob/b4fbb9bc085733d2f771cd440ff57305cf6eebeb/crates/editor/src/editor_settings.rs#L132-L134

we would not even create a minimap when the user disabled it via their
settings.

---

This PR fixes this by ensuring a minimap is created on the toggle issue
as well as lifting some of the restrictions. Since we are always only
returning a minimap in


https://github.com/zed-industries/zed/blob/b4fbb9bc085733d2f771cd440ff57305cf6eebeb/crates/editor/src/editor.rs#L16443-L16445

when `show_minimap` is set to `true`, we can assume in the rendering
code that if a minimap is present, it should be layouted and rendered no
matter if `ShowMinimap` is currently set to `Never`. We can do this
since `show_minimap` always reflects the current user configuration, see


https://github.com/zed-industries/zed/blob/b4fbb9bc085733d2f771cd440ff57305cf6eebeb/crates/editor/src/editor.rs#L18163-L18164

I also removed the minimap deletion/recreation on the toggling of
`show_minimap`, since this is not really needed - once we have stored a
minimap editor within the editor, `show_minimap` is sufficient to ensure
that it is only shown when the user requests it. Notice that we still
will never create a minimap unless neccesary.

Lastly, I updated the `supports_minimap` check to account for the fact
that the minimap is currently disabled entirely for multibuffers.

--- 

One thing I ~~did not tackle here~~ tackled in the second commit is that
due to `show_minimap` now being exposed to the user, it is possible to
enable the minimap for all full mode editors, e.g. the agent text thread
editor

<img width="592" alt="grafik"
src="https://github.com/user-attachments/assets/5f6c0e8b-45f9-44e8-9625-9d51c1480f98"
/>

which should most likely not be possible when the minimap is
programmatically disabled.

Release Notes:

- N/A

Finn Evers created

29c31f0 Implement rendering of images with data urls in markdown (#30322)

Click to expand commit body
Fixes #28266

![Screenshot 2025-05-08 at 5 08
21 PM](https://github.com/user-attachments/assets/774d2dde-3f2d-466c-8eb1-c67badbd89e4)

Release Notes:

- Added support for rendering images with data URLs in markdown. This
can show up in hover documentation provided by language servers.

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

Max Brunsfeld and Mikayla Maki created

c512d43 agent: Render edit tool error as markdown (#30325)

Click to expand commit body
Release Notes:

- agent: Render edit tool error as markdown and allow selecting it

Agus Zubiaga created

05a6c31 languages: Fix python indent block for more keywords (#30323)

Click to expand commit body
Add `with`, `while`, `match`, `class` and `case` keywords as indent
block.

Release Notes:

- N/A

Smit Barmase created

9810745 agent: Fix autoscrolling to history entry (#30321)

Click to expand commit body
We were still using entry indexes to scroll, but the list now includes
the separators as items, so the indexes need to be translated

Release Notes:

- agent: Fix autoscrolling to history entry when navigating via keyboard

Agus Zubiaga created

4b61d4b agent: Fix message editor's button positions when expanded (#30311)

Click to expand commit body
Fixes an issue introduced by #29959 which caused the message editor to
overflow from the agent panel bounds, making the bottom buttons
invisible when the editor was expanded (cmd+esc).

Fixing this required changing the base structure of the agent panel, but
things seem to work as expected:


https://github.com/user-attachments/assets/fc4c97fb-f7cb-4f54-a268-c30fbcb1649f


Release Notes:

- agent: Fix message editor's button positions when expanded

Agus Zubiaga created

b4fbb9b Use ESC to cancel dragging in Zed (#30318)

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

ESC is always captured in terminal due to 


https://github.com/zed-industries/zed/blob/980bfae331dd5078bbba9fe0f3993d9ad5ca6e29/crates/terminal/src/terminal.rs#L1339-L1353

so this part is not fixed.

Otherwise, all other drags are cancelled when ESC is pressed:


https://github.com/user-attachments/assets/6e70a1e5-c244-420b-9dec-ae2ac2997a59


Release Notes:

- Allowed to use ESC to cancel dragging in Zed

Kirill Bulatov created

83378b8 agent: Show checkmark for current profile, not default profile (#30314)

Click to expand commit body
Closes #ISSUE

Release Notes:

- agent: Fixed a bug that caused the profile selector to display a
checkmark next to the wrong profile.

Cole Miller created

648d005 bedrock: Fix UX bug (#28350)

Click to expand commit body
Closes #29072, #28390, 

Release Notes:

- AWS Bedrock: Fixed case where user couldn't delete manually added AWS
credentials.

---------

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

Shardul Vaidya , Marshall Bowers , and Peter Tripp created

a8312d6 Allow to temporarily toggle diagnostics in the editor (#30316)

Click to expand commit body
* Adds a `diagnostics_max_severity: null` editor settings that has
previous hardcoded default, `warning`
* Make inline diagnostics to inherit this setting by default (can be
overridden with its own max_severity setting)
* Allows to toggle diagnostics in the editor menu and via new action,
`editor::ToggleDiagnostics`

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

Release Notes:

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

Kirill Bulatov created

9e5d115 editor: Fix TypeScript auto-import breaking generic function calls (#30312)

Click to expand commit body
Closes #29982

When auto-importing TypeScript functions with generic type arguments
(like `useRef<HTMLDivElement>(null)`), the language server returns
snippets with placeholders (e.g., `useRef(${1:initialValue})$0`). While
useful for new function calls, this behavior breaks existing code when
renaming functions that already have parameters.

For example, completing `useR^<HTMLDivElement>(null)` incorrectly
results in `useRef(initialValue)^<HTMLDivElement>(null)`.

Related upstream issue:
https://github.com/microsoft/TypeScript/issues/51758
Similar workaround fix:
https://github.com/pmizio/typescript-tools.nvim/pull/147

Release Notes:

- Fixed TypeScript auto-import behavior where functions with generic
type arguments (like `useRef<HTMLDivElement>(null)`) would incorrectly
insert snippet placeholders, breaking the syntax.

Smit Barmase created

822580c collab: Check if the user has a payment method before upgrading to Zed Pro (#30310)

Click to expand commit body
This PR adds a check for if the user has a payment method before
attempting to upgrade them to Zed Pro.

Release Notes:

- N/A

Marshall Bowers created