Commit log

10efbd5 agent_ui: Show the "new thread" keybinding for the currently active agent (#42939)

Click to expand commit body
This PR's goal is to improve discoverability of how Zed "remembers" the
currently selected agent when hitting `cmd-n` (or `ctrl-n`). Hitting
that binding starts a new thread with whatever agent is currently
selected.

In the example below, I am in a Claude Code thread and if I hit `cmd-n`,
a new, fresh CC thread will be started:

<img width="500" height="822" alt="Screenshot 2025-11-18 at 1  13@2x"
src="https://github.com/user-attachments/assets/d3acd1aa-459d-4078-9b62-bbac3b8c1600"
/>


Release Notes:

- agent: Improved discoverability of the `cmd-n` keybinding to create a
new thread with the currently selected agent.

Danilo Leal created

0386f24 Add experimental Sweep edit prediction provider (#42927)

Click to expand commit body
Only for staff

Release Notes:

- N/A

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Ben Kunkle <ben@zed.dev>

Agus Zubiaga , Max Brunsfeld , and Ben Kunkle created

a39ba03 Use metrics-id for sentry user id when we have it (#42931)

Click to expand commit body
This should make it easier to correlate Sentry reports with user reports
and
github issues (for users who have diagnostics enabled)

Release Notes:

- N/A

Conrad Irwin created

2c7bcfc multi_buffer: Work around another panic bug in path_key (#42920)

Click to expand commit body
Fixes ZED-346 for now until I find the time to dig into this bug
properly

Release Notes:

- Fixed a panic in the diagnostics pane

Lukas Wirth created

6bea23e text: Temporarily remove `assert_char_boundary` panics (#42919)

Click to expand commit body
As discussed in the first responders meeting. We have collected a lot of
backtraces from these, but it's not quite clear yet what causes this.
Removing these should ideally make things a bit more stable even if we
may run into panics later one when the faulty anchor is used still.

Release Notes:

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

Lukas Wirth created

98da1ea Fix remote extension syncing (#42918)

Click to expand commit body
Closes #40906
Closes #39729

SFTP uploads weren't quoting the install directory which was causing
extension syncing to fail. We were also only running `install_extension`
once per remote-connection instead of once per project (thx @feeiyu for
pointing this out) so extension weren't being loaded in subsequently
opened remote projects.

Release Notes:

- N/A

---------

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

Julia Ryan and Conrad Irwin created

98a83b4 agent_ui: Make input fields in Bedrock settings keyboard navigable (#42916)

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

This PR enables jumping from one input to the other, in the Bedrock
settings section, with tab.

Release Notes:

- N/A

Danilo Leal created

5f356d0 agent_ui: Fix model name label truncation (#42921)

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

Release Notes:

- agent: Fixed an issue where the label for model names wouldn't use all
the available space in the model picker.

Danilo Leal created

73d3f96 collab: Add `external_id` column to `billing_customers` table (#42923)

Click to expand commit body
This PR adds an `external_id` column to the `billing_customers` table.

Release Notes:

- N/A

Marshall Bowers created

d9cfc2c Fix formatting in various files (#42917)

Click to expand commit body
This fixes various issues where rustfmt failed to format code due to too
long strings, most of which I stumbled across over the last week and
some additonal ones I searched for whilst fixing the others.

Release Notes:

- N/A

Finn Evers created

ee420d5 vim: Change approach to fixing vim's temporary mode bug (#42894)

Click to expand commit body
The `Vim.exit_temporary_normal` method had been updated
(https://github.com/zed-industries/zed/pull/42742) to expect and
`Option<&Motion>` that would then be used to determine whether to move
the cursor right in case the motion was `Some(EndOfLine { ..})`.
Unfortunately this meant that all callers now had to provide this
argument, even if just `None`.

After merging those changes I remember that we could probably play
around with `clip_at_line_ends` so this commit removes those intial
changes in favor of updating the `vim::normal::Vim.move_cursor` method
so that, if vim is in temporary mode and `EndOfLine` is used, it
disables clipping at line ends so that the newline character can be
selected.

Closes [#42278](https://github.com/zed-industries/zed/issues/42278)

Release Notes:

- N/A

Dino created

d801d09 Add @miguelraz to reviewers and support sections (#42904)

Click to expand commit body
Release Notes:

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

Miguel Raz Guzmán Macedo created

3f25d36 agent_ui: Fix text pasting no longer working (#42914)

Click to expand commit body
Regressed in https://github.com/zed-industries/zed/pull/42908
Release Notes:

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

Lukas Wirth created

f015368 Update top-ranking issues script (#42911)

Click to expand commit body
- Added Windows category
- Removed unused import
- Fixed a type error reported by `ty`

Release Notes:

- N/A

Joseph T. Lyons created

4bf3b9d zeta2: Output `bucketed_analysis.md` (#42890)

Click to expand commit body
Closes #ISSUE

Makes it so that a file named `bucketed_analysis.md` is written to the
runs directory after an eval is ran with > 1 repetitions. This file
buckets the predictions made by the model by comparing the edits made so
that seeing how many times different failure modes were encountered
becomes much easier.

Release Notes:

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

Ben Kunkle created

599a217 workspace: Fix logging of errors in `prompt_err` (#42908)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

b0a7def Fix track file renames in git panel (#42352)

Click to expand commit body
Closes #30549

Release Notes:

- Fixed: Git renames now properly show as renamed files in the git panel
instead of appearing as deleted + untracked files
<img width="351" height="132" alt="Screenshot 2025-11-10 at 17 39 44"
src="https://github.com/user-attachments/assets/80e9c286-1abd-4498-a7d5-bd21633e6597"
/>
<img width="500" height="95" alt="Screenshot 2025-11-10 at 17 39 55"
src="https://github.com/user-attachments/assets/e4c59796-df3a-4d12-96f4-e6706b13a32f"
/>

ozzy created

57e3bcf Revise R documentation - about Air in particular (#42755)

Click to expand commit body
Returning the favor from @rgbkrk in
https://github.com/posit-dev/air/pull/445

I noticed the R docs around Air are a bit incorrect / out of date. I'll
make a few more comments inline. Feel free to take over for any other
edits.

Release Notes:

- Improved R language support documentation

Davis Vaughan created

b2f5611 zeta2: Support qwen3-minimal prompt format (#42902)

Click to expand commit body
This prompt is for a fine-tuned model. It has the following changes,
compared to `minimal`:
- No instructions at all, except for one sentence at the beginning of
the prompt.
- Output is a simplified unified diff -- hunk headers have no line
counts (e.g., `@@ -20 +20 @@`)
- Qwen's FIM tokens are used where possible (`<|file_sep|>`,
`<|fim_prefix|>`, `<|fim_suffix|>`, etc.)

To evaluate this model:
```
ZED_ZETA2_MODEL=zeta2-exp [usual zeta-cli eval params ...]  --prompt-format minimal-qwen
```

This will point to the most recent Baseten deployment of zeta2-exp
(which may change in the future, so the prompt-format may get out of
sync).

Release Notes:

- N/A

Oleksiy Syvokon created

fd1494c Fix remote server completions not being queried from all LSP servers (#42723)

Click to expand commit body
Closes #41294

Release Notes:

- Fixed remote LSPs not being queried

localcc created

faa1136 agent_ui: Don't create a new terminal when hitting the new thread binding from the terminal (#42898)

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

Release Notes:

- agent: Fixed a bug where hitting the `NewThread` keybinding when
focused inside a terminal within the agent panel would create a new
terminal tab instead of a new thread.

Danilo Leal created

6bf5e92 Revert "Keep selection in `SwitchToHelixNormalMode` (#41583)" (#42892)

Click to expand commit body
Closes #ISSUE

Release Notes:

- Fixes vim "go to definition" making a selection

Conrad Irwin created

46ad6c0 ci: Remove remaining nextest compiles (#42630)

Click to expand commit body
Follow up to https://github.com/zed-industries/zed/pull/42556

Release Notes:

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

Lukas Wirth created

671500d agent_ui: Fix images copied from win explorer not being pastable (#42858)

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

A bit adhoc but it gets the job done for now

Release Notes:

- Fixed images copied from windows explorer not being pastable in the
agent panel

Lukas Wirth created

0519c64 Deduplicate inlays when getting those from multiple language servers (#42899)

Click to expand commit body
Part of https://github.com/zed-industries/zed/issues/42671

Release Notes:

- Deduplicate inlay hints from different language servers

Kirill Bulatov created

23872b0 Fix stale edits (#42895)

Click to expand commit body
Closes #34069

<img width="532" height="880" alt="Screenshot 2025-11-17 at 11 14 19 AM"
src="https://github.com/user-attachments/assets/abc50c32-d54d-4310-a6e6-83008db7ed81"
/>

<img width="525" height="863" alt="Screenshot 2025-11-17 at 12 22 50 PM"
src="https://github.com/user-attachments/assets/15a69792-c2c7-4727-add9-c1f9baa5e665"
/>

Release Notes:

- Agent file edits now error if the file has changed since last read
(allowing the agent to read changes and avoid overwriting changes made
outside Zed)

Richard Feldman created

4b050b6 Support Agent Servers on remoting (#42683)

Click to expand commit body
<img width="348" height="359" alt="Screenshot 2025-11-13 at 6 53 39 PM"
src="https://github.com/user-attachments/assets/6fe75796-8ceb-4f98-9d35-005c90417fd4"
/>

Also added support for per-target env vars to Agent Server Extensions

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

Release Notes:

- Per-target env vars are now supported on Agent Server Extensions
- Agent Server Extensions are now available when doing SSH remoting

---------

Co-authored-by: Lukas Wirth <me@lukaswirth.dev>
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>

Richard Feldman , Lukas Wirth , and Mikayla Maki created

bb46bc1 settings_ui: Add "Edit in settings.json" button to subpage header (#42886)

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

This will make it consistent with the regular/main page. Also ended up
fixing a bug along the way where this button wouldn't work for subpage
items.

Release Notes:

- settings ui: Fixed a bug where the "Edit in settings.json" wouldn't
work for subpages like all the Language pages.

Danilo Leal created

b274f80 zeta2: Print average length of prompts and outputs (#42885)

Click to expand commit body
Release Notes:

- N/A

Oleksiy Syvokon created

d77ab99 keymap_editor: Make "toggle exact match mode" the default for binding search (#42883)

Click to expand commit body
I think having the "exact mode" turned on by default is usually what
users will expect when searching for a specific keybinding. When it's
turned off, it's very odd to search for a super common binding like
"command-enter" and get no results. That happens because without that
mode, we're trying to match for subsequent matches, which I'm betting
it's an edge case. Hopefully, this change will make the keymap editor
feel more like it works well.

I'm also adding the toggle icon button inside the keystroke input for
consistency with the project search input.

Making this change very inspired by [Sam Rose's
feedback](https://bsky.app/profile/samwho.dev/post/3m5juszqyd22w).

Release Notes:

- keymap editor: Made the "toggle exact match mode" the default
keystroke search mode so that whatever you search for matches exactly to
results.

Danilo Leal created

97792f7 Prefer loading `extension.toml` before `extension.json` (#42884)

Click to expand commit body
Closes #42406

The issue for the fish-extension is that a `extension.json` is still
present next to a `extension.toml`, although the former is deprecated.

We should prefer the `extension.toml` if it is present and only fall
back to the `extension.json` if needed. This PR tackles this.

Release Notes:

- N/A

Finn Evers created

9bebf31 http_client: Remove unused `HttpClient::type_name` method (#42803)

Click to expand commit body
Closes #ISSUE

Remove unused method `HttpClient::type_name`. Looking at the PR from a
year ago when it was added, it was never actually used for anything and
seems like a prototyping artifact.

Other misc changes for the `http_client` crate include:

- Use `derive_more::Deref` for `HttpClientWithUrl` (already used for
`HttpClientWithProxy`)
- Move `http_client::proxy()` higher up in the trait definition. (It was
in between methods that have default implementations)

Release Notes:

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

tidely created

4092e81 keymap_editor: Adjust some items of the UI (#42876)

Click to expand commit body
- Only showing the "Create" menu item in the right-click context menu
for actions that _do not_ contain a binding already assigned to them
- Only show the "Clear Input" icon button in the keystroke modal when
the input is focused/in recording mode
- Add a subtle hover style to the table rows just to make it easier to
navigate

Release Notes:

- N/A

Danilo Leal created

e0b6477 Properly sanitize out inlay hints from remote hosts (#42878)

Click to expand commit body
Part of https://github.com/zed-industries/zed/issues/42671

Release Notes:

- Fixed remote hosts causing duplicate hints to be displayed

Kirill Bulatov created

f1bebd7 zeta2: Add skip-prediction flag to eval CLI (#42872)

Click to expand commit body
Release Notes:

- N/A

Piotr Osiewicz created

a66a539 Reduce macro burden for rust-analyzer (#42871)

Click to expand commit body
This enables optimizations for our own proc-macros as well as some heavy
hitters. Additionally this gates the `derive_inspector_reflection` to be
skipped for rust-analyzer as it currently slows down rust-analyzer way
too much

Release Notes:

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

Lukas Wirth created

a2d3e3b project_panel: Add sort mode (#40160)

Click to expand commit body
Closes #4533 (partly at least)

Release Notes:

- Added `project_panel.sort_mode` option to control explorer file sort
(directories first, mixed, files first)

 ## Summary

Adds three sorting modes for the project panel to give users more
control over how files and directories are displayed:

- **`directories_first`** (default): Current behaviour - directories
grouped before files
- **`mixed`**: Files and directories sorted together alphabetically
- **`files_first`**: filed grouped before directories

 ## Motivation

Users coming from different editors and file managers have different
expectations for file sorting. Some prefer directories grouped at the
top (traditional), while others prefer the macOS Finder-style mixed
sorting where "Apple1/", "apple2.tsx" and "Apple3/" appear
alphabetically mixed together.


 ### Screenshots

New sort options in settings:
<img width="515" height="160" alt="image"
src="https://github.com/user-attachments/assets/8f4e6668-6989-4881-a9bd-ed1f4f0beb40"
/>


Directories first | Mixed | Files first
-------------|-----|-----
<img width="328" height="888" alt="image"
src="https://github.com/user-attachments/assets/308e5c7a-6e6a-46ba-813d-6e268222925c"
/> | <img width="327" height="891" alt="image"
src="https://github.com/user-attachments/assets/8274d8ca-b60f-456e-be36-e35a3259483c"
/> | <img width="328" height="890" alt="image"
src="https://github.com/user-attachments/assets/3c3b1332-cf08-4eaf-9bed-527c00b41529"
/>


### Agent usage

Copilot-cli/claude-code/codex-cli helped out a lot. I'm not from a rust
background, but really wanted this solved, and it gave me a chance to
play with some of the coding agents I'm not permitted to use for work
stuff

---------

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

Lucas Parry and Smit Barmase created

175162a project_panel: Fix preview tabs disabling focusing files after just one click in project panel (#42836)

Click to expand commit body
Closes #41484

With preview tabs disabled, when you click once on a file in the project
panel, rather than focusing on that file, zed will incorrectly focus on
the text editor panel. This means if you click on a file to focus it,
then follow up with a keybind like backspace to delete that file, it
doesn't delete that file because the backspace goes through to the text
editor instead.

Incorrect behaviour seen here:


https://github.com/user-attachments/assets/8c2dea90-bd90-4507-8ba6-344be348f151



Release Notes:

- Fixed improper UI focus behaviour in the project panel when preview
tabs are disabled

Serophots created

cdcc068 vim: Fix temporary mode exit on end of line (#42742)

Click to expand commit body
When using the end of line motion ($) while in temporary mode, the
cursor would be placed in insert mode just before the last character
instead of after, just like in NeoVim.

This happens because `EndOfLine` kind of assumes that we're in `Normal`
mode and simply places the cursor in the last character instead of the
newline character.

This commit moves the cursor one position to the right when exiting
temporary mode and the motion used was `Motion::EndOfLine`

- Update `vim::normal::Vim.exit_temporary_normal` to now accept a
`Option<&Motion>` argument, in case callers want this new logic to
potentially be applied

Closes #42278 

Release Notes:

- Fixed temporary mode exit when using `$` to move to the end of the
line

Dino created

86484aa languages: Clean up invalid init calls after recent API changes (#42866)

Click to expand commit body
Related to https://github.com/zed-industries/zed/pull/41670

Release Notes:

- Cleaned up invalid init calls after recent API changes in
https://github.com/zed-industries/zed/pull/42238

Mayank Verma created

d32934a languages: Fix indentation for if/else statements in C/C++ without braces (#41670)

Click to expand commit body
Closes #41179

Release Notes:

- Fixed indentation for if/else statements in C/C++ without braces

Mayank Verma created

b463266 Remove mention of Fireside Hacks (#42853)

Click to expand commit body
Fireside Hack events are no longer being held.

Closes #ISSUE

Release Notes:

- N/A

warrenjokinen created

b0525a2 Report automatically discarded zeta predictions (#42761)

Click to expand commit body
We weren't reporting predictions that were generated but never made it
out of the provider, such as predictions that failed to interpolate, and
those that are cancelled because another request completes before it.

Release Notes:

- N/A

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Ben Kunkle <ben@zed.dev>

Agus Zubiaga , Max Brunsfeld , and Ben Kunkle created

1683052 editor: Fix MoveToEnclosingBracket and unmatched forward/backward Vim motions in Markdown code blocks (#42813)

Click to expand commit body
We now correctly use bracket ranges from the deepest syntax layer when
finding enclosing brackets.

Release Notes:

- Fixed an issue where `MoveToEnclosingBracket` didn’t work correctly
inside Markdown code blocks.
- Fixed an issue where unmatched forward/backward Vim motions didn’t
work correctly inside Markdown code blocks.

---------

Co-authored-by: MuskanPaliwal <muskan10112002@gmail.com>

Smit Barmase and MuskanPaliwal created

07cc87b Fix wild install script (#42747)

Click to expand commit body
Use
[`command`](https://www.gnu.org/software/bash/manual/bash.html#index-command)
instead of `which` to check if `wild` is installed.

Using `which` will result in an error being printed to stdout: 

```bash
./script/install-wild
which: invalid option -- 's'
/usr/local/bin/wild
Warning: existing wild 0.6.0 found at /usr/local/bin/wild. Skipping installation.
```

Release Notes:

- N/A

Alvaro Parker created

1277f32 docs: Improve custom keybinding for external agent example (#42776)

Click to expand commit body
Follow up to https://github.com/zed-industries/zed/pull/42772 adding
some comments to improve clarity.

Release Notes:

- N/A

Danilo Leal created

b3097cf docs: Add section about keybinding for external agent threads (#42772)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

305206f Make drag and double click enabled on the whole title bar on macOS (#41839)

Click to expand commit body
Closes #4947

Taken inspiration from @tasuren implementation, plus the addition for
the double click enabled on the whole title bar too to
maximizes/restores the window.

I was not able to test the application on Linux, no need to test on
Windows since the feature is enabled by the OS.

Release Notes:

- Fixed title bar not fully draggable on macOS
- Fixed not being able to maximizes/restores the window with double
click on the whole title bar on macOS

Ivan Pasquariello created

c387203 zeta2: Prediction prompt engineering (#42758)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

---------

Co-authored-by: Agus Zubiaga <agus@zed.dev>
Co-authored-by: Michael Sloan <mgsloan@gmail.com>

Ben Kunkle , Agus Zubiaga , and Michael Sloan created

a260ba6 agent_ui: Simplify labels in new thread menu (#42746)

Click to expand commit body
Drop the "new", it's simpler! 😆 

| Before | After |
|--------|--------|
| <img width="800" height="932" alt="Screenshot 2025-11-14 at 2  48@2x"
src="https://github.com/user-attachments/assets/efa67d57-9b5c-4eef-8dc7-f36c8e6a4a90"
/> | <img width="800" height="772" alt="Screenshot 2025-11-14 at 2 
47@2x"
src="https://github.com/user-attachments/assets/042d2a0b-24b4-4ad5-8411-82e0eafb993f"
/> |




Release Notes:

- N/A

Danilo Leal created