Commit log

471f338 v0.207.x preview

Joseph T. Lyons created

ab79fa4 gpui: Add a doc module with use examples (#39282)

Click to expand commit body
cc @dvdsk 

Release Notes:

- N/A

---------

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

Nia and David Kleingeld created

c9b7df4 Revert "gpui: Respect macOS 'Do Nothing' window double-click setting" (#39291)

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

This broke double-click to zoom, even though it is configured in
settings.

Smit Barmase created

f2df497 Fix remote ping timing out (#39114)

Click to expand commit body
Closes #38899 

Release Notes:

- N/A

localcc created

77cc556 Make `test_terminal_eof` less flaky and faster (#39281)

Click to expand commit body
Release Notes:

- N/A

Kirill Bulatov created

1c85995 Enable vim mode within the rules editor (#39244)

Click to expand commit body
Release Notes:

- Enable vim mode on rule editor

Alvaro Parker created

d1543f7 prompts: Improve inline assist prompt to reduce garbage from smaller models (#38278)

Click to expand commit body
Closes #24412 and #19471

I tested both insertion and replacing with o3-mini and it failed with
the current prompt. With the updated prompt it does no longer return
`<document><rewrite_this>` or `{{REWRITTEN_CODE}}`

I have ensured the LLM Worker works with these prompt changes.

Release Notes:

- Improved prompting for the inline assistant

Andreas Johansson created

fc0b249 multi_buffer: Fix handling of `ExcerptId::max()` (#38887)

Click to expand commit body
This removes a hack from `MultiBuffer::anchor_at` that works around
missing logic for handling `ExcerptId::max()` by implementing that said
missing logic.

Generally, `ExcerptId::min()` is already being handled correctly due to
how `Cursor` seeking works, we tend to seek to or beyond a seek target,
meaning `min` will always match the first excerpt as expected. `max` on
the other hand will always seek beyond the last excerpt resulting in no
excerpt being found, so any code path dealing with the excerpt sumtree
will have to specially check for this special excerpt ID to work
correctly.

Release Notes:

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

Lukas Wirth created

01dbc68 editor: Preserve grapheme identity during rewrap (#39223)

Click to expand commit body
Closes #39207

Release Notes:

- N/A

Miao created

e111aca gpui: Respect macOS 'Do Nothing' window double-click setting (#39235)

Click to expand commit body
Fixes titlebar double-click behavior to properly handle the macOS system
setting when "Do Nothing" is selected in System Settings > Desktop &
Dock > "Double-click a window's title bar to".

Closes #39102

Release Notes:

- Fixed macOS `Do Nothing` window double click setting not be respected

Mario Kozjak created

c61409e zeta_cli: Avoid unnecessary rechecks in `retrieval-stats` (#39267)

Click to expand commit body
Before this change, it would save every buffer and wait for diagnostics.
For rust analyzer this would cause a lot of rechecking and greatly slow
down the analysis

Release Notes:

- N/A

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

Michael Sloan and Agus created

1659fb8 Remove panic/crash reporting from collab (#39249)

Click to expand commit body
Crashes have been going to Sentry since v0.201.x

Release Notes:

- N/A

Conrad Irwin created

dd6c653 agent: Fix terminal tool on Windows (#39260)

Click to expand commit body
Seems like we don't want to escape the dollar sign in `$null`.

Release Notes:

- N/A

Cole Miller created

a13e84a Fix bug in code action formatter handling (#39246)

Click to expand commit body
Closes #39112

Release Notes:

- Fixed an issue when using code actions on format where specifying
multiple code actions in the same code actions block that resolved to
code actions from different language servers could result in conflicting
edits being applied and mangled buffer text.

Ben Kunkle created

1cac3e3 agent: Only show profile manage list item selection keybinding on the focused item (#39242)

Click to expand commit body
Small update here that makes the UI simpler; there's no need to see the
keybinding in all the items you're not focused in.

| Before | After |
|--------|--------|
| <img width="1112" height="720" alt="Screenshot 2025-09-30 at 5  25@2x"
src="https://github.com/user-attachments/assets/e0362f98-889a-4007-a50d-8006dfb91787"
/> | <img width="1112" height="732" alt="Screenshot 2025-09-30 at 5  25
2@2x"
src="https://github.com/user-attachments/assets/b536b6ba-ef61-4891-8b2f-c27c40c70e4e"
/> |

Release Notes:

- N/A

Danilo Leal created

9abe581 agent: Make the profile switcher a picker (#39218)

Click to expand commit body
Split off from https://github.com/zed-industries/zed/pull/39175

Adds a search bar to the 'profile' panel, so that we can switch profiles
without having to use the mouse or `tab` a few times

![2025-09-30 13 32
55](https://github.com/user-attachments/assets/2fc1f32b-9e25-4059-aae1-d195334a5fdb)

Release Notes:

- agent: Added the ability to search profiles in the agent panel's
profile picker.

---------

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

David and Danilo Leal created

97bd284 windows: Fix breakpoints in WSL (#39196)

Click to expand commit body
Release Notes:

- Fixed breakpoints not being hit in the debugger in WSL (or any
POSIX-target from WIndows host)

Jakub Konka created

e9244d5 docs: Remove macOS Tahoe runtime shaders callout (#39241)

Click to expand commit body
@ConradIrwin No longer needed the issue appears to be fully resolved
after moving to MacOS Tahoe as the latest instead of only in dev beta

Release Notes:

- N/A

versecafe created

83e5a30 Don't run MCP servers for remote projects (#39243)

Click to expand commit body
Closes #39213

Release Notes:

- Fixed a bug where we tried to run MCP servers in the remote project's
working directory on the local machine

Conrad Irwin created

94a4c0c settings ui: Fix bug with navbar index to page index translation (#39245)

Click to expand commit body
This happened when search results completely filtered out a page above
the selected page index.

The old index was calculated based on the nav bar entry's position and
the count of root entries above it, this was wrong because root entries
could be filtered out with a search. Now the page index is saved when
building the navbar

Release Notes:

- N/A

Anthony Eid created

0f86933 Update blade dependencies to the newest versions (#39233)

Click to expand commit body
Release Notes:

- N/A

Mikayla Maki created

ed269b4 Correct button label on basics_page.rs (Jetbrains to JetBrains) (#39240)

Click to expand commit body
Correct typo, Jetbrains to JetBrains

Thanks for the opportunity to participate!

Closes #ISSUE

Release Notes:

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

warrenjokinen created

34ddf54 agent: Remove stray separator in edited files UI (#39237)

Click to expand commit body
Release Notes:

- N/A

Cole Miller created

a701388 settings ui: Implement settings search (#38989)

Click to expand commit body
Get a basic search implementation working in the settings ui and fix nav
bar toggling bugs.

Search functionality works by passing in each page and its items into
our fuzzy search crate and filtering out any non-matches. A page is a
match if any of its items are a match and an item is a match if its
title or description has a fuzzy score greater than zero.

In the future, a page section header will be filtered out if none of its
children has a match or it will show all its children on a match. The
team still has to decide what to do in that edge case, but that's the
last step until search is fully implemented for our initial launch.

Finally, I found some bugs in our nav bar toggling that occurred because
we weren't taking into account the index change that occurred when
toggling an element with children that is above the selected nav bar
entry. I added tests to cover those edge cases as well.

Release Notes:

- N/A

---------

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

Anthony Eid and Ben Kunkle created

29afc04 worktree: Remove unwrap in BackgroundScanner::update_ignore_status (#39191)

Click to expand commit body
We've seen this panic come up in the last two weeks, which might be
caused by #33592. However, we are not sure what paths can cause this
`unwrap()` to fail. Therefore adding some logging around this, so that
the next time someone opens a bug report we can further diagnose the
issue.

Fixes ZED-1F6

Release Notes:

- Fixed an issue where Zed could crash when including specific paths in
a global `.gitignore` files

Bennet Bo Fenner created

e65a929 Add basic shell tests (#39232)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Lukas Wirth <lukas@zed.dev>

Kirill Bulatov and Lukas Wirth created

a53faff terminals: Remove (now) incorrect alacritty workaround for task spawning (#39230)

Click to expand commit body
Closes #39228

Release Notes:

- Fixed venv activation failing with powershell

Lukas Wirth created

074cb88 acp_thread: Skip git pagination on windows (#39229)

Click to expand commit body
Release Notes:

- Fixed agents running git commands with pagination enabled

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

Lukas Wirth and Cole Miller created

67ebb1f task: Fix `ShellBuilder::redirect_stdin_to_dev_null` constructing invalid commands on windows (#39227)

Click to expand commit body
Release Notes:

- Fixed agents not being able to use the terminal tool with powershell

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

Lukas Wirth and Cole Miller created

ace6170 debugger: Fix python debug scenario not showing up in code actions (#39224)

Click to expand commit body
The bug happened because the Python locator was checking for a quote
before the ZED task variable. Removing that part of the check fixed the
issue.

Closes #39179 

Release Notes:

- Fix Python debug tasks not showing up in code actions or debug picker

Anthony Eid created

43061b6 Add SettingsFile APIs to SettingsStore (#39129)

Click to expand commit body
Closes #ISSUE

Adds a couple functions to the `SettingsStore`:
- `get_value_from_file`: Gets a value from a given settings file
(`Local`, `User`, etc) and if the value isn't found in the requested
file, walks the known settings files in the order in which they are
merged to find the settings value in lower precedence settings files
(i.e. if value not set anywhere will always return default value)
- `get_overrides_for_field`: Returns a list of settings files where a
given setting is set that have higher precedence than the passed in
file. e.g. passing in user will result in project settings files where
the value is set being returned.

Additionally changes the default for the `project_name` setting to
uphold the rules we are attempting to enforce on the settings, namely:
- All settings fields should be of the form `Option<T>`
- `None` (or `null` in JSON) should never be a meaningful value

Follow up PRs will handle implementing a function to write to an
arbitrary settings file, and passing through metadata to the above
functions to control how overrides are determined for more complicated
cases like `SaturatingBool` (`disable_ai`) and `ExtendingVec`

Release Notes:

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

---------

Co-authored-by: Ben Kunkle <ben@zed.dev>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Anthony <anthony@zed.dev>

Mikayla Maki , Ben Kunkle , Anthony Eid , Danilo Leal , and Anthony created

e23e976 acp: Bump minimum Claude Code version (#39217)

Click to expand commit body
There was an issue with login after the migration to the new anthropic
package. This makes sure folks are migrated to a known working version
(though the latest version also now works on old versions)

Release Notes:

- N/A

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

Ben Brandt and Richard Feldman created

0266a99 Use the `alt` modifier when going to a definition with cmd-click (#38148)

Click to expand commit body
I don't totally follow how the `cmd_click_reveal_task` function works,
but it branches on whether `self.hovered_link_state` exists and contains
any links, and in case it doesn't, it doesn't use `modifiers.alt` for
deciding where to navigate. This PR addresses that.

The problem I've been having is that cmd-alt-click sometimes behaves as
cmd-click, i.e. it navigates to the definition in the current pane. This
appears to happen whenever I cmd-alt-click while the symbol I'm hovering
over isn't underlined, possibly when I click too quickly?

An alternative way to reliably reproduce this is to cmd-alt-click on a
symbol without letting go of cmd and alt and without moving the cursor.
Now the symbol is no longer underlined (and the hover preview has
disappeared as well), so clicking again (while still holding cmd and
alt) goes to the definition in the current pane:


https://github.com/user-attachments/assets/34003e01-fd95-4741-8a7d-6240d1c5a495

Release notes:

- Fixed a bug that caused cmd-alt-click to sometimes go to the
definition in the current pane

Co-authored-by: Joseph T. Lyons <JosephTLyons@gmail.com>

Tim Vermeulen and Joseph T. Lyons created

9741e9a rules library: Improve delineation of default and non-default rules (#39209)

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

This PR adds UI improvements to clarify the concept of "default rules"
and how they separate from regular rules. This is mostly motivated by
the issue linked above, where it clarified that the star icon was
communicating a "favoriting" affordance, which is not correct with how
rules work in Zed. When you tag/attach a rule as default, it will always
be included in every prompt, together with the agent's system prompt and
project rules (if they exist).

Hopefully, this will make understanding better. Here's how it looks like
now?


https://github.com/user-attachments/assets/435d3af7-e8a6-4646-8f00-94a409bd5f42

Release Notes:

- Improve rules library UI to better communicate the concept of default
rules vs. regular rules.

Danilo Leal created

3f31fc2 agent: Fix keybinding to deny running a command (#39214)

Click to expand commit body
Despite how great `cmd-d` as a keybinding is, that was not working as it
was conflicting with an editor keybinding:


https://github.com/user-attachments/assets/2ea8665b-7008-4f0a-9426-8d31d379ee1c

This PR changes it to `cmd-alt-z`, which is the best "remove/fix"-type
of keybinding I could find that doesn't conflict with anything else.
Ideally, we'd use either the D, N, or R letters for "deny", "no", and
"reject", but unfortunately, none of them are nicely available in this
context...


Release Notes:

- agent: Fix keybinding to deny running a command

Danilo Leal created

6c50fd6 Remove "integer" from font size docs (#39215)

Click to expand commit body
Fixes #38765

Release Notes:

- N/A

Conrad Irwin created

df43a2d zeta2 cli: Include section ranges in new full output format (#39203)

Click to expand commit body
Release Notes:

- N/A

---------

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

Agus Zubiaga and Oleksiy Syvokon created

35749e9 acp: Notify of latest agent version only after successful download (#39201)

Click to expand commit body
Before we would notify the user even if the download failed. We also
we're overwriting the directory, which means a user could be stuck in a
loop if a previous download failed

Release Notes:

- acp: Fix user seeing update prompt in a loop because of a previous
failed download

Ben Brandt created

e965c43 Remove issue response action (#39200)

Click to expand commit body
This action has consistently failed to run for many months on end, so we
haven't been relying on it.

Release Notes:

- N/A

Joseph T. Lyons created

14fc726 windows: Fix ssh reporting wrong password even it's actually correct (#38263)

Click to expand commit body
Closes #34393

Currently, we’re using `zed.exe --askpass` kind of like an `nc`
substitute, it prints out the SSH password to stdout with something like
`println!("user-pwd")`. `ssh.exe` then reads the password from stdout so
it can establish the connection.

The problem is that in release builds we set `subsystem=windows` to
avoid Windows spawning a black console window by default. The side
effect is that `zed.exe` no longer has a stdout, so `ssh.exe` can’t read
the password.

Through testing, I confirmed that neither allocating a new console for
`zed.exe` nor attaching it to the parent process’s stdout resolves the
issue. As a result, this PR updates the implementation to use `cli.exe
--askpass` instead.

TODO:

- [ ] Check that the `cli` path is correct on macOS
- [ ] Check that the `cli` path is correct on Linux

Release Notes:

- N/A

---------

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

张小白 and Piotr Osiewicz created

4f95186 windows: Fix auto-update for `conpty.dll` (#39178)

Click to expand commit body
This PR is a follow-up to #39090 and addresses two issues:

* Moves `conpty.dll` and `OpenConsole.exe` out of the `bin` folder to
prevent other programs from using them.
* Updates these files only after Zed exits, avoiding update failures due
to file locks.


Release Notes:

- N/A

---------

Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>

张小白 and Jakub Konka created

33f4400 gpui: Respect font smoothing on macOS (#39197)

Click to expand commit body
- Closes #38847
- See also: #37622 and #38467

Release Notes:

- Fonts are now rendered in accordance with the `AppleFontSmoothing`
setting.

Sergei Zharinov created

9d895c5 git_ui: Fix blame avatars using wrong config (#39195)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

0811d48 diagnostics: Reduce cloning of `DiagnosticEntry` (#39193)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

d8cafdf markdown: Add support for HTML `heading` elements (#38590)

Click to expand commit body
This PR adds support for HTML heading (h1, h2, h3, h4, h5, h6) elements.

**Before**
<img width="1440" height="556" alt="Screenshot 2025-09-21 at 11 05 18"
src="https://github.com/user-attachments/assets/6e7241a5-be1c-4018-ba04-f29058f97941"
/>

**After**
<img width="1436" height="598" alt="Screenshot 2025-09-21 at 10 58 12"
src="https://github.com/user-attachments/assets/3f74b5f7-6c35-41db-989b-fcaaede264b5"
/>

cc @SomeoneToIgnore

Release Notes:

- Markdown: Added support for HTML `heading` elements

Remco Smits created

95190a2 Add a test on a `with_timeout` util function (#39187)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Lukas Wirth <lukas@zed.dev>

Kirill Bulatov and Lukas Wirth created

49335d5 Pane tabs: Scroll entire new tab into view (#36827)

Click to expand commit body
The state of the child bounds is not up-to-date when `scroll_to_item`
gets triggered, causing the new tab to not scroll completely into view.

Closes #36317 

Release Notes:

- Fix an issue where a new tab is only partially visible on creation.

hrou0003 created

624e448 Remove bold inlay hints style from all other theme variants (#39177)

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

Release Notes:

- N/A

Co-authored-by: Lukas Wirth <lukas@zed.dev>

Kirill Bulatov and Lukas Wirth created

bf9dd6b python: Fix user settings not getting passed on for Ty (#39174)

Click to expand commit body
Closes #39144

Release Notes:

- python: Fixed user settings not being respected with Ty language
server.

Piotr Osiewicz created

6af3852 zeta_cli: Add retrieval-stats command for comparing with language server symbol resolution (#39164)

Click to expand commit body
Release Notes:

- N/A

---------

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

Michael Sloan and Agus created