Commit log

6622902 agent: Only show compatible tools in profile selector (#40917)

Click to expand commit body
In practice this just hides the web search tool when not using the Zed
provider

Release Notes:

- Fixed an issue where the web search tool would show up in the profile
selector even when not using a model via Zed Pro

Bennet Fenner created

cb7881e Fix migration from #40409 for users who haven't been migrated yet (#40916)

Click to expand commit body
Closes #40874

Release Notes:

- Fixed an issue where migrating settings after v0.208.5+ would
spuriously enable prettier. This fix only affects those who have not
updated or migrated yet. For those who have already updated to version
v0.208.5 or later, placing `"formatter": []` in your settings in the
affected languages will fix the issue.

---------

Co-authored-by: Mikayla <mikayla@zed.dev>

Ben Kunkle and Mikayla created

c60343a eval: Port to agent2 (#40704)

Click to expand commit body
Release Notes:

- N/A

Bennet Fenner created

4a93719 Upgrade `async-tar` to v0.5.1 (#40911)

Click to expand commit body
This PR switches us back to the upstream version of `async-tar` and
upgrades to v0.5.1.

This version has the patch we need:
https://github.com/dignifiedquire/async-tar/commit/0c181956395fa28a9ae45786a57c9cf58c413e84.

Release Notes:

- N/A

Marshall Bowers created

d558005 markdown: Add support for `colspan` and `rowspan` for HTML tables (#39898)

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

This PR adds support for `colspan` feature that is only supported for
HTML tables. I also fixed an edge case where the right side border was
not applied because it didn't match the total column count.

**Before**
<img width="725" height="179"
alt="499166907-385cc787-fc89-4e6d-bf06-c72c3c0bd775"
src="https://github.com/user-attachments/assets/69586053-9893-4c92-aa89-7830d2bc7a6d"
/>

**After**
<img width="1165" height="180" alt="Screenshot 2025-10-21 at 22 51 55"
src="https://github.com/user-attachments/assets/f40686e7-d95b-45a6-be42-e226e2f77483"
/>

```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>
    </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>
```

**TODO**:
- [x] Add tests for rending logic
- [x] Test all the tables again

cc @bennetbo

Release Notes:

- Markdown: Added support for `colspan` and `rowspan` for HTML tables

---------

Co-authored-by: Zed AI <ai@zed.nl>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>

Remco Smits , Zed AI , and Anthony Eid created

96a0db2 Add comment injections for gowork and gomod (#40842)

Click to expand commit body
Release Notes:

- Add comment injections for go.mod and go.work

Signed-off-by: Donnie Adams <donnie@thedadams.com>

Donnie Adams created

23e9e32 emacs: Improve default keymap to better match the emacs behavior (#40631)

Click to expand commit body
Hello,
I am having a great time setting up the editor, but with a few problems
related to the Emacs keymap.

In this PR I have compiled changes in the default `emacs.json` that I
believe make the onboarding smoother for incoming emacs users.
This includes points that may need further discussion and some breaking
changes, although nothing that cannot be reverted with a quick
`keymap.json` overwrite.

(Please let me know if it is better to split up the PR)

### 1. Avoid fallbacks to the default keymap
all platforms:
- `ctrl-g` activating `go_to_line::Toggle` when there is nothing to
cancel

linux / windows:
- `ctrl-x` activating `editor::Cut` on the 1 second timeout
- `ctrl-p` activating `file_finder::Toggle` when the cursor is on the
first character of the buffer
- `ctrl-n` activating `workspace::NewFile` when the cursor is on the
last character of the buffer

### 2. Make all move commands operate on full words
In the current Zed implementation some commands run on full words and
others on subwords.
Although ultimately a matter of user preference, I think it is sensible
to use full words as the default, since that is what is shipped with
emacs.

### ~~3. Cancel selections after copy/cut commands~~ Moved to #40904
Canceling the selection is the default emacs behavior, but the way to
achieve it might need some brushing.
Currently I am using `workspace::SendKeystrokes` to copy ->
cancel(`ctrl-g`), but this has the following problems:
- can only be used in the main buffer (since `editor::Cancel` would
typically close secondary buffers)
- may cause problems downstream if the user overwrites the `ctrl-g`
binding

### ~~4. Replace killring with normal cut/paste commands~~ Moved to
#40905
Ideally Zed would support emacs-like killrings (#25270 and #22490).
However, I understand that making an emacs emulator is not a project
goal, and the Zed team should have a bunch of tasks with higher
priority.

By using a unified clipboard and standard cut/paste commands, we can
provide an experience that is closer to the out-of-the-box emacs
behavior (#33351) while also avoiding some pitfalls of the current
killring implementation (#28715).

### 5. Promote some bindings to workspace commands
- `alt-x` as `command_palette::Toggle`
- `ctrl-x b` and `ctrl-x ctrl-b` as `tab_switcher::Toggle`

---

Release Notes:

- emacs: Fixed a problem where keys would fallback to their default
keymap binding on certain conditions
- emacs: Changed `alt-f` and `alt-b` to operate on full words, as in the
emacs default
- emacs: `alt-x`, `ctrl-x b`, and `ctrl-x ctrl-b` are now Workspace
bindings

Affonso, Guilherme created

b207da5 gpui: Re-land uniform list scroll fixes (#40899)

Click to expand commit body
Re-lands https://github.com/zed-industries/zed/pull/40719, fixes the
bugs that were discovered with it and improves some more stuff in that
area

Release Notes:

- Fixed a rare issue where the extension page would stutter while
scrolling.

---------

Co-authored-by: Agus Zubiaga <agus@zed.dev>

Finn Evers and Agus Zubiaga created

a246019 agent: Improve discoverability of the quote selection action (#40897)

Click to expand commit body
This PR renames the `agent::QuoteSelection` to
`agent::AddSelectionToThread` _and_ adds it as a menu item in both the
right-click context menu within regular buffers as well as the
"Selection" app menu.

We've received feedback in the past about how hard to discover this
feature is, and after watching [the Syntax podcast
crew](https://www.youtube.com/watch?v=bRK3PeVFfVE) recently struggle
with doing so—and then naturally looking for it in the context menu and
not finding it—it felt like time to push a change. I think the rename +
the availability in these places could help bringing it to surface more.

The same action can be done in Cursor through the `cmd-l` keybinding,
but in Zed, that triggers `editor::SelectLine`, which I don't want to
override by default. However, if you're using Cursor's keymap, then
`cmd-l` does trigger this action, as expected.

<img width="500" height="1812" alt="Screenshot 2025-10-22 at 12  01@2x"
src="https://github.com/user-attachments/assets/dfc2c41c-8d0a-4a1a-8ea1-1bd5d1aa1171"
/>


Release Notes:

- agent: Improves discoverability of the previously called "quote
selection" action—which allows to add a text selection in a buffer as
context within the agent panel—by renaming it to "add selection to
thread" and making it available from the right-click editor context menu
as well as the "Selection" app menu.

Danilo Leal created

3a12122 Revert "keymaps: Update defaults for inline assist and signature help" (#40903)

Click to expand commit body
Reverts zed-industries/zed#39587

David Kleingeld created

d0398da editor: Fix singleton multibuffer titles not being replicated (#40896)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

69b2ee7 Bump Zed to v0.211 (#40895)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

88bac4d docs: Change tab character representation in docs (#40667)

Click to expand commit body
The suggested `→` appears tiny, and almost looks like just a dot on my
monitor, and I got quite confused for a while thinking the
`whitespace_map.tab` setting wasn't working properly.
<img width="630" height="105" alt="Image"
src="https://github.com/user-attachments/assets/98feced2-39b3-4734-83e4-b4573b4e52c2"
/>

I think it would be really helpful if `⟶` was suggested instead since
that displays properly.
<img width="625" height="104" alt="Image"
src="https://github.com/user-attachments/assets/176886ab-cf88-4079-90a8-91a8e8182092"
/>

---

I am using `Fira Code` as my font on windows, however when I remove that
config to get the default font, it also still appears the same size. So
I don't believe this is just a font issue on my machine.
Thought I am using Windows, so I would be willing to believe this a
render issue specific to windows

Release Notes:

- N/A

Ajani Bilby created

d53efe4 Revert "gpui: Fix uniform list scrolling with vertical padding present" (#40891)

Click to expand commit body
Reverts zed-industries/zed#40719

This unveiled some bigger issues with the UniformList size computations,
which are more crucial than what was fixed here.

Release Notes:

- NOTE: BUGFIX "Fixed a rare issue where the extension page would
stutter while scrolling." was reverted due to some other issues

Finn Evers created

14b41b1 Fix JumpHost on Windows (#40713)

Click to expand commit body
Closes #39382 

Release Notes:

- Fixed Windows specific ssh jumphost connection issues

localcc created

98c7e01 Add new action and handler for opening a specific setting (#40739)

Click to expand commit body
Co-authored-by: Ben Kunkle <ben@zed.dev>

Cameron Mcloughlin and Ben Kunkle created

c81ffaf editor: Use unbounded shifts for chunk bitmaps (#40879)

Click to expand commit body
This simplifies some code and is also more correct in some others (I
believe some of these might've overflowed causing panics in sentry)

Release Notes:

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

Lukas Wirth created

bd69124 Add option to disable crash handler (#40799)

Click to expand commit body
Extra info needed for #39289. To be tested out next nightly build...

Release Notes:

- N/A

Co-authored-by: Cole Miller <m@cole-miller.net>

Nia and Cole Miller created

77dbe08 project_panel: Fix buffer focus when canceling filename edit (#40747)

Click to expand commit body
Closes #37726

Release Notes:

- Fixed an issue where the buffer would not regain focus when clicked
while a filename edit was in progress in the project panel.

---------

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

Samuel Oldham and Smit Barmase created

252b75e Disable slang-server for verilog extension (#40442)

Click to expand commit body
Should be merged with
https://github.com/zed-industries/extensions/pull/3584, which adds
`slang-server` as a new language server, but should be disabled by
default due to an issue with it not initializing on Windows and being a
relatively new language server in general.

Release Notes:

- N/A

Owen Law created

bc0bace Add basic ico support (#40822)

Click to expand commit body
Closes https://github.com/zed-industries/zed/discussions/40763

<img width="867" height="1088" alt="Screenshot 2025-10-21 at 23 14 47"
src="https://github.com/user-attachments/assets/d691fb2a-afc6-4445-a335-054ef164e0d3"
/>

Also improves error handling on image open failure:

<img width="864" height="1083" alt="Screenshot 2025-10-21 at 23 14 30"
src="https://github.com/user-attachments/assets/d5388b61-995f-441b-b375-ad5136d1533b"
/>


Release Notes:

- Added basic ico support, improved unsupported image handling

Kirill Bulatov created

8ceb2f2 Add more tweaks to the troubleshooting docs (#40870)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

25de2ac Correct workspace db directory paths (#40868)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

8bad2cb Add another informational blog post to docs (#40865)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

762af09 Add more troubleshooting information (#40864)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

3d3e913 collab: Pin sea-orm-macro crate version together with sea-orm (#40846)

Click to expand commit body
Currently running `cargo update` on Zed will break the collab crate
because the versions of sea-orm and sea-orm-macros will not match. This
results in a bunch of noisy warnings from rust-analyzer.

Release Notes:

- N/A

Be created

fd9c2e3 Organize release docs (#40860)1

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

08d95ad chore: Bump gpui to 0.2.2 (#40856)

Click to expand commit body
Release Notes:

- N/A

Mikayla Maki created

d096132 docs: Add git stash to git.md (#40834)

Click to expand commit body
Closes #ISSUE

Release Notes:

- Added git stash documentation

Alvaro Parker created

d7c8555 Update async-tar dependency for GPUI (#40850)

Click to expand commit body
Release Notes:

- N/A

Mikayla Maki created

9c71a7f Revert arm64 runners (#40852)

Click to expand commit body
Release Notes:

- N/A

Mikayla Maki created

221637e Fix code signing for Windows installer (#40847)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

John Tur , Mikayla Maki , and Conrad Irwin created

e468edd Fix extraction of font runs from text runs (#40840)

Click to expand commit body
Fixes a bug in https://github.com/zed-industries/zed/pull/39928

The bug caused all completions to appear in bold-face

Release Notes:

- Fixed a bug where bold-face font was applied to the wrong characters
in items in the autocomplete menu

Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>

Max Brunsfeld and Mikayla Maki created

2903a06 Fix nightly upload on Windows (#40843)

Click to expand commit body
Release Notes:

- N/A

John Tur created

2338164 Revert "title_bar: Add configurable window controls position (#38834)" (#40839)

Click to expand commit body
This reverts commit b479d1ef49120c5b7d8a319d918ac18c398d1d3b.

This PR was accidentally merged prematurely.
https://github.com/zed-industries/zed/pull/38834#issuecomment-3424186051

cc @danilo-leal

Release Notes:

- N/A

Be created

2deafd8 project_panel: Don't show trash dialog on remote connections (#40838)

Click to expand commit body
In remote connections, we don't detect whether trashing is possible and
generally shouldn't assume it is. This also fixes up some incomplete
logic that was attempting to do that.

Closes #39212

Release Notes:

- No longer show trash option in remote projects

Nia created

0c13403 settings_ui: Add broken file warning banner (#40823)

Click to expand commit body
Closes #ISSUE

Release Notes:

- settings_ui: Added a warning banner when the settings file you are
actively editing is in a broken or invalid state.

Ben Kunkle created

8f3da5c settings_ui: Add pickers for theme and icon themes (#40829)

Click to expand commit body
In the process of adding pickers for the theme and icon themes fields in
the settings UI, I felt like there was an improvement opportunity in
regards to where some of these components are stored. The `ui_input`
crate originally was meant only for the text field-like component, which
couldn't be in the regular `ui` crate due to the dependency with
`editor`. Given we had also added the number field there—which is
similar in also having the same dependency—it made sense to think of
this crate more like a home for form-like components rather than for
only one component.

However, we were also storing some settings UI-specific stuff in that
crate, which didn't feel right. So I ended up creating a new directory
within the `settings_ui` for components and moved all the pickers and
the custom input field there. I think this makes it for a cleaner
structure.

Release Notes:

- settings_ui: Added the ability to search for theme and icon themes in
their respective fields.

Danilo Leal created

b519f53 Rope benchmarks: Generate random strings measured in bytes, not chars (#39951)

Click to expand commit body
Follows on from https://github.com/zed-industries/zed/pull/39949.

Again I'm not 100% sure of the intent but I think this is a fix:

`generate_random_string(rng, 4096)` would previously give you a string
of 4096 *chars* which could be anywhere between 4kB and 16kB in bytes.
This seems probably not what was intended, because Ropes generally work
in bytes not chars, including for the offsets used to index into them.

This seems to possibly cause a _regression_ in benchmark performance,
which is surprising because it should generally cause smaller test data.
But, possibly it's doing better at exercising different paths?

cc @mrnugget 

Release Notes:

- N/A

Martin Pool created

50d184b Revert "search: New old search implementation (#39956)" (#40831)

Click to expand commit body
This reverts commit 7c4fb5a899c34efaea9e52ddd84daebc8d9ccf49.

Closes #40792

Release Notes:

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

Piotr Osiewicz created

2bba335 Add Windows Arm64 builds to CI (#40821)

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

Release Notes:

- N/A

---------

Co-authored-by: Julia Ryan <juliaryan3.14@gmail.com>

John Tur and Julia Ryan created

fcecf37 Switch to fork of `async-tar` (#40828)

Click to expand commit body
This PR switches to our own fork of `async-tar`.

Release Notes:

- N/A

Marshall Bowers created

256fe6e Fix task terminal split (#40824)

Click to expand commit body
Before:


https://github.com/user-attachments/assets/efe2aeb6-94bb-46b6-944f-5a6345c072b4


After:


https://github.com/user-attachments/assets/61a7f699-6b4d-465f-add1-07774068420c


Release Notes:

- Fixed task terminal split not working correctly

Kirill Bulatov created

e49edfa python: Init venv/virtualenv activation scripts during list/resolve (#40816)

Click to expand commit body
This means that existence of activation scripts for venv/virtualenv will
be checked locally either on the host if editing locally, or the remote
by the remote proxy if editing a remote project.

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

Release Notes:

- N/A

Jakub Konka created

fd10017 docs: Add model prices for Claude Haiku 4.5 (#40820)

Click to expand commit body
This PR adds the model prices for Claude Haiku 4.5 to the docs.

Release Notes:

- N/A

Marshall Bowers created

4b42903 settings_ui: Correct stepper increment and enforce max value for Centered Layout Padding (#40751)

Click to expand commit body
Closes #40748

This PR improves the Centered Layout Padding in settings ui by limiting the numeric stepper to be within valid values and adding a custom schema generated to improve the JSON LSP completions and warnings when editing the setting field manually.

Release Notes:

- settings ui: limit stepper increment for centered padding between 0 and 0.4 and increment by 0.05 now

---------

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

Delvin created

a398f80 Add an action to reveal log file in system file manager (#40815)

Click to expand commit body
We document the location of the log file in many places, we should just
make it easy to open directly within your file browser. The one thing
here is naming. We use dynamic naming for "reveal" actions in the
project panel, to reflect the right file manager name per OS, but for a
command palette action, I dont think we want to have dynamic code for
the action name, just going with finder at the moment.

Release Notes:

- Added a `zed: reveal log in file manager` action to the command
palette.

Joseph T. Lyons created

a71cc6a settings_ui: Add some design tweaks (#40818)

Click to expand commit body
- Improves the UI for subfields of dynamic items
- Makes description writing more consistent (add period at the end of
every sentence, fix capitalization of proper names, ensure description
is always in sentence case)
- Other small details, mostly around spacing/padding

Release Notes:

- N/A

Danilo Leal created

2764c51 extensions_ui: Increase affordance of download button in cards (#40795)

Click to expand commit body
Hopefully, this will make the install/configure/uninstall buttons in the
right stand out a bit more and make their presence a bit more obvious
for newcomers.

| Before | After |
|--------|--------|
| <img width="1938" height="1276" alt="Screenshot 2025-10-21 at 10 
58@2x"
src="https://github.com/user-attachments/assets/b76115e1-0be2-4d5b-a677-525663d86c7c"
/> | <img width="1938" height="1276" alt="Screenshot 2025-10-21 at 10 
53@2x"
src="https://github.com/user-attachments/assets/9e563b71-b11a-4b69-b687-c0b469ca4eec"
/> |

Release Notes:

- Increased affordance of the download button in each extension card in
the extensions page.

Danilo Leal created

641ae90 settings_ui: Fix IEEE 754 floating point error when serializing value to JSON (#40677)

Click to expand commit body
Closes #40556

Release Notes:

- settings-ui: Fixed an issue where modifying floating point number fields could result in the values written to the settings file containing IEEE 754 floating point error

> [!Note]
> Seems like there's another pull request fixing the centered layout in
#40661 by normalizing the whole `settings.json` file when updating it.
Not sure which is the better way to handle this issue.

## Description

This pull request solves the IEEE 754 floating point error when
serializing values from settings-ui into `settings.json` by creating a
two `serde_helper` to convert the problematic f32 into a formatted two
decimal placed f32.

Fields currently exists the IEEE 754 error:
- Appearance → Unnecessary Code Fade
- Editor → Drop Size Target
- Window & Layout → Centered Layout Left/Right Padding
- Window & Layout → Inactive Opacity

## How to verify

### Unnecessary Code Fade

As Is | To Be
--- | ---
<video
src="https://github.com/user-attachments/assets/1bf4bad2-63c5-4b03-ac29-8b6b59569e16"
/> | <video
src="https://github.com/user-attachments/assets/dadcd4a1-651b-43dd-913f-edae073ceb68"
/>

### Drop Size Target

As Is | To Be
--- | ---
<video
src="https://github.com/user-attachments/assets/9d5b4173-fcac-44d0-b7fc-772a2e426ef1"
/> | <video
src="https://github.com/user-attachments/assets/4b5adeaf-e678-494d-bd1b-6c1d55824c43"
/>

### Centered Layout Left/Right Padding

As Is | To Be
--- | ---
<video
src="https://github.com/user-attachments/assets/33b4e1ff-7ab2-44f7-9e9b-8abad1565d9a"
/> | <video
src="https://github.com/user-attachments/assets/63d8de9e-28d1-4bd7-a6c9-02452e105486"
/>

### Inactive Opacity

As Is | To Be
--- | ---
<video
src="https://github.com/user-attachments/assets/a7fe2e72-deb6-41dc-82f3-e2649503b8a4"
/> | <video
src="https://github.com/user-attachments/assets/993c314f-b6f6-4dcd-8f74-fa357ab063e9"
/>

---------

Co-authored-by: Ben Kunkle <ben@zed.dev>

Dong and Ben Kunkle created