9eb1ff2
acp thread view: Always use editors for user messages (#36256)
Click to expand commit body
This means the cursor will be at the position you clicked:
https://github.com/user-attachments/assets/0693950d-7513-4d90-88e2-55817df7213a
Release Notes:
- N/A
This PR removes the `AcceptTermsOfService` RPC message.
We're no longer using the message after
https://github.com/zed-industries/zed/pull/36255.
Release Notes:
- N/A
Marshall Bowers
created
65f64aa
search: Fix recently introduced issues with the search bars (#36271)
Click to expand commit body
Follow-up to https://github.com/zed-industries/zed/pull/36233
The above PR simplified the handling but introduced some bugs: The
replace buttons were no longer clickable, some buttons also lost their
toggle states, some buttons shared their element id and, lastly, some
buttons were clickable but would not trigger the right action. This PR
fixes all that.
Release Notes:
- N/A
This PR removes the `UpdateUserPlan` RPC message.
We're no longer using the message after
https://github.com/zed-industries/zed/pull/36255.
Release Notes:
- N/A
Marshall Bowers
created
1931889
thread_view: Move handlers for confirmed completions to the MessageEditor (#36214)
This PR removes the `GetPrivateUserInfo` RPC message.
We're no longer using the message after
https://github.com/zed-industries/zed/pull/36255.
Release Notes:
- N/A
This PR orders the `reserved` fields in the RPC `Envelope`, as they had
gotten unsorted.
Release Notes:
- N/A
Marshall Bowers
created
75b8320
Remove RPC messages pertaining to the LLM token (#36252)
Click to expand commit body
This PR removes the RPC messages pertaining to the LLM token.
We now retrieve the LLM token from Cloud.
Release Notes:
- N/A
Marshall Bowers
created
257e099
collab: Increase minimum required version to connect (#36255)
Click to expand commit body
This PR increases the minimum required version to connect to Collab.
Previously this was set at v0.157.0.
The new minimum required version is v0.198.4, which is the first version
where we no longer connect to Collab automatically.
Clients on the v0.199.x minor version will also need to be v0.199.2 or
greater in order to connect, due to us hotfixing the connection changes
to the Preview branch.
We're doing this to force clients to upgrade in order to connect to
Collab, as we're going to be removing some of the old RPC usages related
to authentication that are no longer used. Therefore, we want users to
be on a version of Zed that does not rely on those messages.
Users will see a message similar to this one, prompting them to upgrade:
<img width="1209" height="875" alt="Screenshot 2025-08-15 at 11 37
55 AM"
src="https://github.com/user-attachments/assets/59ffff3e-8f82-4152-84a8-776c691eaaee"
/>
> Note: In this case I'm simulating the error state, which is why I'm
signed in via Cloud while still not being able to connect to Collab.
Users on older versions will see the "Please update Zed to Collaborate"
message without being signed in.
Release Notes:
- N/A
Marshall Bowers
created
c39f294
remote: Add support for additional SSH arguments in SshSocket (#33243)
Click to expand commit body
Closes #29438
Release Notes:
- Fix SSH agent forwarding doesn't work when using SSH remote
development.
Umesh Yadav
created
7671f34
agent: Create checkpoint before/after every edit operation (#36253)
Click to expand commit body
1. Previously, checkpoints only appeared when an agent's edit happened
immediately after a user message. This is rare (agent usually collects
some context first), so they were almost never shown. This is now fixed.
2. After this change, a checkpoint is created after every edit
operation. So when the agent edits files five times in a single dialog
turn, we will now display five checkpoints.
As a bonus, it's now possible to undo only a part of a long agent
response.
Closes #36092, #32917
Release Notes:
- Create agent checkpoints more frequently (before every edit)
Oleksiy Syvokon
created
7993ee9
Suggest unsaved buffer content text as the default filename (#35707)
Click to expand commit body
Closes #24672
This PR complements a feature added earlier by @JosephTLyons (in
https://github.com/zed-industries/zed/pull/32353) where the text is
considered as the tab title in a new buffer. It piggybacks off that
change and sets the title as the suggested filename in the save dialog
(completely mirroring the same functionality in VSCode):

Release Notes:
- Text entered in a new untitled buffer is considered as the default
filename when saving
Igal Tabachnik
created
485802b
collab: Remove endpoints for issuing notifications from Cloud (#36249)
Click to expand commit body
This PR removes the `POST /users/:id/refresh_llm_tokens` and `POST
/users/:id/update_plan` endpoints from Collab.
These endpoints were added to be called by Cloud in order to push down
notifications over the Collab RPC connection.
Cloud now sends down notifications to clients directly, so we no longer
need these endpoints.
All calls to these endpoints have already been removed in production.
Release Notes:
- N/A
Marshall Bowers
created
1e41d86
agent2: Set thread_id, prompt_id, temperature on request (#36246)
846ed6a
search: Fix project search not rendering matches count (#36238)
Click to expand commit body
Follow up to https://github.com/zed-industries/zed/pull/36103/
Release Notes:
- N/A
Lukas Wirth
created
708c434
workspace: Highlight where dragged tab will be dropped (#34740)
Click to expand commit body
Closes #18565
I could use some advice on the color palette / theming. A couple
options:
1. The `drop_target_background` color could be used for the border if we
didn't use it for the background of the tab. In VSCode, the background
color of tabs doesn't change as you're dragging, there's just a border
between tabs. My only concern with this option is that the current
`drop_target_background` color is a bit subtle when used for a small
area like a border.
2. Another option could be to add a `drop_target_border` theme color,
but I don't know how much complexity this adds to implementation
(presumably all existing themes would need to be updated?).
Demo:
https://github.com/user-attachments/assets/0b7c04ea-5ec5-4b45-adad-156dfbf552db
Release Notes:
- Highlight where a dragged tab will be dropped between two other tabs
---------
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Closes #36213
Use `textDocument/didChange`
([docs](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_synchronization))
instead of `textDocument/synchronization`.
Release Notes:
- Fixed an issue where Dart projects were being formatted incorrectly by
the language server.
smit
created
2a57b16
openai: Don't send prompt_cache_key for OpenAI-compatible models (#36231)
Click to expand commit body
Some APIs fail when they get this parameter
Closes #36215
Release Notes:
- Fixed OpenAI-compatible providers that don't support prompt caching
and/or reasoning
4f0b00b
Add component NotificationFrame & CaptureAudio parts for testing (#36081)
Click to expand commit body
Adds component NotificationFrame. It implements a subset of MessageNotification as a Component and refactors MessageNotification to use NotificationFrame. Having some notification UI Component is nice as it allows us to easily build new types of notifications.
Uses the new NotificationFrame component for CaptureAudioNotification.
Adds a CaptureAudio action in the dev namespace (not meant for
end-users). It records 10 seconds of audio and saves that to a wav file.
Release Notes:
- N/A
---------
Co-authored-by: Mikayla <mikayla@zed.dev>
David Kleingeld
and
Mikayla
created
a3dcc76
openai: Don't send reasoning_effort if it's not set (#36228)
Click to expand commit body
Release Notes:
- N/A
Oleksiy Syvokon
created
8d6982e
search: Fix some inconsistencies between project and buffer search bars (#36103)
Click to expand commit body
- project search query string now turns red when no results are found
matching buffer search behavior
- General code deduplication as well as more consistent layout between
the two bars, as some minor details have drifted apart
- Tab cycling in buffer search now ends up in editor focus when cycling
backwards, matching forward cycling
- Report parse errors in filter include and exclude editors
Release Notes:
- N/A
Lukas Wirth
created
23d0433
linux: Fix keyboard events not working on first start in X11 (#36224)
Click to expand commit body
Closes #29083
On X11, `ibus-x11` crashes on some distros after Zed interacts with it.
This is not unique to Zed, `xim-rs` shows the same behavior, and there
are similar upstream `ibus` reports with apps like Blender:
- https://github.com/ibus/ibus/issues/2697
I opened an upstream issue to track this:
- https://github.com/ibus/ibus/issues/2789
When this crash happens, we don’t get a disconnect event, so Zed keeps
sending events to the IM server and waits for a response. It works on
subsequent starts because IM server doesn't exist now and we default to
non-XIM path.
This PR detects the crash via X11 events and falls back to the non-XIM
path so typing keeps working. We still need to investigate whether the
root cause is in `xim-rs` or `ibus-x11`.
Release Notes:
- Fixed an issue on X11 where keyboard input sometimes didn’t work on
first start.
smit
created
4d27b22
remote server: Use env flag to opt out of musl remote server build (#36069)
Click to expand commit body
Closes #ISSUE
This will allow devs to opt out of the musl build when developing zed by
running `ZED_BUILD_REMOTE_SERVER=nomusl cargo r` which also fixes remote
builds on NixOS.
Release Notes:
- Add a env flag (`ZED_BUILD_REMOTE_SERVER=nomusl`) to opt out of musl
builds when building the remote server
Alvaro Parker
created
8366b6c
workspace: Disable padding on zoomed panels (#36012)
Click to expand commit body
Continuation of https://github.com/zed-industries/zed/pull/31913
| Before | After |
| -------|------|
|

|

|
Release Notes:
- Disable padding on zoomed panels
- Support adding ImageContent to messages through copy/paste and through
path completions
- Ensure images are fully converted to LanguageModelImageContent before
sending them to the model
- Update ACP crate to v0.0.24 to enable passing image paths through the
protocol
Release Notes:
- N/A
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
The latest release has span changes in it which prevents rust-analyzer
from constantly showing `Box` and `Box::pin` on hover as well as those
items polluting the go to definition feature on every identifier.
See https://github.com/dtolnay/async-trait/pull/293
Release Notes:
- N/A
43ee604
acp: Clean up entry views on rewind (#36197)
Click to expand commit body
We were leaking diffs and terminals on rewind, we'll now clean them up.
This PR also introduces a refactor of how we mantain the entry view
state to use a `Vec` that's kept in sync with the thread entries.
Release Notes:
- N/A
Agus Zubiaga
created
2acfa5e
copilot: Fix Copilot fails to sign in on newer versions (#36195)
Click to expand commit body
Follow-up for #36093 and
https://github.com/zed-industries/zed/pull/36138
Since v1.355.0, `@github/copilot-language-server` has stopped responding
to `CheckStatus` requests if a `DidChangeConfiguration` notification
hasn’t been sent beforehand. This causes `CheckStatus` to remain in an
await state until it times out, leaving the connection stuck for a long
period before finally throwing a timeout error.
```rs
let status = server
.request::<request::CheckStatus>(request::CheckStatusParams {
local_checks_only: false,
})
.await
.into_response() // bails here with ConnectionResult::Timeout
.context("copilot: check status")?;
````
This PR fixes the issue by sending the `DidChangeConfiguration`
notification before making the `CheckStatus` request. It’s just an
ordering change i.e. no other LSP actions occur between these two calls.
Previously, we only updated our internal connection status and UI in
between.
Release Notes:
- Fixed an issue where GitHub Copilot could get stuck and fail to sign
in.
smit
created
1a169e0
git: Clear set of dirty paths when doing a full status scan (#36181)
Click to expand commit body
Related to #35780
Release Notes:
- N/A
---------
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
In vim and zed (vim and helix modes) typing "tx" will jump before the
next `x`, but typing it again won't do anything. But in helix the cursor
just jumps before the `x` after that. I added that in helix mode.
This also solves another small issue where the selection doesn't include
the first `x` after typing "fx" twice. And similarly after typing "Fx"
or "Tx" the selection should include the character that the motion
startet on.
Release Notes:
- helix: Fixed inconsistencies in the "f" and "t" motions
fantacell
created
20be133
helix: Allow yank without a selection (#35612)
Click to expand commit body
Related https://github.com/zed-industries/zed/issues/4642
Release Notes:
- Helix: without active selection, pressing `y` in helix mode will yank
a single character under cursor.
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Romans Malinovskis
and
Conrad Irwin
created
528d56e
keymap_ui: Add open keymap JSON button (#36182)
Click to expand commit body
Closes #ISSUE
Release Notes:
- Keymap Editor: Added a button in the top left to allow opening the
keymap JSON file. Right clicking the button provides shortcuts to
opening the default Zed and Vim keymaps as well.
Ben Kunkle
created
f514c7c
Emit a `BreadcrumbsChanged` event when associated settings changed (#36177)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/36149
Release Notes:
- Fixed a bug where changing the `toolbar.breadcrumbs` setting didn't
immediately update the UI when saving the `settings.json` file.
Joseph T. Lyons
created
ba2c45b
Add FutureExt::with_timeout and use it for for Room::maintain_connection (#36175)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>