Commit log

52747ac directx: Removes an unwrap that sometimes cause a crash

Click to expand commit body
Seen a few crashes on Sentry where the unwrap call fails. No idea why the render_target_view is None. Though since we are dropping anyway we do not need to call unwrap so I removed that.

David Kleingeld created

941033e settings_ui: Add vim motions on navigation menu (#39988)

Click to expand commit body
Closes #ISSUE

Release Notes:

- Added vim motions on settings navigation menu

Alvaro Parker created

83884ca lsp: Support tracking multiple registrations of diagnostic providers (#41096)

Click to expand commit body
Closes #40966
Closes #41195
Closes #40980 

Release Notes:

- Fixed diagnostics not working with basedpyright/pyright beyond an
initial version of the document

---------

Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: dino <dinojoaocosta@gmail.com>

Piotr Osiewicz , Smit Barmase , Anthony Eid , and dino created

f503c65 Make "About Zed" menu entry to work when all Zed windows are closed (#41272)

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

The only downside would be the fact that a Zed window will appear behing
the version modal, but this is a limitation for all "window-less"
actions currently.

Release Notes:

- Made "About Zed" menu entry to work when all Zed windows are closed

Kirill Bulatov created

c1cd371 fix: Edit predictions using stale snapshot (#41271)

Click to expand commit body
Release Notes:

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

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

Lukas Wirth and David Kleingeld created

7cb2d83 acp: Start sending Client Info to the Agent (#41265)

Click to expand commit body
Updates to acp crate 0.7, which allows us to send information about the
client to the Agent.
In the future, we can also use the AgentInfo on the response for
internal metrics.

Release Notes:

- N/A

Ben Brandt created

ae3abf5 editor: Fix panics in `CursorPosition::update_position` (#41237)

Click to expand commit body
Fixes a regression introduced in
https://github.com/zed-industries/zed/pull/39857. As for the exact
reason this causes this issue I am not yet sure will investigate (as per
the todos in code)

Fixes ZED-23R

Release Notes:

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

Lukas Wirth created

edf2ec7 editor: Make hover popover delay strictly respect hover_popover_delay setting (#41149)

Click to expand commit body
Previously, the hover popover delay was implemented using two
overlapping timers, which caused the minimum delay to always be at least
HOVER_REQUEST_DELAY_MILLIS, regardless of the hover_popover_delay
setting.
This change updates the logic to wait for hover_popover_delay only,
ensuring the total delay is always equals to hover_popover_delay . As a
result, the hover popover now appears after the intended delay, matching
the user's configuration more accurately.

Release Notes:

- Improved hover popover respecting settings delay correctly

deltamaya created

2919e19 docs: Display action names in backticks instead of quotes (#41248)

Click to expand commit body
This PR fixes some instances where we were displaying action names in
quotes instead of in backticks.

Also fixed some mentions of using an action to open the settings file,
as this has changed after the release of the settings UI.

Release Notes:

- N/A

Marshall Bowers created

fd3ca03 workspace: Handle non-cloneable items better (#41215)

Click to expand commit body
When trying to split and clone a non clone-able workspace item we now
attempt split and move instead of doing nothing. Additionally we disable
the split menu buttons if we can't split the active item at all.

Release Notes:

- Improved handling of unsplittable panes

Lukas Wirth created

61e4a1d settings: Fix out of bounds index (#41227)

Click to expand commit body
Fixes ZED-2J8

Release Notes:

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

Lukas Wirth created

2471ae4 Pre-initialize global rayon threadpool (#41226)

Click to expand commit body
We only use it a handful of times and the default amount of threads
(logical cpu core number) its spawns is overkill for this. This also
gives the threads names oppose to being labeled `<unknown>`

Release Notes:

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

Lukas Wirth created

d6b31d8 gpui: Fix `TextLayout::layout` producing invalid text runs (#41224)

Click to expand commit body
The issues is that the closure supplied to `request_measured_layout`
could be run multiple times with differing `known_dimensions`. This in
turn will mean we truncate the font runs once, inserting a multibyte
char at the end but then in the next iteration use those truncated runs
for possible the original untruncated string which has multibyte
characters overlapping the now truncated run end resulting in a faulty
utf8 boundary index.

Solution to this is simple, truncate a clone of the runs when needed
instead of modifying the original.

Fixes https://github.com/zed-industries/zed/issues/36925
Fixed ZED-2FF
Fixes ZED-2KM
Fixes ZED-2KK
Fixes ZED-1FF
Fixes ZED-255
Fixes ZED-2JD
Fixes ZED-2FX
Fixes ZED-2K2
Fixes ZED-2JX
Fixes ZED-2GE
Fixes ZED-2FC
Fixes ZED-2GD
Fixes ZED-2HY
Fixes ZED-2HR
Fixes ZED-2FN
Fixes ZED-2GT
Fixes ZED-2FK
Fixes ZED-2EY
Fixes ZED-27E
Fixes ZED-272
Fixes ZED-2EM
Fixes ZED-2CC
Fixes ZED-29V
Fixes ZED-25B
Fixes ZED-257
Fixes ZED-24R
Fixes ZED-24Q
Fixes ZED-23Z
Fixes ZED-227

Release Notes:

- Fixed a crash in text shaping when truncating rendered text

Lukas Wirth created

95ad7a6 gpui: Drop unnecessary use of `StringIndexConverter` (#41221)

Click to expand commit body
Might help with ZED-1FF

Release Notes:

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

Lukas Wirth created

54a7da3 Fix task terminal split (#41218)

Click to expand commit body
Re-lands https://github.com/zed-industries/zed/pull/40824

Release Notes:

- N/A

Kirill Bulatov created

003a397 Try working around spurious rebuild bug in cargo (#41015)

Click to expand commit body
We've been seeing a lot of weird constant rebuilds recently with
rust-anaylzer's check, either with cargo thinking build scripts are too
new timestamp wise or all fingerprints having gone missing somehow
(???). Reading through some related bug reports hints at disabling
incremental potentially working around this for now so let's test that
out

cc https://github.com/rust-lang/cargo/issues/16104

Release Notes:

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

Lukas Wirth created

33ec545 workspace: Make `Item::clone_on_split` async (#41211)

Click to expand commit body
Split out from https://github.com/zed-industries/zed/pull/40774 to
reduce the size of the reland of that PR (once I figure out the cause of
the issue)

Release Notes:

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

Lukas Wirth created

b7cc597 languages: Add inline values support for JavaScript, TypeScript, and TSX (#40914)

Click to expand commit body
Adds debugger inline values support for JavaScript, TypeScript, and TSX languages. 

Release Notes:

- debugger: Add inline value support for Javascript, TypeScript, and TSX

---------

Co-authored-by: Anthony <anthony@zed.dev>

phpjit and Anthony created

ef30624 settings_ui: Add telemetry (#40973)

Click to expand commit body
1. Settings Viewed: Whenever someone opens or refocus the settings ui
via an action
2. Settings Closed: When the settings ui window is closed 
3. Settings Navigation Clicked: The category and subcategory that a user
clicked on
4. Settings Error Shown: Whenever an error banner shows up
5. Settings Changed: The setting a user changed through the UI


cc: @katie-z-geer 

Release Notes:

- N/A

Anthony Eid created

615d1d7 Avoid menu clipping with debugger welcome panel on resize (#41177)

Click to expand commit body
Before:
<img width="1345" height="58" alt="before"
src="https://github.com/user-attachments/assets/cba79bba-6437-47fd-ad2b-b4ceaf03ef5d"
/>

After:
<img width="1756" height="90" alt="after"
src="https://github.com/user-attachments/assets/3442c7f6-a4dc-4c4c-92c5-2ca5ad9beb0d"
/>


Release Notes:

- N/A

Abdelhakim Qbaich created

45983e1 markdown: Add support for HTML lists (#39553)

Click to expand commit body
This PR adds support for **HTML** both ordered and unordered lists.

<img width="1441" height="805" alt="Screenshot 2025-10-07 at 21 40 17"
src="https://github.com/user-attachments/assets/8a54aec1-75aa-48fb-bf9f-c153cca48682"
/>

See code example used inside the screenshot:

```html
<ol>
  <li>First item</li>
  <li>Second item</li>
  <li>Third item
    <ol>
      <li>Indented item</li>
      <li>Indented item</li>
    </ol>
  </li>
  <li>Fourth item</li>
</ol>
```

TODO: 
- [x] Add examples
- [x] update description (screenshots, add small description)
- [x] fix displaying of nested lists

cc @bennetbo

Release Notes:

- markdown preview: Added support for HTML lists

---------

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

Remco Smits and Bennet Bo Fenner created

06e1db5 codex: Delete older versions after installing new one (#41191)

Click to expand commit body
Release Notes:

- codex: Fixed an issue where downloading a new version would not delete
older versions

Bennet Fenner created

8e09256 Handle itemDefaults in CompletionList according to spec (#41187)

Click to expand commit body
Closes https://github.com/zed-extensions/java/issues/101

Previously Zed did not handle resolving CompletionList with itemDefaults
correctly according to the
[LSP-Spec](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#:~:text=/**%0A%09%20*%20The%20edit%20text,%3F%3A%20string%3B).
When a `CompletionList` is provided by the server, that includes ranges
as `itemDefaults`, the field to use for the snippet to insert as
`newText` is in the `textEditText` field, with a fallback to `label` if
that does not exist (`insertText` is ignored).

Release Notes:

- Fixed Java language severs' completion defaults handling on Zed's side

Karl-Erik Enkelmann created

79ef10b markdown: Add support for `HTML` table column `align` attribute (#41163)

Click to expand commit body
This PR allows you to define `align="right"` for example to change the
default alignment on **HTML** table columns. This PR also refactors
where we store the alignments in order to make it so you can define it
column based instead of only row based.

See that the `Revenue` column is left aligned instead of the default
`centered`.

**Result**

<img width="1161" height="177" alt="Screenshot 2025-10-25 at 11 01 38"
src="https://github.com/user-attachments/assets/94bda4f0-00c1-4726-a3bd-99b3f2573ef5"
/>


**Code example**

```HTML
<table>
    <tr>
        <th rowspan="2">Region</th>
        <th colspan="2" align="left">Revenue</th>
        <th rowspan="2">Growth</th>
    </tr>
    <tr>
        <th>Q2 2024</th>
        <th>Q3 2024</th>
    </tr>
    <tr>
        <td>North America</td>
        <td>$2.8M</td>
        <td>$2.4B</td>
        <td>+85,614%</td>
    </tr>
    <tr>
        <td>Europe</td>
        <td>$1.2M</td>
        <td>$1.9B</td>
        <td>+158,233%</td>
    </tr>
    <tr>
        <td>Asia-Pacific</td>
        <td>$0.5M</td>
        <td>$1.4B</td>
        <td>+279,900%</td>
    </tr>
</table>
```

Release Notes:

- markdown preview: Add support for `HTML` table column `align`
attribute

Remco Smits created

986ca19 markdown: Fix HTML tables with mismatching columns (#41108)

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

Right now, we don't fill the empty column when the current row count is
less than the max row count. This PR fixes that by filling it with an
empty cell. So the table columns don't flow in the wrong direction, as
you can see inside the first screenshot.

**Before**
<img width="1095" height="182" alt="Screenshot 2025-10-24 at 16 09 02"
src="https://github.com/user-attachments/assets/e3abf24e-c190-4bd7-b43a-39f2f01ecd1c"
/>

**After**
<img width="1165" height="178" alt="Screenshot 2025-10-24 at 16 19 17"
src="https://github.com/user-attachments/assets/427c25f9-82a7-498b-a1a2-d71e4c288fe5"
/>

**Code example**
```html
<table>
    <tr>
        <th rowspan="2">Region</th>
        <th colspan="2">Revenue</th>
        <th rowspan="2">Growth</th>
    </tr>
    <tr>
        <th>Q2 2024</th>
        <th>Q3 2024</th>
    </tr>
    <tr>
        <td>North America</td>
        <td>$2.8M</td>
        <td>$2.4B</td>
        <td>+85,614%</td>
        <td>+99%</td> // extra column here
    </tr>
    <tr>
        <td>Europe</td>
        <td>$1.2M</td>
        <td>$1.9B</td>
        <td>+158,233%</td>
    </tr>
    <tr>
        <td>Asia-Pacific</td>
        <td>$0.5M</td>
        <td>$1.4B</td>
        <td>+279,900%</td>
    </tr>
</table>
```

**Note** there are no release notes, as the previous PR didn't get
released yet.

Release Notes:

- N/A

Remco Smits created

42d8d77 Update GDScript documentation (#41142)

Click to expand commit body
Some information in the GDScript documentation page was outdated (like
it still treats Zed if it was a macOS exclusive app) or some details
were missing.

- The `zed-gdscript` URL has been updated with the new owner.
- Pre-requisites added (with netcat included).
- Godot installation steps removed, it's now listed in the
pre-requisites.
- Setup steps simplified and reworded.

The note at the bottom was removed as I didn't see the issue in my end.

Release Notes:

- N/A

Douglas Leão created

e4c90be Add more detailed error for remove_file (#41147)

Click to expand commit body
This should help us debug #40958.

Release Notes:

- N/A

Julia Ryan created

7433d85 Notify on opening WSL paths outside of wsl (#40195)

Click to expand commit body
Closes #27340

Release Notes:

- N/A

---------

Co-authored-by: John Tur <john-tur@outlook.com>

Julia Ryan and John Tur created

1dffdea Fix duplicate hints in multi buffer excerpts during editing and scrolling (#41143)

Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/40183
Closes https://github.com/zed-industries/zed/issues/24798

Release Notes:

- N/A

Kirill Bulatov created

1f40a3c Document global debug.json usage and fix REPL error copy (#40836)

Click to expand commit body
## Overview
- document how to keep a per-user debug.json so global launch tasks show
up everywhere (Fixes #39849)
- sanitize REPL terminal text before copying so error blocks can be
copied and opened in buffers (Fixes #40207)

## Design Decisions
- reused the existing user debug file (paths::debug_scenarios_file) and
pointed docs at the zed::OpenDebugTasks command to stay aligned with the
settings UX
- extract a sanitize helper inside TerminalOutput::full_text to strip
\r/null padding while keeping indentation intact, then join the cleaned
lines so clipboard and buffers get readable text

## Testing
- Not run (cargo is unavailable in this environment)

Fixes #39849.
Fixes #40207.

Mohin Hasin Rabbi created

92c3127 Add support for GitHub Copilot /responses endpoint (#40762)

Click to expand commit body
Add support for GithubCopilot /responses endpoint. This gives the
copilot chat provider the ability to use the new GPT-5 codex model and
any other model that lacks support for /chat/copmletions endpoint.

Closes #38858 

Release Notes:

- Add support for GithubCopilot /responses endpoint.

# Added
1. copilot_response.rs that has the /response endpoint types
2. uses response endpoint if model does not support /chat/completions.
3. new into_copilot_response() to map LanguageCompletionEvents to
Request.
4. new map_stream() to map response stream event to
LanguageCompletionEvents and tests.
5. Fixed a bug where trying to parse response for non streaming for
/chat/completion was failing

# Notes
There is a pr open - https://github.com/zed-industries/zed/pull/39989
for adding /response support for OpenAi and OpenAi compatible API.
Altough they share some similarities (copilot api seems to mirror openAi
directly) ive simplified some stuff and tried to keep it the same with
the vscode-chat implementation where possible. There might be a case for
code reuse but i think keeping them separate for now should be ok.

# Tool Calls
<img width="716" height="670" alt="Screenshot from 2025-10-15 17-12-30"
src="https://github.com/user-attachments/assets/14e88a52-ba8b-4209-8f78-73d15034b1e0"
/>

# Image
<img width="923" height="494" alt="Screenshot from 2025-10-21 02-02-26"
src="https://github.com/user-attachments/assets/b96ce97c-331e-45cb-b5b1-7aa10ed387b4"
/>

Somtoo Chukwurah created

a7c5b8d Add `ResetAllZoom` and `ResetAgentZoom ` actions (#41124)

Click to expand commit body
Very often, when I'm testing or playing around with the zoom feature,
including the agent panel, I find myself missing one quick action that
would bring everything back to normal. That's what `ResetAllZoom` does.
If you have customized your zoom level in all areas of Zed, that action
returns everything to its default state. Similarly, if you're playing
around with zoom just in the agent panel, `ResetAgentZoom` does the same
in that context.

Release Notes:

- Added the `ResetAllZoom` and `ResetAgentZoom ` actions, allowing to
return the zoom level across the whole app and/or just in the agent
panel to its default/original value.

Danilo Leal created

d1b28e6 REVIEWERS.conl (#40533)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Co-authored-by: David Kleingeld <davidsk@zed.dev>
Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
Co-authored-by: Ben Kunkle <ben@zed.dev>
Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Co-authored-by: Julia Ryan <juliaryan3.14@gmail.com>
Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>
Co-authored-by: Lukas Wirth <lukas@zed.dev>
Co-authored-by: dino <dinojoaocosta@gmail.com>
Co-authored-by: John Tur <john-tur@outlook.com>
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Co-authored-by: Anthony <anthony@zed.dev>
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Co-authored-by: Kate <work@localcc.cc>
Co-authored-by: Cole Miller <cole@zed.dev>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

Conrad Irwin , Marshall Bowers , David Kleingeld , Jakub Konka , Ben Kunkle , Mikayla Maki , Julia Ryan , Danilo Leal , Lukas Wirth , dino , John Tur , Piotr Osiewicz , Smit Barmase , Anthony , Kirill Bulatov , Kate , Cole Miller , and Ben Brandt created

ecf179d agent: Scale the agent UI and buffer font proportionally (#41121)

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

This PR adds the `agent_buffer_font_size` settings to be scaled in the
same proportion as the agent panel's UI font size, which was the only
setting that was being accounted for. This is something that I forgot to
do when we broke down the agent panel's font size controls into these
two values.

Release Notes:

- agent: Fixed an issue where the agent panel's buffer and UI font size
wouldn't scale proportionally.

Danilo Leal created

e54c9da Fix include ignored migration rerunning (#41114)

Click to expand commit body
Closes #ISSUE

Release Notes:

- Fixed an issue where having a correct `file_finder.include_ignored`
setting would result in failed to migrate errors

Ben Kunkle created

bcbc6a3 Use ShellKind::try_quote whenever we need to quote shell args (#41104)

Click to expand commit body
Re-reverts
https://github.com/zed-industries/zed/commit/8f4646d6c357409cfc286104088b4d21f2bea851
with fixes

Release Notes:

- N/A

Jakub Konka created

f213f4b Fix duplicate process entries in WSL debug attach list (#40591)

Click to expand commit body
Closes #40589

Replaced `System::new_all()` with `System::new_with_specifics` to fetch
only essential process information and exclude non-main threads from the
process list

after fix:
<img width="641" height="474" alt="image"
src="https://github.com/user-attachments/assets/32335552-2f7a-4317-8c01-f37b2eadfdc1"
/>


Release Notes:

- Fix duplicate process entries in WSL debug attach list

feeiyu created

0ee6ca1 project: Fix inability to open file after save as (#41012)

Click to expand commit body
Update `project::buffer_store::BufferStore.save_buffer_as` in order to
correctly update the `path_to_buffer_id` hash map, ensuring that the
currently open file's path is dissociated from the buffer's id, to
prevent the new buffer from being open when trying to open the original
file.

Closes #29783 

Release Notes:

- Fixed issue where using `workspace: save as` would prevent users from
opening the original file from which the new file was created

---------

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>

Dino and Piotr Osiewicz created

762082b ui_input: Don’t focus previous on decrement in `NumberField` (#41095)

Click to expand commit body
This PR removes the behavior that the number_field changes focus to the
previous element when using the decrement button.

I mainly noticed this while decreasing the tab-size of a language, since
it there closes the page...

Please note that I am unsure what if any purpose this code has.
I was unable to find a use case and since it is not present in the
`increment_handler` I guess it should never have been here

---

Release Notes:

* Fixed wrongly focus previous element on number_field decrement

ToBinio created

fcd690d Enable `source.organizeImports.ruff` by default for Python (#41103)

Click to expand commit body
Release Notes:

- Enabled automatic import organization, via
[ruff](https://github.com/astral-sh/ruff), when saving Python files. To
disable this, use:

```json
"Python": {
  "code_actions_on_format": { "source.organizeImports.ruff": false }
}
```

Joseph T. Lyons created

8de4b36 ACP Extensions (#40663)

Click to expand commit body
Adds the ability to install ACP agents via extensions

Release Notes:

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

Richard Feldman created

7644e79 agent: Fix edit_agent evals (#40921)

Click to expand commit body
Release Notes:

- N/A

Bennet Fenner created

4fb9113 ui: Use `focus_visible` method for some components (#41077)

Click to expand commit body
Using the cool, [recently
added](https://github.com/zed-industries/zed/pull/40940) `focus-visible`
support in some components. This will be particularly nice in the
settings UI, as it will not display the focus styles if you're
navigating it with a pointer device as opposed to the keyboard.

Release Notes:

- N/A

Danilo Leal created

f45a9b3 git: Branch diff (#40188)

Click to expand commit body
Release Notes:

- git: Adds the ability to view the diff of the current branch since
main

---------

Co-authored-by: Cole Miller <cole@zed.dev>

Conrad Irwin and Cole Miller created

f11a3dc settings_ui: Add small UI adjustments (#41065)

Click to expand commit body
Super tiny changes that impact mostly Windows/Linux.

Release Notes:

- N/A

Danilo Leal created

5aa8288 rules library: Improve empty state & fix quirks on Windows (#41064)

Click to expand commit body
Just got a new Windows machine and realized that the rules library empty
state was completly busted. Ended up also adding some little UI tweaks
to make it better for both Windows and Linux.

Release Notes:

- N/A

Danilo Leal created

fe730e9 Fix typo in Font Features description, s/b "OpenType" (#41058)

Click to expand commit body
Fix typo (regression?), 
"Opentype" should be "OpenType"

Closes #ISSUE

Release Notes:

- N/A

warrenjokinen created

59a98ba Add attribution for code sourced from Windows Terminal (#41061)

Click to expand commit body
Release Notes:

- N/A

John Tur created

1cf765e Revert: Spawn terminal process on background executor (#41060)

Click to expand commit body
Reverts https://github.com/zed-industries/zed/pull/40774 and
https://github.com/zed-industries/zed/pull/40824 since they introduce a
bug where Nushell processes are leaked and Ctrl+C doesn't kill the
current process.

Release Notes:

- Fix a bug where nushell processes wouldn't get killed after closing a
terminal tab

Agus Zubiaga created

79eff1f Make cursor move to duplicated line when duplicating line up (#41004)

Click to expand commit body
![Screen Recording 2025-10-23 at 14 50
26](https://github.com/user-attachments/assets/3427aa06-faf4-4f76-a604-bfc5af30f8ce)

Closes #40919
Follow-up of #39610

Release Notes:
- When duplicating line up, fixed cursor to move to the duplicated line

Tom Planche created