Commit log

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

cc19387 git_ui: Render avatars in git blame gutter (#39168)

Click to expand commit body
Release Notes:

- Added setting to render avatar in blame gutter

Lukas Wirth created

5922f4a themes: Fix Ayu theme comment colors (#39131)

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

Currently comment colors in Ayu theme do not work as expected and hard
to differentiate. In my understanding something is really wrong how zed
interprets rgba hex color codes, for example:

|  #5c677300 | #5c6773ff |
| ------------- | ---------- |
| <img width="134" height="38" alt="image"
src="https://github.com/user-attachments/assets/c9f1f618-958e-4fe9-a44a-636681d2f418"
/> | <img width="117" height="32" alt="image"
src="https://github.com/user-attachments/assets/78eac6b3-aecd-4be1-83d4-42590604c3a6"
/> |

This PR works around this by using comment color codes from
[ayu-vim](https://github.com/ayu-theme/ayu-vim). Maybe I am not
understanding how RGBA works, but in my opinion underlying issue should
be solved.

Release Notes:

- N/A

Dmitry Nefedov created

cac920d vim: Add support for ignorecase and noignorecase options (#37459)

Click to expand commit body
Update the list of supported options in vim mode so that the following
are now available:

- `:set ignorecase`
- `:set noignorecase`
- `:set ic`
- `:set noic`

This controls whether the case-sensitive search option is disabled or
enabled when using the buffer and project searches, with `ignorecase`
disabling the search option and `noignorecase` enabling it.

Release Notes:

- Added support for `:set ignorecase` and `:set noignorecase` in vim
mode

---------

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

Dino and Conrad Irwin created

773850f zeta2: Use bounded parallelism for tree-sitter indexing + await completion in zeta_cli (#39147)

Click to expand commit body
Also skips indexing files that don't have a suffix that indicates a
known language, and skips when the language doesn't have an outline
grammar.

Release Notes:

- N/A

---------

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

Michael Sloan and Agus created

9c60bc3 vim: Add vim counts and vim shortcuts to project_panel (#36653)

Click to expand commit body
Closes #10930 
Closes #11353

Release Notes:

- Adds commands to project_panel
  - `ctrl-u` scrolls the project_panel up half of the visible entries
  - `ctrl-d` scrolls the project_panel down half of the visible entries
  - `z z` scrolls current selection to center of window
  - `z t`  scrolls current selection to top of window
  - `z b` scrolls current selection to bottom of window
  - `{num} j` and `{num} k` now move up and  down with a count

AidanV created

fbb4dcf Update a Help menu item in app_menus.rs with "Locally" (#39151)

Click to expand commit body
Add the single word "Locally" to clarify where the info is coming from,
(and that you don't need to be online.)

Closes #ISSUE

Release Notes:

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

warrenjokinen created

2ccadc7 perf: Doc fixes (#39150)

Click to expand commit body
Release Notes:

- N/A

Nia created

80989d6 treesitter: Bump to 0.25.10 and fix Go tests (#39138)

Click to expand commit body
Closes #29827

Release Notes:

- Fixed tree-sitter possibly crashing on certain grammars

Nia created

719013d Add YankEndOfLine action (#39143)

Click to expand commit body
Since 2021 Neovim remaps Y to $y (1). DO the same in zed through a new action `YankToEndOfLine`. 

1: https://github.com/neovim/neovim/pull/13268

Release Notes:

- Added vim::YankToEndOfLine action which copies from the cursor to the end of the line excluding the newline. We bind it to Y by default in the vim keymap.

David Kleingeld created

8af3f58 Better conpty (#39090)

Click to expand commit body
Closes #22657
Closes #37863

# Background

Several users have noted that the terminal shipped with Zed on Windows
is either misbehaving or missing several features including lack of
consistent clearing behaviour. After some investigation which included
digging into the Microsoft Terminal project and VSCode editor, it turns
out that the pseudoconsole provided by Windows OS is severely outdated
which manifests itself in problems such as lack of clearing behaviour,
etc. Interestingly however, neither MS Terminal nor VSCode exhibit this
limitation so the question was why. Enter custom `conpty.dll` and
`OpenConsole.exe` runtime. These are updated, developed in MS Terminal
tree subprojects that aim to replace native Windows API as well as
augment the `conhost.exe` process that runs by default in Windows. They
also fix all the woes we had with the terminal on Windows (there is a
chance that ctrl-c behaviour is also fixed with these, but still need to
double check that this is indeed the case). This PR ensures that Zed
also benefits from the update pseudoconsole API.

# Proposed approach

It is possible to fork MS Terminal and instrument the necessary
subprojects for Rust-awareness (using `cc-rs` or otherwise to compile
the C++ code and then embed it in Rust-produced binaries for easier
inclusion in projects) but it comes at a cost of added complexity,
maintenance burden, etc. An alternative approach was proposed by
@reflectronic to download the binary from the official Nuget repo and
bundle it for release/local use. This PR aims to do just that.

There are two bits to this PR:
1. ~~when building Zed locally, and more specifically, when the `zed`
crate is being built, we will strive to download and unpack the binaries
into `OUT_DIR` provided by `cargo`. We will then set
`ZED_CONPTY_INSTALL_PATH=${OUT_DIR}/conpty` and use it at runtime in Zed
binary to tweak the loader's search path with that additional path. This
effectively ensures that Zed built from source on Windows has full
terminal support.~~ EDIT: after several discussions offline, we've
decided that keeping it minimal will serve us best, meaning: when
developing locally it is up to the developer of Zed to install
`conpty.dll` and put it in the loader's search path.
2. when bundling Windows release, we will download and unpack the nuget
package into Zed's bundle which will ensure it is installed in the same
directory as Zed by the installer.

**Note** I realise that 1. may actually not be needed - instead we could
leave that bit for the user who wants to run Zed from source to ensure
that they have `conpty.dll` in the loader's search path. I'd love to
hear opinions on this!

Release Notes:

- N/A

---------

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

Jakub Konka and Cole Miller created

f1d80b7 Fix panic in UnwrapSyntaxNode (#39139)

Click to expand commit body
Closes #39139
Fixes ZED-1HY

Release Notes:

- Fixed a panic in UnwrapSyntaxNode in multi-buffers

Conrad Irwin created

42ef3e5 editor: Make cmd-alt-click behavior more consistent (#38733)

Click to expand commit body
Fixes two inconsistencies around the behavior of cmd-alt-click that mess
with my VSCode muscle memory:
- The definition is opened in a pane to the right of the current pane,
unless there exists an adjacent pane to the left and not to the right,
in which case it's opened in the pane on the left
- In case Go to Definition needs to open a multibuffer, cmd-alt-click
does not open it in an existing pane to the right of the current pane,
it always creates a new pane directly to the right of the current pane

This PR irons out this behavior by always going to the definition in the
pane directly to the right of the current one, creating one only if one
doesn't yet exist.

If changing `Workspace::adjacent_pane` to not consider an existing pane
to the left is undesirable then that logic could be moved somewhere
else, or we can make it user configurable if necessary. Also happy to
split this PR up if either of these changes is controversial 🙂

Before:


https://github.com/user-attachments/assets/395754cd-6ecb-40bf-ae61-ee8903eed4ae

After:


https://github.com/user-attachments/assets/002797b1-51a7-48e5-a8d0-100d3a5049eb

Release Notes:

- Made the behavior of cmd-alt-click more consistent

---------

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

Tim Vermeulen and Joseph T. Lyons created

90ea252 vim: Disregard non-text content on system clipboard for yanking (#39118)

Click to expand commit body
Closes #39086

Release Notes:

- Fixed the vim problem that image clipboard content overrides the
unnamed register and produces an empty paste.

Miao created

6e5ff6d Update onboarding_modal.rs with https protocol (#39136)

Click to expand commit body
Update onboarding_modal.rs with https protocol

Closes #ISSUE

Release Notes:

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

warrenjokinen created

04216a8 Update http link to https in onboarding_modal.rs (#39135)

Click to expand commit body
Use https protocol

Closes #ISSUE

Release Notes:

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

warrenjokinen created

3ae6515 Default to Sonnet 4.5 in BYOK (#39132)

Click to expand commit body
<img width="381" height="204" alt="Screenshot 2025-09-29 at 2 29 58 PM"
src="https://github.com/user-attachments/assets/c7aaf0b0-b09b-4ed9-8113-8d7b18eefc2f"
/>


Release Notes:

- Claude Sonnet 4.5 and 4.5 Thinking are now the recommended Anthropic
models

Richard Feldman created

ffc9060 Fix file path quoting in Deno test task configuration (#39134)

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

Release Notes:

- N/A

mgabor created

4fc4707 Add Sonnet 4.5 support (#39127)

Click to expand commit body
Release Notes:

- Added support for Claude Sonnet 4.5 for Bring-Your-Own-Key (BYOK)

Richard Feldman created

8662025 Add Sonnet 4.5 to docs (#39125)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

morgankrey created

ceddd57 docs: Remove debugger cal.com link (#39124)

Click to expand commit body
Closes #39094

Release Notes:

- N/A

Finn Evers created

2016672 Revert "Replace linear resampler with fft based one" (#39120)

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

robot voices all over

David Kleingeld created

6e80fca Order venvs by distance to worktree root (#39067)

Click to expand commit body
This is a follow up to #37510 and is also related to #38910.

Release Notes:

- Improved ordering of virtual environments, sort by distance to
worktree root.

George Waters created

778ca84 Fix selecting and deleting user toolchains (#39068)

Click to expand commit body
I was trying to use the new user toolchains but every time I clicked on
one I had added, it would delete it from the picker. Ironically, it
wouldn't delete it permanently when I tried to by clicking on the trash
can icon. Every time I reopened the workspace all user toolchains were
there.

Release Notes:

- Fixed selecting and deleting user toolchains.

George Waters created

ebdc057 zed: Add binary type to sentry crash tags (#39107)

Click to expand commit body
This allows to filter by main zed binary or remote server crashes, as
well as easily tell whether a crash happened in a remote-server binary
or not.

Release Notes:

- N/A

Lukas Wirth created

cda48a3 zeta2: Allow provider to suggest edits in different files (#39110)

Click to expand commit body
Release Notes:

- N/A

---------

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

Bennet Bo Fenner and Agus Zubiaga created

b7f9fd7 zeta2: Do not include empty edit events (#39116)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

98ab118 git: Work around windows command length limit message fetching (#39115)

Click to expand commit body
Release Notes:

- Fix git blame failing on windows for files with lots of blame entries

Lukas Wirth created

1e70a1a Improve recent projects search result ordering (#38795)

Click to expand commit body
Previously, search results were sorted solely by candidate_id
(preserving original order from the database), which could result in
less relevant matches appearing before better ones.

This change sorts results primarily by fuzzy match score (descending),
with candidate_id as a tiebreaker for equal scores. This ensures that
better matches appear first while preserving recency order among items
with identical scores.

Example improvement:
- Searching for 'pica' will now rank 'picabo' higher than scattered
matches like 'project-api, project-chat'
- Consecutive character matches are prioritized over scattered matches
across multiple path segments

Release Notes:
- Improved project search relevance by ranking results using match score
instead of insertion order.

tsjason created

163219a editor: Make kill ring cut at EOF a no-op (#39069)

Click to expand commit body
Release Notes:

- Emacs's kill ring cut at the end of the last line of the file will now
no-op instead of cutting the entire line

AidanV created

f96fd92 git: Fix git modal and panel amend tooltip (#39008)

Click to expand commit body
Closes #38783

Release Notes:

- Fixed the amend button tooltip shortcut in Git panel and modal.

Miao created

9aa5817 Fix panic due to `ThemeRegistry::global` call in remote server (#39111)

Click to expand commit body
Fixes ZED-1PV

Note: Nightly only panic

Release Notes:

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

Ben Kunkle created

28cc39a Replace linear resampler with fft based one (#39098)

Click to expand commit body
Replaces the use of Rodio's basic linear resampler with an fft based
resampler from the rubato crate. As we are down-sampling to the minimal
(transparent) sample rate for human speech (16kHz) any down-sampling
artifact will be noticeable.

This also refactors the rodio_ext module into sub-models as it was
getting quite long.

Release Notes:

- N/A

David Kleingeld created

0da3f9f docs_preprocessor: Update deprecated actions message (#39062)

Click to expand commit body
Minor correction to label (string) used when generating big table of
actions.

Closes #ISSUE

Release Notes:

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

warrenjokinen created

f2efe78 editor: Shrink size of `Inlay` slightly (#39089)

Click to expand commit body
And some other smaller cleanup things I noticed while reading through
some stuff

Release Notes:

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

Lukas Wirth created

ed7217f ui prompt: Adjust UI and focus visibility (#39106)

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

This PR adds some UI improvements to the Zed replacement of the system
dialog/prompt, including better visibility of which button is currently
focused.

One little design note, though: because of a current (and somewhat
annoying) constraint of button component, where we're only drawing a
border when its style is outlined, if I kept them horizontally stacked,
there'd be a little layout shift now that I'm toggling styles for better
focus visibility. So, for this reason, I changed them to be vertically
stacked, which matches the macOS design and avoids this problem. Maybe
in the future, we'll revert it back to being `flex_row` because that
ultimately consumes less space.


https://github.com/user-attachments/assets/500c840b-6b56-4c0c-b56a-535939398a7b

Release Notes:

- Improve focus visibility of the actions within Zed's UI system prompt.

Danilo Leal created

f9fb389 themes: Set `font_weight` to `null` for `syntax.hint` (#39105)

Click to expand commit body
Since https://github.com/zed-industries/zed/pull/36219 we now render
inlay hints as bold due to this.

Release Notes:

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

Lukas Wirth created

632e569 markdown_preview: Improve table elements appearance (#39101)

Click to expand commit body
# How

Eliminate double borders between Markdown rows and cells, restyle
headers relying on background color alteration instead of thicker pixel
border.

Release Notes:

- Improved table elements appearance in Markdown Preview

# Preview

### Before

<img width="1206" height="594" alt="Screenshot 2025-09-29 at 13 28 23"
src="https://github.com/user-attachments/assets/9fe2b8a8-13e1-4052-9e97-34559b44f2d0"
/>

### After

<img width="1206" height="578" alt="Screenshot 2025-09-29 at 13 28 40"
src="https://github.com/user-attachments/assets/0b627ada-f287-436b-9448-92900d4bff59"
/>

Bartosz Kaszubowski created