Commit log

94aa643 docs: Update agent tools page (#42271)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

28a8515 shell_env: Wrap error context in format! where missing (#42267)

Click to expand commit body
Release Notes:

- N/A

Jakub Konka created

a2c2c61 Add helix keymap to delete without yanking (#41988)

Click to expand commit body
Added previously missing keymap for helix deleting without yank. Action
"editor::Delete" is mapped to "Ald-d" as in
https://docs.helix-editor.com/master/keymap.html#changes

Release Notes:

- N/A

boris.zalman created

77667f4 Remove Markdown CodeBlock metadata and Custom rendering (#42211)

Click to expand commit body
Follow up #40736

Clean up `CodeBlockRenderer::Custom` related rendering per the previous
PR
[comment](https://github.com/zed-industries/zed/pull/40736#issuecomment-3503074893).
Additional note here:
1. The `Custom` variant in the enum `CodeBlockRenderer` will become not
useful since cleaning all code related to the custom rendering logic.
2. Need to further review the usage of code block `metadata` field in
`MarkdownTag::CodeBlock` enum.

I would like to have the team further review my note above so that we
can make sure it will be safe to clean it up and will not affect any
potential future features will be built on top of it. Thank you!

Release Notes:

- N/A

Xipeng Jin created

b01a6fb Fix missing highlight for macro_invocation bang (#41572)

Click to expand commit body
(Not sure if this was left out on purpose, but this makes things feel a
bit more consistent since [VS Code parses bang mark as part of the macro
name](https://github.com/microsoft/vscode/blob/main/extensions/rust/syntaxes/rust.tmLanguage.json#L889-L905))


Release Notes:
- Added the missing highlight for the bang mark in macro invocations.


| **Before** | **After** |
| :---: | :---: |
| <img width="684" height="222" alt="before"
src="https://github.com/user-attachments/assets/ae71eda3-76b5-4547-b2df-4e437a07abf5"
/> | <img width="646" height="236" alt="fixed"
src="https://github.com/user-attachments/assets/500deda5-d6d8-439c-8824-65c2fb0a5daa"
/> |

Hyeondong Lee created

44d91c1 docs: Explain what scrollbar marks represent (#42130)

Click to expand commit body
## Summary

Adds explanations for what each type of scrollbar indicator visually
represents in the editor.

## Description

This PR addresses the issue where users didn't understand what the
colored marks on the scrollbar mean. The existing documentation
explained how to toggle each type of mark on/off, but didn't explain
what they actually represent.

This adds a brief, clear explanation after each scrollbar indicator
setting describing what that indicator shows (e.g., "Git diff indicators
appear as colored marks showing lines that have been added, modified, or
deleted compared to the git HEAD").

## Fixes

Closes #31794

## Test Plan

- Documentation follows the existing style and format of
`docs/src/configuring-zed.md`
- Each explanation is concise and immediately follows the setting
description
- Language is clear and user-friendly

Release Notes:

- N/A

Roland Rodriguez created

d187cbb Add comment injection support to remaining languages (#41710)

Click to expand commit body
Release Notes:

- Added support for comment language injections for remaining built-in
languages and multi-line support for Rust

Donnie Adams created

c241ead zeta2: Targeted retrieval search (#42240)

Click to expand commit body
Since we removed the filtering step during context gathering, we want
the model to perform more targeted searches. This PR tweaks search tool
schema allowing the model to search within syntax nodes such as `impl`
blocks or methods.

This is what the query schema looks like now:

```rust
/// Search for relevant code by path, syntax hierarchy, and content.
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
pub struct SearchToolQuery {
    /// 1. A glob pattern to match file paths in the codebase to search in.
    pub glob: String,
    /// 2. Regular expressions to match syntax nodes **by their first line** and hierarchy.
    ///
    /// Subsequent regexes match nodes within the full content of the nodes matched by the previous regexes.
    ///
    /// Example: Searching for a `User` class
    ///     ["class\s+User"]
    ///
    /// Example: Searching for a `get_full_name` method under a `User` class
    ///     ["class\s+User", "def\sget_full_name"]
    ///
    /// Skip this field to match on content alone.
    #[schemars(length(max = 3))]
    #[serde(default)]
    pub syntax_node: Vec<String>,
    /// 3. An optional regular expression to match the final content that should appear in the results.
    ///
    /// - Content will be matched within all lines of the matched syntax nodes.
    /// - If syntax node regexes are provided, this field can be skipped to include as much of the node itself as possible.
    /// - If no syntax node regexes are provided, the content will be matched within the entire file.
    pub content: Option<String>,
}
```

We'll need to keep refining this, but the core implementation is ready.

Release Notes:

- N/A

---------

Co-authored-by: Ben <ben@zed.dev>
Co-authored-by: Max <max@zed.dev>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>

Agus Zubiaga , Ben , Max , and Max Brunsfeld created

96445b9 Keep old bracket highlights for the same version

Kirill Bulatov created

3e91467 Simplify

Kirill Bulatov created

d304cb9 Merge remote-tracking branch 'origin/main' into kb/rainbow-brackets

Kirill Bulatov created

4fbccce Track already queried chunks in the editor

Kirill Bulatov created

5f82264 Automate settings registration (#42238)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Nia <nia@zed.dev>

Mikayla Maki and Nia created

309947a editor: Allow clicking on excerpts with alt key to open file path (#42235)

Click to expand commit body
#42021 Made clicking on an excerpt title toggle it. This PR brings back
the old behavior if a user is pressing the Alt key when clicking on an
excerpt title.

Release Notes:

- N/A

---------

Co-authored-by: Remco Smits <djsmits12@gmail.com>

Anthony Eid and Remco Smits created

0881e54 terminal: Spawn terminal process on main thread on unix (#42234)

Click to expand commit body
Otherwise the terminal will not process the signals correctly 

Release Notes:

- Fixed ctrl+c and friends not working in the terminal on macOS and
linux

Lukas Wirth created

4511d11 bundle: Skip sentry upload for local install on macOS (#42231)

Click to expand commit body
This is a follow up to #41482. When running `script/bundle-mac`, it will
upload debug symbols to Sentry if you have a `$SENTRY_AUTH_TOKEN` set. I
happen to have one set, so this script was trying to generate and upload
those. Whoops! This change skips the upload entirely if you're running a
local install.

Release Notes:

- N/A

claytonrcarter created

19d2fdb Refresh releases page post deploy (#42218)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

20953ec Make nightly bucket objects public (#42229)

Click to expand commit body
Makes it easier to port updates to cloudflare

Closes #ISSUE

Release Notes:

- N/A

Conrad Irwin created

7475bda debugger: Truncate scope names to avoid text overlapping in variable list (#42230)

Click to expand commit body
Closes #41969

This was caused because scope names weren't being truncated unlike the
other type of variable list entries.

Release Notes:

- debugger: Fix bug where minimizing the width of the variable list
would cause scope names to overlap

Co-authored-by: Remco Smits <djsmits12@gmail.com>

Anthony Eid and Remco Smits created

8e4c807 Fix duplicated 'the' typo (#42225)

Click to expand commit body
Just found this while reading the docs.

Release Notes:

- N/A

Dima created

a66dac7 Fix crash during drag-and-drop on Windows (#42227)

Click to expand commit body
The HGLOBAL is itself the HDROP. Do not dereference it.

Release Notes:

- windows: Fixed crashes during drag-and-drop operations

John Tur created

8a903f9 2025 11 07 update privacy docs (#42226)

Click to expand commit body
Docs update

Release Notes:

- N/A

morgankrey created

9f9575d Silence rust-analyzer startup errors (#42222)

Click to expand commit body
When rust-analyzer is still loading the cargo project it tends to error
out on most lsp requests with `content modified`. This pollutes our
logs.

Release Notes:

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

Lukas Wirth created

00898d4 docs: Add docs on extension capabilities (#42223)

Click to expand commit body
This PR adds some initial docs on extension capabilities.

Release Notes:

- N/A

Marshall Bowers created

bcc3307 Add optional Zed log field to all bug report templates (#42221)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

8ba33ad gpui: Do not unwrap in `window_procedure` (#42216)

Click to expand commit body
Technically these should not be possible to hit, but sentry says
otherwise. Turning these into errors should give us more information
than the abort due to unwinding across ffi boundaries.

Fixes ZED-321

Release Notes:

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

Lukas Wirth created

1e63448 docs: Update extension features language (#42215)

Click to expand commit body
This PR updates the language around what features extensions can
provide.

Release Notes:

- N/A

Marshall Bowers created

93f9cff Remove invalid assertion in editor (#42210)

Click to expand commit body
Release Notes:

- N/A

Jakub Konka created

6cafe4a gpui: Do not panic when unable to find the selected fonts (#42212)

Click to expand commit body
Fixes ZED-329

Release Notes:

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

Lukas Wirth created

585c440 util: Support shell env fetching for git bash (#42208)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

083bd14 util: Fall back to `cmd` if we can't find powershell on the system (#42204)

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

Release Notes:

- Fixed trying to use powershell for commands when its not installed on
the system

Lukas Wirth created

9591790 markdown: Add support for `HTML` styling attributes (#42143)

Click to expand commit body
Second take on https://github.com/zed-industries/zed/pull/37765.

This PR adds support for styling elements (**b**, **strong**, **em**,
**i**, **ins**, **del**), but also allow you to show the styling text
inline with the current text.
This is done by appending all the up-following text into one text chunk
and merge the highlights from both of them into the already existing
chunk. If there does not exist a text chunk, we will create one and the
next iteration we will use that one to store all the information on.

**Before**
<img width="483" height="692" alt="Screenshot 2025-11-06 at 22 08 09"
src="https://github.com/user-attachments/assets/6158fd3b-066c-4abe-9f8e-bcafae85392e"
/>

**After**
<img width="868" height="300" alt="Screenshot 2025-11-06 at 22 08 21"
src="https://github.com/user-attachments/assets/4d5a7a33-d31c-4514-91c8-2b2a2ff43e0e"
/>

**Code example**
```html
<p>some text <b>bold text</b></p>
<p>some text <strong>strong text</strong></p>
<p>some text <i>italic text</i></p>
<p>some text <em>emphasized text</em></p>
<p>some text <del>delete text</del></p>
<p>some text <ins>insert text</ins></p>

<p>Some text <strong>strong text</strong> more text <b>bold text</b> more text <i>italic text</i> more text <em>emphasized text</em> more text <del>deleted text</del> more text <ins>inserted text</ins></p>

<p><a href="https://example.com">Link Text</a></p>

<p style="text-decoration: underline;">text styled from style attribute</p>
```

cc @bennetbo 

**TODO**
- [x] add tests for styling nested text that should result in one merge

Release Notes:

- Markdown Preview: Added support for `HTML` styling elements

---------

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

Remco Smits and Bennet Bo Fenner created

74bf1a1 recent_projects: Do not try to watch `/etc/ssh/ssh_config` on windows (#42200)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

0a2d4b4 Hold the brackets lock less

Kirill Bulatov created

e72c3bf agent_ui: Remove `message_editor` module (#42195)

Click to expand commit body
Artefact from agent1 removal

Release Notes:

- N/A

Bennet Bo Fenner created

6677e2f Simplify

Kirill Bulatov created

54ccd81 Properly invalidate the brackets

Kirill Bulatov created

160bf91 language_models: Filter out whitespace-only text content parts for OpenAI and OpenAI compatible providers (#40316)

Click to expand commit body
Closes #40097

When multiple files are added sequentially to the agent panel, the
request JSON incorrectly includes "text" elements containing only
spaces. These empty elements cause the Zhipu AI API to return a "text
cannot be empty" error.
The fix filters out any "text" elements that are empty or contain only
whitespaces.

UI state when the error occurs:
<img width="300" alt="Image"
src="https://github.com/user-attachments/assets/c55e5272-3f03-42c0-b412-fa24be2b0043"
/>

Request JSON (causing the error):
```
{
  "model": "glm-4.6",
  "messages": [
    {
      "role": "system",
      "content": "<<CUT>>"
    },
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "[@1.txt](zed:///agent/file?path=C%3A%5CTemp%5CTest%5C1.txt)"
        },
        { "type": "text", "text": " " },
        {
          "type": "text",
          "text": "[@2.txt](zed:///agent/file?path=C%3A%5CTemp%5CTest%5C2.txt)"
        },
        { "type": "text", "text": " describe" },
```

Release Notes:

- Fixed an issue when an OpenAI request contained whitespace-only text content

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

Maokaman1 and Bennet Bo Fenner created

82a7915 Add a bit more clarity into the docs

Kirill Bulatov created

aff4c25 markdown: Restore horizontal scrollbars for codeblocks (#40736)

Click to expand commit body
### Summary

Restore the agent pane’s code-block horizontal scrollbar for easier
scrolling without trackpad and preserve individual scroll state across
multiple code blocks.

### Motivation

Addresses https://github.com/zed-industries/zed/issues/34224, where
agent responses with wide code snippets couldn’t be scrolled
horizontally in the panel. Previously there is no visual effect for
scrollbar to let the user move the code snippet and it was not obviously
to use trackpad or hold down `shift` while scrolling. This PR will
ensure the user being able to only use their mouse to drag the
horizontal scrollbar to show the complete line when the code overflow
the width of code block.

### Changes

- Support auto-hide horizontal scrollbar for rendering code block in
agent panel by adding scrollbar support in markdown.rs
- Add `code_block_scroll_handles` cache in
_crates/markdown/src/markdown.rs_ to give each code block a persistent
`ScrollHandle`.
- Wrap rendered code blocks with custom horizontal scrollbars that match
the vertical scrollbar styling and track hover visibility.
- Retain or clear scroll handles based on whether horizontal overflow is
enabled, preventing leaks when the markdown re-renders.

### How to Test

1. Open the agent panel, request code generation, and ensure wide
snippets show a horizontal scrollbar on hover.
3. Scroll horizontally, navigate away (e.g., change tabs or trigger a
re-render), and confirm the scroll position sticks when returning.
5. Toggle horizontal overflow styling off/on (if applicable) and verify
scrollbars appear or disappear appropriately.

### Screenshots / Demos (if UI change)


https://github.com/user-attachments/assets/e23f94d9-8fe3-42f5-8f77-81b1005a14c8

### Notes for Reviewers

- This is my first time contribution for `zed`, sorry for any code
patten inconsistency. So please let me know if you have any comments and
suggestions to make the code pattern consistent and easy to maintain.
- For now, the horizontal scrollbar is not configurable from the setting
and the style is fixed with the same design as the vertical one. I am
happy to readjust this setting to fit the needs.
- Please let me know if you think any behaviors or designs need to be
changed for the scrollbar.
- All changes live inside _crates/markdown/src/markdown.rs_; no API
surface changes.

Closes #34224 

### Release Notes:

- AI: Show horizontal scroll-bars in wide markdown elements

Xipeng Jin created

ae02d06 One less todo!

Kirill Bulatov created

4adc91e Simplify

Kirill Bulatov created

146e754 URL-encode the image paths in Markdown so that images with filenames (#41788)

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

Release Notes:

- markdown preview: Fixed an issue where path urls would not be parsed
correctly when containing URL-encoded characters

<img width="1680" height="1126"
alt="569415cb-b3e8-4ad6-b31c-a1898ec32085"
src="https://github.com/user-attachments/assets/7de8a892-ff01-4e00-a28c-1c5e9206ce3a"
/>

aohanhongzhi created

278fe91 Skip buffer registration if lsp data should be ignored (#42190)

Click to expand commit body
Release Notes:

- N/A

Kirill Bulatov created

39fb89e workspace: Do not panic when the database is corruped (#42186)

Click to expand commit body
Fixes ZED-1NK

Release Notes:

- Fixed zed not starting when the database cannot be loaded

Lukas Wirth created

9d52b6c terminal: Allow configuring conda manager (#40577)

Click to expand commit body
Closes #40576
This PR makes Conda activation configurable and transparent by adding a
`terminal.detect_venv.on.conda_manager` setting (`"auto" | "conda" |
"mamba" | "micromamba"`, default `"auto"`), updating Python environment
activation to honor this preference (or the detected manager executable)
and fall back to `conda` when necessary.

The preference is passed via `ZED_CONDA_MANAGER` from the terminal
settings, and the activation command is built accordingly (with proper
quoting for paths). Changes span
`zed/crates/terminal/src/terminal_settings.rs` (new `CondaManager` and
setting), `zed/crates/project/src/terminals.rs` (inject env var),
`zed/crates/languages/src/python.rs` (activation logic), and
`zed/assets/settings/default.json` (document the setting). Default
behavior remains unchanged for most users while enabling explicit
selection of `mamba` or `micromamba`.

Release Notes:
- Added: terminal.detect_venv.on.conda_manager setting to choose the
Conda manager (auto, conda, mamba, micromamba). Default: auto.
- Changed: Python Conda environment activation now respects the
configured manager, otherwise uses the detected environment manager
executable, and falls back to conda.
- Reliability: Activation commands quote manager paths to handle spaces
across platforms.
- Compatibility: No breaking changes; non-Conda environments are
unaffected; remote terminals are supported.

---------

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

Casper van Elteren , Lukas Wirth , and Lukas Wirth created

082b80e gpui: Unify the index_for_x methods (#42162)

Click to expand commit body
Supersedes https://github.com/zed-industries/zed/pull/39910

At some point, these two (`index_for_x` and `closest_index_for_x`)
methods where separated out and some code paths used one, while other
code paths took the other. That said, their behavior is almost
identical:

- `index_for_x` computes the index behind the pixel offset, and returns
`None` if there's an overshoot
- `closest_index_for_x` computes the nearest index to the pixel offset,
taking into account whether the offset is over halfway through or not.
If there's an overshoot, it returns the length of the line.

Given these two behaviors, `closest_index_for_x` seems to be a more
useful API than `index_for_x`, and indeed the display map and other core
editor features use it extensively. So this PR is an experiment in
simply replacing one behavior with the other.

Release Notes:

- Improved the accuracy of mouse selections in Markdown

Mikayla Maki created

483e31e Fix telemetry (#42184)

Click to expand commit body
Follow up to #41991 🤦🏻 

Release Notes:

- N/A

Bennet Bo Fenner created

61c263f agent_ui: Allow opening thread as markdown in remote projects (#42182)

Click to expand commit body
Release Notes:

- Added support for opening thread as markdown in remote projects

Bennet Bo Fenner created

3c19174 diagnostics: Fix diagnostics view no clearing blocks correctly (#42179)

Click to expand commit body
Release Notes:

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

Lukas Wirth created