628a9cd
thread view: Add link to docs in the toolbar plus menu (#36883)
Click to expand commit body
Release Notes: - N/A
Danilo Leal created
628a9cd
thread view: Add link to docs in the toolbar plus menu (#36883)
Release Notes: - N/A
Danilo Leal created
ad25aba
remote_server: Improve error reporting (#33770)
Closes #33736 Use `thiserror` to implement error stack and `anyhow` to report is to user. Also move some code from main to remote_server to have better crate isolation. Release Notes: - N/A --------- Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Gwen Lg and Kirill Bulatov created
99cee87
tab_switcher: Add support for diagnostics (#34547)
Support to show diagnostics on the tab switcher in the same way they are displayed on the tab bar. This follows the setting `tabs.show_diagnostics`. This will improve user experience when disabling the tab bar and still being able to see the diagnostics when switching tabs Preview: <img width="768" height="523" alt="Screenshot From 2025-07-16 11-02-42" src="https://github.com/user-attachments/assets/308873ba-0458-485d-ae05-0de7c1cdfb28" /> Release Notes: - Added diagnostics indicators to the tab switcher --------- Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Alvaro Parker and Kirill Bulatov created
823a001
acp: Show output for read_file tool in a code block (#36900)
Release Notes: - N/A
Cole Miller created
9cc006f
acp: Update error matching (#36898)
Release Notes: - N/A
Conrad Irwin created
0470bac
open_ai: Remove `model` field from ResponseStreamEvent (#36902)
Closes #36901 Release Notes: - Fixed use of Open WebUI as an LLM provider.
Michael Sloan created
4605b96
Fix constant thread creation on Windows (#36779)
See https://github.com/zed-industries/zed/issues/36057#issuecomment-3215808649 Fixes https://github.com/zed-industries/zed/issues/36057 Release Notes: - N/A
John Tur created
949398c
thread view: Fix some design papercuts (#36893)
Release Notes: - N/A --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com> Co-authored-by: Matt Miller <mattrx@gmail.com>
Danilo Leal , Conrad Irwin , Ben Brandt , and Matt Miller created
79e74b8
workspace: Allow disabling of padding on zoomed panels (#31913)
Screenshot: | Before | After | | -------|------| |  |  | |  |  | Release Notes: - Added `zoomed_padding` to allow disabling of padding around zoomed panels Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Cretezy and Mikayla Maki created
59af2a7
acp: Add telemetry (#36894)
Release Notes: - N/A --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Bennet Bo Fenner and Conrad Irwin created
c786c01
agent: Add section for agent servers in settings view (#35206)
Release Notes: - N/A --------- Co-authored-by: Cole Miller <cole@zed.dev>
Danilo Leal and Cole Miller created
5fd29d3
acp: Model-specific prompt capabilities for 1PA (#36879)
Adds support for per-session prompt capabilities and capability changes on the Zed side (ACP itself still only has per-connection static capabilities for now), and uses it to reflect image support accurately in 1PA threads based on the currently-selected model. Release Notes: - N/A
Cole Miller created
f1204df
Revert "workspace: Disable padding on zoomed panels" (#36884)
Reverts zed-industries/zed#36012 We thought we didn't need this UI, but it turns out it was load bearing :) Release Notes: - Restored the zoomed panel padding
Mikayla Maki created
2e1ca47
Make fields of `AiUpsellCard` private (#36888)
This PR makes the fields of the `AiUpsellCard` private, for better encapsulation. Release Notes: - N/A
Marshall Bowers created
5c346a4
kotlin: Specify default language server (#36871)
As of https://github.com/zed-extensions/kotlin/commit/db52fc3655df8594a89b3a6b539274f23dfa2f28, the Kotlin extension has two language servers. However, following that change, no default language server for Kotlin was configured within this repo, which led to two language servers being activated for Kotlin by default. This PR makes `kotlin-language-server` the default language server for the extension. This also ensures that the [documentation within the repository](https://github.com/zed-extensions/kotlin?tab=readme-ov-file#kotlin-lsp) matches what is actually the case. Release Notes: - kotlin: Made `kotlin-language-server` the default language server.
Finn Evers created
a102b08
Require confirmation for fetch tool (#36881)
Using prompt injection, the agent may be tricked into making a fetch request that includes unexpected data from the conversation in the URL. As agent conversations may contain sensitive information (like private code, or potentially even API keys), this seems bad. The easiest way to prevent this is to require the user to look at the URL before the model is allowed to fetch it. Thanks to @ant4g0nist for bringing this to our attention. Release Notes: - agent panel: The fetch tool now requires confirmation.
Conrad Irwin created
2dc4f15
Revert "Capture `shorthand_field_initializer` and modules in Rust highlights (#35842)" (#36880)
This PR reverts https://github.com/zed-industries/zed/pull/35842, as it broke the syntax highlighting for `crate`: ### Before Revert <img width="367" height="70" alt="Screenshot 2025-08-25 at 11 29 50 AM" src="https://github.com/user-attachments/assets/ce9b8b59-4e89-43ed-84c7-95c0156b9168" /> ### After Revert <img width="353" height="69" alt="Screenshot 2025-08-25 at 11 32 17 AM" src="https://github.com/user-attachments/assets/b6df5a21-64db-4abf-aa76-f085236da0c4" /> This reverts commit 896a35f7befce468427a30489adf88c851b9507d. Release Notes: - Reverted https://github.com/zed-industries/zed/pull/35842.
Marshall Bowers created
557753d
acp: Add Reauthenticate to dropdown (#36878)
Release Notes: - N/A Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Bennet Bo Fenner and Conrad Irwin created
65fb17e
acp: Remember following state (#36793)
A beta user reported that following was "lost" when asking for confirmation, I suspect they moved their cursor in the agent file while reviewing the change. Now we will resume following when the agent starts up again. Release Notes: - N/A
Conrad Irwin created
2fe3dbe
project: Remove redundant Option from parse_register_capabilities (#36874)
Release Notes: - N/A
Smit Barmase created
fda5111
Add CSS language injections for calls to `styled` (#33966)
…emotion). Closes: https://github.com/zed-industries/zed/issues/17026 Release Notes: - Added CSS language injection support for styled-components and emotion in JavaScript, TypeScript, and TSX files.
Zach Riegel created
69127d2
acp: Simplify control flow for native agent loop (#36868)
Release Notes: - N/A Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Antonio Scandurra and Bennet Bo Fenner created
db94954
agent2: Less noisy logs (#36863)
Release Notes: - N/A
Bennet Bo Fenner created
2b5a302
thread view: Prevent user message controls to be cut-off (#36865)
In the thread view, when focusing on the user message, we display the editing control container absolutely-positioned in the top right. However, if there are no rules items and no restore checkpoint button _and_ it is the very first message, the editing controls container would be cut-off. This PR fixes that by giving it a bit more top padding. Release Notes: - N/A
Danilo Leal created
4c0ad95
acp: Show retry button for errors (#36862)
Release Notes: - N/A --------- Co-authored-by: Antonio Scandurra <me@as-cii.com>
Bennet Bo Fenner and Antonio Scandurra created
8c83281
acp: Fix read_file tool flickering (#36854)
We were rendering a Markdown link like `[Read file x.rs (lines Y-Z)](@selection)` while the tool ran, but then switching to just `x.rs` as soon as we got the file location from the tool call (due to an if/else in the UI code that applies to all tools). This caused a flicker, which is fixed by having `initial_title` return just the filename from the input as it arrives instead of a link that we're going to stop rendering almost immediately anyway. Release Notes: - N/A
Cole Miller created
dfc99de
thread view: Add a few UI tweaks (#36845)
Release Notes: - N/A
Danilo Leal created
fe5e812
Fix macOS arch reporting from `arch_ios` to `arch_arm` (#36217)
```xml <key>arch_kind</key> <string>arch_arm</string> ``` Closes #36037 Release Notes: - N/A
versecafe created
c48197b
util: Fix edge case when parsing paths (#36025)
Searching for files broke a couple releases ago. It used to be possible to start typing part of a file name, then select a file (not confirm it yet) and then type in `:` and a line number to navigate directly to that line. The current behavior can be seen in the following screenshots. When the `:` is typed, the selection is lost, since no files match any more. <img width="552" height="370" alt="Screenshot From 2025-08-12 10-36-08" src="https://github.com/user-attachments/assets/e4b4b613-7f0c-40d7-94c9-04d8ab541656" /> <img width="553" height="124" alt="Screenshot From 2025-08-12 10-36-25" src="https://github.com/user-attachments/assets/843e9ecf-9e08-4fa6-9340-0388a957cbb2" /> <img width="549" height="370" alt="Screenshot From 2025-08-12 10-36-47" src="https://github.com/user-attachments/assets/4a1bbbd8-268a-4ea8-999f-6cef1eb34a45" /> --- With this PR, the previous behavior is restored and can be seen in these screenshots: <img width="552" height="370" alt="Screenshot From 2025-08-12 10-36-08" src="https://github.com/user-attachments/assets/466e1906-4735-47ae-a699-117bdd6490ca" /> <img width="549" height="370" alt="Screenshot From 2025-08-12 10-47-07" src="https://github.com/user-attachments/assets/17f3acda-662d-4962-9eb8-4b494f211d26" /> <img width="549" height="370" alt="Screenshot From 2025-08-12 10-47-21" src="https://github.com/user-attachments/assets/d98447fe-7377-4f4f-b3da-f690cd44c141" /> --- Release Notes: - Adjusted the file finder to show matching file paths when adding the `:row:column` to the query
Hendrik Müller created
11545c6
Add file icons to multibuffer view (#36836)
<img width="1988" height="1420" alt="multi-buffer-icons-git-diff"
src="https://github.com/user-attachments/assets/48f9722f-ca09-4aa7-ad7a-0b7e85f440d9"
/>
Unfortunately, `cargo format` decided to reformat everything. Probably,
because of hitting the right margin, no idea. The essence of this change
is the following:
```rust
.map(|path_header| {
let filename = filename
.map(SharedString::from)
.unwrap_or_else(|| "untitled".into());
let path = path::Path::new(filename.as_str());
let icon =
FileIcons::get_icon(path, cx).unwrap_or_default();
let icon = Icon::from_path(icon).color(Color::Muted);
let label = Label::new(filename).single_line().when_some(
file_status,
|el, status| {
el.color(if status.is_conflicted() {
Color::Conflict
} else if status.is_modified() {
Color::Modified
} else if status.is_deleted() {
Color::Disabled
} else {
Color::Created
})
.when(status.is_deleted(), |el| el.strikethrough())
},
);
path_header.child(icon).child(label)
})
```
Release Notes:
- Added file icons to multi buffer view
Aleksei Gusev created
a79aef7
acp: Never build a request with a tool use without its corresponding result (#36847)
Release Notes: - N/A
Antonio Scandurra created
d8bffd7
acp: Cancel editing when focus is lost and message was not changed (#36822)
Release Notes: - N/A
Bennet Bo Fenner created
54c7d9d
Fix crash when opening inspector on Windows debug build (#36829)
Chuqiao Feng created
dd6fce6
multi_buffer: Pre-allocate IDs when editing (#36819)
Something I came across when looking at `edit_internal`. Potentially saves multiple re-allocations on an edit Release Notes: - N/A
tidely created
de5f87e
languages: Add `module` to TS/JS keywords (#36830)
<img width="376" height="166" alt="image" src="https://github.com/user-attachments/assets/ae32d74c-387b-4809-a0d6-cfa97888347d" /> Release Notes: - Improved syntax highlights for `module` keyword in TS/JS
versecafe created
1b91f3d
acp: Fix accidentally reverted thread view changes (#36825)
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
1976479
acp: Animate loading context creases (#36814)
- 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
d49409c
docs: Update settings in diagnostics.md (#36806)
For project_panel, the diagnostics key seems to be `show_diagnostics` not `diagnostics` ([source](https://github.com/zed-industries/zed/blob/main/crates/project_panel/src/project_panel_settings.rs#L149-L152)). Updating the docs accordingly Release Notes: - N/A
itsaphel created
60ea475
project: Fix dynamic registration for textDocument/documentColor (#36807)
From: https://github.com/microsoft/vscode-languageserver-node/blob/d90a87f9557a0df9142cfb33e251cfa6fe27d970/protocol/src/common/protocol.colorProvider.ts#L50 Release Notes: - N/A
Smit Barmase created
61bc1cc
acp: Support launching custom agent servers (#36805)
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
70575d1
Remove redundant Cargo diagnostics settings (#36795)
Removes `diagnostics.cargo.fetch_cargo_diagnostics` settings as those are not needed for the flycheck diagnostics to run. This setting disabled `checkOnSave` in rust-analyzer and allowed to update diagnostics via flycheck in the project diagnostics editor with the "refresh" button. Instead, `"checkOnSave": false,` can be set manually as https://zed.dev/docs/languages/rust#more-server-configuration example shows and flycheck commands can be called manually from anywhere, including the diagnostics panel, to refresh the diagnostics. Release Notes: - Removed redundant `diagnostics.cargo.fetch_cargo_diagnostics` settings
Kirill Bulatov created
ea42013
acp: Eagerly load all kinds of mentions (#36741)
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
5da31fd
acp: Remove ACP v0 (#36785)
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
f48a8f2
thread view: Simplify tool call & improve required auth state UIs (#36783)
Release Notes: - N/A
Danilo Leal created
d24cad3
Be more lenient when dealing with rust-analyzer's flycheck commands (#36782)
Flycheck commands are global and makes sense to fall back to looking up project's rust-analyzer even if the commands are run on a non-rust buffer. If multiple rust-analyzers are found in the project, avoid ambiguous commands and bail (as before). Closes #ISSUE Release Notes: - Made it possible to run rust-analyzer's flycheck actions from anywhere in the project
Kirill Bulatov created
153724a
Clean up handling of serialized ssh connection ids (#36781)
Small follow-up to #36714 Release Notes: - N/A
Max Brunsfeld created
bc566fe
agent2: Tweak usage callout border (#36777)
Release Notes: - N/A
Bennet Bo Fenner created
91b2a84
Add a few more testing features (#36778)
Release Notes: - N/A --------- Co-authored-by: Marshall <marshall@zed.dev>
Mikayla Maki and Marshall created
e6267c4
Ensure `pane: swap item right` does not panic (#36765)
This fixes a panic I randomly ran into whilst mistyping in the command palette: I accidentally ran `pane: swap item right`in a state where no items were opened in my active pane. We were checking for `index + 1 == self.items.len()` there when it really should be `>=`, as otherwise in the case of no items this panics. This PR fixes the bug, adds a test for both the panic as well as the actions themselves (they were untested previously). Lastly (and mostly), this also cleans up a bit around existing actions to update them with how we generally handle actions now. Release Notes: - Fixed a panic that could occur with the `pane: swap item right` action.
Finn Evers created
f649c31
Restructure persistence of remote workspaces to make room for WSL and other non-ssh remote projects (#36714)
This is another pure refactor, to prepare for adding direct WSL support.
### Todo
* [x] Represent `paths` in the same way for all workspaces, instead of
having a completely separate SSH representation
* [x] Adjust sqlite tables
* [x] `ssh_projects` -> `ssh_connections` (drop paths)
* [x] `workspaces.local_paths` -> `paths`
* [x] remove duplicate path columns on `workspaces`
* [x] Add migrations for backward-compatibility
Release Notes:
- N/A
---------
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Max Brunsfeld and Mikayla Maki created