Commit log

9e903c9 Add path/status sorting toggle to git panel menu (#35704)

Click to expand commit body
Adds a new menu option to toggle between sorting git entries by path or
status, with settings integration

Release Notes:

- Git Panel: Added toggle to switch between sorting git panel entries by
path or by status (available in git panel ellipsis menu)

---------

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

nick-kilian and Conrad Irwin created

d81479e Allow user-defined worktree names in title bar and platform windows (#36713)

Click to expand commit body
Closes #36637 

Release Notes:
- Adds the ability to specify a human-readable project name for each
worktree.


https://github.com/user-attachments/assets/ce980fa6-65cf-46d7-9343-d08c800914fd

Warpten created

a2edd56 python: Add import paths to Pyright/BasedPyright completion items (#37865)

Click to expand commit body
Release Notes:

- python: Added package origin to completions from Pyright/BasedPyright

Piotr Osiewicz created

d7a9be0 acp: Ensure connection subprocess gets killed on drop (#37858)

Click to expand commit body
It appears that in macOS, the `AcpConnection._wait_task` doesn't always
get dropped when quitting the app. In these cases, the subprocess would
be kept alive because we move the `child` into it.

Instead, we will now explicitly kill it when `AcpConnection` is dropped.
It's ok to do this because when the connection is dropped, the thread is
also dropped, so there's no need to report the exit status to it.

Closes #37741

Release Notes:

- Claude Code: Fix subprocess leak on app quit

Agus Zubiaga created

cdbddc2 Allow unauthenticated commit models to show (#37857)

Click to expand commit body
Closes #37462
Closes #37814

Release Notes:

- Fixed a bug where the commit generation message would not always show

Conrad Irwin created

f397294 Fix git staging in a subfolder (#37860)

Click to expand commit body
Closes #37418 

Ideal fix for this would be #37855 but that is a large refactor so
implementing this as a workaround.

Release Notes:

- N/A

localcc created

8527dcf git_ui: Better handle commit message amend (#35268)

Click to expand commit body
Follow up to this: #35114

* Previously we were still showing the commit message even after
cancelling amend which was the old commit message.
* This PR fixes that by restoring the commit message to the old state
before the amend begin so that in case user typed a commit message it's
shown if not then it's not.

Before:


https://github.com/user-attachments/assets/e0edcfff-863d-4367-a7c4-8a2998e702ca

After:



https://github.com/user-attachments/assets/9daf9be0-8a3d-4914-91a4-567693711b6b




Release Notes:

- Resolved an issue where cancelling an amend commit would incorrectly
leave the old commit message in the input field. The commit message box
now properly reverts to its pre-amend state.

Umesh Yadav created

7f607a9 git_ui: Show current branch first in branch picker (#35138)

Click to expand commit body
Closes #ISSUE

Release Notes:

- Put current branch first in branch picker

Guillaume Launay created

5e397e8 acp: Support session modes (e.g. CC plan mode) (#37632)

Click to expand commit body
Adds support for [ACP session
modes](https://github.com/zed-industries/agent-client-protocol/pull/67)
enabling plan and other permission modes in CC:


https://github.com/user-attachments/assets/dea18d82-4da6-465e-983b-02b77c6dcf15


Release Notes:

- Claude Code: Add support for plan mode, and all other permission modes

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Co-authored-by: Richard Feldman <oss@rtfeldman.com>
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>

Agus Zubiaga , Bennet Bo Fenner , Richard Feldman , and Danilo Leal created

ad02f6b cloud_llm_client: Add another `Plan` variant (#37852)

Click to expand commit body
This PR adds a corresponding `FreeV2` variant to the `Plan`.

Release Notes:

- N/A

Marshall Bowers created

2e7607c python: Fix instability of Pyright/BasedPyright code completions (#37850)

Click to expand commit body
Pyright sets different `sortText` based on whether a given completion
item was recently resolved. This probably lines up with VSCode's way of
resolving items, but it's a no-no for us, as it makes completions
unstable.

Closes #9983

Release Notes:

- python: Fixed code completions having arbitrary order when using
Pyright/basedpyright

Piotr Osiewicz created

0ac1752 terminal: Sanitize trailing periods in URL detection (#37684)

Click to expand commit body
Fixes #12338, related to #37616

This change improves URL detection in the terminal by removing trailing
periods that appear to be sentence punctuation rather than part of the
URL structure. It builds upon the parentheses sanitization work from
#37076 by consolidating both approaches into a unified
`sanitize_url_punctuation` function.

## Changes
- Combines parentheses and period sanitization into a single
`sanitize_url_punctuation` function
- Uses optimized single traversal with `fold()` for parentheses counting
(addressing code review feedback)
- Removes trailing periods using heuristics to distinguish sentence
punctuation from legitimate URL components
- Removes multiple trailing periods (always considered punctuation)
- Removes single trailing periods when they appear after alphanumeric
characters or slashes
- Preserves periods that are part of legitimate URL structure (e.g.,
version numbers, IP addresses, subdomains)
- Maintains existing parentheses balancing logic from #37076

## Implementation Details
- **Parentheses handling**: Counts opening and closing parentheses,
removes trailing `)` when unbalanced
- **Period handling**: Uses `take_while()` iterator for efficient period
counting
- **Performance**: Single pass counting with optimized loop to avoid
redundant work
- **Code clarity**: Uses let-else pattern for readable conditional logic

## Testing
- Added comprehensive test coverage for both parentheses and period
sanitization
- Tests cover balanced vs unbalanced parentheses cases  
- Tests cover various period scenarios including legitimate URL periods
vs sentence punctuation
- All existing tests continue to pass

## Release Notes

- Improved terminal URL detection by further trimming trailing
punctuation. URLs ending with periods (like
`https://example.com.`) and unbalanced parentheses (like
`https://example.com/path)`) are now properly detected without including
the trailing punctuation.

Joseph Mearman created

af1875f terminal_view: Improve path hyperlink navigation by considering the terminal working directory (#36962)

Click to expand commit body
Closes #34027

Release Notes:

- Improved terminal path hyperlink navigation by considering the
terminal working directory

Dave Waggoner created

734f94b agent_ui: Fix crash when typing multibyte character after mention (#37847)

Click to expand commit body
Closes #36333

Release Notes:

- Fixed a crash that occurred when typing an IME character right after a
mention in the Agent Panel.

Smit Barmase created

136468a keymap editor: Add some adjustments to the UI (#37819)

Click to expand commit body
- Makes the keymap editor search container more consistent with the
project & file search corresponding elements
- Changes the keymap editor menu item in the user menu be called "Keymap
Editor", as opposed to "Key Binding", to match with the tab and action
name

Design note: Still a bit unsure about the extra space on the right for
the keymap editor. This makes it way more consistent with the other
search views, but it also just feels like space that could be used. On
the other hand, though, it's very unlikely anyone will ever use more
than 30% of the search bar width as search queries here are likely
pretty short; definitely much shorter than project search queries.

<img width="600" height="552" alt="Screenshot 2025-09-09 at 1β€― 02@2x"
src="https://github.com/user-attachments/assets/9825a129-2c5a-4852-9837-c586b88e9332"
/>


Release Notes:

- N/A

Danilo Leal created

adf43d6 project: Remove non searchable buffer entries on buffer close (#37841)

Click to expand commit body
Release Notes:

- N/A

Lukas Wirth created

466a2e2 Improve font rendering on macOS (#37622)

Click to expand commit body
Part of https://github.com/zed-industries/zed/issues/7992

Release Notes:

- N/A

localcc created

365c5ab editor: Remove unnecessary clone (#37833)

Click to expand commit body
The style is taken by reference everywhere, so no need to clone it at
the start of every `prepaint`.

Release Notes:

- N/A

Finn Evers created

11d81b9 Revert "git: Use self.git_binary_path instead raw git string" (#37828)

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

Jakub Konka created

4b3b2ac Fix hot reload of builtin TreeSitter queries on Linux (#37825)

Click to expand commit body
`fs.watch` is recursive on mac and non-recursive on Linux.

Release Notes:

- N/A

Michael Sloan created

8494247 Fix code action menu items font size in toolbar (#37824)

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

Release Notes:

- N/A

Danilo Leal created

3e605c2 docs: Fix casing on mentions to some brand names (#37822)

Click to expand commit body
- MacOS β†’ macOS
- VSCode β†’ VS Code
- SublimeText β†’ Sublime Text
- Javascript/Typescript β†’ JavaScript/TypeScript

Release Notes:

- N/A

Danilo Leal created

82b11bf docs: Include Cursor in the list of supported base keymaps (#37821)

Click to expand commit body
We were missing that in the /key-bindings page. Also took advantage of
the opportunity to add a bunch of small writing tweaks.

Release Notes:

- N/A

Danilo Leal created

3a437fd Remove Chat (#37789)

Click to expand commit body
At RustConf we were demo'ing zed, and it continually popped open the
chat panel.

We're usually inured to this because the Chat panel doesn't open unless
a Guest
is in the channel, but it made me sad that we were showing a long stream
of
vacuous comments and unresponded to questions on every demo screen.

We may bring chat back in the future, but we need more thought on the
UX, and
we need to rebuild the backend to not use the existing collab server
that we're
trying to move off of.

Release Notes:

- Removed the chat feature from Zed (Sorry to the 5 of you who use this
on the regular!)

Conrad Irwin created

96c429d Only reject agent actions, don't restore checkpoint on revert (#37801)

Click to expand commit body
Updates #37623

Release Notes:

- Changed the behaviour when editing an old message in a native agent
thread.
Prior to this, it would automatically restore the checkpoint (which
could
lead to a surprising amount of work being discarded). Now it will just
reject
any unaccepted agent edits, and you can use the "restore checkpoint"
button
  for the original behavior.

Conrad Irwin created

ea4073e cloud_llm_client: Add new `Plan` variants (#37810)

Click to expand commit body
This PR adds new variants to the `Plan` enum.

Release Notes:

- N/A

Marshall Bowers created

8c93112 settings_ui: Add Basic Implementation of Language Settings (#37803)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

---------

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

Ben Kunkle and Anthony created

1feffad Remove `zed-pro` feature flag (#37807)

Click to expand commit body
This PR removes the `zed-pro` feature flag, as it was not being used.

Release Notes:

- N/A

Marshall Bowers created

ae54a4e Add commands to select next/previous siblings in the syntax tree (#35053)

Click to expand commit body
Closes #5133 and discussion
https://github.com/zed-industries/zed/discussions/33493

This PR adds two new commands to select next/previous siblings in the
syntax tree. These commands were modelled after the existing ones about
expand/shrink selection. With this PR I've added new key bindings
inspired by `helix` for previous / next / expand / shrink selections.



https://github.com/user-attachments/assets/4ef7fadb-0b82-4897-95c7-1737827bf4ac


Release Notes:

- Add commands to select next/previous siblings in the syntax tree

---------

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

Ivan Danov and Joseph T. Lyons created

4a0a7d1 Add item for the debugger panel in the app view menu (#37805)

Click to expand commit body
Release Notes:

- Enabled the debugger panel to be opened via the app's "View" menu
option

Danilo Leal created

5934d37 python: Improve Basedpyright banner styles (#37802)

Click to expand commit body
Just tidying this up a bit.

Release Notes:

- N/A

Danilo Leal created

acde79d agent: Improve popover trigger styles (#37800)

Click to expand commit body
This PR mostly adds some style treatment to popover button triggers in
the agent panel, either making them better aligned with their trigger or
adjusting the color to better clarify which button is triggering the
currently opened menu.

Moving forward, I think the selected styles at least should probably be
tackled at the component level, whether that's a context menu or a
popover, so we don't have to ever do this manually (and running the risk
of forgetting to do it).

Release Notes:

- N/A

Danilo Leal created

246c644 agent_servers: Fix proxy configuration for Gemini (#37790)

Click to expand commit body
Closes #37487 

Proxy settings are now taken from the Zed configuration and passed to
Gemini via the "--proxy" flag.

Release Notes:

- acp: Gemini ACP server now uses proxy settings from Zed configuration.

Patsakula Nikita created

e4de26e cloud_llm_client: Remove unused code (#37799)

Click to expand commit body
This PR removes some unused code from the `cloud_llm_client`.

This was only used on the server, so we can move it there.

Release Notes:

- N/A

Marshall Bowers created

7091c70 open_ai: Trim newline before "data:" prefix and account for the possibility of no space after ":" (#37644)

Click to expand commit body
I'am using an openai compatible model, but got nothing in agent thread
panel, and Zed log has "Model generated an empty summary" line.

I add one log to open_ai.rs:
<img width="2454" height="626" alt="图片"
src="https://github.com/user-attachments/assets/85354c7d-a0cc-4bba-86fd-2a640038a13e"
/>

and got:

<img width="3456" height="278" alt="图片"
src="https://github.com/user-attachments/assets/7746aedd-5d76-44b5-90f2-e129a1507178"
/>

It appear that `let line = line.strip_prefix("data: ")?;` can not handle
correctly.

Release Notes:

- N/A

---------

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>

ZhangJun and Ben Brandt created

fa0df6d python: Replace pyright with basedpyright (#35362)

Click to expand commit body
Follow-up to #35250. Let's experiment with having this by default on
nightly.

Release Notes:

- Added built-in support for the basedpyright language server for Python
code. basedpyright is now enabled by default, and pyright (previously
the primary Python language server) remains available but is disabled by
default. This supersedes the basedpyright extension, which can be
uninstalled. Advantages of basedpyright over pyright include support for
inlay hints, semantic highlighting, auto-import code actions, and
stricter type checking. To switch back to pyright, add the following
configuration to settings.json:

```json
{
  "languages": {
    "Python": {
      "language_servers": ["pyright", "pylsp", "!basedpyright"]
    }
  }
}
```

---------

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Co-authored-by: Lukas Wirth <lukas@zed.dev>

Cole Miller , Piotr Osiewicz , and Lukas Wirth created

99102a8 ACP over SSH (#37725)

Click to expand commit body
This PR adds support for using external agents in SSH projects via ACP,
including automatic installation of Gemini CLI and Claude Code,
authentication with API keys (for Gemini) and CLI login, and custom
agents from user configuration.

Co-authored-by: maan2003 <manmeetmann2003@gmail.com>

Release Notes:

- agent: Gemini CLI, Claude Code, and custom external agents can now be
used in SSH projects.

---------

Co-authored-by: maan2003 <manmeetmann2003@gmail.com>

Cole Miller and maan2003 created

5f01f6d agent: Make read_file and edit_file tool call titles more specific (#37639)

Click to expand commit body
For read_file and edit_file, show the worktree-relative path if there's
only one visible worktree, and the "full path" otherwise. Also restores
the display of line numbers for read_file calls.

Release Notes:

- N/A

Cole Miller created

a66cd82 Fix line endings in `terminal_hyperlinks.rs` (#37654)

Click to expand commit body
Fixes Windows line endings in `terminal_hyperlinks.rs`, which was
accidentally originally added with them.

Release Notes:

- N/A

Dave Waggoner created

f07da9d Correctly parse backslash character on replacement (#37014)

Click to expand commit body
When a keybind contains a backslash character (\\), it is parsed
incorrectly, which results in an invalid keybind configuration.


This patch fixes the issue by ensuring that backslashes are properly
escaped during the parsing process. This allows them to be used as
intended in keybind definitions.

Release Notes:

- Fixed an issue where keybinds containing a backslash character (\\)
failed to be replaced correctly


## Screenshots
<img width="912" height="530" alt="SCR-20250828-borp"
src="https://github.com/user-attachments/assets/561a040f-575b-4222-ac75-17ab4fa71d07"
/>
<img width="912" height="530" alt="SCR-20250828-bosx"
src="https://github.com/user-attachments/assets/b8e0fb99-549e-4fc9-8609-9b9aa2004656"
/>

hong jihwan created

8d05bb0 Add injections for Isograph function calls in JavaScript and TypeScript (#36320)

Click to expand commit body
Required for https://github.com/isographlabs/isograph/pull/568 to work
properly. Tested with a local build and made sure everything's working
great!

Release Notes:

- JavaScript/TypeScript/JSX: Added support for injecting Isograph language support into `iso`
function calls

Iha Shin (μ‹ μ˜ν•˜) created

2325f14 diagnostics: Current file diagnostics view (#34430)

Click to expand commit body
These changes introduce a new command to the Diagnostics panel,
`diagnostics: deploy current file`, which allows the user to view the
diagnostics only for the currently opened file.

Here's a screen recording showing these changes in action πŸ”½ 

[diagnostics: deploy current
file](https://github.com/user-attachments/assets/b0e87eea-3b3a-4888-95f8-9e21aff8ea97)

Closes #4739 

Release Notes:

- Added new `diagnostics: deploy current file` command to view
diagnostics for the currently open file

---------

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

Dino and Conrad Irwin created

fe2aa3f onboarding: Fix font loading frame delay (#37668)

Click to expand commit body
Closes #ISSUE

Fixed an issue where the first frame of the `Editing` page in onboarding
would have a slight delay before rendering the first time it was
navigated to. This was caused by listing the OS fonts on the main
thread, blocking rendering. This PR fixes the issue by adding a new
method to the font family cache to prefill the cache on a background
thread.

Release Notes:

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

---------

Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Anthony <anthony@zed.dev>

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

10989c7 helix: Add match operator (#34060)

Click to expand commit body
This is an implementation of matching like "m i (", as well as "] (" and
"[ (" in `helix_mode` with a few supported objects and a basis for more.

Release Notes:

- Added helix operators for selecting text objects

---------

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

fantacell and Conrad Irwin created

3f80ac0 macos: Fix menu bar flickering (#37707)

Click to expand commit body
Closes #37526

Release Notes:

- Fixed menu bar flickering when using some IMEs on macOS.

张小白 created

4f1634f Remove unused `semantic_index` crate (#37780)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

40eec32 markdown_preview: Fix trimming of leading whitespace in Markdown lists (#35750)

Click to expand commit body
Closes #35712

Release Notes:

- Fixed white-space trimming leading to disconnect between list items
and content in markdown previews.

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>

Eduardo Alba and Bennet Bo Fenner created

1749945 windows: Check required GPU/driver feature `StructuredBuffer` (#37776)

Click to expand commit body
Check whether the GPU/driver supports the StructuredBuffer feature
required by our shaders. If it doesn’t, log an error and skip that
GPU/driver, so Windows can fall back to the software renderer.

Release Notes:

- N/A

张小白 created

80a4746 project: Be explicit about project-searchability for buffers (#37773)

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

Release Notes:

- Fixed builtin buffers and log views showing up in project search

Lukas Wirth created

01f5b73 cargo: Remove unused -fuse-ld=lld flag from Win config (#37769)

Click to expand commit body
It is unused and generates a warning

```
 LINK : warning LNK4044: unrecognized option '/fuse-ld=lld'; ignored
```

If in the future we want to give `lld-link.exe` a try, we can set

```toml
linker = "lld-link.exe"
```

instead. At the time of writing, my tests have shown that there is no
real difference between `lld-link` and `link` in terms of linking speed.

Release Notes:

- N/A

Jakub Konka created