Commit log

506f967 git: Store a single PendingOperation in SumTree

Click to expand commit body
But now the summary will return a list of PendingOperations per RepoPath

Jakub Konka created

5beec94 git: Add PendingOperations container to RepositorySnapshot

Jakub Konka created

1552e13 Fix telemetry in release builds (#41695)

Click to expand commit body
This was inadvertently broken in v0.211.1-pre when we rewrote the
release build

Release Notes:

- N/A

Conrad Irwin created

ade0f13 agent_ui: Prevent mode selector tooltip from going off-screen (#41589)

Click to expand commit body
Closes #41458 

Dynamically position mode selector tooltip to prevent clipping.

Position tooltip on the right when panel is docked left, otherwise on
the left. This ensures the tooltip remains visible regardless of panel
position.

**Note:** The tooltip currently vertically aligns with the bottom of the
menu rather than individual items. Would be great if it can be aligned
with the option it explains. But this doesn't seem trivial to me to
implement and not sure if it's important enough atm?

Before: 
<img width="431" height="248" alt="Screenshot 2025-10-30 at 22 21 09"
src="https://github.com/user-attachments/assets/073f5440-b1bf-420b-b12f-558928b627f1"
/>

After:
<img width="632" height="158" alt="Screenshot 2025-10-30 at 17 26 52"
src="https://github.com/user-attachments/assets/e999e390-bf23-435e-9df0-3126dbc14ecb"
/>
<img width="685" height="175" alt="Screenshot 2025-10-30 at 17 27 15"
src="https://github.com/user-attachments/assets/84efca94-7920-474b-bcf8-062c7b59a812"
/>


Release Notes:

- Improved the agent panel's mode selector by preventing it to go
off-screen in case the panel is docked to the left.

Dijana Pavlovic created

04f7b08 Give visual feedback when an operation is pending (#41686)

Click to expand commit body
Currently, if a commit operation takes some time, there's no visual
feedback in the UI that anything's happening.

This PR changes the colour of the text on the button to the
`Color::Disabled` colour when a commit operation is pending.

Release Notes:

- Improved UI feedback when a commit is in progress

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>

Joe Innes and Danilo Leal created

ecbdffc debugger: Fix Debugpy attach with connect session startup (#41690)

Click to expand commit body
Closes #38345, #34882, #33280

Debugpy has four distinct configuration scenarios, which are:
1. launch
2. attach with process id
3. attach with listen
4. attach with connect

Spawning Debugpy directly works with the first three scenarios but not
with "attach with connect". Which requires host/port arguments being
passed in both with an attach request and when starting up Debugpy. This
PR passes in the right arguments when spawning Debugpy in an attach with
connect scenario, thus fixing the bug.

The VsCode extension comment that explains this:
https://github.com/microsoft/vscode-python-debugger/blob/98f5b93ee4259f99b679d7c45163ba7babcbff6d/src/extension/debugger/adapter/factory.ts#L43-L51

Release Notes:

- debugger: Fix Python attach-based sessions not working with `connect`
or `port` arguments

Anthony Eid created

aa61f25 git: Make GitPanel more responsive to long-running staging ops (#41667)

Click to expand commit body
Currently, this only applies to long-running individually selected
unstaged files in the git panel. Next up I would like to make this work
for `Stage All`/`Unstage All` however this will most likely require
pushing `PendingOperation` into `GitStore` (from the `GitPanel`).

Release Notes:

- N/A

Jakub Konka created

d406409 Fix categorization of agent server extensions (#41689)

Click to expand commit body
We missed making extensions that provide agent servers fill the
`provides` field with `agent-servers`, and thus, filtering for this type
of extension in both the app and site wouldn't return anything.

Release Notes:

- N/A

Danilo Leal created

bf79592 git_ui: Adjust stash picker (#41688)

Click to expand commit body
Just tidying it up by removing the unnecessary eye icon buttons in all
list items and adding that action in the form of a button in the footer,
closer to all other actions. Also reordering the footer buttons so that
the likely most common action is in the far right.

Release Notes:

- N/A

Danilo Leal created

d3d7199 Fix `release.yml` workflow (#41675)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Ben Kunkle created

743a9cf Add included agents in extensions search (#41679)

Click to expand commit body
Given agent servers will soon be a thing, I'm adding Claude Code, Gemini
CLI, and Codex CLI as included agents in case anyone comes first to
search them as extensions before looking up on the agent panel.

Release Notes:

- N/A

Danilo Leal created

a05358f Delete old ci.yml (#41668)

Click to expand commit body
The new one is much better

Release Notes:

- N/A

Conrad Irwin created

3a4aba1 gh-workflow release (#41502)

Click to expand commit body
Closes #ISSUE

Rewrite our release pipeline to be generated by `gh-workflow`

Release Notes:

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

Ben Kunkle created

12d71b3 ollama: Add button for refreshing available models (#38181)

Click to expand commit body
Closes #17524

This PR adds a button to the bottom right corner of the ollama settings
ui. It resets the available ollama models, also resets the "Connected"
state in the process. This means it can be used to check if the
connection is still valid as well. It's a question whether we should
clear the available models on ALL `fetch_models` calls, since these only
happen during auth anyway.

Ollama is a local model provider which means clicking the refresh button
often only flashes the "not connected" state because the latency of the
request is so low. This accentuates changes in the UI, however I don't
think there's a way around this without adding some rather cumbersome
deferred ui updates.

I've attached the refresh button to the "Connected" `ButtonLike`, since
I don't think automatic UI spacing should separate these elements. I
think this is okay because the "Connected" isn't actually something that
the user can interact with.

Before: 
<img width="211" height="245" alt="image"
src="https://github.com/user-attachments/assets/ea90e24a-b603-4ee2-9212-2917e1695774"
/>

After: 
<img width="211" height="250" alt="image"
src="https://github.com/user-attachments/assets/be9af950-86a2-4067-87a0-52034a80a823"
/>


Alternative approach: There was also a suggestion to simply add a entry
to the command palette, however none of the other providers have this
ability currently either so I went with this approach. The current
approach also makes it more discoverable to the user.

Release Notes:

- Added a button for refreshing available ollama models

---------

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

tidely and Bennet Bo Fenner created

34e0c97 Generate dwarf files for builds again (#41651)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Conrad Irwin created

cf31b73 Add Andrew to REVIEWERS.conl (#41662)

Click to expand commit body
Release Notes:

- N/A

Andrew Farkas created

1cb512f bedrock: Fix duplicate region input (#41341)

Click to expand commit body
Closes #41313

Release Notes:

- Fixes #41313

<img width="453" height="870" alt="Screenshot 2025-10-27 at 10 23 37 PM"
src="https://github.com/user-attachments/assets/93bfba18-1bff-494e-a4c2-05b54ad6eed8"
/>

Co-authored-by: Richard Feldman <oss@rtfeldman.com>

versecafe and Richard Feldman created

4e6a562 editor: Fix `refresh_linked_ranges` panics due to old snapshot use (#41657)

Click to expand commit body
Fixes ZED-29Z

Release Notes:

- Fixed panic in `refresh_linked_ranges`

Lukas Wirth created

c1dea84 agent: Model name context (#41490)

Click to expand commit body
Closes #41478

Release Notes:

- Fixed #41478

<img width="459" height="916" alt="Screenshot 2025-10-29 at 1 31 26 PM"
src="https://github.com/user-attachments/assets/1d5b9fdf-9800-44e4-bdd5-f0964f93625f"
/>

> caused by using haiku 4.5 from the anthropic provider and then
swapping to sonnet 3.7 through zed, doing this does mess with prompt
caching but a model swap already invalidates that so it shouldn't have
any cost impact on end users

versecafe created

c42d54a agent_ui: Autoscroll after inserting selections (#41370)

Click to expand commit body
Update the behavior of the `zed_actions::agent::AddSelectionToThread`
action so that, after the selecitons are added to the current thread,
the editor automatically scrolls to the cursor's position, fixing an
issue where the inserted selection's UI component could wrap the cursor
to the next line below, leaving it outside the viewable area.

Closes #39694

Release Notes:

- Improved the `agent: add selection to thread` action so as to
automatically scroll to the cursor's position after selections are
inserted

Dino created

f3a5ebc vim: Only focus when associated editor is also focused (#41487)

Click to expand commit body
Update `Vim::activate` to ensure that the `Vim.focused` method is only
called if the associated editor is also focused.

This ensures that the `VimEvent::Focused` event is only emitted when the
editor is actually focused, preventing a bug where, after starting Zed,
Vim's mode indicator would show that the mode was `Insert` even though
it was in `Normal` mode in the main editor.

Closes #41353 

Release Notes:

- Fixed vim's mode being shown as `Inserted` right after opening Zed

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

Dino and Conrad Irwin created

f73d6fe terminal: Kill the terminal child process, not the terminal process on exit (#41631)

Click to expand commit body
When rerunning a task, our process id fetching seems to sometimes return
the previous terminal's process id when respawning the task, causing us
to kill the new terminal once the previous one drops as we spawn a new
one, then drop the old one. This results in rerun sometimes spawning a
blank task as the terminal immediately exits. The fix here is simple, we
actually want to kill the process running inside the terminal process,
not the terminal process itself when we exit in the terminal.

No relnotes as this was introduced yesterday in
https://github.com/zed-industries/zed/pull/41562

Release Notes:

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

Lukas Wirth created

c6d6187 editor: Fix incorrect hover popup row clamping (#41645)

Click to expand commit body
Fixes ZED-2TR
Fixes ZED-2TQ
Fixes ZED-2TB
Fixes ZED-2SW
Fixes ZED-2SQ

Release Notes:

- Fixed panic in repainting hover popups

Co-authored by: David <david@zed.dev>

Lukas Wirth created

1f938c0 project panel: Remove extra separator when "Rename" is hidden (#41639)

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

Release Notes:

- N/A

Danilo Leal created

f2ce06c sum_tree: Replace rayon with futures (#41586)

Click to expand commit body
Release Notes:

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

Co-authored by: Kate <kate@zed.dev>

Lukas Wirth created

7c29c6d Increased the max height of pickers (#41617)

Click to expand commit body
Release Notes:

- Increased the max size of picker based UI

Mikayla Maki created

eab06eb Keep selection in `SwitchToHelixNormalMode` (#41583)

Click to expand commit body
Closes #41125

Release Notes:

- Fixed `SwitchToHelixNormalMode` to keep selection
- Added default keybinds for `SwitchToHelixNormalMode` when in Helix
mode

Andrew Farkas created

c2537fa Add a no-op compare_perf workflow (#41605)

Click to expand commit body
Testing PR for @zed-zippy

Release Notes:

- N/A

Conrad Irwin created

9778564 Add bennetbo to REVIEWERS.conl (#41604)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

7070038 gpui: Remove type bound (#41603)

Click to expand commit body
Release Notes:

- N/A

Mikayla Maki created

b059c1f agent_servers: Expand `~` in path from settings (#41602)

Click to expand commit body
Closes #40796


Release Notes:

- Fixed an issue where `~` would not be expanded when specifiying the
path of an ACP server

Bennet Bo Fenner created

03c6d62 outline_panel: Fix collapse/expand all entries (#41342)

Click to expand commit body
Closes #39937

Release Notes:

- Fixed expand/collapse all entries not working in singleton buffer mode

Chris created

60c5461 zeta2: Expose llm-based context retrieval via zeta_cli (#41584)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>

Agus Zubiaga , Max Brunsfeld , and Oleksiy Syvokon created

8aa2158 vim: Improve pasting while in replace mode (#41549)

Click to expand commit body
- Update `vim::normal::Vim.normal_replace` to work with more than one
  character
- Add `vim::replace::Vim.paste_replace` to handle pasting the 
  clipboard's contents while in replace mode
- Update vim's handling of the `editor::actions::Paste` action so that
  the `paste_replace` method is called when vim is in replace mode,
  otherwise it'll just call the regular `editor::Editor.paste` method

Closes #41378 

Release Notes:

- Improved pasting while in Vim's Replace mode, ensuring that the Zed
replaces the same number of characters as the length of the contents
being pasted

Dino created

5ae0768 debugger: Polish breakpoint list UI (#41598)

Click to expand commit body
This PR fixes breakpoint icon alignment to also be at the end of a
rendered entry and enables editing breakpoint qualities when there's no
active session.

The alignment issue was caused by some icons being invisible, so the
layout phase always accounted for the space they would take up. Only
laying out the icons when they are visible fixed the issue.

#### Before
<img width="1014" height="316" alt="image"
src="https://github.com/user-attachments/assets/9a9ced06-e219-4d9d-8793-6bdfdaca48e8"
/>

#### After
[
<img width="502" height="167" alt="Screenshot 2025-10-30 at 3 21 17 PM"
src="https://github.com/user-attachments/assets/23744868-e354-461c-a940-9b6812e1bcf4"
/>
](url)

Release Notes:

- Breakpoint list: Allow adding conditions, logs, and hit conditions to
breakpoints when there's no active session

Anthony Eid created

44e5a96 debugger: Add horizontal scroll bars to variable list, memory view, and breakpoint list (#41594)

Click to expand commit body
Closes #40360

This PR added heuristics to determine what variable/breakpoint list
entry has the longest width when rendered. I added this in so the
uniform list would correctly determine which item has the longest width
and use that to calculate the scrollbar size.

The heuristic can be off if a non-mono space font is used in the UI; in
most cases, it's more than accurate enough though.

Release Notes:

- debugger: Add horizontal scroll bars to variable list, memory view,
and breakpoint list

---------

Co-authored-by: MrSubidubi <dev@bahn.sh>

Anthony Eid and MrSubidubi created

3944234 windows: Don't flood windows message queue with gpui messages (#41595)

Click to expand commit body
Release Notes:

- N/A

Co-authored by: Max Brunsfeld <max@zed.dev>

Lukas Wirth created

ac3b232 Reduce amount of foreground tasks spawned on multibuffer/editor updates (#41479)

Click to expand commit body
When doing a project wide search in zed on windows for `hang`, zed
starts to freeze for a couple seconds ultimately starting to error with
`Not enough quota is available to process this command.` when
dispatching windows messages. The cause for this is that we simply
overload the windows message pump due to the sheer amount of foreground
tasks we spawn when we populate the project search.

This PR is an attempt at reducing this.

Release Notes:

- Reduced hangs and stutters in large project file searches

Lukas Wirth created

7431803 agent_ui: Insert thread summary as proper mention URI (#40722)

Click to expand commit body
This ensures the thread summary is treated as a tracked mention with
accessible context.

Changes:
- Fixed `MessageEditor::insert_thread_summary()` to use proper mention
URI format
- Added test coverage to verify the fix

Release Notes:

- Fixed an issue where "New From Summary" was not properly inserting
thread summaries as contextual mentions when creating new threads.
Thread summaries are now inserted as proper mention URIs.

Paweł Kondzior created

3825ce5 agent_ui: Fix `agent: Chat with follow` not working (#41581)

Click to expand commit body
Release Notes:

- Fixed an issue where `agent: Chat with follow` was not working anymore

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

Bennet Fenner and Ben Brandt created

b4cf7e4 debugger: Get rid of initialize_args in php debugger setup docs (#41579)

Click to expand commit body
Related to issue: #40887

Release Notes:

- N/A

Co-authored-by: Remco Smits <djsmits12@gmail.com>

Anthony Eid and Remco Smits created

bdb2d6c Don't skip tests in nightly release (#41573)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

0c73252 project: Spawn terminal process on background executor (#41216)

Click to expand commit body
Attempt 2 for https://github.com/zed-industries/zed/pull/40774

We were spawning the process on the foreground thread before which can
block an arbitrary amount of time. Likewise we no longer block
deserialization on the terminal loading.

Release Notes:

- Improved startup time on systems with slow process spawning
capabilities

Lukas Wirth created

c7aa805 docs: Improve the Inline Assistant content (#41566)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

94ba24d terminal: Properly kill child process on terminal exit (#41562)

Click to expand commit body
Release Notes:

- Fixed terminal processes occasionally leaking

Co-authored by: Jakub <jakub@zed.dev>

Lukas Wirth created

046b43f collab panel: Open selected channel notes (#41560)

Click to expand commit body
Adds an action to open the notes for the currently selected channel in
the collab panel, which is mapped to `alt-enter` in all platforms.

Release Notes:

- collab: Add `collab_panel::OpenSelectedChannelNotes` action
(`alt-enter` by default)

Agus Zubiaga created

426040f Add cmd-d shortcut for (terminal) pane::SplitRight (#41139)

Click to expand commit body
Add default keybinding for `pane::SplitRight` in the `Terminal` context
for all platforms.

Closes #ISSUE

Release Notes:

- Added VS Code's terminal split keybindings (`cmd` on MacOS,
`ctrl-shift-5` on Windows and Linux)

---------

Co-authored-by: dino <dinojoaocosta@gmail.com>

Caleb Jasik and dino created

785b5ad extension_host: Do not try auto installing suppressed extensions (#41551)

Click to expand commit body
Release Notes:

- Fixed an issue where Zed would try to install extensions specified
under `auto_install_extensions` which were moved into core.

Finn Evers created

344f63c Language: Fix minor C++ completion label formatting issue (#41544)

Click to expand commit body
Closes #39515

**Details:**
- Improved logic for formatting completion labels, as some (such as
`namespace`) were missing space characters.
- Added extra logic as per stale PR #39533
[comment](https://github.com/zed-industries/zed/pull/39533#issuecomment-3368549433)
ensuring that cases where extra spaces are not necessary (such as
functions) are not affected
- I will note, I was not able to figure out how to fix the coloring of
`namespace` within completion labels as mentioned in that comment, if
someone would provide me with direction I would be happy to look into
that too.

Previous:
<img width="812" height="530" alt="previous"
src="https://github.com/user-attachments/assets/b38f1590-ca2d-489d-9dcb-2d478eb6ed03"
/>

Fixed:
<img width="812" height="530" alt="fixed"
src="https://github.com/user-attachments/assets/020b151d-e5d9-467e-99c1-5b0cab057169"
/>


Release Notes:

- Fixed minor issue where some `clangd` labels would be missing a space
in formatting

A. Teo Welton created

e30d599 bundle: Restore local install on macOS (#41482)

Click to expand commit body
I just pulled and ran a local build via `script/bundle-mac -l -i` but
found that the resulting bundle wasn't installed as expected. (me:
"ToggleAllDocks!! Wait! Where is it?!") Looking into, it looks like the
`-l` flag was removed in #41392, leaving the `$local_only` var orphaned,
which then left the `-i/$local_install` flag unreachable. I suspect that
this was unintentional, so this PR re-adds the `-l/$local_only` flag to
`script/bundle-mac`.

I ran the build again and confirmed that local install seemed to work as
expected. (ie "ToggleAllDocks!! :tada:")

While here, I also removed the last reference to `$local_arch`, because
all other references to that were removed in #41392.

/cc @osiewicz 

Release Notes:

- N/A

---------

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

claytonrcarter and Conrad Irwin created