Commit log

01488c4 Fix project search focus not toggling between query and results on ESC (#30613)

Click to expand commit body
Before:


https://github.com/user-attachments/assets/dc5b7ab3-b9bc-4aa3-9f0c-1694c41ec7e7

After:


https://github.com/user-attachments/assets/8087004e-c1fd-4390-9f79-b667e8ba874b


Release Notes:

- Fixed project search focus not toggling between query and results on
ESC

Kirill Bulatov created

18e9110 zed_extension_api: Fork new version of extension API (#30611)

Click to expand commit body
This PR forks a new version of the `zed_extension_api` in preparation
for new changes.

Release Notes:

- N/A

Marshall Bowers created

54c6d48 Remove the minimap from the debugger console (#30610)

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

Release Notes:

- N/A

Kirill Bulatov created

32c7fcd Fix panic double clicking on debugger resize handle (#30569)

Click to expand commit body
Closes #ISSUE

Co-Authored-By: Cole <cole@zed.dev>

Release Notes:

- N/A

Conrad Irwin created

fff349a debugger: Update new session modal custom view (#30587)

Click to expand commit body
Paths now assume that you're in the cwd if they don't start with a ~ or
/.

Release Notes:

- N/A

Anthony Eid created

90c2d17 Implement global settings file (#30444)

Click to expand commit body
Adds a `global_settings.json` file which can be set up by enterprises
with automation, enabling setting settings like edit provider by default
without interfering with user's settings files.

Release Notes:

- N/A

---------

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

Tristan Hume and Marshall Bowers created

c6e69fa Don't parse windows commandlines in debugger launch (#30586)

Click to expand commit body
Release Notes:

- N/A

Julia Ryan created

e5d497e editor: Improve snippet completion to show key inline in completion and description as aside (#30603)

Click to expand commit body
Closes #28028

Before:
<img width="742" alt="image"
src="https://github.com/user-attachments/assets/31723970-5420-40ea-a394-4ffa0038925c"
/>

After:
<img width="989" alt="image"
src="https://github.com/user-attachments/assets/0aebc317-a234-4e68-8304-cb479513af15"
/>


Release Notes:

- Improved snippet code completion to show key in completion menu and
description in aside.

Smit Barmase created

229f3da editor: Do not show document highlights when selection is spanned more than word (#30602)

Click to expand commit body
Closes #27743

This PR prevents document highlighting when selection start and
selection end do not point to the same word. This is useful in cases
when you select multiple lines or multiple words, in which case you
don't really care about these LSP-specific highlights. This is the same
behavior as VSCode.


https://github.com/user-attachments/assets/f80d6ca3-d5c8-4d7b-9281-c1d6dc6a6e7b

Release Notes:

- Fixed document highlight behavior so it no longer appears when
selecting multiple words or lines, making text selection and selection
highlights more clearer.

Smit Barmase created

67f9da0 editor: Fix code completions menu flashing due variable width (#30598)

Click to expand commit body
Closes #27631

We use `widest_completion_ix` to figure out completion menu width. This
results in flickering between frames as more information about
completion items, such as signatures, is populated asynchronously. There
is no way to know this width or which item will be widest beforehand.
While using a hardcoded value feels like a backward approach, it results
in a far smoother experience. VSCode also uses fixed width for
completion menu.

Before:


https://github.com/user-attachments/assets/0f044bae-fae9-43dc-8d4a-d8e7be8be6c4

After:


https://github.com/user-attachments/assets/21ab475c-7331-4de3-bb01-3986182fc9e4

Release Notes:

- Fixed issue where code completion menu would flicker while typing.

Smit Barmase created

ab455e1 Deny unknown keys in settings in JSON schema so user gets warnings but settings still parses (#30583)

Click to expand commit body
Closes #ISSUE

Release Notes:

- Improved checking of Zed settings so that unrecognized keys show
warnings while editing them

Ben Kunkle created

986d271 Fix panic in linux text rendering + refactor to avoid similar errors (#30601)

Click to expand commit body
See #27808. `font_id_for_cosmic_id` was another path updated
`loaded_fonts_store` but did not push to `features_store`. Solution is
just to have one `Vec` with fields rather than relying on the indices
matching up

Release Notes:

- N/A

Michael Sloan created

98a18e0 Fix conflict indices (#30585)

Click to expand commit body
Release Notes:

- Fix a bug where python path could be corrupted

Conrad Irwin created

3ea86da Copilot fix o1 model (#30581)

Click to expand commit body
Release Notes:

- Fixed an issue where the `o1` model would not work when using Copilot
Chat

Bennet Bo Fenner created

3173f87 agent: Restore find path tool card after restart (#30580)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

6592314 editor: Trim indent guides at last non-empty line (#29482)

Click to expand commit body
Closes #26274

Adjust the end position of indent guides to prevent them from extending
through empty space.
Also corrected old test values ​​that seemed to have adapted to the
indentation's behavior.

Release Notes:

- Fixed indentation guides extending beyond the final scope in a file.

Ron Harel created

93b6fdb assistant_tools: Make terminal tool work on Windows (#30497)

Click to expand commit body
Release Notes:

- N/A

THELOSTSOUL created

e79d1b2 agent: Restore web search tool card after restart (#30578)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

1a0eedb Fix migrate banner not showing markdown on file changes (#30575)

Click to expand commit body
Fixes case where on file (settings/keymap) changes banner would appear
but markdown was not visible.
Regression caused by refactor happened in
https://github.com/zed-industries/zed/pull/30456.

Release Notes:

- N/A

Smit Barmase created

8db0333 Fix out-of-bounds panic in fuzzy matcher with Unicode/multibyte characters (#30546)

Click to expand commit body
This PR fixes a crash in the fuzzy matcher that occurred when handling
Unicode or multibyte characters (such as Turkish `İ` or `ş`). The issue
was caused by the matcher attempting to index beyond the end of internal
arrays when lowercased Unicode characters expanded into multiple
codepoints, resulting in an out-of-bounds panic.

#### Root Cause

The loop in `recursive_score_match` used an upper bound (`limit`)
derived from `self.last_positions[query_idx]`, which could exceed the
actual length of the arrays being indexed, especially with multibyte
Unicode input.

#### Solution

The fix clamps the loop’s upper bound to the maximum valid index for the
arrays being accessed:
```rust
let max_valid_index = (prefix.len() + path_lowercased.len()).saturating_sub(1);
let safe_limit = limit.min(max_valid_index);
for j in path_idx..=safe_limit { ... }
```
This ensures all indexing is safe and prevents panics.

Closes #30269 

Release Notes:

- N/A

---------

Signed-off-by: Umesh Yadav <git@umesh.dev>

Umesh Yadav created

a13c8b7 docs: Update the Text Threads page (#30576)

Click to expand commit body
We had some broken links and outdated content here.

Release Notes:

- N/A

Danilo Leal created

ddc649b agent: Don't rely only on color to communicate MCP server status (#30573)

Click to expand commit body
The MCP server item in the settings view has an indicator that used to
only use colors to communicate the connection status. From an
accessibility standpoint, relying on just colors is never a good idea;
there should always be a supporting element that complements color for
communicating a certain thing. In this case, I added a tooltip, when you
hover over the indicator dot, that clearly words out the status.

Release Notes:

- agent: Improved clarity of MCP server connection status in the
Settings view.

Danilo Leal created

33c896c windows: Fix `ctrl-click` open hovered URL (#30574)

Click to expand commit body
Closes #30452

Release Notes:

- N/A

张小白 created

19b6c44 zeta: Do not show usage for copilot/supermaven (#30563)

Click to expand commit body
Follow up to #29952

Release Notes:

- Fix an issue where zeta usage would show up when using Copilot as an
edit prediction provider

Bennet Bo Fenner created

8e39281 docs: Document `context_servers` setting (#30570)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

8294981 debugger: Improve saving scenarios through new session modal (#30566)

Click to expand commit body
- A loading icon is displayed while a scenario is being saved
- Saving a scenario doesn't take you to debug.json unless a user clicks
on the arrow icons that shows up after a successful save
- An error icon where show when a scenario fails to save
- Fixed a bug where scenario's failed to save when there was no .zed
directory in the user's worktree


Release Notes:

- N/A

Anthony Eid created

a3105c9 Allow to hide more buttons with the settings (#30565)

Click to expand commit body
* project search button in the status bar
```jsonc
"search": {
  "button": false
},
```

* project diagnostics button in the status bar
```jsonc
"diagnostics": {
  "button": false
}
```

* project name and host buttons in the title bar
```jsonc
"title_bar": {
    "show_project_items": false
}
```

* git branch button in the title bar
```jsonc
"title_bar": {
    "show_branch_name": false
}
```

Before:
<img width="1728" alt="before"
src="https://github.com/user-attachments/assets/4b13b431-3ac1-43b3-8ac7-469e5a9ccf7e"
/>

After:
<img width="1728" alt="after"
src="https://github.com/user-attachments/assets/baf2765a-e27b-47a3-8897-89152b7a7c95"
/>


Release Notes:

- Added more settings to hide buttons from Zed UI

Kirill Bulatov created

a6c3d49 language_models: Add vision support for Copilot Chat models (#30155)

Click to expand commit body
Problem Statement:
Support for image analysis (vision) is currently restricted to Anthropic
and Gemini models. This limits users who wish to leverage vision
capabilities available in other models, such as Copilot, for tasks like
attaching image context within the agent message editor.

Proposed Change:
This PR extends vision support to include Copilot models that are
already equipped with vision capabilities. This integration will allow
users within VS Code to attach and analyze images using supported
Copilot models via the agent message editor.

Scope Limitation:

This PR does not implement controls within the message editor to ensure
that image context (e.g., through copy-paste or attachment) is
exclusively enabled or prompted only when a vision-supported model is
active. Long term the message editor should have access to each models
vision capability and stop the users from attaching images by either
greying out the context saying it's not support or not work through both
copy paste and file/directory search.

Closes #30076 

Release Notes:

- Add vision support for Copilot Chat models

---------

Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>

Umesh Yadav and Bennet Bo Fenner created

5a38bbb vim: Add `:w <filename>` command (#29256)

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

Release Notes:

- vim: Adds support for `:w[rite] <filename>`

---------

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

AidanV and Conrad Irwin created

196586e Fix deadlock loading node from the command line (#30561)

Click to expand commit body
Before this change the the load env task never completed, leading to the
node runtime lock being held permanently.

Release Notes:

- N/A

Conrad Irwin created

a1d8e50 bedrock: Fix Claude 3.5 Haiku support (#30560)

Click to expand commit body
This PR corrects a mistake introduced in
https://github.com/zed-industries/zed/pull/28523.

https://github.com/zed-industries/zed/pull/28523#issuecomment-2872369707

Release Notes:

- N/A

Marshall Bowers created

24bc9fd Fix completions in debugger panel (#30545)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

03f0280 Highlight shebang in TypeScript and JavaScript (#30531)

Click to expand commit body
After:

![image](https://github.com/user-attachments/assets/8ae1049d-96c7-45e2-b905-1f0fba7f862c)

Before:

![image](https://github.com/user-attachments/assets/56317b12-d745-45f4-a7b6-880507884bae)


Release Notes:

- Typescript and javascript highlight shebang-line

d1y created

41b0a5c agent: Add menu item in the panel menu for zooming in feature (#30554)

Click to expand commit body
Release Notes:

- agent: Added a menu item in the panel's menu for the zooming in/out
feature.

Danilo Leal created

739236e agent: Fix message editor expand binding (#30553)

Click to expand commit body
As of https://github.com/zed-industries/zed/pull/30504, we now can zoom
in the whole panel, which uses the `shift-escape` keybinding. We were
also using the same binding for the message editor expansion, which was
caused a conflict. Now, the message editor expansion requires an
additional key (`alt`) to work.

Release Notes:

- agent: Fixed conflicting keybinding between message editor and panel
zoom.

Danilo Leal created

f14e48d language_models: Dynamically detect Copilot Chat models (#29027)

Click to expand commit body
I noticed the discussion in #28881, and had thought of exactly the same
a few days prior.

This implementation should preserve existing functionality fairly well.

I've added a dependency (serde_with) to allow the deserializer to skip
models which cannot be deserialized, which could occur if a future
provider, for instance, is added. Without this modification, such a
change could break all models. If extra dependencies aren't desired, a
manual implementation could be used instead.

- Closes #29369 

Release Notes:

- Dynamically detect available Copilot Chat models, including all models
with tool support

---------

Co-authored-by: AidanV <aidanvanduyne@gmail.com>
Co-authored-by: imumesh18 <umesh4257@gmail.com>
Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
Co-authored-by: Agus Zubiaga <hi@aguz.me>

Liam , AidanV , imumesh18 , Bennet Bo Fenner , and Agus Zubiaga created

634b275 gpui: Fix cosmic-text raster_bounds calculation (#30552)

Click to expand commit body
Closes #30526.

This PR makes the CacheKey used by raster_bounds and rasterize_glyph the
same, as they had not used the same sub pixel shift previously. Fixing
this resolves both the alignment and text-rendering issues introduced in
`ddf8d07`.

Release Notes:

- Fixed text rendering issues on Linux.

william341 created

8000151 zed: Reduce clones (#30550)

Click to expand commit body
A collection of small patches that reduce clones. Mostly by using owned
iterators where possible.

Release Notes:

- N/A

tidely created

f0f0a52 Revert "ui: Account for padding of parent container during scrollbar layout (#27402)" (#30544)

Click to expand commit body
This reverts commit 82a7aca5a6e81f6542b67c3cfc2444c958e7e827.

Release Notes:

- N/A

Conrad Irwin created

907b2f0 Parse env vars and args from debug launch editor (#30538)

Click to expand commit body
Release Notes:

- debugger: allow setting env vars and arguments on the launch command.

---------

Co-authored-by: Cole Miller <m@cole-miller.net>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Julia Ryan , Cole Miller , and Conrad Irwin created

0ad582e agent: Fix inline assistant focusing behavior for cursor placement (#29998)

Click to expand commit body
Ref: https://github.com/zed-industries/zed/pull/29919

This PR improves how inline assistants are detected and focused based on
cursor position.

### Problem
The current implementation has inconsistent behavior:
- When selecting text within an inline assistant's range, the assistant
properly focuses
- When placing a cursor on a line containing an assistant (without
selection), a new assistant is created instead of focusing the existing
one

### Solution
Enhanced the assistant detection logic to:
- Check if the cursor is anywhere within the line range of an existing
assistant
- Maintain the same behavior for both cursor placement and text
selection
- Convert both cursor position and assistant ranges to points for better
line-based comparison

This creates a more intuitive editing experience when working with
inline assistants, reducing the creation of duplicate assistants when
the user intends to interact with existing ones.


https://github.com/user-attachments/assets/55eb80d1-76a7-4d42-aac4-2702e85f13c4

Release Notes:

- agent: Improved inline assistant behavior to focus existing assistants
when cursor is placed on their line, matching selection behavior

---------

Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>

Umesh Yadav and Bennet Bo Fenner created

58ed81b extension_host: Include more details about error messages (#30543)

Click to expand commit body
This PR makes it so the error messages surfaced to extensions will
contain more information.

Supersedes https://github.com/zed-industries/zed/pull/28491.

Release Notes:

- N/A

Marshall Bowers created

83319c8 agent: Fix instruction list item with multiple buttons not working (#30541)

Click to expand commit body
This was a particular problem in the Amazon Bedrock section (at least
for now) where there were multiple buttons and none of them actually
worked because they all had the same id.

Release Notes:

- agent: Fixed Amazon Bedrock settings link buttons not working.

Danilo Leal created

4deb8cc agent: Fix 10 line code blocks being expandable despite fitting (#30540)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

8d79226 bedrock: Add support for Mistral - Pixtral Large (#28274)

Click to expand commit body
Release Notes:

- AWS Bedrock: Added support for Pixtral Large 25.02 v1

---------

Co-authored-by: Peter Tripp <peter@zed.dev>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Shardul Vaidya , Peter Tripp , and Marshall Bowers created

5abca0f Fix codeblock expansion initial state + refactor (#30539)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

68945ac workspace: Add keyboard shortcuts to close active dock (#30508)

Click to expand commit body
Adds the normal close keybinding for the new Close Active Dock action.

Release Notes:

- N/A

Ben Brandt created

49887d6 Add no_tools_enabled eval (#30537)

Click to expand commit body
This is our first eval of the Minimal tool profile. Right now they're
all passing; the value of having it is to catch regressions in the
system prompt (which has special logic in it for the case where no tools
are enabled).

Release Notes:

- N/A

Richard Feldman created

d867897 bedrock: Support cross-region inference for US Claude 3.5 Haiku (#28523)

Click to expand commit body
Release Notes:

- Added Cross-Region inference support for US Claude 3.5 Haiku

Co-authored-by: Peter Tripp <peter@zed.dev>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Shardul Vaidya , Peter Tripp , and Marshall Bowers created

1f58ce8 bedrock: Support Amazon Nova Premier (#29720)

Click to expand commit body
Release Notes:

- Bedrock: Added support for Amazon Nova Premier.


https://aws.amazon.com/blogs/aws/amazon-nova-premier-our-most-capable-model-for-complex-tasks-and-teacher-for-model-distillation/

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

Shardul Vaidya and Marshall Bowers created