Commit log

83afe56 Add a way to import ssh host names from the ssh config (#30926)

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

Use `"read_ssh_config": false` to disable the new behavior.

Release Notes:

- Added a way to import ssh host names from the ssh config

---------

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

Kirill Bulatov and Cole Miller created

e468f9d Remove unsaved text thread from recent history when switching away (#30918)

Click to expand commit body
Bug found by @SomeoneToIgnore 

Release Notes:

- N/A

Michael Sloan created

1ce2652 agent: Create checkpoints when editing a past message (#30831)

Click to expand commit body
Release Notes:

- N/A

Max Brunsfeld created

784d51c Fix pane deduplication for unsaved buffers that have no path (#30834)

Click to expand commit body
For example, running `zed some-new-path` multiple times would open
multiple tabs.

Release Notes:

- N/A

Co-authored-by: Max <max@zed.dev>

Michael Sloan and Max created

0079c99 editor: Add python indentation tests (#30902)

Click to expand commit body
This PR add tests for a recent PR: [language: Fix indent suggestions for
significant indented languages like
Python](https://github.com/zed-industries/zed/pull/29625)

It also covers cases from past related issues so that we don't end up
circling back to them on future fixes.

- [Python incorrect auto-indentation for
except:](https://github.com/zed-industries/zed/issues/10832)
- [Python for/while...else indention overridden by if statement
](https://github.com/zed-industries/zed/issues/30795)
- [Python: erroneous indent on newline when comment ends in
:](https://github.com/zed-industries/zed/issues/25416)
- [Newline in Python file does not indent
](https://github.com/zed-industries/zed/issues/16288)
- [Tab Indentation works incorrectly when there are multiple
cursors](https://github.com/zed-industries/zed/issues/26157)

Release Notes:

- N/A

Smit Barmase created

230eb12 docs: Fix incorrect info in C# documentation (#30891)

Click to expand commit body
`ignore_system_version` does not work for extensions.

Release Notes:

- N/A

Peter Tripp created

dd3956e Add a picker for `jj bookmark list` (#30883)

Click to expand commit body
This PR adds a new picker for viewing a list of jj bookmarks, like you
would with `jj bookmark list`.

This is an exploration around what it would look like to begin adding
some dedicated jj features to Zed.

This is behind the `jj-ui` feature flag.

Release Notes:

- N/A

Marshall Bowers created

122d6c9 Upgrade `tempfile` to v3.20.0 (#30886)

Click to expand commit body
This PR upgrades our `tempfile` dependency to v3.20.0.

Pulling out of https://github.com/zed-industries/zed/pull/30883.

Release Notes:

- N/A

Marshall Bowers created

19e89a8 agent: Scroll to the bottom after sending a new message (#30878)

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

Release Notes:

- agent: Improved UX by scrolling to the bottom of the thread after
submitting a new message or editing a previous one.

Danilo Leal created

919ffe7 docs: Refine some agent-related pages (#30884)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

841a4e3 Update `.mailmap` (#30874)

Click to expand commit body
This PR updates the `.mailmap` file to merge some more commit authors.

Release Notes:

- N/A

Marshall Bowers created

175ce05 docs: Fix broken links in AI docs (#30872)

Click to expand commit body
This PR fixes some broken links in the AI docs.

Release Notes:

- N/A

Marshall Bowers created

e518941 Add PR 15352 to `.git-blame-ignore-revs` (#30870)

Click to expand commit body
This PR adds https://github.com/zed-industries/zed/pull/15352 to the
`.git-blame-ignore-revs` file.

Release Notes:

- N/A

Marshall Bowers created

10b8174 docs: Inform users about the supports_tools flag (#30839)

Click to expand commit body
Closes #30115 

Release Notes:

- Improved documentation on Ollama `supports_tools` feature.

---------

Signed-off-by: Logan Blyth <logan@githedgehog.com>
Co-authored-by: Ben Kunkle <ben@zed.dev>

Logan Blyth and Ben Kunkle created

21fd1c8 python: Fix highlighting of built-in types for `isinstance` and `issubclass` (#30807)

Click to expand commit body
When built-in types such as `list` is specified in calls like
`isinstance()`, the parameter is highlighted as a type.
    
The issue is caused by a change which removed `list` and others in
bf9e5b4f761b507310d744553e29ba6fdeb3c89a.
    
This commit makes two special cases for `isinstance` and `issubclass`
ensuring tree sitter to highlight the parameters correctly.

Fixes #30331

Release Notes:

- python: Fixed syntax highlighting for `isinstance()` and
`issubclass()` calls

Co-authored-by: László Vaskó <1771332+vlaci@users.noreply.github.com>

Zsolt Cserna and László Vaskó created

c80bd69 language_models: Don't mark local subscription binding as unused (#30867)

Click to expand commit body
This PR removes an instance of marking a local `Subscription` binding as
unused.

While we `_` the field to prevent unused warnings, the locals shouldn't
be marked as unused as we do use them (and want them to participate in
usage tracking).

Release Notes:

- N/A

Marshall Bowers created

03419da ui_macros: Remove `DerivePathStr` macro (#30862)

Click to expand commit body
This PR removes the `DerivePathStr` macro, as it is no longer used.

Also removes the `PathStaticStr` macro from `gpui_macros`, which was
also unused.

Release Notes:

- N/A

Marshall Bowers created

f56960a Fix project search unsaved edits (#30864)

Click to expand commit body
Closes #30820

Release Notes:

- Fixed an issue where entering a new search in the project search would
drop unsaved edits in the project search buffer

---------

Co-authored-by: Mark Janssen <20283+praseodym@users.noreply.github.com>

Ben Kunkle and Mark Janssen created

4d82792 ui: Remove usage of `DerivePathStr` macro (#30861)

Click to expand commit body
This PR updates the `KnockoutIconName` and `VectorName` enums to
manually implement the `path` method instead of using the
`DerivePathStr` macro.

Release Notes:

- N/A

Marshall Bowers created

25b4591 docs: Fix duplicate and misordered YAML patterns in Ansible config (#30859)

Click to expand commit body
Release Notes:

- N/A

Vivien Maisonneuve created

afbf527 Remove Repology badge from README (#30857)

Click to expand commit body
This PR removes the Repology badge from the README.

At time of writing, the majority of the packages listed here are
woefully out of date:

<img width="299" alt="Screenshot 2025-05-17 at 8 44 16 AM"
src="https://github.com/user-attachments/assets/c45afba3-72ac-488d-a067-1fb0e237c7c0"
/>

This isn't a good look for someone coming to the Zed repository for the
first time.

I've added a link to the Repology list in the "Linux" section of the
docs for people who are interested in checking the packaging status in
various repos.

Release Notes:

- N/A

Marshall Bowers created

eb9ea20 Add missing "no" in .rules (#30748)

Click to expand commit body
I have no clue how much this does/does not impact model behavior - if
you don't think it matters, just close the PR

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Erik Funder Carstensen and Marshall Bowers created

3d2ab4e build: Remove -all_load linker argument on macOS (#30656)

Click to expand commit body
This fixes builds in nix development shell on macOS

Release Notes:

- N/A

Stanislav Alekseev created

ff0060a Remove unnecessary result in line shaping (#30721)

Click to expand commit body
Updates #29879

Release Notes:

- N/A

Conrad Irwin created

d791c6c vim: Add `g M` motion to go to the middle of a line (#30227)

Click to expand commit body
Adds the "g M" vim motion to go to the middle of the line.

---------

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

Alex Shen and Conrad Irwin created

c7725e3 terminal: Implement basic Japanese IME support on macOS (#29879)

Click to expand commit body
## Description

This PR implements basic support for Japanese Input Method Editors
(IMEs) in the Zed terminal on macOS, addressing issue #9900. Previously,
users had to switch input modes to confirm Japanese text, and pre-edit
(marked) text was not displayed.

With these changes:

- **Marked Text Display:** Pre-edit text (e.g., underlined characters
during Japanese composition) is now rendered directly in the terminal at
the cursor's current position.
- **Composition Confirmation:** Pressing Enter correctly finalizes the
IME composition, clears the marked text, and sends the confirmed string
to the underlying PTY process. This allows for a more natural input flow
similar to other macOS applications like iTerm2.
- **State Management:** IME state (marked text and its selected range
within the marked text) is now managed within the `TerminalView` struct.
- **Input Handling:** `TerminalInputHandler` has been updated to
correctly process IME callbacks (`replace_and_mark_text_in_range`,
`replace_text_in_range`, `unmark_text`, `marked_text_range`) by
interacting with `TerminalView`.
- **Painting Logic:** `TerminalElement::paint` now fetches the marked
text and its range from `TerminalView` and renders it with an underline.
The standard terminal cursor is hidden when marked text is present to
avoid visual clutter.
- **Candidate Window Positioning:**
`TerminalInputHandler::bounds_for_range` now attempts to provide more
accurate bounds for the IME candidate window by using the actual painted
bounds of the pre-edit text, falling back to a cursor-based
approximation if necessary.

This significantly improves the usability of the Zed terminal for users
who need to input Japanese characters, bringing the experience closer to
system-standard IME behavior.

## Movies


https://github.com/user-attachments/assets/be6c7597-7b65-49a6-b376-e1adff6da974

---

Closes #9900

Release Notes:

- **Terminal:** Implemented basic support for Japanese Input Method
Editors (IMEs) on macOS. Users can now see pre-edit (marked) text as
they type Japanese and confirm their input with the Enter key directly
in the terminal. This provides a more natural and efficient experience
for Japanese language input. (Fixes #9900)

---------

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

Gen Tamura and Conrad Irwin created

e26620d gpui: Add a standard text example (#30747)

Click to expand commit body
This is a dumb first pass at a standard text example. We'll use this to
start digging in to some text/scale rendering issues.

There will be a ton of follow-up features to this, but starting simple.

Release Notes:

- N/A

Nate Butler created

9dabf49 agent: Only focus on the context strip if it has items to display (#30379)

Ben Brandt created

f2dcc98 agent: Improve layout shift in the previous message editor (#30825)

Click to expand commit body
This PR also moves the context strip to be at the top, so it matches the
main message editor, making the arrow-up keyboard interaction to focus
on it to work the same way.

Release Notes:

- agent: Made the previous message editing UX more consistent with the
main message editor.

Danilo Leal created

23bbfc4 Run ignored test when running single test (#30830)

Click to expand commit body
Release Notes:

- languages: Run ignored test if user wants to run one specific test

Jakob Herpel created

98aefcc windows: Some refactor (#30826)

Click to expand commit body
Release Notes:

- N/A

张小白 created

9be1e9a debugger: Prevent pane context menu from showing on secondary mouse click in list entries (#30781)

Click to expand commit body
This PR prevents the debug panel pane context menu from showing when you
click your secondary mouse button in **stackframe**, **breakpoint** and
**module** list entries.

Release Notes:

- N/A

Remco Smits created

33b60bc debugger: Fix inline values panic when selecting stack frames (#30821)

Click to expand commit body
Release Notes:

- debugger beta: Fix panic that could occur when selecting a stack frame
- debugger beta: Fix inline values not showing in stack trace view

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Co-authored-by: Remco Smits <djsmits12@gmail.com>

Anthony Eid , Bennet Bo Fenner , and Remco Smits created

0355b9d editor: Fix line comments not extending when adding new line immediately after slash (#30824)

Click to expand commit body
This PR fixes a bug where comments don't extend when cursor is right
next to the second slash. We added `// ` as a prefix character to
correctly position the cursor after a new line, but this broke comment
validation by including that trailing space, which it shouldn't.

Now both line comments and block comments (already handled in JSDoc PR)
can extend right after the prefix without needing an additional space.

Before:


https://github.com/user-attachments/assets/ca4d4c1b-b9b9-4f1b-b47a-56ae35776f41

After:


https://github.com/user-attachments/assets/b3408e1e-3efe-4787-ba68-d33cd2ea8563

Release Notes:

- Fixed issue where comments weren't extending when adding new line
immediately after comment prefix (`//`).

Smit Barmase created

6bec76c agent: Allow dismissing previous message by clicking on the backdrop (#30822)

Click to expand commit body
Release Notes:

- agent: Improved UX for dismissing an edit to a previous message.

Danilo Leal created

d4f47aa client: Add support for HTTP/HTTPS proxy (#30812)

Click to expand commit body
Closes #30732

I tested it on my machine, and the HTTP proxy is working properly now.

Release Notes:

- N/A

张小白 created

5112fce evals: Make LLMs configurable in edit_agent evals (#30813)

Click to expand commit body
Release Notes:

- N/A

Oleksiy Syvokon created

dcf7f71 Revert "Revert "python: Enable subroot detection for pylsp and pyright (#27364)" (#29658)" (#30810)

Click to expand commit body
Revert "Revert "python: Enable subroot detection for pylsp and pyright
(#27364)" (#29658)"

This reverts commit 59708ef56c569737db3876e6073b9657c6d25c03.

Closes #29699

Release Notes:

- N/A

Ben Kunkle created

16f668b editor: Add astrick on new line in multiline comment for Go, Rust, C, and C++ (#30808)

Click to expand commit body
Add asterisk on new line in multiline comments for Go, Rust, C, and C++.
While `*` is entirely for style. There's no actual need for it. It can
be disabled from setting. More:
https://doc.rust-lang.org/rust-by-example/hello/comment.html

<img width="491" alt="image"
src="https://github.com/user-attachments/assets/385b1eb5-be81-446c-b7cf-34165d6b384a"
/>

Release Notes:

- Added automatic asterisk insertion for new lines in multiline comments
for Go, Rust, C, and C++. This can be disable by setting
`extend_comment_on_newline` to `false`.

Smit Barmase created

0f4e52b agent: Ensure background color is the same even while zoomed in (#30804)

Click to expand commit body
Release Notes:

- agent: Fixed the background color of the agent panel changing if you
zoomed it in.

Danilo Leal created

dfe37b0 agent: Make Markdown codeblocks expanded by default (#30806)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

2da3798 fix bedrock name in assistant settings schema (#30805)

Click to expand commit body
Closes #30778 

Release Notes:

- Fixed an issue with the assistant settings where `amazon-bedrock` was
incorrectly called `bedrock` in the settings schema

Ben Kunkle created

05955e4 keymap: Move 'project_panel::NewSearchInDirectory' to a dedicated bind (#29681)

Click to expand commit body
Previously cmd-shift-f / ctrl-shift-f had different behavior when
invoked from the project panel context than from an editor (for project
panel `include` field was populated from the currently select project
panel directory).

Change this so that it has it's own keybind of cmd-alt-shift-f /
ctrl-alt-shift-f so cmd-shift-f and ctrl-shift-f has consistent behavior
(`pane::DeploySearch`) everywhere.

Release Notes:

- Add dedicated keybind for "Find in Folder..." from the project panel
(cmd-alt-shift-f, ctrl-alt-shift-f).

Peter Tripp created

1d043b3 askpass: Workaround rust lang 69343 (#30774)

Click to expand commit body
Closes #ISSUE

Work around https://github.com/rust-lang/rust/issues/69343 in askpass

Release Notes:

- linux: Fixed an issue with askpass where the Zed binary path would be incorrect after an auto-update is installed
but not yet applied

Ben Kunkle created

18d39e3 editor: Improve JSDoc extend comment on newline to follow convention (#30800)

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

This PR makes JSDoc auto comment on new line lot better by:

- Inserting delimiters regardless of whether previous delimiters have
trailing spaces or not
- When on start tag, auto-indenting both prefix and end tag upon new
line

This makes it correct as per convention out of the box. No need to
manually adjust spaces on every new line.


https://github.com/user-attachments/assets/81b8e05a-fe8a-4459-9e90-c8a3d70a51a2

Release Notes:

- Improved JSDoc auto-commenting on newline which now correctly indents
as per convention.

Smit Barmase created

cc3a28a agent: Fix unnecessary "tool result too long" (#30798)

Click to expand commit body
Release Notes:

- N/A

Oleksiy Syvokon created

0f17e82 chore: Bump Rust to 1.87 (#30739)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created

a316428 docs: Update Claude 3.5 Sonnet context window (#30518)

Click to expand commit body
Release Notes:

- N/A

---------

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

morgankrey and Danilo Leal created

3552669 extension: Update wasi preview adapter (#30759)

Click to expand commit body
Replace dynamic downloading of WASI adapter with the provided crate.

More importantly, this makes sure we are using the same adapter version
as our version of wasmtime, which includes several fixes.

Arguably we could also at this point update to wasm32-wasip2 target and
remove this dependency as well if we want, but that might need further
testing.

Release Notes:

- N/A

Ben Brandt created

72007c9 docs: Polish AI content (#30770)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created