Commit log

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

0c71aa9 Bump tree-sitter-python to 0.25.0 (#39103)

Click to expand commit body
- The fork with the patch is now included in 0.25.0
(https://github.com/tree-sitter/tree-sitter-python/commit/7ff26dacd720393d3cfeda14351f168a79146a33).
- We no longer need `except*` as a keyword, which was added in
https://github.com/zed-industries/zed/pull/21389. It now highlights
correctly without explicitly mentioning it after
https://github.com/tree-sitter/tree-sitter-python/commit/1b1ca93298f0a67987abbda88a861d65da28cdb4.

Release Notes:

- N/A

Smit Barmase created

92a09ec x_ai: Add support for tools and images with custom models (#38792)

Click to expand commit body
After the change, we can add "supports_images", "supports_tools" and
"parallel_tool_calls" properties to set up new models. Our
`settings.json` will be as follows:
```json
  "language_models": {
     "x_ai": {
       "api_url": "https://api.x.ai/v1",
       "available_models": [
         {
           "name": "grok-4-fast-reasoning",
           "display_name": "Grok 4 Fast Reasoning",
           "max_tokens": 2000000,
           "max_output_tokens": 64000,
           "supports_tools": true,
           "parallel_tool_calls": true,
         },
         {
           "name": "grok-4-fast-non-reasoning",
           "display_name": "Grok 4 Fast Non-Reasoning",
           "max_tokens": 2000000,
           "max_output_tokens": 64000,
           "supports_images": true,
         }
       ]
     }
   }

```

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

Release Notes:

- xAI: Added support for for configuring tool and image support for
custom model configurations

Jowell Young created

bad9677 acp: Add NO_PROXY if not set otherwise to not proxy localhost urls (#39100)

Click to expand commit body
Since we might run MCP servers locally for an agent, we don't want to
use the proxy for those.
We set this if the user has set a proxy, but not a custom NO_PROXY env
var.

Closes #38839

Release Notes:

- acp: Don't run local mcp servers through proxy, if set

Ben Brandt created

aa14980 Mention pure style changes in the contributing docs (#39096)

Click to expand commit body
Release Notes:

- N/A

Kirill Bulatov created

12aba61 docs: Fix minor typos in configuring-zed.md (#39048)

Click to expand commit body
Fixed numbering under heading  Bottom Dock Layout

Closes #ISSUE

Release Notes:

- N/A

warrenjokinen created

720971e git_ui: Fix last commit UI glitching on panel resize (#39059)

Click to expand commit body
# Why

Spotted that on Git Panel resize last commit UI part could glitch due to
commit message being wrapped into second line in certain situations.

# How

Force only one line for the last commit message in Git Panel via
`line_clamp`.

I have also remove manual `max-width` setting since it is controlled by
flex layout and gap setting no matter if there is an additional element
on the right or not.

Release Notes:

- Fixed last commit UI glitching on panel resize

# Preview

### Before


https://github.com/user-attachments/assets/9ce74f6f-d33c-4787-b7e4-010de8f0ffff

<img width="852" height="502" alt="Screenshot 2025-09-28 at 18 16 35"
src="https://github.com/user-attachments/assets/1131c73f-fe06-4d8e-adbb-5ce84ecf31e0"
/>

### After


https://github.com/user-attachments/assets/279b8c37-7ec9-4038-8761-197cba26aa83

Bartosz Kaszubowski created

0a10e3e acp_thread: Fix terminal tool incorrectly redirecting stdin to `/dev/null` (#39092)

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

Release Notes:

- Fixed AI terminal tool incorrectly redirecting stdin to `/dev/null`

Lukas Wirth created

77854f4 windows: Refactor shell environment capture to use new_smol_command (#39055)

Click to expand commit body
Using `crate::command::new_smol_command` on the Windows platform will
not display the PowerShell window.

Closes #39052

Release Notes:

- N/A

Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>

Xiaobo Liu created

5ce7eda ui: Fix panic in `highlight_ranges` when given an oob index (#39051)

Click to expand commit body
Fixes ZED-1QW

Release Notes:

- Fixed a panic when highlighting labels

Lukas Wirth created

6d7a4c4 search: Fix panic in project search due to workspace double lease (#39049)

Click to expand commit body
Fixes ZED-1K1

Release Notes:

- Fixed panic when spawning a new project search with include file only
filtering

Lukas Wirth created